当前位置:文档之家› ORACLE系统包简介

ORACLE系统包简介

包名称
包头文件
dbms_aleri
dbmsalrt.sql
dbms_application_info dbmsutil.sql
dbms_aqadm
dbmsaqad.sql
dbms_ddl
dbmsutil.sql
dbms_debug
dbmspb.sql
dbms_deffr
dbmsdefr.sql
dbms_describe
一.dbms_output 作用:用于输入和输出信息,使用过程ቤተ መጻሕፍቲ ባይዱPUT 和 PUT_LINES 可以将信息发送到缓冲区,使用过程 GET_LINE 和 GET_LINES 可以显示缓冲区信息. 详细如下:
1.enable 该过程用于激活对过程 PUT,PUT_LINE,GET_LINE,GET_LINES 的调用 语法如下:
2,'dbms_stats.gather_table_stats->(''scott'',''emp'');'); 5.next_date 用于改变作业的下次运行日期 示例如下:
SQL>exec dbms_job.next_date('2','sysdate+1'); 6.instance 用于改变作业的例程 示例如下:
dbmsutil.sql
dbms_shared_pool
dbmspool.sql
dbms_snapshot
dbmssnap.sql
dbms_space
dbmsutil.sql
dbms_sql
dbmssql.sql
dbms_system
dbmsutil.sql
dbms_transaction
dbmsutil.sql
dbmsdesc.sql
dbms_job
dbmsjob.sql
dbms_lock
dbmslock.sql
dbms_output
dbmsotpt.sql
dbms_pipe
dbmspipe.sql
dbms_profiler
dbmspbp.sql
dbms_refresh
dbmssnap.sql
dbms_session
dbms_alter.waitany ( name out varchar2,message out varchar2, status out integer,timeout in number default maxwait
); 注:status 用于返回状态值,返回 0 表示发生了预警事件,返回 1 表示超时;timeout 用于设置预警事件的 超时时间. 7.waitone 用于等待当前会话的特定预警事件,并且在发生预警事件时输出预警消息. 语法同上 五.dbms_transaction 作用:用于在过程,函数,和包中执行 SQL 事务处理语句. 1.read_only 用于开始只读事务,其作用与 SQL 语句 SET TRANSACTION READ ONLY 完全相同 2.read_write 用于开始读写事务,------------------------------------WRITE------3.advise_rollback 用于建议回退远程数据库的分布式事务 4.advise_nothing 用于建议远程数据库的分布式事务不进行任何处理 5.advise_commit 用于建议提交远程数据库的分布式事务 er_rollback_segment 用于指定事务所要使用的回滚段 mit_comment 用于在提交事务时指定注释. mit_force 用于强制提交分布式事务. mit 用于提交当前事务
SQL>exec dbms_job.instance(2,1); 7.interval 用于改变作业的运行时间间隔 示例如下:
SQL>exec dbms_job.interval(2,'sysdate+1/24/60'); 8.broken 用于设置作业的中断标识 示例如下:
SQL>exec dbms_job.broken(2,true,'sysdate+1'); 9.run 用于运行已存在的作业 示例如下:
1.create_pipe 该函数用于建立公用管道或私有管道.如果将参数 private 设置为 TRUE,则建立私有管道;如果设置为 FALSE,则建立公用管道. 示例如下:
declare falg int;
begin flag:=dbms_pipe.create_pipe('public_pipe',8192,false); if flag=0 then dbms_output.put_line('建立公用管道成功'); end if;
sql>exec dbms_job.run(1); 三.dbms_pipe 作用:用于在同一例程程的不同会话之间进行管道通信.注意,如果用户要执行包 dbms_pipe 中的过程和函
数,则必须要为用户授权. sql>conn sys/oracle as sysdba; sql>grant execute on dbms_pipe to scott;
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 追加行结 束符. 示例如下:
dbms_utility
dbmsutil.sql
utl_raw utl_file utl_http dbms_lob
utlraw.sql utlfile.sql utlhttp.sql dbmslob.sql
说明 异步处理数据库事件 注册当前运行的应用的名称(用于性能监控) 与高级队列选项一起使用 重新编译存储子程序和包,分析数据库对象 PL/SQL 调试器接口 远程过程调用应用的用户接口 说明存储子程序的参数 按指定的时间或间隔执行用户定义的作业 管理数据库块 将文本行写入内存、供以后提取和显示 通过内存“管道”在会话之间发送并接收数据 用于配置 PL/SQL 脚本以鉴别瓶颈问题 管理能够被同步刷新的快照组 程序执行 alter session(改变会话)语句 查看并管理共享池内容 刷新,管理快照,并清除快照日志 获取段空间信息 执行动态 SQL 和 PL/SQL 开/关给定会话的 SQL 追踪 管理 SQL 事务 多种实用工具:对于一个给定的模式,重新编译存储子程序 和包、分析数据库对象、格式化错误信息并调用堆栈用于显 示、显示实例是否以并行服务器模式运行、以 10 毫秒间隔 获取当前时间、决定数据库对象的全名、将一个 PL/SQL 表 转换为一个使用逗号分割的字符串,获取数据版本/操作系统 字符串 RAW 数据转化为字符串 读/写基于 ASCII 字符的操作系统文件 从给定的 URL 得到 HTML 格式的主页 管理巨型对象
end; / 2.pack_message 该过程用于将消息写入到本地消息缓冲区 3.send_message 该函数用于将本地消息缓冲区中的内容发送到管道 4.receive_message 该函数用于接收管道消息 5.next_item_type 该函数用于确定本地消息缓冲区下一项的数据类型,如果该函数返回 0,则表示管道没有任何消息;如果返 回 6,则表示下一项的数据类型为 number;如果返回 9,则表示下一项的数据类型为 varchar2;如果返回 11, 则表示下一项的数据类型为 rowid;如果返回 12,则表示下一项的数据类型为 date;如果返回 23,则表示下 一项的数据类型为 raw. 6.unpack_message 该过程用于将消息缓冲区的内容写入到变量中. 7.remove_pipe 该函数用于删除已经建立的管道 8.purge 该过程用于清除管道中的内容 9.reset_buffer 该过程用于复位管道缓冲区 10.unique_session_name 该函数用于为特定会话返回惟一的名称,并且名称的最长度为 30 字节. 四.dbms_alert 作用:用于生成并传递数据库预警信息.使用包 DBMS_ALERT,则必须以 SYS 登陆,为该用户授予执行权限. sql>conn sys/oracle as sysdba sql>grant execute on dbms_alert to scott; 1.register 用于注册预警事件 示例如下:
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 用于指定是否强制运行与作业相关的例程. 示例如下:
相关主题