`
jhyimu2005
  • 浏览: 185963 次
  • 性别: Icon_minigender_2
  • 来自: 苏州
社区版块
存档分类
最新评论

PLSQL执行sql的几种方法

 
阅读更多
plsql很方便我们执行sql。下面就简单介绍我常用的几种(当然每次svn的分支也可以ant脚本自动执行某个文件下的所以sql文件)

首先打开plsq的命令窗口

1)执行sql文件(可以把需要执行的sql放一个文件中)

输入 @'' 

在单引号中输入sql文件的路径既可,比如D:\db下的jbpm.oracle.sql文件,见下图(sql文件内容是select * from system_menu r where r.menu_name='销售订单' ;)
2)导入dmp文件。导入dmp文件前先删除对应的user(下面以test_user为例)

drop user test_user cascade;
$ impdp system/test123@SYSTEM directory=data_pump_dir schemas=test_user dumpfile=date.DMP REMAP_SCHEMA=test_user:test_userTABLE_EXISTS_ACTION=replace logfile=imp.log;
alter user test_user identified by 123456;





3)当需要重新从正式版数据库到数据到测试版时,我们需要重启测试版服务器或者kill掉应用程序服务器(比如tomcat)的session连接

v$session 这张表可以查找到连接 oracle 数据库的应用程序基本信息。因此可以通过该表来kill掉相应程序的session

如果你想kill到连接到用户 test_user ,可以执行下面的sql: select * from v$session r where r.USERNAME=‘test_user’ ;

然后kill对应的session'就行了,参考下面的截图:





比如你要kill 第一条;就执行下面的sql :  alter system kill session '21,77' ;   //因为sid, serial#.这2列很唯一的。





下面补充一些连接oracle的应用程序信息和oracle 操作 session 情况。      

1.查找到连接 oracle 数据库的应用程序基本信息。



select sid, serial#, 
username, --连接用户名 
program, --应用程序名
machine, --机器名
osuser, --操作系统用户
logon_time --登录时间
from v$session;

   2.如何查看session级的等待事件?

当我们对数据库的性能进行调整时,一个最重要的参考指标就是系统等待事 件。$system_event,v$session_event,v$session_wait这三个视图里记录的就是系统级和session级的等待 事件,通过查询这些视图你可以发现数据库的一些操作到底在等待什么?是磁盘I/O,缓冲区忙,还是插锁等等。

通过如下sql你可以查询你的每个应用程序到底在等待什么,从而针对这些信息对数据库的性能进行调整。
Select s.username,s.program,s.status,se.event,se.total_waits,se.total_timeouts,se.time_waited,se.average_wait
from v$session s, v$session_event se
Where s.sid=se.sid And se.event not like 'SQl*Net%' And s.status ='ACTIVE'And s.username is not null



3.oracle中查询被锁的表并释放session
SELECT A.OWNER,A.OBJECT_NAME,B.XIDUSN,B.XIDSLOT,B.XIDSQN,B.SESSION_ID,B.ORACLE_USERNAME, B.OS_USER_NAME,B.PROCESS, B.LOCKED_MODE, C.MACHINE,C.STATUS,C.SERVER,C.SID,C.SERIAL#,C.PROGRAM
FROM ALL_OBJECTS A,V$LOCKED_OBJECT B,SYS.GV_$SESSION C
WHERE ( A.OBJECT_ID = B.OBJECT_ID ) AND (B.PROCESS = C.PROCESS ) ORDER BY 1,2

释放session Sql:
alter system killsession'sid,serial#'
alter systemkillsession'379,21132'
alter systemkillsession'374,6938'

4.查看占用系统io较大的session
SELECT se.sid,se.serial#,pr.SPID,se.username,se.status,se.terminal,se.program,se.MODULE,se.sql_address,st.event,st.p1text,si.physical_reads,si.block_changes
FROM v$session se, v$session_wait st,v$sess_io si,v$process pr
WHERE st.sid=se.sid  AND st.sid=si.sid AND se.PADDR=pr.ADDR AND se.sid>6 AND st.wait_time=0 AND st.event NOT LIKE '%SQL%' ORDER BY physical_reads DESC

5.找出耗cpu较多的session
select a.sid,spid,status,substr(a.program,1,40) prog,a.terminal,osuser,value/60/100 value
from v$session a,v$process b,v$sesstat c
where c.statistic#=12 and c.sid=a.sid and a.paddr=b.addr order by value desc
      6.另外oracle是否运行可以用sql语句查出:

select   status   from  v$instance;
其中,status可能返回三种值:open(数据库打开),mount(数据库已经加载,但还没有打开),started(数据库进程已经启动,但是还没有加载),这个数据字典可以在数据库没有打开的情况下查询,但是需要用sys用户执行。
反应时间,请求数需要具体说明到底是那个参数。你可以参考字典;v$status,v$session(看当前有多少个连
分享到:
评论

相关推荐

    使用plsql查看执行计划

    在Oracle数据库中,执行计划是决定SQL语句如何高效运行的关键步骤。在处理复杂的查询时,优化器(Optimizer)会根据一系列策略选择最优的执行路径。本篇文章将深入探讨如何使用PL/SQL来查看和理解Oracle的执行计划,...

    pl sql批量执行多个sql文件和存储过程

    #### 二、批量执行SQL文件和存储过程 接下来介绍具体的步骤: 1. **将脚本放到同一目录**:将所有需要执行的SQL脚本文件放在同一个目录下,例如文中提到的例子是`D:\sqls`。 2. **创建并编辑PDC文件**:在上述目录...

    plsql批量导入数据

    在Oracle数据库环境中,PL/SQL ...以上就是PLSQL中批量导入数据的几种常见方法,根据实际需求选择合适的方式,可以显著提高数据导入效率。在使用过程中,注意数据的一致性和完整性,以及对可能产生的错误进行适当处理。

    PLSQL精讲、自己学习过程中收藏的!

    PLSQL,全称为“Procedural Language/Structured Query Language”,是Oracle数据库的一种扩展,它将SQL(结构化查询语言)与过程式编程语言相结合,用于处理Oracle数据库中的数据。本资料包显然是一份关于PLSQL的...

    PLSQL程序优化和性能分析方法.pdf

    PLSQL 程序的性能问题可能是由以下几种原因导致的: * 不合理的索引设计 * Poorly optimized SQL 语句 * 错误的游标使用 * 不当的连接顺序 2.2 PLSQL 优化的核心思想 PLSQL 优化的核心思想是将程序的执行时间缩短到...

    SQL Plus和plsqldev 操作

    标题中的“SQL Plus和plsqldev操作”涉及的是两种常用的Oracle数据库管理工具,它们是数据库管理员和开发人员在日常工作中经常使用的。SQL Plus是Oracle公司提供的一个命令行工具,用于执行SQL查询、脚本和管理...

    PLSQL.rar_pl\sql_plsql_plsql java 分析_语法分析

    同时,PLSQL也可以调用Java对象,通过Oracle的Java存根(Java Stubs)技术,将Java类编译为数据库中的可执行对象,实现PLSQL对Java方法的调用。 语法分析: 在“PLSQL.rar”中提供的PLSQL语法分析软件可能包含以下...

    人大金仓SQL和PLSQL速查手册.pdf

    手册的目录部分大致可以分为几个部分,分别是前言、SQL语言基础概述高级特性、SQL语句命令列表、PL/SQL教程以及附录。前言部分简要介绍了SQL的重要性和广泛的应用场景。SQL语言基础概述高级特性部分将介绍SQL的基本...

    Oracle 10g SQL操作和PLSQL所有命令集合

    8. **PL/SQL与SQL的交互**:PL/SQL中可以嵌入SQL语句,反之亦然,实现了两种语言的无缝集成。 通过学习和掌握这些知识点,开发者可以有效地在Oracle 10g环境中管理和操作数据库,进行高效的数据处理和应用程序开发...

    PLSQL developer 2019注册码

    "PLSQL 过期的解决办法,直接用注册码就可以"这一描述指出了解决这个问题的一种常见方法:通过获取并输入有效的注册码来激活软件。 注册码通常是软件授权的关键,它包含一组特定的字符序列,用于验证用户对软件的...

    PLSQL Developer的几个比较实用的功能

    ### PLSQL Developer的几个比较实用的功能 #### 一、MyObjects功能详解 **MyObjects** 是 PL/SQL Developer 中一个非常实用的功能,它允许用户快速访问数据库中的对象,如表(tables)、视图(views)、序列...

    PLSQL简易教程学过以后plsql不愁

    PLSQL 是 ORACLE 对标准数据库语言的扩展,ORACLE 公司已经将 PLSQL 整合到 ORACLE 服务器和其他工具中了,近几年中更多的开发人员和 DBA 开始使用 PLSQL。本文将讲述 PLSQL 基础语法,结构和组件、以及如何设计并...

    PLSQL 中文乱码.docx

    但是,在执行 SQL 语句时,PLSQL 经常会出现中文乱码的问题,导致输出的中文标题显示成问号????。今天,我们将讨论这个问题的解决方案。 问题描述 在 PLSQL 中执行 SQL 语句时,如果语句中包含中文字符,输出的...

    PLSQL 10.0.3

    6. **动态SQL**:PLSQL允许在运行时构建和执行SQL语句,这在处理不确定的查询结构或执行复杂数据库操作时非常有用。 7. **包(Package)**:包是PLSQL的一个高级特性,它可以将相关的变量、常量、过程和函数封装在...

    PLSQL14_32位

    PLSQL Developer是一款强大的Oracle数据库开发工具,主要用于编写、调试、执行和管理PL/SQL程序单元。这个"PLSQL14_32位"压缩包文件很可能是PLSQL Developer的第14版本,专为32位操作系统设计。如果你的计算机上已经...

    网页端oracle查询工具 简易版的PLSQL实现

    这个工具主要面向开发人员和数据库管理员,为他们提供了一个轻量级、易于使用的界面来执行SQL查询,查看和管理数据库对象。 【描述】中的关键点提到了几个技术:JSP(JavaServer Pages)、JSON(JavaScript Object ...

    PLSQL常用方法汇总

    插入数据到表中可以通过以下几种方式完成: - **直接插入数据**: ```sql INSERT INTO test (column1, column2) VALUES ('value1', 'value2'); ``` - **从另一个表中选择数据并插入**: ```sql INSERT INTO ...

    PLSQL使用技巧

    本文将介绍 PLSQL 使用技巧,包括记住登录密码、执行单条 SQL 语句、格式化 SQL 语句、使用自定义快捷键、查看执行计划、调试存储过程等。 一、记住登录密码 在使用 PL/SQL Developer 时,为了工作方便希望 PL/SQL...

    PLSQL(中文版)

    在Oracle数据库中,PLSQL可以用于创建以下几种存储程序: - **存储过程(Stored Procedures)**:一组PLSQL代码,可以接收参数并返回结果。它们可以被多次调用,提高了代码重用性和性能。 - **函数(Functions)**...

    PLSQL使用指南

    PLSQL,即过程化SQL(Procedural Language/SQL),是一种在SQL的基础上扩展了过程化编程语言特性的编程语言。它主要被Oracle数据库所使用,为数据库编程提供了一种高效、便捷的手段。通过PLSQL,开发者能够编写具有...

Global site tag (gtag.js) - Google Analytics