Bo's Oracle Station

查看: 1736|回复: 0

课程第42次(2017-01-20星期五)春节前最后一课

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-1-21 17:38:19 | 显示全部楼层 |阅读模式
本帖最后由 botang 于 2017-1-21 17:48 编辑

模拟获取 MOS支持:制造逻辑坏块。
  1. --sys
  2. create tablespace tbs05218 datafile size 5M nologging;
  3. --hr
  4. create table t05218 ( a   varchar2(20),  b number ) tablespace tbs05218;
  5. insert into t05218 values ('zenglinhuang',225788);
  6. create index i05218_a on t05218(a) tablespace users;
  7. create index i05218_b on t05218(b) tablespace users;
  8. --sys
  9. rman 备份tbs05218
  10. --hr
  11. insert /*+ append */ into t05218 select  * from t05218;
  12. --sys
  13. alter tablespace tbs05218 offline immediate;
  14. rman 恢复tbs05218
  15. --hr
  16. select  * from t05218;
  17. 立即会发现逻辑坏块。


复制代码
  1. [root@station90 ~]# su - oracle
  2. [oracle@station90 ~]$ sqlplus /nolog

  3. SQL*Plus: Release 11.2.0.3.0 Production on Fri Jan 20 21:54:29 2017

  4. Copyright (c) 1982, 2011, Oracle.  All rights reserved.

  5. SQL> conn hr/hr
  6. Connected.
  7. SQL> select  * from t05218 ;
  8. ERROR:
  9. ORA-01578: ORACLE data block corrupted (file # 7, block # 136)
  10. ORA-01110: data file 7: '+DATA/winorcl/datafile/tbs05218.269.933800115'
  11. ORA-26040: Data block was loaded using the NOLOGGING option



  12. no rows selected

  13. SQL> conn / as sysdba
  14. Connected.
  15. SQL> desc dbms_repair
  16. PROCEDURE ADMIN_TABLES
  17. Argument Name                        Type                        In/Out Default?
  18. ------------------------------ ----------------------- ------ --------
  19. TABLE_NAME                        VARCHAR2                IN     DEFAULT
  20. TABLE_TYPE                        BINARY_INTEGER                IN
  21. ACTION                         BINARY_INTEGER                IN
  22. TABLESPACE                        VARCHAR2                IN     DEFAULT
  23. PROCEDURE CHECK_OBJECT
  24. Argument Name                        Type                        In/Out Default?
  25. ------------------------------ ----------------------- ------ --------
  26. SCHEMA_NAME                        VARCHAR2                IN
  27. OBJECT_NAME                        VARCHAR2                IN
  28. PARTITION_NAME                 VARCHAR2                IN     DEFAULT
  29. OBJECT_TYPE                        BINARY_INTEGER                IN     DEFAULT
  30. REPAIR_TABLE_NAME                VARCHAR2                IN     DEFAULT
  31. FLAGS                                BINARY_INTEGER                IN     DEFAULT
  32. RELATIVE_FNO                        BINARY_INTEGER                IN     DEFAULT
  33. BLOCK_START                        BINARY_INTEGER                IN     DEFAULT
  34. BLOCK_END                        BINARY_INTEGER                IN     DEFAULT
  35. CORRUPT_COUNT                        BINARY_INTEGER                OUT
  36. PROCEDURE DUMP_ORPHAN_KEYS
  37. Argument Name                        Type                        In/Out Default?
  38. ------------------------------ ----------------------- ------ --------
  39. SCHEMA_NAME                        VARCHAR2                IN
  40. OBJECT_NAME                        VARCHAR2                IN
  41. PARTITION_NAME                 VARCHAR2                IN     DEFAULT
  42. OBJECT_TYPE                        BINARY_INTEGER                IN     DEFAULT
  43. REPAIR_TABLE_NAME                VARCHAR2                IN     DEFAULT
  44. ORPHAN_TABLE_NAME                VARCHAR2                IN     DEFAULT
  45. FLAGS                                BINARY_INTEGER                IN     DEFAULT
  46. KEY_COUNT                        BINARY_INTEGER                OUT
  47. PROCEDURE FIX_CORRUPT_BLOCKS
  48. Argument Name                        Type                        In/Out Default?
  49. ------------------------------ ----------------------- ------ --------
  50. SCHEMA_NAME                        VARCHAR2                IN
  51. OBJECT_NAME                        VARCHAR2                IN
  52. PARTITION_NAME                 VARCHAR2                IN     DEFAULT
  53. OBJECT_TYPE                        BINARY_INTEGER                IN     DEFAULT
  54. REPAIR_TABLE_NAME                VARCHAR2                IN     DEFAULT
  55. FLAGS                                BINARY_INTEGER                IN     DEFAULT
  56. FIX_COUNT                        BINARY_INTEGER                OUT
  57. FUNCTION ONLINE_INDEX_CLEAN RETURNS BOOLEAN
  58. Argument Name                        Type                        In/Out Default?
  59. ------------------------------ ----------------------- ------ --------
  60. OBJECT_ID                        BINARY_INTEGER                IN     DEFAULT
  61. WAIT_FOR_LOCK                        BINARY_INTEGER                IN     DEFAULT
  62. PROCEDURE REBUILD_FREELISTS
  63. Argument Name                        Type                        In/Out Default?
  64. ------------------------------ ----------------------- ------ --------
  65. SCHEMA_NAME                        VARCHAR2                IN
  66. OBJECT_NAME                        VARCHAR2                IN
  67. PARTITION_NAME                 VARCHAR2                IN     DEFAULT
  68. OBJECT_TYPE                        BINARY_INTEGER                IN     DEFAULT
  69. PROCEDURE REBUILD_SHC_INDEX
  70. Argument Name                        Type                        In/Out Default?
  71. ------------------------------ ----------------------- ------ --------
  72. SEGMENT_OWNER                        VARCHAR2                IN
  73. CLUSTER_NAME                        VARCHAR2                IN
  74. PROCEDURE SEGMENT_FIX_STATUS
  75. Argument Name                        Type                        In/Out Default?
  76. ------------------------------ ----------------------- ------ --------
  77. SEGMENT_OWNER                        VARCHAR2                IN
  78. SEGMENT_NAME                        VARCHAR2                IN
  79. SEGMENT_TYPE                        BINARY_INTEGER                IN     DEFAULT
  80. FILE_NUMBER                        BINARY_INTEGER                IN     DEFAULT
  81. BLOCK_NUMBER                        BINARY_INTEGER                IN     DEFAULT
  82. STATUS_VALUE                        BINARY_INTEGER                IN     DEFAULT
  83. PARTITION_NAME                 VARCHAR2                IN     DEFAULT
  84. PROCEDURE SKIP_CORRUPT_BLOCKS
  85. Argument Name                        Type                        In/Out Default?
  86. ------------------------------ ----------------------- ------ --------
  87. SCHEMA_NAME                        VARCHAR2                IN
  88. OBJECT_NAME                        VARCHAR2                IN
  89. OBJECT_TYPE                        BINARY_INTEGER                IN     DEFAULT
  90. FLAGS                                BINARY_INTEGER                IN     DEFAULT

  91. SQL>
  92. SQL> conn hr/hr
  93. Connected.
  94. SQL> select  * from t05218;
  95. ERROR:
  96. ORA-01578: ORACLE data block corrupted (file # 7, block # 136)
  97. ORA-01110: data file 7: '+DATA/winorcl/datafile/tbs05218.269.933800115'
  98. ORA-26040: Data block was loaded using the NOLOGGING option



  99. no rows selected

  100. SQL> exit
  101. Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  102. With the Partitioning, Automatic Storage Management, OLAP, Data Mining
  103. and Real Application Testing options
  104. [oracle@station90 ~]$ rman target /

  105. Recovery Manager: Release 11.2.0.3.0 - Production on Fri Jan 20 21:59:38 2017

  106. Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

  107. connected to target database: WINORCL (DBID=2081444222)

  108. RMAN> backup validate check logical tablespace tbs05218;

  109. Starting backup at 20-JAN-17
  110. using target database control file instead of recovery catalog
  111. allocated channel: ORA_DISK_1
  112. channel ORA_DISK_1: SID=7 device type=DISK
  113. channel ORA_DISK_1: starting full datafile backup set
  114. channel ORA_DISK_1: specifying datafile(s) in backup set
  115. input datafile file number=00007 name=+DATA/winorcl/datafile/tbs05218.269.933800115
  116. channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01
  117. List of Datafiles
  118. =================
  119. File Status Marked Corrupt Empty Blocks Blocks Examined High SCN
  120. ---- ------ -------------- ------------ --------------- ----------
  121. 7    OK     1              56           641             2588016   
  122.   File Name: +DATA/winorcl/datafile/tbs05218.269.933800115
  123.   Block Type Blocks Failing Blocks Processed
  124.   ---------- -------------- ----------------
  125.   Data       0              5               
  126.   Index      0              0               
  127.   Other      0              579            

  128. Finished backup at 20-JAN-17

  129. RMAN>
复制代码
  1. select  *  from v$database_block_corruption;

  2. select  * from v$backup_corruption;

  3. select  * from v$copy_corruption;
复制代码


Screenshot.png
回复

使用道具 举报

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

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-4-20 02:34 , Processed in 0.041910 second(s), 27 queries .

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