Bo's Oracle Station

查看: 2159|回复: 0

课程第43次(2017-02-08星期三)

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-2-9 10:11:09 | 显示全部楼层 |阅读模式
上完1Z0-052第18章MOS支持,Support Workbench,SR,热补丁)
(052共19章,053共21章,063多租户共9章,49-26)

进程表:
阶段一【入门】:共13章
   1Z0-052 第2章 安装软件
   1Z0-052 第3章 建库
   1Z0-052 第6章 网络
   1Z0-051 第0章-第9章 DQL和DML

阶段二【读一致性和体系结构】:共12章
   1Z0-052 第9章 锁
   1Z0-052 第10章 UNDO
   1Z0-052 第0章 网格是什么?
   1Z0-052 第1章 体系结构
   1Z0-052 第14章 备份恢复概念
   1Z0-053 第0章 网格是什么?
   1Z0-053 第1章 体系结构
   1Z0-052 第4章 数据库实例
   1Z0-052 第5章 ASM
   1Z0-053 第10章 闪回1
   1Z0-053 第11章 闪回2
   1Z0-053 第12章 闪回3

阶段三【机房服务器操作】:共13章
   BCL实验顺序:做备份--->0-6b--->
                         连接CATALOG并做备份--->15、7a--->做备份--->7b-10d--->
                         做备份--->11a--->做备份--->11b--->
                         做备份--->12a--->做备份--->12b--->做备份--->12c--->做备份--->12d--->
                         做备份--->13a、13b
   1Z0-052 第15章 备份
   1Z0-052 第16章 恢复
   1Z0-053 第2章 配置RMAN
   1Z0-053 第3章 配置RMAN恢复目录
   1Z0-053 第4章 配置RMAN备份  
   1Z0-053 第5章 执行RMAN备份
   1Z0-053 第6章 配置RMAN恢复
   1Z0-053 第7章 执行RMAN恢复
   1Z0-053 第20章 克隆数据库
   1Z0-053 第19章 传送数据库,传送表空间

   1Z0-053 第8章 调优RMAN
   1Z0-053 第9章 诊断
   1Z0-052 第18章 MOS支持  <-现在在这里   

阶段四【日常维护调整】:共7章
   1Z0-051 第10章-11章 DDL
   1Z0-052 第7章 表空间
   1Z0-052 第8章 用户
   1Z0-052 第11章 审计
   1Z0-052 第17章 导入导出
   1Z0-053 第17章 SCHEDULER

阶段五【调优】:共7章
   1Z0-052 第12章 AWR
   1Z0-052 第13章 性能是什么?
   1Z0-053 第13章 内存
   1Z0-053 第14章 性能调优
   1Z0-053 第15章 SQL调优
   1Z0-053 第16章 资源计划
   1Z0-053 第18章 空间调优


春节前做了一个模拟的SR,要求MOS解决逻辑坏块:
Screenshot1.png

练习用的补丁:
http://124.16.180.178:8080/studentguide_sec_O11g/1Z0-052-18/
游客,本帖隐藏的内容需要积分高于 100 才可浏览,您当前积分为 0


