| 包名称 |
包头文件 |
说明 |
| dbms_aleri |
dbmsalrt.sql |
异步处理数据库事件 |
| dbms_application_info |
dbmsutil.sql |
注册当前运行的应用的名称(用于性能监控) |
| dbms_aqadm |
dbmsaqad.sql |
与高级队列选项一起使用 |
| dbms_ddl |
dbmsutil.sql |
重新编译存储子程序和包,分析数据库对象 |
| dbms_debug |
dbmspb.sql |
PL/SQL调试器接口 |
| dbms_deffr |
dbmsdefr.sql |
远程过程调用应用的用户接口 |
| dbms_describe |
dbmsdesc.sql |
说明存储子程序的参数 |
| dbms_job |
dbmsjob.sql |
按指定的时间或间隔执行用户定义的作业 |
| dbms_lock |
dbmslock.sql |
管理数据库块 |
| dbms_output |
dbmsotpt.sql |
将文本行写入内存、供以后提取和显示 |
| dbms_pipe |
dbmspipe.sql |
通过内存“管道”在会话之间发送并接收数据 |
| dbms_profiler |
dbmspbp.sql |
用于配置PL/SQL脚本以鉴别瓶颈问题 |
| dbms_refresh |
dbmssnap.sql |
管理能够被同步刷新的快照组 |
| dbms_session |
dbmsutil.sql |
程序执行alter session(改变会话)语句 |
| dbms_shared_pool |
dbmspool.sql |
查看并管理共享池内容 |
| dbms_snapshot |
dbmssnap.sql |
刷新,管理快照,并清除快照日志 |
| dbms_space |
dbmsutil.sql |
获取段空间信息 |
| dbms_sql |
dbmssql.sql |
执行动态SQL和PL/SQL |
| dbms_system |
dbmsutil.sql |
开/关给定会话的SQL追踪 |
| dbms_transaction |
dbmsutil.sql |
管理SQL事务 |
| dbms_utility |
dbmsutil.sql |
多种实用工具:对于一个给定的模式,重新编译存储子程序和包、分析数据库对象、格式化错误信息并调用堆栈用于显示、显示实例是否以并行服务器模式运行、以10毫秒间隔获取当前时间、决定数据库对象的全名、将一个PL/SQL表转换为一个使用逗号分割的字符串,获取数据版本/操作系统字符串 |
| utl_raw |
utlraw.sql |
RAW数据转化为字符串 |
| utl_file |
utlfile.sql |
读/写基于ASCII字符的操作系统文件 |
| utl_http |
utlhttp.sql |
从给定的URL得到HTML格式的主页 |
| dbms_lob |
dbmslob.sql |
管理巨型对象 |
一.dbms_output
作用:用于输入和输出信息,使用过程PUT和PUT_LINES可以将信息发送到缓冲区,使用过程GET_LINE和GET_LINES可以显示缓冲区信息.
详细如下:
1.enable
该过程用于激活对过程PUT,PUT_LINE,GET_LINE,GET_LINES的调用
语法如下:
dbms_output.enable(buffer_size in integer default 20000);
2.disable
该过程用于禁止对过程PUT,PUT_LINE,GET_LINE,GET_LINES的调用
语法如下:
dbms_output.disable;
3.put和put_line
过程put_line用于将一个完整行的信息写入到缓冲区中,过程put则用地分块建立行信息, 当使用过程put_line时,会自动在行的尾部追加行结束符;当使用过程put时,需要使用过程 new_line追加行结束符.
示例如下:
set serverout on
begin
dbms_output.put_line('伟大的中华民族');
dbms_output.put('中国');
dbms_output.put(',伟大的祖国');
dbms_output.new_line;
end;
/
伟大的中华民族
中国,伟大的祖国
4.new_line
该过程用于在行的尾部追加行结束符.当使用过程PUT时,必须调用NEW_LINE过程来结束行.
5.get_line和get_lines
过程get_line用于取得缓冲区的单行信息,过程get_lines用于取得缓冲区的多行信息.
二.dbms_job
作用:用于安排和管理作业队列,通过使用作业,可以使ORACLE数据库定期执行特定的任务.
1.submit
用于建立一个新作业.当建立作业时,需要给作业要执行的操作,作业的下次运行日期及运行时间间隔.
语法如下:
dbms_out.submit (
job out binary_integer,what in varchar2,
next_date in date default sysdate,
interval in varchar2 default 'null',
no_parse in boolean default false,
instance in binary_integer default any_instance,
force in boolean default false
);
注:job用于指定作业编号;what用于指定作业要执行的操作;next_date用于指定作业的下次运行日期;interval用于指定运行作业的时间间隔;no_parse用于指定是否解析与作业相关的过程;instance用于指定哪个例程可以运行作业;force用于指定是否强制运行与作业相关的例程.
示例如下:
var jobno number
begin
dbms_job.submit(:jobno,
'dbms_ddl.analyze_object(''table'',
''scott'',''emp'',''compute'');',
sysdate,'sysdate+1');
commit;
end;
/
2.remove
删除作业队列中的特定作业
示例如下:
SQL>exec dbms_job.remove(1);
3.change
用于改变与作业相关的所有信息,包括作业操作,作业运行日期以及运行时间间隔等.
示例如下:
SQL>exec dbms_job.change(2,null,null,'sysdate+2');
4.what
用于改变作业要执行的操作
示例如下:
SQL>exec dbms_job.what(
2,'dbms_stats.gather_table_stats->(''scott'',''emp'');');
5.next_date
用于改变作业的下次运行日期
示例如下:
SQL>exec dbms_job.next_date('2','sysdate+1');
6.instance