Bo's Oracle Station

查看: 1459|回复: 0

课程第39次(2017-09-26星期二)

[复制链接]

1005

主题

1469

帖子

1万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
12012
发表于 2017-9-26 20:43:01 | 显示全部楼层 |阅读模式
  1. [oracle@station90 ~]$ sqlplus /nolog

  2. SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 26 19:55:20 2017

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

  4. SQL> conn hr/oracle_4U
  5. Connected.
  6. SQL> select  department_id, rowid from departments;

  7. DEPARTMENT_ID ROWID
  8. ------------- ------------------
  9.            10 AAAR5kAAFAAAACvAAA
  10.            20 AAAR5kAAFAAAACvAAB
  11.            30 AAAR5kAAFAAAACvAAC
  12.            40 AAAR5kAAFAAAACvAAD
  13.            50 AAAR5kAAFAAAACvAAE
  14.            60 AAAR5kAAFAAAACvAAF
  15.            70 AAAR5kAAFAAAACvAAG
  16.            80 AAAR5kAAFAAAACvAAH
  17.            90 AAAR5kAAFAAAACvAAI
  18.           100 AAAR5kAAFAAAACvAAJ
  19.           110 AAAR5kAAFAAAACvAAK

  20. DEPARTMENT_ID ROWID
  21. ------------- ------------------
  22.           120 AAAR5kAAFAAAACvAAL
  23.           130 AAAR5kAAFAAAACvAAM
  24.           140 AAAR5kAAFAAAACvAAN
  25.           150 AAAR5kAAFAAAACvAAO
  26.           160 AAAR5kAAFAAAACvAAP
  27.           170 AAAR5kAAFAAAACvAAQ
  28.           180 AAAR5kAAFAAAACvAAR
  29.           190 AAAR5kAAFAAAACvAAS
  30.           200 AAAR5kAAFAAAACvAAT
  31.           210 AAAR5kAAFAAAACvAAU
  32.           220 AAAR5kAAFAAAACvAAV

  33. DEPARTMENT_ID ROWID
  34. ------------- ------------------
  35.           230 AAAR5kAAFAAAACvAAW
  36.           240 AAAR5kAAFAAAACvAAX
  37.           250 AAAR5kAAFAAAACvAAY
  38.           260 AAAR5kAAFAAAACvAAZ
  39.           270 AAAR5kAAFAAAACvAAa

  40. 27 rows selected.

  41. SQL> select  department_id, rowid, substr(rowid, 10 ,6 )  from departments;

  42. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  43. ------------- ------------------ ------------------------
  44.            10 AAAR5kAAFAAAACvAAA AAAACv
  45.            20 AAAR5kAAFAAAACvAAB AAAACv
  46.            30 AAAR5kAAFAAAACvAAC AAAACv
  47.            40 AAAR5kAAFAAAACvAAD AAAACv
  48.            50 AAAR5kAAFAAAACvAAE AAAACv
  49.            60 AAAR5kAAFAAAACvAAF AAAACv
  50.            70 AAAR5kAAFAAAACvAAG AAAACv
  51.            80 AAAR5kAAFAAAACvAAH AAAACv
  52.            90 AAAR5kAAFAAAACvAAI AAAACv
  53.           100 AAAR5kAAFAAAACvAAJ AAAACv
  54.           110 AAAR5kAAFAAAACvAAK AAAACv

  55. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  56. ------------- ------------------ ------------------------
  57.           120 AAAR5kAAFAAAACvAAL AAAACv
  58.           130 AAAR5kAAFAAAACvAAM AAAACv
  59.           140 AAAR5kAAFAAAACvAAN AAAACv
  60.           150 AAAR5kAAFAAAACvAAO AAAACv
  61.           160 AAAR5kAAFAAAACvAAP AAAACv
  62.           170 AAAR5kAAFAAAACvAAQ AAAACv
  63.           180 AAAR5kAAFAAAACvAAR AAAACv
  64.           190 AAAR5kAAFAAAACvAAS AAAACv
  65.           200 AAAR5kAAFAAAACvAAT AAAACv
  66.           210 AAAR5kAAFAAAACvAAU AAAACv
  67.           220 AAAR5kAAFAAAACvAAV AAAACv

  68. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  69. ------------- ------------------ ------------------------
  70.           230 AAAR5kAAFAAAACvAAW AAAACv
  71.           240 AAAR5kAAFAAAACvAAX AAAACv
  72.           250 AAAR5kAAFAAAACvAAY AAAACv
  73.           260 AAAR5kAAFAAAACvAAZ AAAACv
  74.           270 AAAR5kAAFAAAACvAAa AAAACv

  75. 27 rows selected.

  76. SQL> select  department_id, rowid, substr(rowid, 10 ,6 ), dbms_rowid.rowid_block_number(rowid)  from departments;

  77. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  78. ------------- ------------------ ------------------------
  79. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  80. ------------------------------------
  81.            10 AAAR5kAAFAAAACvAAA AAAACv
  82.                                  175

  83.            20 AAAR5kAAFAAAACvAAB AAAACv
  84.                                  175

  85.            30 AAAR5kAAFAAAACvAAC AAAACv
  86.                                  175


  87. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  88. ------------- ------------------ ------------------------
  89. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  90. ------------------------------------
  91.            40 AAAR5kAAFAAAACvAAD AAAACv
  92.                                  175

  93.            50 AAAR5kAAFAAAACvAAE AAAACv
  94.                                  175

  95.            60 AAAR5kAAFAAAACvAAF AAAACv
  96.                                  175


  97. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  98. ------------- ------------------ ------------------------
  99. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  100. ------------------------------------
  101.            70 AAAR5kAAFAAAACvAAG AAAACv
  102.                                  175

  103.            80 AAAR5kAAFAAAACvAAH AAAACv
  104.                                  175

  105.            90 AAAR5kAAFAAAACvAAI AAAACv
  106.                                  175


  107. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  108. ------------- ------------------ ------------------------
  109. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  110. ------------------------------------
  111.           100 AAAR5kAAFAAAACvAAJ AAAACv
  112.                                  175

  113.           110 AAAR5kAAFAAAACvAAK AAAACv
  114.                                  175

  115.           120 AAAR5kAAFAAAACvAAL AAAACv
  116.                                  175


  117. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  118. ------------- ------------------ ------------------------
  119. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  120. ------------------------------------
  121.           130 AAAR5kAAFAAAACvAAM AAAACv
  122.                                  175

  123.           140 AAAR5kAAFAAAACvAAN AAAACv
  124.                                  175

  125.           150 AAAR5kAAFAAAACvAAO AAAACv
  126.                                  175


  127. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  128. ------------- ------------------ ------------------------
  129. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  130. ------------------------------------
  131.           160 AAAR5kAAFAAAACvAAP AAAACv
  132.                                  175

  133.           170 AAAR5kAAFAAAACvAAQ AAAACv
  134.                                  175

  135.           180 AAAR5kAAFAAAACvAAR AAAACv
  136.                                  175


  137. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  138. ------------- ------------------ ------------------------
  139. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  140. ------------------------------------
  141.           190 AAAR5kAAFAAAACvAAS AAAACv
  142.                                  175

  143.           200 AAAR5kAAFAAAACvAAT AAAACv
  144.                                  175

  145.           210 AAAR5kAAFAAAACvAAU AAAACv
  146.                                  175


  147. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  148. ------------- ------------------ ------------------------
  149. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  150. ------------------------------------
  151.           220 AAAR5kAAFAAAACvAAV AAAACv
  152.                                  175

  153.           230 AAAR5kAAFAAAACvAAW AAAACv
  154.                                  175

  155.           240 AAAR5kAAFAAAACvAAX AAAACv
  156.                                  175


  157. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  158. ------------- ------------------ ------------------------
  159. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  160. ------------------------------------
  161.           250 AAAR5kAAFAAAACvAAY AAAACv
  162.                                  175

  163.           260 AAAR5kAAFAAAACvAAZ AAAACv
  164.                                  175

  165.           270 AAAR5kAAFAAAACvAAa AAAACv
  166.                                  175


  167. 27 rows selected.

  168. SQL> select  department_id, rowid, substr(rowid, 10 ,6 ), dbms_rowid.rowid_block_number(rowid)  from departments;

  169. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  170. ------------- ------------------ ------------------------
  171. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  172. ------------------------------------
  173.            10 AAAR5kAAFAAAACvAAA AAAACv
  174.                                  175

  175.            20 AAAR5kAAFAAAACvAAB AAAACv
  176.                                  175

  177.            30 AAAR5kAAFAAAACvAAC AAAACv
  178.                                  175


  179. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  180. ------------- ------------------ ------------------------
  181. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  182. ------------------------------------
  183.            40 AAAR5kAAFAAAACvAAD AAAACv
  184.                                  175

  185.            50 AAAR5kAAFAAAACvAAE AAAACv
  186.                                  175

  187.            60 AAAR5kAAFAAAACvAAF AAAACv
  188.                                  175


  189. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  190. ------------- ------------------ ------------------------
  191. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  192. ------------------------------------
  193.            70 AAAR5kAAFAAAACvAAG AAAACv
  194.                                  175

  195.            80 AAAR5kAAFAAAACvAAH AAAACv
  196.                                  175

  197.            90 AAAR5kAAFAAAACvAAI AAAACv
  198.                                  175


  199. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  200. ------------- ------------------ ------------------------
  201. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  202. ------------------------------------
  203.           100 AAAR5kAAFAAAACvAAJ AAAACv
  204.                                  175

  205.           110 AAAR5kAAFAAAACvAAK AAAACv
  206.                                  175

  207.           120 AAAR5kAAFAAAACvAAL AAAACv
  208.                                  175


  209. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  210. ------------- ------------------ ------------------------
  211. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  212. ------------------------------------
  213.           130 AAAR5kAAFAAAACvAAM AAAACv
  214.                                  175

  215.           140 AAAR5kAAFAAAACvAAN AAAACv
  216.                                  175

  217.           150 AAAR5kAAFAAAACvAAO AAAACv
  218.                                  175


  219. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  220. ------------- ------------------ ------------------------
  221. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  222. ------------------------------------
  223.           160 AAAR5kAAFAAAACvAAP AAAACv
  224.                                  175

  225.           170 AAAR5kAAFAAAACvAAQ AAAACv
  226.                                  175

  227.           180 AAAR5kAAFAAAACvAAR AAAACv
  228.                                  175


  229. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  230. ------------- ------------------ ------------------------
  231. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  232. ------------------------------------
  233.           190 AAAR5kAAFAAAACvAAS AAAACv
  234.                                  175

  235.           200 AAAR5kAAFAAAACvAAT AAAACv
  236.                                  175

  237.           210 AAAR5kAAFAAAACvAAU AAAACv
  238.                                  175


  239. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  240. ------------- ------------------ ------------------------
  241. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  242. ------------------------------------
  243.           220 AAAR5kAAFAAAACvAAV AAAACv
  244.                                  175

  245.           230 AAAR5kAAFAAAACvAAW AAAACv
  246.                                  175

  247.           240 AAAR5kAAFAAAACvAAX AAAACv
  248.                                  175


  249. DEPARTMENT_ID ROWID                 SUBSTR(ROWID,10,6)
  250. ------------- ------------------ ------------------------
  251. DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  252. ------------------------------------
  253.           250 AAAR5kAAFAAAACvAAY AAAACv
  254.                                  175

  255.           260 AAAR5kAAFAAAACvAAZ AAAACv
  256.                                  175

  257.           270 AAAR5kAAFAAAACvAAa AAAACv
  258.                                  175


  259. 27 rows selected.

  260. SQL> select  department_id, rowid, substr(rowid, 10 ,6 ), dbms_rowid.rowid_block_number(rowid)  from departments;
