Oracle 10g11g Database常用功能与内置包-开阔视野.ppt

上传人:仙人指路1688 文档编号:2340407 上传时间:2023-02-13 格式:PPT 页数:53 大小:625.50KB
返回 下载 相关 举报
Oracle 10g11g Database常用功能与内置包-开阔视野.ppt_第1页
第1页 / 共53页
Oracle 10g11g Database常用功能与内置包-开阔视野.ppt_第2页
第2页 / 共53页
Oracle 10g11g Database常用功能与内置包-开阔视野.ppt_第3页
第3页 / 共53页
Oracle 10g11g Database常用功能与内置包-开阔视野.ppt_第4页
第4页 / 共53页
Oracle 10g11g Database常用功能与内置包-开阔视野.ppt_第5页
第5页 / 共53页
点击查看更多>>
资源描述

《Oracle 10g11g Database常用功能与内置包-开阔视野.ppt》由会员分享,可在线阅读,更多相关《Oracle 10g11g Database常用功能与内置包-开阔视野.ppt(53页珍藏版)》请在三一办公上搜索。

1、Oracle 10g/11g Database常用功能与内置包-开阔视野,作者:赵元杰中程在线(北京)科技有限公司2009年7月,2023/2/13,2/52,议程,I.Oracle 功能与内置包II.开发者应该了解的内置包III.管理员应该了解的内置包IV.参考,2023/2/13,3/52,Oracle 功能与内置包,Oracle功能与内置包关系:许多公司开发者不喜欢PL/SQL,也喜欢内置包不了解新功能是由内置包写成,图形界面也要调用内置包来完成处理许多新功能提供完善的APIAPI 最简单方法就是 PL/SQLAPI 可采用JAVA 接口API也可使用C/C+接口,2023/2/13,4

2、/52,Oracle 功能关键点,Oracle 功能的内幕对应的数据字典内设置包相应的参数Oracle 功能的表面图形界面有相应栏目命令如何使用资料有功能介绍API方法,2023/2/13,5/52,Oracle 功能关键点,Oracle 新功能变化相关内容每个新功能都是:包+数据字典+参数,2023/2/13,6/52,Oracle 9i 新增加的包,Oracle9i 新支持包列表DBMS_AQELM DBMS_ENCODEDBMS_FGA DBMS_FLASHBACKDBMS_LDAPDBMS_LIBCACHE DBMS_LOGMNR_CDC_PUBLISHDBMS_LOGMNR_CDC_

3、SUBSCRIBE DBMS_METADATA DBMS_ODCI DBMS_OUTLN_EDIT DBMS_REDEFINITION DBMS_TRANSFORMDBMS_WMDBMS_XMLGEN DBMS_XMLQUERYDMBS_XMLSAVE UTL_ENCODEUTL_URL,2023/2/13,7/52,Oracle 9i 新增加的包,Oracle9i R2新支持包列表DBMS_APPLY_ADM DBMS_CAPTURE_ADM DBMS_LOGSTDBY DBMS_MGWADM DBMS_MGWMSG DBMS_PROPAGATION_ADM DBMS_RULE DBMS_R

4、ULE_ADM DBMS_STORAGE_MAP DBMS_STREAMS DBMS_STREAMS_ADM DBMS_XDB DBMS_XDBT DBMS_XDB_VERSION DBMS_XMLDOM DBMS_XMLPARSER DBMS_XPLAN DBMS_XSLPROCESSOR,2023/2/13,8/52,Oracle 11g新内置包,DBMS_ADVANCED_REWRITEDBMS_COMPARISON(替换DBMS_RECTIFIER_DIFF)DBMS_PCLXUTILDBMS_SPACEcreate_index_costcreate table_costfree_bl

5、ocksobject_dependent_segmentsobject_growth_trendPL/SQL WarningsSorted Hash ClustersINSERT ALLINSERT WHENSAMPLE CLAUSEWM_CONCATDBMS_REDEFINITIONDBMS_FLASHBACK.TRANSACTION_BACKOUT,2023/2/13,9/52,Oracle 功能与内置包,Oracle 10g新功能闪回新功能-DBMS_FLASHBACK自动存储管理-DBMS_ASM数据泵-DBMS_PUMPOracle 11g 新功能两个表比较-DBMS_COMPARI

