用于改变作业的例程 示例如下: 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 用于运行已存在的作业 示例如下: sql>exec dbms_job.run(1); 三.dbms_pipe 作用:用于在同一例程程的不同会话之间进行管道通信.注意,如果用户要执行包dbms_pipe中的过程和函数,则必须要为用户授权. sql>conn sys/oracle as sysdba; sql>grant execute on dbms_pipe to scott; 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; 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 用于注册预警事件 示例如下: sql>exec dbms_alter.register('alter1'); 2.remove 用于删除会话不需要的预警事件. 3.removeall 用于删除当前会话所有已注册的预警事件 语法如下: dbms_alter.removeall; 4.set_defaults 用于设置检测预警事件的时间间隔,默认时间间隔为5秒 5.signal 用于指定预警事件所对应的预警消息. 6.waitany 用于等待当前会话的任何预警事件,并且在预警事件发生时输出相应信息.在执行该过程之前,会隐含地发出COMMIT. 语法如下: 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 用于建议提交远程数据库的分布式事务 6.user_rollback_segment 用于指定事务所要使用的回滚段 7.commit_comment 用于在提交事务时指定注释. 8.commit_force 用于强制提交分布式事务. 9.commit 用于提交当前事务 10.savepoint 用于设置保存点 11.rollback 用于回退当前事务 12.rollback_savepoint 用于回退到保存点 13.rollback_force 用于强制回退分布式事务 14.begin_discrete_transaction 用于开始独立事务模式 15.purge_mixed 用于清除分布式事务的混合事务结果 16.purge_lost_db_entry 用于清除本地数据库所记载的远程事务入口,该事务入口操作因为远程数据库问题未能在远程数据库完成. 17.local_transaction_id 用于返回当前事务的事务标识号 18.step_id 用于返回排序DML事务的惟一正整数 六.dbms_session 作用:提供了使用PL/SQL实现ALTER SESSION命令,SET ROLE命令和其他会话信息的方法. 1.set_identifier 用于设置会话的客户ID号 2.set_context 用于设置应用上下文属性 3.clear_context 用于清除应用上下文的属性设置 4.clear_identifier 用于删除会话的set_client_id. 5.set_role 用于激活或禁止会话角色 6.set_sql_trace 用于激活或禁止当前会话的SQL跟踪 语法如下: dbms_session.set_sql_trace(sql_strace boolean); 7.set_nls 用于设置NLS特征 语法如下: dbms_session.set_nls(param varchar2,value varchar2); 8.close_database_link 用于关闭已经打开的数据库链 9.reset_package 用于复位当前会话的所有包,并且会释放包状态 10.modify_package_state 用于修改当前会话的PL/SQL程序单元的状态 语法如下: dbms_session.modify |