复制代码
  1. SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 26 20:19:56 2017

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

  3. SQL> Connected.
  4. SQL> ORACLE instance shut down.
  5. SQL> ORACLE instance started.

  6. Total System Global Area 6664212480 bytes
  7. Fixed Size                    2240944 bytes
  8. Variable Size                 3640659536 bytes
  9. Database Buffers         3003121664 bytes
  10. Redo Buffers                   18190336 bytes
  11. Database mounted.
  12. SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  13. With the Partitioning, Automatic Storage Management, OLAP, Data Mining
  14. and Real Application Testing options

  15. Recovery Manager: Release 11.2.0.3.0 - Production on Tue Sep 26 20:20:08 2017

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

  17. connected to target database: ORCL (DBID=1343950367, not open)

  18. RMAN>
  19. Starting backup at 2017-09-26:20:20:09
  20. using target database control file instead of recovery catalog
  21. allocated channel: ORA_DISK_1
  22. channel ORA_DISK_1: SID=130 device type=DISK
  23. allocated channel: ORA_DISK_2
  24. channel ORA_DISK_2: SID=194 device type=DISK
  25. allocated channel: ORA_DISK_3
  26. channel ORA_DISK_3: SID=6 device type=DISK
  27. allocated channel: ORA_DISK_4
  28. channel ORA_DISK_4: SID=70 device type=DISK
  29. allocated channel: ORA_DISK_5
  30. channel ORA_DISK_5: SID=131 device type=DISK
  31. allocated channel: ORA_DISK_6
  32. channel ORA_DISK_6: SID=195 device type=DISK
  33. allocated channel: ORA_DISK_7
  34. channel ORA_DISK_7: SID=7 device type=DISK
  35. allocated channel: ORA_DISK_8
  36. channel ORA_DISK_8: SID=71 device type=DISK
  37. channel ORA_DISK_1: starting datafile copy
  38. input datafile file number=00005 name=+DATA/orcl/datafile/example.265.955743535
  39. output file name=/home/oracle/example01.dbf tag=TAG20170926T202011 RECID=3 STAMP=955743611
  40. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
  41. Finished backup at 2017-09-26:20:20:12

  42. Starting Control File and SPFILE Autobackup at 2017-09-26:20:20:12
  43. piece handle=+FRA/orcl/autobackup/2017_09_26/s_955743590.329.955743615 comment=NONE
  44. Finished Control File and SPFILE Autobackup at 2017-09-26:20:20:15

  45. RMAN>

  46. Recovery Manager complete.
  47. 记录了1+0 的读入
  48. 记录了1+0 的写出
  49. 8192字节(8.2 kB)已复制,2.2317e-05 秒,367 MB/秒
  50. ASMCMD> ASMCMD> exit

  51. Recovery Manager: Release 11.2.0.3.0 - Production on Tue Sep 26 20:20:16 2017

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

  53. connected to target database: ORCL (DBID=1343950367, not open)

  54. RMAN> 2> 3> 4>
  55. executing command: SET MAX CORRUPT
  56. using target database control file instead of recovery catalog

  57. Starting backup at 2017-09-26:20:20:17
  58. allocated channel: ORA_DISK_1
  59. channel ORA_DISK_1: SID=131 device type=DISK
  60. allocated channel: ORA_DISK_2
  61. channel ORA_DISK_2: SID=194 device type=DISK
  62. allocated channel: ORA_DISK_3
  63. channel ORA_DISK_3: SID=7 device type=DISK
  64. allocated channel: ORA_DISK_4
  65. channel ORA_DISK_4: SID=70 device type=DISK
  66. allocated channel: ORA_DISK_5
  67. channel ORA_DISK_5: SID=130 device type=DISK
  68. allocated channel: ORA_DISK_6
  69. channel ORA_DISK_6: SID=193 device type=DISK
  70. allocated channel: ORA_DISK_7
  71. channel ORA_DISK_7: SID=6 device type=DISK
  72. allocated channel: ORA_DISK_8
  73. channel ORA_DISK_8: SID=69 device type=DISK
  74. channel ORA_DISK_1: starting datafile copy
  75. input is copy of datafile 00005: /home/oracle/example01.dbf
  76. output file name=+DATA/orcl/datafile/example.265.955743619 tag=TAG20170926T202011 RECID=4 STAMP=955743621
  77. channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:03
  78. Finished backup at 2017-09-26:20:20:22

  79. Starting Control File and SPFILE Autobackup at 2017-09-26:20:20:22
  80. piece handle=+FRA/orcl/autobackup/2017_09_26/s_955743590.332.955743623 comment=NONE
  81. Finished Control File and SPFILE Autobackup at 2017-09-26:20:20:25

  82. RMAN>

  83. Recovery Manager complete.

  84. Recovery Manager: Release 11.2.0.3.0 - Production on Tue Sep 26 20:20:29 2017

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

  86. connected to target database: ORCL (DBID=1343950367, not open)

  87. RMAN>
  88. using target database control file instead of recovery catalog
  89. allocated channel: ORA_DISK_1
  90. channel ORA_DISK_1: SID=130 device type=DISK
  91. allocated channel: ORA_DISK_2
  92. channel ORA_DISK_2: SID=194 device type=DISK
  93. allocated channel: ORA_DISK_3
  94. channel ORA_DISK_3: SID=6 device type=DISK
  95. allocated channel: ORA_DISK_4
  96. channel ORA_DISK_4: SID=70 device type=DISK
  97. allocated channel: ORA_DISK_5
  98. channel ORA_DISK_5: SID=131 device type=DISK
  99. allocated channel: ORA_DISK_6
  100. channel ORA_DISK_6: SID=195 device type=DISK
  101. allocated channel: ORA_DISK_7
  102. channel ORA_DISK_7: SID=7 device type=DISK
  103. allocated channel: ORA_DISK_8
  104. channel ORA_DISK_8: SID=71 device type=DISK
  105. List of Datafile Copies
  106. =======================

  107. Key     File S Completion Time     Ckp SCN    Ckp Time           
  108. ------- ---- - ------------------- ---------- -------------------
  109. 3       5    A 2017-09-26:20:20:11 2072566    2017-09-26:20:19:47
  110.         Name: /home/oracle/example01.dbf
  111.         Tag: TAG20170926T202011

  112. deleted datafile copy
  113. datafile copy file name=/home/oracle/example01.dbf RECID=3 STAMP=955743611
  114. Deleted 1 objects


  115. RMAN>
  116. datafile 5 switched to datafile copy "+DATA/orcl/datafile/example.265.955743619"

  117. RMAN>

  118. Recovery Manager complete.

  119. SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 26 20:20:33 2017

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

  121. SQL> Connected.
  122. SQL>
  123. Database altered.

  124. SQL> Disconnected from Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
  125. With the Partitioning, Automatic Storage Management, OLAP, Data Mining
  126. and Real Application Testing options
  127. [root@station90 pub]# su - oracle
  128. [oracle@station90 ~]$ sqlplus /nolog

  129. SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 26 20:20:44 2017

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

  131. SQL> conn hr/oracle_4U
  132. Connected.
  133. SQL> select  * from departments;
  134. select        * from departments
  135.                *
  136. ERROR at line 1:
  137. ORA-01578: ORACLE data block corrupted (file # 5, block # 175)
  138. ORA-01110: data file 5: '+DATA/orcl/datafile/example.265.955743619'


  139. SQL> select  * from departments;
  140. select        * from departments
  141.                *
  142. ERROR at line 1:
  143. ORA-01578: ORACLE data block corrupted (file # 5, block # 175)
  144. ORA-01110: data file 5: '+DATA/orcl/datafile/example.265.955743619'


  145. SQL> select  * from departments;
  146. select        * from departments
  147. *
  148. ERROR at line 1:
  149. ORA-01578: ORACLE data block corrupted (file # 5, block # 175)
  150. ORA-01110: data file 5: '+DATA/orcl/datafile/example.265.955743619'


  151. SQL> desc departments
  152. Name                                           Null?    Type
  153. ----------------------------------------- -------- ----------------------------
  154. DEPARTMENT_ID                                   NOT NULL NUMBER(4)
  155. DEPARTMENT_NAME                           NOT NULL VARCHAR2(30)
  156. MANAGER_ID                                            NUMBER(6)
  157. LOCATION_ID                                            NUMBER(4)

  158. SQL> insert into departments values ( 999, 'XXX', 100, 1700 );

  159. 1 row created.

  160. SQL> commit;

  161. Commit complete.

  162. SQL> select  * from departments;
  163. ERROR:
  164. ORA-01578: ORACLE data block corrupted (file # 5, block # 175)
  165. ORA-01110: data file 5: '+DATA/orcl/datafile/example.265.955743619'



  166. no rows selected

  167. SQL> select  * from departments where department_id=999;

  168. DEPARTMENT_ID DEPARTMENT_NAME                     MANAGER_ID LOCATION_ID
  169. ------------- ------------------------------ ---------- -----------
  170.           999 XXX                                    100        1700

  171. SQL> select  department_id , dbms_rowid.rowid_block_number(rowid)  from departments where department_id=999;

  172. DEPARTMENT_ID DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  173. ------------- ------------------------------------
  174.           999                                       171

复制代码
逻辑坏块的制造:
  1. [root@station90 ~]# su - oracle
  2. [oracle@station90 ~]$ sqlplus /nolog

  3. SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 26 20:43:23 2017

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

  5. SQL> conn / as sysdba
  6. Connected.
  7. SQL> create tablespace tbslogical   datafile size 5M  nologging;

  8. Tablespace created.

  9. SQL> conn hr/oracle_4U
  10. Connected.
  11. SQL> create table tlogical( a  varchar2(20), b number )  tablespace tbslogical;

  12. Table created.

  13. SQL> insert into tlogical values (  'lcwclzczl'     , 40018510);

  14. 1 row created.

  15. SQL> commit;

  16. Commit complete.

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

  22. Recovery Manager: Release 11.2.0.3.0 - Production on Tue Sep 26 20:48:49 2017

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

  24. connected to target database: ORCL (DBID=1343950367)

  25. RMAN> backup tablespace tbslogical;

  26. Starting backup at 2017-09-26:20:48:57
  27. using target database control file instead of recovery catalog
  28. allocated channel: ORA_SBT_TAPE_1
  29. channel ORA_SBT_TAPE_1: SID=68 device type=SBT_TAPE
  30. channel ORA_SBT_TAPE_1: Oracle Secure Backup
  31. allocated channel: ORA_SBT_TAPE_2
  32. channel ORA_SBT_TAPE_2: SID=14 device type=SBT_TAPE
  33. channel ORA_SBT_TAPE_2: Oracle Secure Backup
  34. channel ORA_SBT_TAPE_1: starting full datafile backup set
  35. channel ORA_SBT_TAPE_1: specifying datafile(s) in backup set
  36. input datafile file number=00006 name=+DATA/orcl/datafile/tbslogical.267.955745025
  37. channel ORA_SBT_TAPE_1: starting piece 1 at 2017-09-26:20:49:09
  38. channel ORA_SBT_TAPE_1: finished piece 1 at 2017-09-26:20:49:34
  39. piece handle=1tsff125_1_1 tag=TAG20170926T204909 comment=API Version 2.0,MMS Version 10.4.0.4
  40. channel ORA_SBT_TAPE_1: backup set complete, elapsed time: 00:00:25
  41. Finished backup at 2017-09-26:20:49:34

  42. Starting Control File and SPFILE Autobackup at 2017-09-26:20:49:34
  43. piece handle=c-1343950367-20170926-02 comment=API Version 2.0,MMS Version 10.4.0.4
  44. Finished Control File and SPFILE Autobackup at 2017-09-26:20:49:59

  45. RMAN> exit


  46. Recovery Manager complete.
  47. [oracle@station90 ~]$ sqlplus /nolog

  48. SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 26 20:50:51 2017

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

  50. SQL> conn hr/oracle_4U
  51. Connected.
  52. SQL> create index ilogical_a on tlogical( a ) ;

  53. Index created.

  54. SQL> create index ilogical_b on tlogical( b ) ;

  55. Index created.

  56. SQL> select  a, b, dbms_rowi.rowid_block_number(rowid)  from tlogical;
  57. select        a, b, dbms_rowi.rowid_block_number(rowid)  from tlogical
  58.               *
  59. ERROR at line 1:
  60. ORA-00904: "DBMS_ROWI"."ROWID_BLOCK_NUMBER": invalid identifier


  61. SQL> select  a, b, dbms_rowid.rowid_block_number(rowid)  from tlogical;

  62. A                              B DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  63. -------------------- ---------- ------------------------------------
  64. lcwclzczl               40018510                                  135

  65. SQL> insert /*+ append */ into tlogical select * from tlogical ;

  66. 1 row created.

  67. SQL> select  * from tlogical;
  68. select        * from tlogical
  69.                *
  70. ERROR at line 1:
  71. ORA-12838: cannot read/modify an object after modifying it in parallel


  72. SQL> commit;

  73. Commit complete.

  74. SQL> select  * from tlogical;

  75. A                              B
  76. -------------------- ----------
  77. lcwclzczl               40018510
  78. lcwclzczl               40018510

  79. SQL> select  a, b, dbms_rowid.rowid_block_number(rowid)  from tlogical;

  80. A                              B DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
  81. -------------------- ---------- ------------------------------------
  82. lcwclzczl               40018510                                  135
  83. lcwclzczl               40018510                                  136

  84. SQL> conn / as sysdba
  85. Connected.
  86. SQL> alter tablespace tbslogical offline immediate ;

  87. Tablespace altered.

  88. SQL> alter tablespace tbslogical online;
  89. alter tablespace tbslogical online
  90. *
  91. ERROR at line 1:
  92. ORA-01113: file 6 needs media recovery
  93. ORA-01110: data file 6: '+DATA/orcl/datafile/tbslogical.267.955745025'


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

  99. Recovery Manager: Release 11.2.0.3.0 - Production on Tue Sep 26 20:55:32 2017

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

  101. connected to target database: ORCL (DBID=1343950367)

  102. RMAN> restore tablespace tbslogical ;

  103. Starting restore at 2017-09-26:20:55:48
  104. using target database control file instead of recovery catalog
  105. allocated channel: ORA_DISK_1
  106. channel ORA_DISK_1: SID=12 device type=DISK
  107. allocated channel: ORA_DISK_2
  108. channel ORA_DISK_2: SID=204 device type=DISK
  109. allocated channel: ORA_DISK_3
  110. channel ORA_DISK_3: SID=15 device type=DISK
  111. allocated channel: ORA_DISK_4
  112. channel ORA_DISK_4: SID=78 device type=DISK
  113. allocated channel: ORA_DISK_5
  114. channel ORA_DISK_5: SID=203 device type=DISK
  115. allocated channel: ORA_DISK_6
  116. channel ORA_DISK_6: SID=6 device type=DISK
  117. allocated channel: ORA_DISK_7
  118. channel ORA_DISK_7: SID=79 device type=DISK
  119. allocated channel: ORA_DISK_8
  120. channel ORA_DISK_8: SID=141 device type=DISK
  121. allocated channel: ORA_SBT_TAPE_1
  122. channel ORA_SBT_TAPE_1: SID=205 device type=SBT_TAPE
  123. channel ORA_SBT_TAPE_1: Oracle Secure Backup
  124. allocated channel: ORA_SBT_TAPE_2
  125. channel ORA_SBT_TAPE_2: SID=80 device type=SBT_TAPE
  126. channel ORA_SBT_TAPE_2: Oracle Secure Backup

  127. channel ORA_SBT_TAPE_1: starting datafile backup set restore
  128. channel ORA_SBT_TAPE_1: specifying datafile(s) to restore from backup set
  129. channel ORA_SBT_TAPE_1: restoring datafile 00006 to +DATA/orcl/datafile/tbslogical.267.955745025
  130. channel ORA_SBT_TAPE_1: reading from backup piece 1tsff125_1_1
  131. channel ORA_SBT_TAPE_1: piece handle=1tsff125_1_1 tag=TAG20170926T204909
  132. channel ORA_SBT_TAPE_1: restored backup piece 1
  133. channel ORA_SBT_TAPE_1: restore complete, elapsed time: 00:00:25
  134. Finished restore at 2017-09-26:20:56:27

  135. RMAN> recover tablespace tbslogical ;

  136. Starting recover at 2017-09-26:20:56:39
  137. using channel ORA_DISK_1
  138. using channel ORA_DISK_2
  139. using channel ORA_DISK_3
  140. using channel ORA_DISK_4
  141. using channel ORA_DISK_5
  142. using channel ORA_DISK_6
  143. using channel ORA_DISK_7
  144. using channel ORA_DISK_8
  145. using channel ORA_SBT_TAPE_1
  146. using channel ORA_SBT_TAPE_2

  147. starting media recovery
  148. media recovery complete, elapsed time: 00:00:01

  149. Finished recover at 2017-09-26:20:56:40

  150. RMAN> exit


  151. Recovery Manager complete.
  152. [oracle@station90 ~]$ sqlplus /nolog

  153. SQL*Plus: Release 11.2.0.3.0 Production on Tue Sep 26 20:57:07 2017

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

  155. SQL> conn / as sysdba
  156. Connected.
  157. SQL> alter tablespace tbslogical online;

  158. Tablespace altered.

  159. SQL> conn hr/oracle_4U;
  160. Connected.
  161. SQL> select  * from tlogical;
  162. ERROR:
  163. ORA-01578: ORACLE data block corrupted (file # 6, block # 136)
  164. ORA-01110: data file 6: '+DATA/orcl/datafile/tbslogical.267.955745025'
  165. ORA-26040: Data block was loaded using the NOLOGGING option



  166. no rows selected

  167. SQL>
复制代码
  1. select  * from dba_extents e
  2. where e.owner='HR' and e.segment_name='DEPARTMENTS';

  3. select * from dba_segments where
  4.    owner='HR' and segment_name='DEPARTMENTS';
  5.    
  6.    
  7.    select  * from v$database_block_corruption;
  8.    
  9.    select  * from v$backup_corruption;
  10.    
  11.    select  * from v$copy_corruption;
复制代码




回复

使用道具 举报

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

本版积分规则

QQ|手机版|Bo's Oracle Station   

GMT+8, 2024-4-26 18:54 , Processed in 0.037802 second(s), 24 queries .

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