• Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,668
On Slideshare
0
From Embeds
0
Number of Embeds
1

Actions

Shares
Downloads
16
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Oracle Database 11g 新功能概要 赵元杰北京群环域科技有限公司 2012.2
  • 2. 内容提要♠ 11g 淘汰的功能与产品♠ 11g 安装与升级♠ 11g 产品新功能♠ 11g 管理新功能♠ 11g 新实用程序♠ 参考资源 2/60
  • 3. 为什么要“与时俱进 ”♠ Larry Ellison ♠ 锋芒必露 ♠ 我自己成功不算成功,要所有的对手都后失败才算成 功 ♠ 喜欢标新立异,经常将产品的名称改来改去♠ 产品改名频繁 ♠ 非常看准市场 ♠ 产品测试阶段就做好了宣传 ♠ 产品名称一改,别人以为是新的产品! 3/60
  • 4. MTS到Shared Server♠ Oracle R6 ♠ Oracle 7之前,登录一个用户就需要分配一定的主机资 源,即使会话不需要资源也不能释放 ♠ 技术人员跳到Sybase ,在Sybase上先推出MTS ♠ 开始攻击Oracle技术不行,在北京出现:Oracle总部搬 到哪里Sybase总部也搬到那里♠ Oracle 7的变化 ♠ 也推出MTS技术 ♠ 与Sybase技术平起平坐 ♠ 双方相互攻击转向“透明”上 4/60
  • 5. MTS到Shared Server♠ Oracle 9i ♠ Oracle 9i是一个过度版本 ♠ MTS正式变为共享服务器 ♠ 此外,许多产品的名称与技术叫法都变♠ Oracle 10g/11g ♠ 10g继续完善9i未完善的技术 ♠ 有的新功能也推出,但都是少量 ♠ 11g继续完善10g的功能 ♠ 10g/11g 最大变化就是管理智能化 5/60
  • 6. MTS到Shared Server♠ Oracle 10g/11g ♠ 共享服务器基本不用管理,因为系统自动管理 ♠ 10g/11g 的OCP都没有介绍共享服务器的内容,意 思是管理不用关注“共享服务器” ♠ 要关注就是在大量并发用户环境下才需要将Oracle 设置成共享模式即可 6/60
  • 7. 从rollback segment到undo tablespace♠ Oracle 8i ♠ Oracle 8i是一个旧技术终止的版本 ♠ 回滚段技术并不是不好,问题是文档出现误导 ♠ 回滚段的原因是没有自动调整(其实自动调回滚段很简 单) ♠ 出现ORA-01555错误♠ Oracle 9i/10g/11g ♠ 从9i版本可以使用撤销表空间,你也可继续使用回滚段 管理你的Oracle 9i/10g环境 ♠ 当然撤销表空间有1个好处是,提交后也可短时间内恢 复 ♠ 撤销表空间也同样出现ORA-01555 7/60
  • 8. 从rollback segment到undo tablespace♠ Oracle 10g/11g版本 ♠ 建议使用撤销表空间 ♠ 撤销表空间对于的数据文件要大,至少5GB以上 ♠ 出现ORA-01555,可调UNDO_RETENTION与增 加数据文件 8/60
  • 9. 从字典管理到本地管理表空间♠ DMT与LMT表空间 ♠ 字典管理表空间(Dictionary Managed Tablespace简称DMT ) ♠ 本地管理表空间(Locally Managed Tablespace 简称LMT) ♠ DMT时代的结束原因是大容量磁盘的到来 ♠ LMT的建议是新的管理机制 9/60
  • 10. 从RAW到ASM♠ Oracle早期系统与早期存储 ♠ RAW意思是原始设备或裸设备 ♠ 将存储系统分区但不用OS 格式化的存储 ♠ 可提供I/O速度,Oracle系统早就支持将数据存储到 RAW上♠ Oracle 系统与存储 ♠ 存储五花八门,有内置磁盘,有网络存储等 ♠ 存储系统影响到Oracle系统性能,因为数据量越来越大 ♠ RAW 存在不足就是分区后不能灵活更改 10/60
  • 11. 从RAW到ASM♠ Oracle 10g/11g ASM ♠ ASM好处就是系统自动优化存储 ♠ Oracle系统ASM配置需要条件 ♠ 大型系统选择ASM很大,现在流行的是集中的 管理(Data Hub)♠ Oracle 12g的可能 ♠ 听说12g就不支持RAW了 ♠ RAW 是否不再受宠,主要近年确实很少被用 户使用 11/60
  • 12. 从RULE到CBO♠ Oracle 优化器 ♠ Oracle 8i之前,建议用RULE ♠ Oracle 9i/10g/11g建议用CBO♠ Oracle 将来变化 ♠ 12c 管理自动化 ♠ 12c 管理智能化 ♠ 语句优化智能化, ♠ 我们DBA 还干什么,设计总是不自动化,近年软件还 是要人工写代码,当然中国的用户更不合适软件的自 动化,此外,测试与高水平的技术支持行业国内较弱。 12/60
  • 13. Oracle 版本历史♠ Oracle 版本历史: ♠ 1978 Oracle V1; ♠ ... ♠ 5.1.A/5.1.B 1988 ♠ 6.x 1992 ♠ 7.3 1996 ♠ 8.0 1997 Oracle 8 ♠ 8.1.5 1999 Oracle 8i Release 1 ♠ 8.1.6 1999 Oracle 8i Release 2 ♠ 8.1.7 2000 Oracle 8i Release 3 ♠ 9.1 2001 Oracle 9i Release 1 ♠ 9.2 2002 Oracle 9i Release 2 ♠ 10.1 2004 Oracle 10g Release 1 ♠ 10.2 2005 Oracle 10g Release 2 ( XE ! ) ♠ 11.1 2007 Oracle 11g Release 1 ♠ 11.2 2009 Oracle 11g Release 2 13/60
  • 14. 系统的问题诊断的进化♠ 系统问题检查的不断进化: ♠ 6.x: dumps, traces, timed statistics ♠ 7.x: wait events ♠ 8.x: Statspack ♠ 10g: ASH/AWR/ADDM ♠ 11g: Self-diagnosability。 14/60
  • 15. iSQL*Plus与 SQLPLUSW说GoodBye!♠ Oracle 11g 淘汰了存在安全问题的产品 ♠ Oracle 11g 不包括iSQL*Plus ♠ Oracle 11g 不包括SQL*Plus图形方式(sqlplusw.exe) ♠ Oracle 11g 还包括SQL*Plus(命令方式) ♠ Oracle 11g 全面支持 Oracle SQL Developer ♠ Oracle SQL Developer 建议使用SQL与PL/SQL 开发 ♠ SQL*Plus 对BLOB,CLOB及BFILE 增强 15/60
  • 16. 优化工具的变化♠ Oracle 8i之前 ♠ UTLBSTAT/UTLESTAT♠ Oracle 8i/9i/10g ♠ 10g 推荐使用Statspack 诊断性能 ♠ 11g Statspack 继续使用♠ Oracle 10g/11g 推荐 ♠ AWR(Automatic Workload Repository) ♠ ADDM(Automatic database Diagnostic Monitor) 16/60
  • 17. SQL*Plus与SQL Developer♠SQL*Plus 还可使用 ♠SQL*Plus 11g 支持 BLOB 与 BFILE 17/60
  • 18. 内容提要♠ 11g 淘汰的功能与产品♠ 11g 安装与升级♠ 11g 产品新功能♠ 11g 管理新功能♠ 11g 新实用程序♠ 参考资源 18/60
  • 19. Oracle 11g安装界面♠ 安装界面风格 ♠ 与10g类似 19/60
  • 20. Oracle 11g 升级♠ 低版本升级到11g方法 ♠ Database Upgrade Assistant ♠ Manual Upgrades ♠ Export/Import ♠ SQL*Plus Copy♠ 升级的路径- DBUA/手工 ♠ Oracle 9.2.0.4 (or higher) ♠ Oracle 10.1.0.2 (or higher) ♠ Oracle 10.2.0.1(or higher) (10.2.0.3 for CW) 20/60
  • 21. Oracle 11g 升级♠ Upgrade to 11g – Select Database ♠ Database Upgrade Assistant 21/60
  • 22. Oracle 11g 升级 ♠ Upgrade to 11g - Logging ♠ Database Upgrade AssistantNote Logging 22/60
  • 23. 内容提要♠ 11g 淘汰的功能与产品♠ 11g 安装与升级♠ 11g 产品新功能♠ 11g 管理新功能♠ 11g 新实用程序♠ 参考资源 23/60
  • 24. Oracle 继续变革 Database Vault Grid Computing Oracle 8i In-Memory Database Cache Automatic Storage Mgmt Oracle 8 Self Managing Database XML Database Oracle Data Guard Oracle 7 Real Application Clusters Flashback Query Oracle 6 Virtual Private Database Built in Java VM Partitioning Support Oracle 10g Built in Messaging Oracle 5 Object Relational Support Multimedia Support Oracle 9iOracle 2 Data Warehousing Optimizations Parallel Operations Distributed SQL & Transaction Support Cluster and MPP Support Multi-version Read Consistency Client/Server Support Platform Portability Commercial SQL Implementation 24/60
  • 25. Oracle 产品变化特点♠ 原有功能增强 ♠ 内存动态调整-10g 支持SGA动态调整,11g支持 SGA+PGA 动态调整 ♠ Flashback – 10g 对DML +Drop 进行闪回,11g 增强闪 回归档功能 ♠ 有的增加不易看到,如V$SESSION增加许多列♠ 新增加功能 ♠ 11g 新增 数据库重放 ♠ 11g 新增 Oracle SecureFiles ♠ 过去版本,控制不到OS路径下的文件,所以不安全 25/60
  • 26. Oracle 产品变化特点♠ 新增功能-表面的体现: ♠ OEM 栏目与提示的变化 ♠ SQL 语句 个别有变化 ♠ 实用程序 变化或新的实用程序 ♠ 资料有功能介绍♠ 新增功能-内部的体现(隐藏): ♠ 新的数据字典或视图 ♠ 新的内置包 ♠ 新的参数 ♠ 新的语句或新的子句 26/60
  • 27. Oracle 新功能关键点♠ Oracle 11g 缓存数据-Result Cache ♠ 参数result_cache_mode= FORCE : 27/60
  • 28. 11g 新功能-安全♠ 口令的严谨问题 ♠ 可对口令采用大小写敏感,如:sec_case_sensitive_logon = true--可动态设置:ALTER SYSTEM SET 28/60
  • 29. 11g 新功能-安全♠ 采用默认口令的视图 ♠ 11g增加新视图DBA_USERS_WITH_DEFPWD ♠ 用于显示那些具有缺省口令的用户,如: SQL> desc DBA_USERS_WITH_DEFPWD 名称 是否为空? 类型 ----------------------------------------- -------- -------------- USERNAME NOT NULL VARCHAR2(30) SQL> select * from dba_users_with_defpwd; USERNAME ------------------------------ DIP MDSYS XS$NULL SPATIAL_WFS_ADMIN_USR OUTLN OLAPSYS …… XDB WMSYS SI_INFORMTN_SCHEMA 已选择20行。 29/60
  • 30. 11g 新功能-安全♠ 表空间数据加密 ♠ 可对表空间设置加密算法,如:create tablespace secure1datafile /db1/1.dbf size 1Mencryption using AES128default storage (encrypt)--SQL> desc v$encrypted_tablespacesName Null? Type----------------- -------- -----------TS# NUMBERENCRYPTIONALG VARCHAR2(7)ENCRYPTEDTS VARCHAR2(3) 30/60
  • 31. 11g 新功能-闪回归档♠ 11g 新增加归档 ♠ 例如: create flashback archive FB1 tablespace TS1 retention 1 year -- alter table ACCOUNTS flashback archive FA1; -- alter flashback archive FA1 purge before scn 1234567; 31/60
  • 32. Oracle 11g 新功能-自动内存管理♠ 11g 自动内存 ♠ Memory_target –动态 ♠ Memory_max_size – 非动态♠ 11g 自动内存大小计算: ♠ Memory_target= sga_max_size+ ♠ max(pga_aggregate_target, ♠ results of (select value from v$pgastat where name=maximum PGA allocated; ) 32/60
  • 33. Oracle 11g 新功能-自动内存管理♠ 用于替换下面参数: ♠ Sga_max_size ♠ Sga_size (采用默认配置) – Db_cache_size Shared_pool_size – Large_pool_size Java_pool_size – Streams_pool_size ♠ Pga_aggregate_target 33/60
  • 34. Oracle 11g 新功能-自动内存管理♠ 还需要配置: ♠ Log_buffer ♠ Keep, Recycle 及 非默认块大小缓冲区 34/60
  • 35. Oracle 11g 新功能-自动内存管理♠ V$MEMORY_TARGET_ADVICE (参考 AWR): ♠ 查询视图信息SQL> select * from v$memory_target_adviceorder by memory_size_factor;MEMORY_SIZE MEMORY_SIZE_FACTOR ESTD_DB_TIMEESTD_DB_TIME_FACTOR----------- ------------------ ------------ ------------------- 176 .5 126 1.1443 264 .75 110 1 352 1 110 1 440 1.25 110 1 528 1.5 109 .99 616 1.75 109 .99 704 2 109 .99 35/60
  • 36. Oracle 11g 新功能-自动内存管理♠ 11g Automatic Memory Tuning ♠ 自动内存调整 36/60
  • 37. 11g新功能- Database Replay♠ 数据库重放 ♠ 使用数据库重放来捕获完整的数据库负载,以便您 可以随意进行“重放” ♠ 11g 将为您带来诸多好处。新的数据库重放工具好 似数据库内的 DVR。使用该独特的方法,可如实 地以二进制文件格式捕获 SQL 级别以下的所有数 据库活动,然后在同一数据库或不同数据库内进行 重放 ♠ 数据库重放与另一个工具 SQL 性能分析器共同构 成了 Oracle 数据库 11g 的“真正应用测试”选件。 37/60
  • 38. 11g新功能- Database Replay♠ 数据库重放的工作顺序如下 ♠ 1. 启动一个记录数据库活动的捕获流程。 ♠ 2. 该流程将活动写入名为“capture files”的特殊文 件,该文件位于 /capture directory/ 目录中。 ♠ 3. 稍后,停止捕获流程,将这些捕获文件移至位于 /replay directory/ 目录中的测试系统。 ♠ 4. 启动一个重放流程和若干重放客户端,以重放这 些捕获文件。 ♠ 5. 这些捕获文件将在测试数据库上应用。 38/60
  • 39. 11g新功能-SQL Performance Analyzer♠ SQL 性能分析器 ♠ SQL Performance Analyzer (SPA) 性能分析器,简称 SPA ♠ SPA可播放特定的 SQL或整个的 SQL 负载等♠ Select语句不使用索引问题: ♠ 将 optimizer_index_cost_adj 参数的值由默认的 100 该小些,如10;但是可能带来另外的问题; ♠ 修改这个参数带来的问题可通过SPA来确定 39/60
  • 40. 11g新功能-SQL Access Advisor♠ SQL Access Advisor ♠ 10g版本可以分析索引、物化视图等 ♠ 11g 中的 SQL Access Advisor 还可以分析表和查询 以识别可能的分区策略 — 这在设计最佳模式时可 以提供很大帮助 ♠ 11g 中,SQL Access Advisor 现在可以提供与整个 负载相关的建议,包括考虑创建成本和维护访问结 构。♠ SQL Access Advisor 用法: ♠ 在OEM中使用:…单击Advisor Central; ♠ 可通过内置包来使用 40/60
  • 41. 11g新功能-新进程♠ 11g 新增加一组进程 ♠ 11g 中除了原来的必须的进程外,还增加下面的进程: 进程 名称 描述ACMS 内存服务器原 仅适用于 RAC 实例中。执行分布式 SGA 更新 子控 时,ACMS 可确保在所有实例上发生更新。如果某 制文件 个实例上的更新失败,此进程也会在所有实例上回 滚更新。可将 ACMS 视为两阶段提交协调器进程, 用于 RAC 集群中的 SGA 更新。DBRM 数据库资源管 执行资源规划和其他与资源管理器相关的任务 理DIA0 诊断进程 0 检测挂起情况和死锁。将来可能会引入多个进程, 因此将名称设置为 diag0。将来如果引入其他进程, 将分别命名为 dia1、dia2 等。 41/60
  • 42. 内容提要♠ 11g 淘汰的功能与产品♠ 11g 安装与升级♠ 11g 产品新功能♠ 11g 管理新功能♠ 11g 新实用程序♠ 参考资源 42/60
  • 43. 11g新功能-expdp新功能♠ Expdp实用程序是10g 推出的导出/导入工具: ♠ 只能在10g 及以上版本运行 ♠ 替代原来 exp/imp 工具 ♠ 速度比exp/imp快♠ Expdp实用程序在11g 新一些参数: ♠ 压缩 ♠ 加密 ♠ 映射 43/60
  • 44. 11g新功能-expdp新功能♠ Expdp 压缩功能: ♠ 从Oracle 10.2 可是带压缩 ♠ 11g 增强压缩功能 ♠ COMPRESSION=ALL ♠ COMPRESSION=DATA_ONLY ♠ COMPRESSION=METADATA_ONLY ♠ COMPRESSION=NONEexpdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_comp.dmpCOMPRESSION=METADATA_ONLY 44/60
  • 45. 11g新功能-expdp新功能♠ Expdp 加密功能: ♠ 从Oracle 10.2 可在export/import加密 ♠ 11g 提供3种加密方法: ♠ Transparent encryption employing the Oracle Wallet ♠ Password-based encryption ♠ Dual mode (combines above two)♠ Expdp 加密参数: ♠ ALL enables encryption for all data and metadata in the export operation ♠ DATA_ONLY specifies that only data is written to the dump file set in encrypted format ♠ ENCRYPTED_COLUMNS_ONLY specifies that only encrypted columns are written to the ♠ dump file set in encrypted format ♠ METADATA_ONLY specifies that only metadata is written to the dump file set in encrypted ♠ format . ♠ NONE disables compression for the entire export operation expdp hr DIRECTORY=dpump_dir1 DUMPFILE=hr_enc.dmp JOB_NAME=enc1 ENCRYPTION=data_only ENCRYPTION_PASSWORD=foobar 45/60
  • 46. 11g新功能-expdp新功能♠ Expdp Remap_Table功能: ♠ 11g 可在IMPDP中利用REMAP_TABLE将导入表重 新映射到T_NEW表中 impdp hr DIRECTORY=dpump_dir1 DUMPFILE=expschema.dmp TABLES=hr.employees REMAP_TABLE=hr.employees:emps 46/60
  • 47. 11g新功能-expdp新功能♠ Expdp Remap_Tablespace功能: ♠ 11g 可在IMPDP中利用REMAP_TABLESPACE将导 入表空间重新映射到新的表空间中 impdp hr REMAP_TABLESPACE=tbs_1:tbs_6 DIRECTORY=dpump_dir1 DUMPFILE=employees.dmp 47/60
  • 48. 11g 新功能-自动诊断库♠ Automatic Diagnostic Repository (ADR) ♠ 旧版本使用下面路径存储相关文件: ♠ User_dump_dest ♠ Background_dump_dest ♠ Core_dump_dest ♠ 11g版本使用下面路径存储相关文件: ♠ $ORACLE_BASE/diag/{product}/{database}/{instan ce} ♠ 例如:/u01/app/oracle/diag/rdbms/orcl/orcl 48/60
  • 49. 11g 新功能-自动诊断库♠ Automatic Diagnostic Repository (ADR) ♠ ADR使用的路径结构 49/60
  • 50. 11g 新功能-自动诊断库♠ ADR使用V$DIAG_INFO(新视图) ♠ 日志文件可以XML格式 ♠ 查询日志路径SQL> select * from v$diag_info; INST_ID NAME VALUE---------- ------------------------- ------------------ 1 Diag Enabled TRUE 1 ADR Base C:ORACLEPRODUCT 1 ADR HomeC:ORACLEPRODUCTdiagrdbmsrob11gr4rob11gr4 50/60
  • 51. 11g 新功能-自动诊断库♠ ADR与相关路径文件 ♠ 各种日志文件与路径 51/60
  • 52. 11g 新功能-ADRCI♠ ADR对应新的工具 ♠ 实用程序ADRCI是 ADR Command line utilityC:oracleproduct11gBetaR4db_01NETWORKADMIN>adrciadrci>>show alert -tailADR Home = C:oracleproductdiagrdbmsrob11gr4rob11gr4:************************************************************2007-06-0200:42:47.398000 -06:00Logminer Bld: Lockdown Complete. DB_TXN_SCN isUnwindToSCN (LockdownSCN) is 18324432007-06-02 00:42:48.929000 -06:00db_recovery_file_dest_size of 2048 MB is 83.44% used. This is auser-specified limit on the amount of space that will be used by thisdatabase for recovery-related files, and does not reflect the amount ofspace available in the underlying filesystem or ASM diskgroup.2007-06-02 00:43:45.586000 -06:00 52/60
  • 53. 11g 新功能-ADRCI♠ ADR对于新的工具 ♠ 实用程序ADRCI用法:adrci> commandadrci> help--adrci> help show tracefileadrci> set homepath /diag/rdbms/orclbi/orclbi2adrci> show homesADR Homes: /diag/rdbms/orclbi/orclbi2 53/60
  • 54. 11g 新功能-ADRCI♠ ADR对于新的工具 ♠ 实用程序ADRCI用法:adrci> commandadrci> SHOW ALERT –TAILadrci> SHOW ALERT -TAIL 50--查看跟踪文件:adrci>SHOW TRACEFILEadrci> SHOW TRACEFILE %mmon% 54/60
  • 55. 11g 新功能-ADR相关包♠ ADR对应内置包 ♠ ADR内置包是DBMS_HM:BEGIN DBMS_HM.RUN_CHECK(Dictionary Integrity Check,my_run); END; 55/60
  • 56. 11g 新功能-比较包♠ DBMS_COMPARISON内置包用于比较两个对 象的差异♠ DBMS_COMPARISON内置包使用步骤: ♠ Create_comparison ♠ Execute compare ♠ Analyze differences ♠ Converge objects 56/60
  • 57. 11g 新功能-比较包♠ DBMS_COMPARISON内置包样例 ♠ 1.Create_comparisonBEGINDBMS_COMPARISON.CREATE_COMPARISON( comparison_name => ‘compare_emp_and_clone’, schema_name => ’scott’, object_name => ‘emp’, dblink_name => null, remote_schema_name=>’scott’, remote_object_name=>’EMP_COPY’);END; 57/60
  • 58. 11g 新功能-比较包♠ DBMS_COMPARISON内置包样例 ♠ 2. Execute CompareDECLAREconsistent BOOLEAN;scan_info DBMS_COMPARISON.COMPARISON_TYPE;BEGINconsistent := DBMS_COMPARISON.COMPARE( comparison_name => ‘compare_emp_and_clone’, scan_info => scan_info, perform_row_dif => TRUE);DBMS_OUTPUT.PUT_LINE(’Scan ID: ‘||scan_info.scan_id);IF consistent=TRUE THENDBMS_OUTPUT.PUT_LINE(’No differences were found.’);ELSEDBMS_OUTPUT.PUT_LINE(’Differences were found.’);END IF;END;Scan ID: 79 58/60Differences were found.
  • 59. 11g 新功能-比较包♠ DBMS_COMPARISON内置包样例 ♠ 3. Analyze DifferencesSELECT s.scan_id, c.COMPARISON_NAME, c.SCHEMA_NAME, c.OBJECT_NAME, s.CURRENT_DIF_COUNTFROM USER_COMPARISON c, USER_COMPARISON_SCAN_SUMMARY sWHERE c.COMPARISON_NAME = s.COMPARISON_NAMEAND s.scan_id = 79SCAN_ID Comparison Schema Object DiffName Name Name--------- --------------------------------- ------------ ----------- -----79 COMPARE_EMP_AND_CLONE SCOTT EMP 10 59/60
  • 60. 11g 新功能-比较包♠ DBMS_COMPARISON内置包样例 ♠ 3. Analyze Differences(part1)SELECT c.COLUMN_NAME, r.INDEX_VALUE, casewhen r.LOCAL_ROWID is nullthen ‘No’else ‘Yes’end LOCAL_ROWID, casewhen r.REMOTE_ROWID is nullthen ‘No’else ‘Yes’end REMOTE_ROWIDFROM USER_COMPARISON_COLUMNS c, USER_COMPARISON_ROW_DIF r, USER_COMPARISON_SCAN s 60/60
  • 61. 11g 新功能-比较包♠ DBMS_COMPARISON内置包样例 ♠ 3. Analyze Differences(part2)WHERE c.COMPARISON_NAME = ‘COMPARE_EMP_AND_CLONE’AND r.SCAN_ID = s.SCAN_IDAND s.last_update_time > systimestamp - 1/24/15AND r.STATUS = ‘DIF’AND c.INDEX_COLUMN = ‘Y’AND c.COMPARISON_NAME = r.COMPARISON_NAMEORDERBY r.INDEX_VALUE 61/60
  • 62. 11g 新功能-比较包♠ DBMS_COMPARISON内置包样例 ♠ 3. Analyze Differences(part3)Index Column Index Value Local Row Exists? Remote Row Exists?----------------- -------------- --------------------- ------------------------EMPNO 1313 No YesEMPNO 7369 Yes YesEMPNO 7499 Yes YesEMPNO 7521 Yes YesEMPNO 7654 Yes YesEMPNO 7788 Yes NoEMPNO 7876 Yes YesEMPNO 7900 Yes YesEMPNO 7902 Yes NoEMPNO 7934 Yes Yes10 rows selected.a 62/60
  • 63. 11g 新功能-比较包♠ DBMS_COMPARISON内置包样例 ♠ 4. Converge (会合) DECLARE scan_info DBMS_COMPARISON.COMPARISON_TYPE; BEGIN DBMS_COMPARISON.CONVERGE ( comparison_name => ‘compare_emp_and_clone’ , scan_id => 79 , scan_info => scan_info , converge_options => DBMS_COMPARISON.CMP_CONVERGE_LOCAL_WINS ); DBMS_OUTPUT.PUT_LINE(’Local Rows Merged: ‘||scan_info.loc_rows_merged); DBMS_OUTPUT.PUT_LINE(’Remote Rows Merged: ‘||scan_info.rmt_rows_merged); DBMS_OUTPUT.PUT_LINE(’Local Rows Deleted: ‘||scan_info.loc_rows_deleted); DBMS_OUTPUT.PUT_LINE(’Remote Rows Deleted: ‘||scan_info.rmt_rows_deleted); END; Local Rows Merged: 0 Remote Rows Merged: 9 Local Rows Deleted: 0 63/60 Remote Rows Deleted: 1
  • 64. 11g 新功能-查询重写包♠ DBMS_ADVANCED_REWRITE包语法 ♠ 这个包的语法: dbms_advanced_rewrite.declare_rewrite_equivalence ( name VARCHAR2, source_stmt VARCHAR2, destination_stmt VARCHAR2, validate BOOLEAN := TRUE, mode VARCHAR2 := TEXT_MATCH); 64/60
  • 65. 11g 新功能-查询重写包♠ DBMS_ADVANCED_REWRITE包样例 ♠ 样例: BEGIN dbms_advanced_rewrite.declare_rewrite_equivalence( UW, SELECT srvr_id FROM servers INTERSECT SELECT srvr_id FROM serv_inst, SELECT srvr_id FROM servers s WHERE EXISTS ( SELECT srvr_id FROM serv_inst i WHERE s.srvr_id = i.srvr_id), TRUE, TEXT_MATCH); END; / 65/60
  • 66. DBMS_FLASHBACK.TRANSACTION_BAC KOUT dbms_flashback.transaction_backout( numtxns NUMBER, xids xid_array, options BINARY_INTEGER DEFAULT NOCASCADE, scnhint NUMBER DEFAULT 0); DECLARE xa sys.xid_array := sys.xid_array(); BEGIN xa.extend; xa(1) := 04000700A2020000; dbms_flashback.transaction_backout(1, xa); END; / 66/60
  • 67. DBMS_PCLXUTIL dbms_pclxutil.build_part_index ( jobs_per_batch IN NUMBER DEFAULT 1, procs_per_job IN NUMBER DEFAULT 1, tab_name IN VARCHAR2 DEFAULT NULL, idx_name IN VARCHAR2 DEFAULT NULL, force_opt IN BOOLEAN DEFAULT FALSE);CREATE INDEX ix_prof_histON prof_hist(prof_history_id)LOCALUNUSABLE;exec dbms_pclxutil.build_part_index(3,1,PROF_HIST,IX_PROF_HIST, TRUE); 67/60
  • 68. DBMS_REDEFINITION ABORT_REDEF_TABLE CAN_REDEF_TABLE COPY_TABLE_DEPENDENTS FINISH_REDEF_TABLE REGISTER_DEPENDENT_OBJECTS START_REDEF_TABLE SYNC_INTERIM_TABLE UNREGISTER_DEPENDENT_OBJECT 68/60
  • 69. DBMS_SPACE ASA_RECOMMENDATIONS (auto seg advisor) CREATE_INDEX_COST CREATE_TABLE_COST FREE_BLOCKS ISDATAFILEDROPABLE_NAME OBJECT_DEPENDENT_SEGMENTS OBJECT_GROWTH_TREND OBJECT_SPACE_USAGE UNUSED_SPACE VERIFY_SHRINK_CANDIDATE ... AND MORE... 69/60
  • 70. 升级11g 建议♠ 升级的必要性 ♠ 考虑Oracle的技术支持问题 70/60