`

Oracle系统包

    博客分类:
  • DBMS
阅读更多

包名称 包头文件 说明
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
  用于改变作业的例程
  示例如下:
    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_package_state(action_flags in pls_integer);
  11.unique_session_id
  用于返回当前会话的惟一ID标识符
  12.is_role_enabled
  用于确定当前会话是否激活了特定角色.
  语法如下:
    dbms_session.is_role_enabled(rolename varchar2)
      return boolean;
  13.is_session_alive
  用于确定特定会话是否处于活动状态.
  14.set_close_cached_open_cursors
  用于打开或关闭close_cached_open_cursors
  15.free_unused_user_meory
  用于在执行了大内在操作(超过100K)之后回收未用内存
  16.set_context
  设置应用上下文属性的值
  17.list_context
  用于返回当前会话原命名空间和上下文列表
  18.swith_current_consumer_group
  用于改变当前会话的资源使用组
七.dbms_rowid
作用:用于在PL/SQL程序和SQL语句中取得行标识符的信息并建立ROWID,通过该包可以取得行所在的文件号,行所在文件的数据块号,行所在数据块的行号,以及数据库对象号等消息.
  1.rowid_create
  建立ROWID
  语法如下:
    dbms_rowid.rowid_create (
      rowid_type in number,object_number in number,
      relative_fno in n umber,block_number in number,
      row_number in number)
      return rowid;
  注:rowid_type用于指定ROWID类型(0:受限ROWID,1:扩展ROWID);object_number用于指定数据对象号;relative_fno用于指定相对文件号;block_number用于指定在文件中的数据块号;row_number用于指定在数据块中的行号.
  2.rowid_info
  用于取得特定ROWID的详细信息.
  3.rowid_type
  用于返回特定ROWID的类型
  4.rowid_object
  用于取得特定ROWID所对应的数据对象号
  5.rowid_relative_fno
  用于取得特定ROWID所对应的相对文件号
 6.rowid_block_number
  用于返回特定ROWID在数据文件中所对应的数据块号.
  7.rowid_row_number
  用于返回特定ROWID在数据块中所对应的行号.
  8.rowid_to_obsolute_fno
  用于返回特定ROWID所对应的绝对文件号
  9.rowid_to_extended
  用于将受限rowid转变为扩展rowid
  10.rowid_to_restricted
  用于将扩展rowid转换为受限rowid
  11.rowid_verify
  检查是否可以将受限rowid转变为扩展rowid
八.dbms_rls
作用:只适用于Oracle Enterprise Edition,它用于实现精细访问控制,并且精细访问控制是通过在SQL语句中动态增加谓词(WHERE子句)来实现的.通过使用ORACLE的精细访问控制特征,可以使不同数据库用户在执行相同SQL语句时操作同一张表上的不同数据.
九.dbms_ddl
作用:提供了在PL/SQL块中执行DDL语句的方法,并且也提供了一些DDL的特殊管理方法.
十.dbms_shared_pool
作用:提供了对共享池的一些过程和函数访问,它使用户可以显示共享池中的对象尺寸,绑定对象到共享池,清除绑定到共享池的对象.为了使用该包,必须运行dbmspool.sql脚本来建立该包.
十一.dbms_random
作用:提供了内置的随机数生成器,可以用于快速生成随机数.
十二.dbms_logmnr
作用:通过使用包DBMS_LOGMNR和DBMS_LOGMNR_D,可以分析重做日志和归档日志所记载的事务变化,最终确定误操作(例如DROP TABLE)的时间,跟踪用户事务操作,跟踪并还原表的DML操作.
十三.dbms_flashback
作用:用于激活或禁止会话的flashback特征,为了使得普通用户可以使用该包,必须要将执行该包的权限授予这些用户.
十四.dbms_obfuscation_toolkit
作用:用于加密和解密数据,另外还可以生成密码检验和.通过加密输入数据,可以防止黑客或其他用户窃取私有数据;而通过结合使用加密和密码检验和,可以防止黑客破坏初加密的数据.当使用该包加密数据时,要求被加密数据的长度必须为8字节的整数倍.当使用DES算法加密数据时,密钥长度不能低于8字节;当使用DES3算法加密数据时,密钥长度不能低于16字节.
十五.dbms_space
作用:用于分析段增长和空间的需求
十六.dbms_space_admin
作用:提供了局部管理表空间的功能
十七.dbms_tts
作用:用于检查表空间集合是否是自包含的,并在执行了检查之后,将违反自包含规则的信息写入到临时表TRANSPORT_SET_VIOLATIONS中.
十八.dbms_repair
作用:用于检测,修复在表和索引上的损坏数据块.
十九.dbms_resource_manager
作用:用于维护资源计划,资源使用组和资源计划指令;包dbms_resource_manager_privs用于维护与资源管理相关的权限.
二十.dbms_stats
作用:用于搜集,查看,修改数据库对象的优化统计信息.
二十一.utl_file
作用:用于读写OS文件.使用该包访问OS文件时,必须要为OS目录建立相应的DIRECTORY对象..当用户要访问特定目录下的文件时,必须要具有读写DIRECTORY对象的权限.在使用UTL_FILE包之前,应首先建立DIRECTORY对象.
二十二.utl_inaddr
作用:用于取得局域网或Internet环境中的主机名和IP地址.

分享到:
评论

相关推荐

    Oracle系统包详细使用方法

    Oracle系统包是数据库管理系统Oracle中一组预定义的PL/SQL包,它们提供了各种功能,用于数据库管理和维护。本文将详细讲解这些系统包的用途和使用方法。 首先,我们来看dbms_output包,它用于在PL/SQL程序中进行...

    oracle系统包

    oracle系统包

    oracle系统内置包

    Oracle系统内置包是Oracle数据库中的预编译程序包,它们为数据库管理员(DBA)和开发人员提供了广泛的功能。这些内置包大致可以分为两类,一类是为DBA提供的,另一类是为开发人员提供的。它们包含了各种实用的过程和...

    各版本Oracle驱动包下载

    Oracle数据库是全球广泛使用的大型关系型数据库管理系统,其在企业级应用中占据着重要的地位。本文将详细讨论Oracle驱动包的各个版本及其下载相关知识。 首先,Oracle驱动包主要用于Java应用程序与Oracle数据库之间...

    dbeaver oracle离线驱动包

    DBeaver是一款免费且开源的通用SQL客户端,它支持多种数据库管理系统,包括Oracle。离线驱动包意味着用户无需互联网连接即可在DBeaver中安装和使用这些驱动,这对于那些网络环境不稳定或者有安全规定的环境非常有用...

    oracle12C依赖包.zip

    依赖包是指在安装Oracle 12c时,系统可能需要的一系列支持软件或库文件,这些包确保数据库能够正常运行并满足其功能需求。"oracle12C依赖包.zip"提供的内容显然涵盖了这些必要的组件,适用于Oracle 12c以及11g等其他...

    安装oracle ASM所需的系统包:oracleasmlib、oracleasm-support

    在安装Oracle ASM之前,必须先安装两个关键的系统包:`oracleasmlib` 和 `oracleasm-support`。这些包主要用于在Linux操作系统上支持Oracle ASM的运行。 `oracleasmlib` 是Oracle公司提供的一个库,它允许ASM直接...

    oracle jar包下载 支持JDK1.6及以上

    描述中的"希望需要的朋友可以得到帮助"意味着这个驱动包是为那些正在寻找Oracle数据库连接解决方案的开发者准备的,他们可能正在开发需要与Oracle数据库交互的Java应用,例如企业级的Web应用、数据分析系统或者后台...

    Ubuntu安装Oracle所需包

    在Ubuntu系统上安装Oracle数据库可能涉及一系列步骤,包括配置环境、安装依赖包和解决可能出现的问题。以下是关于这个过程的一些详细知识点: 1. **环境准备**: 在开始安装Oracle之前,确保你的Ubuntu系统是最新...

    Oracle离线安装的环境包

    Oracle数据库是企业级广泛应用的关系型数据库管理系统,尤其在大型企业和关键业务系统中占据主导地位。离线安装Oracle数据库对于没有互联网连接或者网络环境受限的环境非常有用。本环境包提供了Oracle离线安装所需的...

    欧拉系统安装oracle 11g

    本资源摘要信息将详细介绍欧拉系统安装 Oracle 11g 的过程,包括安装依赖包、安装 Oracle 11g 等步骤。 安装依赖包 在安装 Oracle 11g 之前,需要安装一些依赖包,以确保安装过程的顺利进行。这些依赖包包括: 1....

    linux安装oracle缺失包

    这些包通常包含了系统库、开发工具和其他与Oracle数据库兼容的组件,对于成功安装和配置Oracle至关重要。 首先,让我们了解一些基本的Oracle在Linux上的安装流程。Oracle数据库通常需要一个特定版本的Linux操作系统...

    centos7离线安装oracle依赖包

    在内网环境中,最小化安装的CentOS 7.4系统需要进行离线安装Oracle数据库时,会面临一些挑战,因为通常这样的环境无法直接访问互联网获取必要的依赖包。Oracle数据库的安装过程涉及到许多系统级别的库和工具,这些都...

    Oracle内置包_reference.rar

    Oracle数据库是世界上最广泛使用的数据库系统之一,其内置包是实现高级功能和自定义逻辑的关键工具。这些包由Oracle公司提供,包含了一系列预定义的过程和函数,使得DBA(数据库管理员)和开发人员能够更高效地操作...

    kettle连接oracle的jar包.zip

    在本案例中,"kettle连接Oracle的jar包.zip"是一个包含必要的库文件的压缩包,专门用于解决Kettle与Oracle数据库的连接问题。 Oracle数据库是全球广泛使用的商业关系型数据库管理系统,拥有高性能、高可用性和安全...

    oracle驱动包和mysql驱动包

    Oracle驱动包和MySQL驱动包是数据库连接的重要组成部分,它们使得Java或其他编程语言能够与数据库进行交互,执行查询、更新和事务处理等操作。在本文中,我们将深入探讨这两个驱动包的特点、用途以及如何在实际开发...

    oracle-support oracleasmlib kmod-oracleasm包

    Oracle Support for Oracle ASM (Automatic Storage Management) 和 Kmod-OracleASM 包是Oracle数据库系统在Linux环境下进行存储管理的关键组件。这些包确保了在Red Hat Enterprise Linux (RHEL)、CentOS以及Oracle ...

    tomcat5.5 oracle驱动包

    当我们将Tomcat与Oracle结合使用时,需要安装并配置相应的Oracle驱动包,以确保两者之间的通信顺畅。本文将深入探讨如何在Tomcat 5.5中集成Oracle驱动,以及在Windows 64位环境下进行相关操作。 首先,Oracle驱动包...

    oracle jdbc jar包

    Oracle JDBC Jar包是Java应用程序与Oracle数据库交互的重要组件。它提供了Java编程语言访问Oracle数据库的接口,使得开发者能够在Java环境中执行SQL语句、处理结果集、管理事务等操作。Oracle JDBC驱动主要有四种...

    Oracle内置包_reference

    Oracle内置包是Oracle数据库系统提供的一系列预定义的PL/SQL包,这些包极大地扩展了数据库的功能,并简化了开发者在数据库层面的操作。Oracle内置包包括了处理数据、管理事务、控制用户访问、监控数据库性能等多个...

Global site tag (gtag.js) - Google Analytics