20170208.sql处理逻辑坏块:
  1. select  * from v$database_block_corruption;

  2. select  * from dba_indexes i where i.table_owner='HR' and i.table_name='T05218';

  3. select  * from dba_ind_columns ic where ic.table_owner='HR' and ic.table_name='T05218';

  4. select  * from REPAIR_TABLE;

  5. BEGIN
  6. DBMS_REPAIR.ADMIN_TABLES (
  7.    table_name => 'REPAIR_TABLE',
  8.    table_type => DBMS_REPAIR.REPAIR_TABLE,
  9.    action => DBMS_REPAIR.CREATE_ACTION,
  10.    tablespace => 'USERS');
  11. END;

  12. select  * from REPAIR_TABLE;


  13. BEGIN
  14. DBMS_REPAIR.ADMIN_TABLES (
  15.    table_name => 'ORPHAN_KEY_TABLE',
  16.    table_type => DBMS_REPAIR.ORPHAN_TABLE,
  17.    action => DBMS_REPAIR.CREATE_ACTION,
  18.    tablespace => 'USERS');
  19. END;

  20. select * from ORPHAN_KEY_TABLE;

  21. DECLARE
  22.   num_corrupt INT;
  23. BEGIN
  24. num_corrupt := 0;
  25. DBMS_REPAIR.CHECK_OBJECT (
  26.      schema_name => 'HR',
  27.            object_name => 'T05218',
  28.     repair_table_name => 'REPAIR_TABLE',
  29.     corrupt_count => num_corrupt);
  30.     dbms_output.put_line( 'Find  '|| num_corrupt||' Bolcks.'  );
  31. END;

  32. select  * from REPAIR_TABLE;
  33. /*
  34. DECLARE
  35. num_fix INT;
  36. BEGIN
  37. num_fix := 0;
  38. DBMS_REPAIR.FIX_CORRUPT_BLOCKS (
  39.            schema_name => 'HR',
  40.            object_name => 'T05218',
  41.            object_type => DBMS_REPAIR.TABLE_OBJECT,
  42.            repair_table_name => 'REPAIR_TABLE',
  43.    fix_count => num_fix);
  44.    dbms_output.put_line( 'Find  '|| num_fix||' Bolcks.'  );
  45.    
  46. END;

  47. */

  48. begin
  49.    dbms_repair.skip_corrupt_blocks(schema_name => 'HR',
  50.    object_name => 'T05218');
  51.    end;
  52.    
  53.    select  * from orphan_key_table;
  54.          
  55. DECLARE
  56. num_orphans INT;
  57. BEGIN
  58. num_orphans := 0;
  59. DBMS_REPAIR.DUMP_ORPHAN_KEYS (
  60.   schema_name => 'HR',
  61.   object_name => 'I05218_A',
  62.   object_type => DBMS_REPAIR.INDEX_OBJECT,
  63.   repair_table_name => 'REPAIR_TABLE',
  64.   orphan_table_name => 'ORPHAN_KEY_TABLE',
  65.   key_count => num_orphans);
  66. DBMS_OUTPUT.PUT_LINE('orphan key count: ' || TO_CHAR(num_orphans));
  67. END;

  68. select  * from orphan_key_table;
  69. DECLARE
  70. num_orphans INT;
  71. BEGIN
  72. num_orphans := 0;
  73. DBMS_REPAIR.DUMP_ORPHAN_KEYS (
  74.   schema_name => 'HR',
  75.   object_name => 'I05218_B',
  76.   object_type => DBMS_REPAIR.INDEX_OBJECT,
  77.   repair_table_name => 'REPAIR_TABLE',
  78.   orphan_table_name => 'ORPHAN_KEY_TABLE',
  79.   key_count => num_orphans);
  80. DBMS_OUTPUT.PUT_LINE('orphan key count: ' || TO_CHAR(num_orphans));
  81. END;

  82. select  * from orphan_key_table
  83. where keyrowid||' '='AAAUv8AIgAAAMABAAA'||' '
  84.   and index_name='I05218_B';
  85.   
  86.   ----
  87.   


复制代码

了解 ORPHAN_KEY_TABLE的KEY这一列中是如何存储原表数字类型,以便复原:

Screenshot11.png

100^(193-193-0)(2-1)=1
100^(193-193-0)(11-1)=10
100^(194-193-0)(2-1)=100
100^(194-193-0)(11-1)=1000
100^(194-193-0)(2-1)+
   100^(194-193-1)(11-1)=110