6、SON连接池-DBMS_CONNECTION_POOL健康管理-DBMS_HM,2023/2/13,10/52,议程,I.Oracle 功能与内置包II.开发者应该了解的内置包III.管理员应该了解的内置包IV.参考,2023/2/13,11/52,开发者与内置包,Oracle 公司早就为你想好了:不怕不知道;就怕想不到不了解内置包,你可做一些多余的工作如何了解内置包知道名称与功能即可使用看例子,看例子没能解决问题,深入研究从网上搜索可能更快,但你至少有一个内置包的名称吧!,2023/2/13,12/52,Oracle 11g内嵌包,提供数据库基本支持;在 SYS 模式下,连接到:Oracle

7、 Database 11g Enterprise Edition Release 11.1.0.6.0-ProductionWith the Partitioning,OLAP,Data Mining and Real Application Testing options select owner,count(*)from dba_objects where object_type=PACKAGE group by owner order by count(*)desc;OWNER COUNT(*)-SYS 591SYSMAN 187FLOWS_030000 174CTXSYS 70MDSY

8、S 69OLAPSYS 45XDB 30ORDSYS 27WKSYS 22WMSYS 22EXFSYS 18ORDPLUGINS 5DBSNMP 3ORACLE_OCM 3SYSTEM 1(DBMS_REPCAT_AUTH),2023/2/13,13/52,Oracle 11g内嵌包,Oracle 功能与内置包SYS是通用的内置包,其他用户是专用:,2023/2/13,14/52,Oracle 的内嵌(Built-In)包,每个Oracle默认的模式都有内置包,下面按用户列表查询:,SQL show userUSER 为 SYScol object_name for a30col owner

9、for a12select owner,object_name from dba_objects where object_type=PACKAGE order by owner,object_type;OWNER OBJECT_NAME-SYS STANDARDSYS DBMS_STANDARDSYS DBMS_REGISTRYSYS DBMS_REGISTRY_SERVERSYS XML_SCHEMA_NAME_PRESENTSYS UTL_RAWSYS DBMS_ADVISORSYS PLITBLM,2023/2/13,15/52,开发有关内置包-DBMS_OUTPUT,DBMS_OUT

10、PUT内置包:用于输出变量结果可输出字符类型数据用于调试阶段的结果显示建议:PL/SQL调试中使用使用前要设置会话变量:set serveroutput on在PL/SQL中用DBMS_OUTPUT.PUT_LINE实现结果输出,2023/2/13,16/52,开发有关内置包-DBMS_METADATA,DBMS_METADATA内置包:用于输出对象元数据可输出表、视图、存储过程等对象的元数据此外还用于返回XML等建议:建议开发人员与管理人员都要熟悉它在系统的迁移时非常有用建议直接在SQL命令下使用,2023/2/13,17/52,开发有关内置包-DBMS_JOB,DBMS_JOB内置包:用于

11、设置需要定时运行的作业许多需要定时运行的PL/SQL程序可使用使用这个包设置作业前先确保PL/SQL是可用建议:有规律运行的PL/SQL应用可使用设置作业的关键是运行时间与再次运行时间如果需要设置较多作业时,建议进行时间规划,避免过多作业在同时间运行,2023/2/13,18/52,开发有关内置包-DBMS_SCHEDULER,DBMS_SCHEDULER 内置包:10g新增加的功能,用于设置定时运行作业日程这个包是对DBMS_JOB的增强使用这个包设置作业日常,以进行全面的资源管理建议:对于一般的作业,可直接使用DBMS_JOB完成设置多个作业,建议使用通过DBMS_SCHEDULER实现设

12、置前,要整体时间规划,避免过多作业在同时间运行管理员可从EM直接进行设置使用,2023/2/13,19/52,开发有关内置包-DBMS_SQL,DBMS_SQL内置包:用于PL/SQL动态编程在PL/SQL中使用DDL语句,必须使用动态PL/SQL中不能确定的DML语句也要用动态建议:不得已时不要再PL/SQL使用动态动态语句运行效率低下如果需要动态,则考虑立即的动态,2023/2/13,20/52,开发有关内置包-DBMS_PIPE,DBMS_PIPE内置包:用于进程间的通信一般在PL/SQL中使用,也可在C/C+或JAVA中使用管道包实现各进程间数据的双向传递和续传建议:编写特殊应用或软件

13、产品时使用可使用管道包实现工作流处理一些要求实时的数据传递可采用管道包来实现,而不要采用触发器,2023/2/13,21/52,开发有关内置包-DBMS_ALERT,DBMS_ALERT内置包:与DBMS_PIPE包类似,用于信息的订阅-发布在多线程中使用建议:编写特殊应用或软件产品时使用信息的订阅与发布情况下使用可在开发的软件产品中使用,2023/2/13,22/52,开发有关内置包-UTL_MAIL,UTL_MAIL内置包:10g新增加的包,用于邮件的发送9i之前使用UTL_SMTP包,UTL_SMTP 发送信息大小 3000 字符UTL_MAIL包实现与日常发送邮件一样功能建议:要使用这

