A. plsql如何执行.sql文件刚接触,不熟悉,能细讲下吗谢谢
方法和详细的操作步骤如下:
1、第一步,打开软件,进入数据库连接界面,见下图,转到下面的步骤。
B. 进入PLSQL的命令窗口,输入SQL语句后,应该如何执行
1、首先在电脑中,找到并登录PLSQL,如下图所示。
C. 在 plsqldev中如何批量执行sql脚本
每段sql后边加个";"号,就会依次执行了,
执行窗口只有1个,结果集会依次显示。
D. 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 mpfile=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,2'
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 DESC5.找出耗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(看当前有多少个连接用户等).
E. 如何在Oracle中一次执行多条sql语句
写个plsql 代码块,把insert语句包起来就可以了,参考:
BEGIN
DELETE FROM SYSROLEOPENR WHERE ROLEID = 2;
INSERT INTO SYSROLEOPENR
(PKID, ROLEID, OPERID)
SELECT SYSROLEOPENR_PKID_SEQ.NEXTVAL, '2' ROLEID, OPERID
FROM SYSMODULEOPER
WHERE OPERCODE = '300090010';
INSERT INTO SYSROLEOPENR
(PKID, ROLEID, OPERID)
SELECT SYSROLEOPENR_PKID_SEQ.NEXTVAL, '2' ROLEID, OPERID
FROM SYSMODULEOPER
WHERE OPERCODE = '300090020';
INSERT INTO SYSROLEOPENR
(PKID, ROLEID, OPERID)
SELECT SYSROLEOPENR_PKID_SEQ.NEXTVAL, '2' ROLEID, OPERID
FROM SYSMODULEOPER
WHERE OPERCODE = '300090050';
END;
F. oracle中怎样执行.sql文件
建议使用plsql工具来连接Oracle数据库进行表操作,这样很方便的,就像使用sqlserver一样方便
G. 如何利用BAT文件登陆OracleSql并执行多个sql脚本PLSQL语句
首先,做一个简单的sql文件(log.sql)。
在这个SQL文件中我们创建了一个表。
接下来,我们来建一个bat批处理文件(log.bat)。
在这个bat文件里面我们调用绝枣碰对路径的sql文件,并将执行过程及结果输出到log.txt文件中。
最后,我们运行bat文件,执行多个sql脚本plsql语句。
H. plsql如何执行.sql文件
plsql执行.sql文件步骤如下: