10g以前,对别的session做10046跟踪,sql_trace跟踪需要用到dbms_system这个包,可以我在10gR2官方文档上面没有找到这个包的解释,然而这个包很重要,下面收集一些有用的过程,有备无患。
dbms_system.get_env(var
IN VARCHAR2, val OUT VARCHAR2)
这个过程返回ORACLE的环境变量
例如:
SQL> declare env varchar2(200);
2 begin
3 dbms_system.get_env('ORACLE_HOME',env);
4 dbms_output.put_line(env);
5 end;
6 /
C:/oracle/product/10.2.0/db_1 ------我的ORACLE_HOME
PL/SQL procedure successfully completed
SQL> declare sid varchar2(200);
2 begin
3 dbms_system.get_env('ORACLE_SID',sid);
4 dbms_output.put_line(sid);
5 end;
6 /
robinson-------我的ORACLE_SID
PL/SQL procedure successfully completed
dbms_system.read_ev
(iev IN BINARY_INTEGER, oev OUT BINARY_INTEGER)
这个过程返回events
level.
例如:
SQL>
declare lev integer;
2 begin
3 dbms_system.read_ev(10046,lev);
4 dbms_output.put_line(lev);
5 end;
6 /
0---0表示没有设置10046跟踪级别,因为10046级别只有1,4,8,12
PL/SQL procedure successfully completed
dbms_system.set_sql_trace_in_session(
sidNUMBER,
serial# NUMBER,
sql_trace BOOLEAN);
这个过程就是我们最常用的给别的SESSION 设置sql_trace跟踪了。
例如:
exec dbms_system.set_sql_trace_in_session(159,15,true);---开启SQL_TRACE跟踪
exec dbms_system.set_sql_trace_in_session(159,15,false);---关闭SQL_TRACE跟踪
dbms_system.set_ev(
si IN BINARY_INTEGER, -- session id
se IN BINARY_INTEGER, -- session serial number
ev IN BINARY_INTEGER, -- event number between 10000 and 10999
le IN BINARY_INTEGER, -- event level
nm IN VARCHAR2);
这个过程就是我们常用的给别的session设置10046跟踪了
例如:
exec
dbms_system.set_ev(159,15,10046,8,'robinson'); ----开启级别为8的跟踪
exec dbms_system.set_ev(159,15,10046,0,'robinson'); -----关闭跟踪
dbms_system.set_int_param_in_session(
sid IN NUMBER,
serial# IN NUMBER,
parnam IN VARCHAR2,
intval IN BINARY_INTEGER);
这个过程给任意session设置integer的参数
例如:
SQL>
exec dbms_system.set_int_param_in_session(159,15,'db_file_multiblock_read_count',128);
PL/SQL
procedure successfully completed
dbms_system.set_bool_param_in_session(
sid IN NUMBER,
serial# IN NUMBER,
parnam IN VARCHAR2,
bval IN BOOLEAN);
这个存储过程给任意的session设置boolean的参数
例如:
SQL>
exec dbms_system.set_bool_param_in_session(159,15,'sql_trace',TRUE);
PL/SQL
procedure successfully completed
SQL>
exec dbms_system.set_bool_param_in_session(159,15,'sql_trace',FALSE);
PL/SQL
procedure successfully completed
General |
Source |
{ORACLE_HOME}/rdbms/admin/prvtutil.plb |
First Available |
7.3.4 |
Constants |
Name |
Value |
trace_file
|
1 |
alert_file
|
2 |
?
|
3 |
|
Dependencies |
SELECT name FROM dba_dependencies WHERE referenced_name = 'DBMS_SYSTEM'
UNION
SELECT referenced_name FROM dba_dependencies WHERE name = 'DBMS_SYSTEM'; |
Security Model |
Execute is granted to OEM_MONITOR |
|
ADD_PARAMETER_VALUE (new in 11g) |
Writes a listed parameter to the spfile following a call to ALTER SYSTEM SET. |
dbms_system.add_parameter_value(
parname IN VARCHAR2,
value IN VARCHAR2,
scope IN VARCHAR2,
sid IN VARCHAR2,
position IN BINARY_INTEGER); |
col value format a100
SELECT value
FROM gv$parameter
WHERE name = 'control_files';
exec dbms_system.add_parameter_value('control_files', 'c:/temp/control04.ctl', 'BOTH', 'orabase', 4);
SELECT value
FROM gv$parameter
WHERE name = 'control_files'; |
|
DIST_TXN_SYNC |
Distributed transaction synchronization used in XA interfaces. Not intended for end-user usage. |
dbms_system.dist_txn_sync(inst_num IN NUMBER); |
execdbms_system.dist_txn_sync(2); |
|
GET_ENV |
Returns the value of environment variables |
dbms_system.get_env(var IN VARCHAR2, val OUT VARCHAR2); |
set serveroutput on
DECLARE
RetVal VARCHAR2(4000);
BEGIN dbms_system.get_env('ORACLE_SID', RetVal);
dbms_output.put_line(RetVal);
END;
/
DECLARE
RetVal VARCHAR2(100);
BEGIN dbms_system.get_env('ORACLE_HOME', RetVal);
dbms_output.put_line(RetVal);
END;
/ |
|
KCFRMS |
Resets the timers displayed by MAX_WAIT in GV$SESSION_EVENT and MAXIORTM and MAXIOWTM in GV$FILESTAT (X$KCFIO) |
dbms_system.kcfrms; |
SELECT max_wait FROM gv_$session_event;
SELECT maxiortm, maxiowtm FROM gv_$filestat;
execdbms_system.kcfrms;
SELECT max_wait FROM gv_$session_event;
SELECT maxiortm, maxiowtm FROM gv_$filestat; |
|
KSDDDT |
Prints the date stamp to the target file (alert log and/or trace file) |
dbms_system.ksdddt; |
execdbms_system.ksdddt; |
|
KSDFLS |
Flushes any pending output to the target alert log or trace file |
dbms_system.ksdfls; |
execdbms_system.ksdfls; |
|
KSDIND |
Does an 'indent' before the next write (ksdwrt) by printing that many colons (:) before the next write. |
dbms_system.ksdind(lvl IN BINARY_INTEGER);
Range ofvalid values from 0 to 30. |
execdbms_system.ksdind(5);
exec dbms_system.ksdwrt(3, 'Test Message'); |
|
KSDWRT |
Prints a message to the target file (alert log and/or trace file) |
dbms_system.ksdwrt (dest IN BINARY_INTEGER,tst IN VARCHAR2);
1: Write to the standard trace file
2: Write to the alert log
3: Write to both files at once |
execdbms_system.ksdwrt(3, '-- Start Message --');
execdbms_system.ksdwrt(3, 'Test Message');
execdbms_system.ksdwrt(3, '-- End Message --'); |
|
READ_EV |
Get the level for events set in the current session |
dbms_system.read_ev (iev IN BINARY_INTEGER, oev OUT BINARY_INTEGER);
lev: event numbers 10000 to 10999
event level: default is 0 if not set |
ALTER SYSTEM SET SQL_TRACE=TRUE;
set serveroutput on
DECLARE
lev BINARY_INTEGER;
BEGIN dbms_system.read_ev(10046, lev);
dbms_output.put_line(lev);
END;
/ |
|
REMOVE_PARAMETER_VALUE (new in 11g) |
Removes a listed parameter to the spfile following a call to ALTER SYSTEM SET.
Overload 1 |
dbms_system.remove_parameter_value(
parname IN VARCHAR2,
value IN VARCHAR2,
scope IN VARCHAR2,
sid IN VARCHAR2); |
TBD |
Overload 2 |
dbms_system.remove_parameter_value(
parname IN VARCHAR2,
position IN BINARY_INTEGER,
scope IN VARCHAR2,
sid IN VARCHAR2); |
TBD |
|
SET_BOOL_PARAM_IN_SESSION |
Sets boolean-type init.ora parameters in any session |
dbms_system.set_bool_param_in_session(
sid IN NUMBER,
serial# IN NUMBER,
parnam IN VARCHAR2,
bval IN BOOLEAN); |
execdbms_system.set_bool_param_in_session(10, 161, 'sql_trace', TRUE); |
|
SET_EV |
Set event trace level |
dbms_system.set_ev(
si IN BINARY_INTEGER, -- session id
se IN BINARY_INTEGER, -- session serial number
ev IN BINARY_INTEGER, -- event number between 10000 and 10999
le IN BINARY_INTEGER, -- event level
nm IN VARCHAR2);
Level |
Waits |
Binds |
1 |
False |
False |
4 |
False |
True |
8 |
True |
False |
12 |
True |
True |
|
execdbms_system.set_ev(10, 1008, 10046, 12, NULL); |
|
SET_INT_PARAM_IN_SESSION |
Sets integer-type init.ora parameters in any session |
dbms_system.set_int_param_in_session(
sid IN NUMBER,
serial# IN NUMBER,
parnam IN VARCHAR2,
intval IN BINARY_INTEGER); |
execdbms_system.set_int_param_in_session(10, 161, 'sort_area_size', 1048576); |
|
SET_SQL_TRACE_IN_SESSION |
Turn tracing on or off in any session |
dbms_system.set_sql_trace_in_session(
sidNUMBER,
serial# NUMBER,
sql_trace BOOLEAN); |
execdbms_system.set_sql_trace_in_session(10, 1008, TRUE);
execdbms_system.set_sql_trace_in_session(10, 1008, FALSE); |
|
WAIT_FOR_EVENT |
Puts the current session into a wait state for any named wait event |
dbms_system.wait_for_event(
event VARCHAR2,
extended_id BINARY_INTEGER,
timeout BINARY_INTEGER);
extended_id is placed into the P1 column of gv_$session_wait |
execdbms_system.wait_for_event('rdbms ipc message', 50, 20);
SELECT sid, event, p1, seconds_in_wait, state
FROM gv_$session_wait
WHERE sid = 10; |
|
|
分享到:
相关推荐
8.5.2 使用 DBMS_SYSTEM 设置用户 会话外的跟踪 8.5.3 生成系统跟踪 8.5.4 使用 tkprof 解释跟踪文件 8.5.5 使用 AUTOTRACE 获得 SQL 语句 执行计划和统计数据 8.6 优化回退段 8.6.1 最小化回退段争用 8.6.2...
1.切换当前日志到新的日志组 alter system switch logfile; alter system switch logfile; ...方法一:使用alter database clear logfile group 1 1)正常关闭 2)del删除 3)startup …… …… ……
1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 ...su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp...
1. 打开SQLDeveloper,建立system链接、bs+学号连接登录ORCL数据库。 2. 在SQLDeveloper中,用密码tiger解锁scott账号。 3. 触发器注意事项 (1)触发器可以声明为在对记录进行操作之前,在之前(检查约束之前和 ...
sql> alter system set job_queue_processes=n;(n>0) job_queue_processes最大值为1000 查看job queue 后台进程 sql>select name,description from v$bgprocess; 二,dbms_job package 用法...
第十七章 创建包和使用包 287 §17.1 引言 287 §17.2 包的定义 288 §17.3 包的开发步骤 289 §17.4 包的头部说明 289 §17.5 包体的说明 290 §17.6 删除过程、函数和包 293 §17.7 包的管理 293 §17.7.1 包有关...
由于在System表空间中已经记录了新的信息, 因此用当前的System信息是不能恢复过来的,在AUL/MyDUL中可以当作没有System时的情况来处理,在下面的命令中, 我们用Truncate后的数据对象号就不能进行恢复, 而使用Truncate...
mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,...
食堂系统 此仓库包含与SL和DBMS mini项目相关的所有文件
学校管理系统课程编号:CS254课程名称:DBMS实验室学期:B. Tech第四学期部分:S1或S2学年:2020-21课程讲师:博士Annappa B和Sharath Yaji先生团队成员: 詹曼什·阿加瓦尔(Janmansh Agarwal),191CS205 克鲁达卡...
学生评估系统该存储库包含学生评估系统代码
使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权——大多数开发环境中,您不希望所有数据库...
2 cbo优化的模式下用dbms -stats搜集统计信息,以下哪个参数能够搜集核准图信息 Method_opt 3 为表table创建一个参考同义词 tabl-syn语法是( )C a. create synonym table_syn on tabl b. create public synonym ...
数据库管理系统(Database Management System,DBMS)是用户创建、管理和维护数据库时所使用的软件,位于用户和操作系统之间,对数据库进行统一管理。DBMS 能定义数据存储结构,提供数据的操作机制,维护数据库的...
使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权 大多数开发环境中,您不希望所有数据库...
该软件易于使用,并且具有熟悉且经过深思熟虑的有吸引力的用户界面,并结合了强大的搜索,插入和删除以及过程功能。 FMS要求 最困难的任务之一是,一旦知道系统需求,就应该选择软件,以确定软件包是否符合要求。 ...
先进的员工记录系统[第二版] 由UEMK,CSE,Abhishek Sharma于2021年开发:@ abhisheks008 ... Netbeans是一种多功能的IDE,其功能比任何其他IDE都多,并且是Java开发工具包15的最新版本,可帮助系统实现功
现已成为WOSA(The Windows Open System Architecture ),Windows开放系统体系结构)的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取...
现已成为WOSA(The Windows Open System Architecture ),Windows开放系统体系结构)的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取...