14、个,以sydba 安装了解环境的配置使用了解API方法,2023/2/13,23/52,开发有关内置包-UTL_FILE,UTL_FILE内置包:用于在OS路径下对文件的I/O操作类似在C语言的文件打开写入关闭等可用于产生需要的文件,比如写文本文件等建议:这个包对OS路径需要读写权限,但不要轻易授予这样的权限可对OS路径文件进程读写,在开发专门软件时使用,比如在应用中运行用户将结果转换为PDF文件或将图像存储为BMP文件等,2023/2/13,24/52,开发有关内置包-DBMS_PROFLER,DBMS_PROFILER内置包:用于对PL/SQL程序的优化分析这个跟踪PL/SQL程序中的语句

15、的运行情况可用于PL/SQL性能的问题分析建议:这个包平时不要使用,当问题较难确定时使用建议在会话中使用,注意及时结束使用,2023/2/13,25/52,开发有关内置包-DBMS_HPROF,DBMS_HPROF内置包:11g 新支持的内置包,用于替代DBMS_PROFILE包这个跟踪PL/SQL程序中的语句的运行情况可用于PL/SQL性能的问题分析建议:11g版本可使用这个包,使用这个包需要安装,如connect HR/HR;?/rdbms/admin/dbmshptab.sql 10g及之前的版本只能使用DBMS_PROFILE,2023/2/13,26/52,开发有关内置包-DBMS_

16、CONNECTION_POOL,DBMS_CONNECTION_POOL内置包:11g 新支持的内置包用于设置数据库常驻连接池解决连接池的负荷平衡问题建议:当环境架构是Web时,可采用这个包来设置数据库常驻连接池了解DRCP(Database Resident Connection Pooling)技术,2023/2/13,27/52,开发有关内置包-DBMS_SHARED_POOL,DBMS_SHARED_POOL内置包:用于将PL/SQL程序等驻留在共享内存里;也可从共享内存读出被缓存的对象;缓存的目的是解决某个PL/SQL程序被淘汰出共享内存的问题建议:如果希望使用这个包,要以sysdb

17、a登录并运行ORACLE_HOME/rdbms/admin/dbmspool.sql 脚本;授权给用户即可使用这个包;建议不要将过多PL/SQL程序缓存在共享池内以免起反作用,2023/2/13,28/52,开发有关内置包-DBMS_APPLICATION_INFO,DBMS_APPLICATION_INFO内置包:用于交换环境中执行处理的时间点信息DBMS_APPLICATION_INFO 可以设置SESSION的MODULE,ACTION,CLIENT INFO等状态信息,跟踪定位出问题的程序 建议:这个包可以在PL/SQL块、批处理程序中调用该包,建议在存储过程中调用 了解会话跟踪 技术

18、,2023/2/13,29/52,开发有关内置包-DBMS_LOB,DBMS_LOB内置包:用于处理LOB数据,包括读、写、追加等DBMS_LOB可以实现对大对象的各种处理 建议:如果你不是采用功能较强的(如C/C+、JAVA)工具处理LOB对象的话,使用DBMS_LOB包是最佳选择 可在PL/SQL中使用,也可在Pro*C中使用建议不要采用LONG或LONG RAW类型,2023/2/13,30/52,开发有关内置包-DBMS_COMPARISON,DBMS_COMPARISON内置包:11g新增加的包,用于比较和修复两个表数据主要是在Stream中使用,因为源数据目标数据可能发生差异 建议

19、:如果应用环境需要进行从源数据同步到目标表(转换或集成)的时候,可使用这个包实现数据的比较与修复 需要以sysdba登录,并运行ORACLE_HOME/rdbms/admin/dbmscmp.sql 脚本完成包的创建建议研究包的使用,2023/2/13,31/52,开发有关内置包-DBMS_ADVISOR,DBMS_ADVISOR内置包:10g新增加的包,用于进行数据库各种优化可对表、索引、撤销等的优化作出建议 建议:对于较复杂的应用性能问题,可研究这个包的用法,建议开发与DBA都要关心 相关的包:DBMS_SQLDIAGDBMS_SQLTUNEDBMS_WORKLOAD_REPOSITOR,

20、2023/2/13,32/52,议程,I.Oracle 功能与内置包II.开发者应该了解的内置包III.管理员应该了解的内置包IV.参考,2023/2/13,33/52,DBA有关内置包-DBMS_COMPARISON,DBMS_FLASHBACK内置包:10g新增加的包,用于闪回所做过的DML数据主要是用于人为的操作错误 建议:如果需要对某些错误操作的数据进行恢复,需要确定时间点或SCN号 一般建议在EM上使用,如果确定存在困难,可在命令状态下使用特殊情况下在PL/SQL中使用,2023/2/13,34/52,DBA有关内置包-DBMS_DATAPUMP,DBMS_DATAPUMP内置包:用

21、于API的实现数据泵的包可直接在PL/SQL使用 建议:对于一些软件产品的备份功能来说,可采用自动的PL/SQL方式,这样可避免用户学习expdp/impdp命令参考10g/11g 原版资料。,2023/2/13,35/52,DBA有关内置包-DBMS_LOGMNR,DBMS_LOGMNR内置包:用于对日志文件进行分析,以输出某个时间段内的DML数据这个包也可对归档文件进行分析,还可生成相反操作的DML语句主要用于解决审计等问题 建议:这个挖掘日志文件数据,以了解日志文件的DML情况 对特殊错误的DML进行恢复时,这个包比从备份中恢复要好,因为它只对错误做恢复,2023/2/13,36/52,

22、DBA有关内置包-DBMS_RESOURCE_MANAGER,DBMS_RESOURCE_MANAGER内置包:用于对Oracle系统资源进行管理Oracle系统资源包括CPU、内存、撤销表空间等主要用于复杂环境的资源分配与管理 建议:建议在用户类别多,资源紧张情况使用这包 先对用户的角色、权限、优先等进行规划,然后使用这个包进行配置,2023/2/13,37/52,DBA有关内置包-DBMS_RESOURCE_MANAGER,DBMS_RCVCAT内置包:用于对数据进行恢复RMAN是命令方式,DBMS_RCVCAT 是提供的API接口主要用于复杂环境的资源分配与管理 建议:建议在命令或EM环

23、境下使用 特殊情况下在PL/SQL使用这个包,如开发软件产品等,2023/2/13,38/52,DBA有关内置包-DBMS_SPACE,DBMS_SPACE内置包:用于对段空间进行管理段是占用存储空间的对象,表、索引等主要用于存储空间的有效管理 建议:标准版不支持 在段存储问题较大时可采用这样的方法管理,2023/2/13,39/52,DBA有关内置包-DBMS_MONITOR,DBMS_MONITOR内置包:10g中引入内置包,可跟踪从客户机到中间层、再到后端数据库的任何用户的会话用于标识创建大量工作量的特定用户 建议:在多层架构下,建议采用这个包跟踪会话,以确定问题的原因 建议与DBMS_

24、 APPLICATION_INFO包一起考虑相关的包有DBMS_SERVICE、DBMS_SESSION等,2023/2/13,40/52,DBA有关内置包-DBMS_SESSION,DBMS_SESSION内置包:功能是跟踪客户会话 用于性能问题的跟踪与安全的控制 建议:如果希望进行安全的自动管理,可研究这个包的使用 参考David Kurtz的文章与安全相关的内容是SYS_CONTEXT,2023/2/13,41/52,DBA有关内置包-DBMS_SUPPORT,DBMS_SUPPORT内置包:这个包用于 跟踪SQL 语句等用于性能的监控,如SQL性能等问题默认安装,这个包不被安装建议:c

25、onn/as sysdba?rdbmsadmindbmssupp.sqlGRANT execute ON dbms_support TO uwclass;CREATE PUBLIC SYNONYM dbms_support FOR dbms_support;,2023/2/13,42/52,DBA有关内置包-DBMS_SYSTEM,DBMS_SYSTEM内置包:这个包用于会话的跟踪 用于性能用户性能监控和数据搜集建议:对怀疑的会话进行跟踪,跟踪完成最后取消跟踪跟踪所产生的结果被记录到跟踪文件中,跟踪文件路径为$ORACLE_HOME/udump,2023/2/13,43/52,DBA有关内置包

26、-DBMS_LOCK,DBMS_LOCK内置包:可对所操作的数据进行锁定 用于多用户下可能产生同时进行DML操作冲突的控制 一般默认下,Oracle只能对表进行内部机制所提供的锁建议:如果应用系统所操作的对象可能出现读写冲突时,建议你研究这个包的用法 参考原版文章,2023/2/13,44/52,DBA有关内置包-DBMS_UTILITY,DBMS_UTILITY内置包:这个包是多种过程的集合,它放置了许多的过程,如 DBMS_UTILITY.ANALYZE_SCHEMA、dbms_utility.active_instances 等用于复杂的应用开发 建议:如果你开发以个复杂的应用,可使用这

27、个实现各种处理 相关包:DBMS_ODCI,2023/2/13,45/52,DBA有关内置包-DBMS_SQLTUNE,DBMS_SQLTUNE内置包:这个包用于SQL性能分析提供了一个精确地评估前后性能变化的完整的数据库工作负载的方法。用于复杂的应用开发 建议:开发人员与DBA可使用这个包对SQL问题进行分析 相关包:DBMS_SQLDIAG,2023/2/13,46/52,DBA有关内置包-DBMS_SQLDIAG,DBMS_SQLDIAG内置包:这个包用于SQL性能诊断提供创建和执行SQL Repair Advisor的诊断任务的方法。用于存在问题的SQL诊断 建议:开发人员与DBA可使

28、用这个包对SQL问题进行分析 参考资料:Oracle 11g数据库管理艺术,2023/2/13,47/52,DBA有关内置包-DBMS_STATS,DBMS_STATS内置包:这个包用于对数据库段对象进行统计提供对表、索引、Cluster等进行统计,为CBO提供优化数据。用于CBO优化模式 建议:DBA可使用这个包对相关表、索引进行统计 参考资料:Oracle 原版,2023/2/13,48/52,DBA有关内置包-DBMS_RESUMABLE,DBMS_RESUMABLE内置包:这个包用于对各中表空间进行自动管理提供对表永久表空间撤销表空间、临时表空间的使用出现问题自动处理方法 建议:DBA

29、可使用这个包对一些旧的应用进行预防性的维护,因为一旦扩展失败意味着DML数据失败 参考资料:Oracle 原版,2023/2/13,49/52,DBA有关内置包-DBMS_REPAIR,DBMS_REPAIR内置包:用于对坏块进行修理可以发现、标识并修改数据文件中的坏块检查到的坏块标注出来,使随后的dml操作跳过该块。建议:DBA可使用这个包对坏块进行诊断从性能角度出发,也可使用这个包进行诊断参考资料:Oracle 原版,2023/2/13,50/52,DBA有关内置包-DBMS_HM,DBMS_HM内置包:11g版本引入;HM是Health Management的缩写用于Oracle数据库进

30、行健康管理可报告存在问题的信息建议:DBA可使用这个包对Oracle系统进行诊断一般可从EM中使用,但也要理解输出的结果相关包:DBMS_IR,2023/2/13,51/52,DBA有关内置包-DBMS_WM,Multi-row versioning“What-if”analysis straight in the production DB-Version enable the EMP table with history and timestamp all changes EXECUTE DBMS_WM.EnableVersioning(EMP,VIEW_WO_OVERWRITE);-Cr

31、eate a workspace-EMP_UPDATES(need to be/have SYS user privileges)execute dbms_wm.createWorkspace(EMP_UPDATES);make some changes in EMP_UPDATES to execute dbms_wm.gotoWorkspace(EMP_UPDATES);update EMP.-Create a savepoint POTENTIAL_CHANGES in the EMP_UPDATES workspace and make some more changes execut

32、e dbms_wm.CreateSavepoint(EMP_UPDATES,POTENTIAL_CHANGES);update EMP.Undo the last set of changes execute dbms_wm.RollbackToSP(EMP_UPDATES,POTENTIAL_CHANGES);-Merge changes into LIVE(production)Workspace and remove the workspace EMP_UPDATES execute dbms_wm.gotoWorkspace(LIVE);execute dbms_wm.MergeWor

33、kspace(EMP_UPDATES,remove_workspace=true);-Clean-up-disable versioning on the EMP table execute dbms_wm.DisableVersioning(EMP);,2023/2/13,52/52,内置包使用与授权建议,Oracle系统危险包,下面包不要轻易授权一般用户使用:UTL_TCPUTL_SMTPUTL_MAILUTL_HTTPUTL_INADDR UTL_FILE,2023/2/13,53/52,内置包资源参考,Oracle原厂:Oracle DatabasePL/SQL Packages and Types Reference11g Release 1(11.1.)B28419-02OCP:11g:D52601GC10-Oracle Database 10g:Advanced PL/SQL10g:Oracle Database 10g:Advanced PL/SQL,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号