`
844604778
  • 浏览: 553182 次
文章分类
社区版块
存档分类
最新评论

DBMS_SYSTEM包的使用

 
阅读更多

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;
分享到:
评论

相关推荐

    Oracle数据库管理员技术指南

    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...

    ORACLE日志丢失的恢复

    1.切换当前日志到新的日志组 alter system switch logfile; alter system switch logfile; ...方法一:使用alter database clear logfile group 1 1)正常关闭 2)del删除 3)startup …… …… ……

    orcale常用命令

    1、在单机环境下 要想启动或关闭ORACLE系统必须首先切换到ORACLE用户,如下 su - oracle a、启动ORACLE系统 ...su - oracle -c "exp system/manager full=y inctype=cumulative file=/oracle/export/db_cumu$rq.dmp...

    oracle实验报告

    1. 打开SQLDeveloper,建立system链接、bs+学号连接登录ORCL数据库。 2. 在SQLDeveloper中,用密码tiger解锁scott账号。 3. 触发器注意事项 (1)触发器可以声明为在对记录进行操作之前,在之前(检查约束之前和 ...

    Oracle JOB 用法小结

     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 用法...

    Oracle8i_9i数据库基础

    第十七章 创建包和使用包 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 包有关...

    oracle恢复工具-FY_Recover_Data

    由于在System表空间中已经记录了新的信息, 因此用当前的System信息是不能恢复过来的,在AUL/MyDUL中可以当作没有System时的情况来处理,在下面的命令中, 我们用Truncate后的数据对象号就不能进行恢复, 而使用Truncate...

    oracle学习文档 笔记 全面 深刻 详细 通俗易懂 doc word格式 清晰 连接字符串

    mssql 微软 只能能运行在windows平台,体积比较庞大,占用许多系统资源, 但使用很方便,支持命令和图形化管理,收费。 中型企业 Mysql 甲骨文 是个开源的数据库server,可运行在多种平台, 特点是响应速度特别快,...

    Canteen-System:此仓库包含与SL和DBMS mini项目相关的所有文件

    食堂系统 此仓库包含与SL和DBMS mini项目相关的所有文件

    school-management-system:DBMS项目

    学校管理系统课程编号:CS254课程名称:DBMS实验室学期:B. Tech第四学期部分:S1或S2学年:2020-21课程讲师:博士Annappa B和Sharath Yaji先生团队成员: 詹曼什·阿加瓦尔(Janmansh Agarwal),191CS205 克鲁达卡...

    Student-Evaluation-System:该存储库将包含为DBMS mini项目完成的所有工作

    学生评估系统该存储库包含学生评估系统代码

    PLSQLDeveloper下载

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控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 ...

    数据库系统由哪几部分组成(1).docx

    数据库管理系统(Database Management System,DBMS)是用户创建、管理和维护数据库时所使用的软件,位于用户和操作系统之间,对数据库进行统一管理。DBMS 能定义数据存储结构,提供数据的操作机制,维护数据库的...

    PL/SQL Developer8.04官网程序_keygen_汉化

    使用这些工具,您可以重新编译全部不合法对象、查找数据库源中文本、导入或导出表格、生成测试数据、导出文本文件、监控dbms_alert和dbms_pipe事件、浏览会话信息等。 授权  大多数开发环境中,您不希望所有数据库...

    FIFA-18-Management-System:该存储库包含整个项目。 该项目原本打算作为DBMS项目展出,但由于它包含完整的前端和后端,因此它也可以充当Web开发项目。

    该软件易于使用,并且具有熟悉且经过深思熟虑的有吸引力的用户界面,并结合了强大的搜索,插入和删除以及过程功能。 FMS要求 最困难的任务之一是,一旦知道系统需求,就应该选择软件,以确定软件包是否符合要求。 ...

    Advanced-Employee-Record-System---Version-II:这是我使用DBMS和Java进行开发的高级员工记录系统

    先进的员工记录系统[第二版] 由UEMK,CSE,Abhishek Sharma于2021年开发:@ abhisheks008 ... Netbeans是一种多功能的IDE,其功能比任何其他IDE都多,并且是Java开发工具包15的最新版本,可帮助系统实现功

    mysql odbc驱动包(32位/64位)

    现已成为WOSA(The Windows Open System Architecture ),Windows开放系统体系结构)的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取...

    mysql odbc8.0.18驱动包(32位 64位).zip

    现已成为WOSA(The Windows Open System Architecture ),Windows开放系统体系结构)的主要部分和基于Windows环境的一种数据库访问接口标准ODBC 为异构数据库访问提供统一接口,允许应用程序以SQL 为数据存取标准,存取...

Global site tag (gtag.js) - Google Analytics