100^(194-193-0)(12-1)=1100
100^(62-62-0)(101-100)=1
100^(62-62-0)(101-91)=10
100^(62-61-0)(101-100)=100
123456.789
100^(195-193-0)(13-1)+
100^(195-193-1)(35-1)+
100^(195-193-2)(57-1)+
100^(195-193-3)(79-1)+
100^(195-193-4)(91-1)=120000+3400+56+0.78+0.009=
123456.789
-123456.789
100^(62-60-0)(101-89)+
100^(62-60-1)(101-67)+
100^(62-60-2)(101-45)+
100^(62-60-3)(101-23)+
100^(62-60-4)(101-11)=120000+3400+56+0.78+0.009=
-123456.789
-123456.78901
100^(62-60-0)(101-89)+
100^(62-60-1)(101-67)+
100^(62-60-2)(101-45)+
100^(62-60-3)(101-23)+
100^(62-60-4)(101-11)+
100^(62-60-5)(101-91)
=120000+3400+56+0.78+0.009+ 0.00001=
-123456.78901

opatch的用法:
  1. /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch lsinventory
  2. Invoking OPatch 11.2.0.1.7

  3. Oracle 中间补丁程序安装程序版本 11.2.0.1.7
  4. 版权所有 (c) 2011, Oracle Corporation。保留所有权利。


  5. Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
  6. Central Inventory : /u01/app/oraInventory
  7.    from           : /etc/oraInst.loc
  8. OPatch version    : 11.2.0.1.7
  9. OUI version       : 11.2.0.3.0
  10. Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2017-02-09_10-27-05上午.log

  11. Lsinventory Output file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/lsinv/lsinventory2017-02-09_10-27-05上午.txt

  12. --------------------------------------------------------------------------------
  13. 已安装的顶级产品 (1):

  14. Oracle Database 11g                                                  11.2.0.3.0
  15. 此 Oracle 主目录中已安装 1 个产品。


  16. 中间补丁程序 (1) :

  17. Patch  13906496     : applied on Wed Feb 08 21:47:00 CST 2017
  18. Unique Patch ID:  17324986
  19.    Created on 22 Jul 2014, 12:09:07 hrs PST8PDT
  20.    Bugs fixed:
  21.      13906496



  22. --------------------------------------------------------------------------------

  23. OPatch succeeded.
复制代码


  1. [oracle@station90 13906496]$ /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch query -is_online_patch
  2. Invoking OPatch 11.2.0.1.7

  3. Oracle 中间补丁程序安装程序版本 11.2.0.1.7
  4. 版权所有 (c) 2011, Oracle Corporation。保留所有权利。


  5. Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
  6. Central Inventory : /u01/app/oraInventory
  7.    from           : /etc/oraInst.loc
  8. OPatch version    : 11.2.0.1.7
  9. OUI version       : 11.2.0.3.0
  10. Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2017-02-09_10-29-07上午.log

  11. --------------------------------------------------------------------------------
  12. Patch is an online patch: false


  13. OPatch succeeded.
复制代码

  1. [oracle@station90 13906496]$ cd online/
  2. [oracle@station90 online]$ /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch query -is_online_patch
  3. Invoking OPatch 11.2.0.1.7

  4. Oracle 中间补丁程序安装程序版本 11.2.0.1.7
  5. 版权所有 (c) 2011, Oracle Corporation。保留所有权利。


  6. Oracle Home       : /u01/app/oracle/product/11.2.0/dbhome_1
  7. Central Inventory : /u01/app/oraInventory
  8.    from           : /etc/oraInst.loc
  9. OPatch version    : 11.2.0.1.7
  10. OUI version       : 11.2.0.3.0
  11. Log file location : /u01/app/oracle/product/11.2.0/dbhome_1/cfgtoollogs/opatch/opatch2017-02-09_10-29-43上午.log

  12. --------------------------------------------------------------------------------
  13. Patch is an online patch: true


  14. OPatch succeeded.
复制代码

冷补丁,停掉所有库后,直接opatch apply(或直接opatch rollback -id)。热补丁则:
  1. /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch apply  -connectString winorcl::: -connectString rcat:::
复制代码
  1. [oracle@station90 online]$ /u01/app/oracle/product/11.2.0/dbhome_1/OPatch/opatch rollback   -id 13906496   -connectString winorcl::: -connectString rcat:::
复制代码


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-3-29 18:55 , Processed in 0.038805 second(s), 27 queries .

快速回复 返回顶部 返回列表