成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Oracle 數據庫災難性環境下恢復實例

數據庫 Oracle
所謂災難性是指磁盤故障或其它原因導致數據庫相關的文件全部丟失或損壞無法進行修復,必須通過備份進行還原恢復;以下實驗模擬丟失所有數據庫文件,然后通過備份進行還原恢復。

所謂災難性是指磁盤故障或其它原因導致數據庫相關的文件全部丟失或損壞無法進行修復,必須通過備份進行還原恢復;以下實驗模擬丟失所有數據庫文件,然后通過備份進行還原恢復。

版本和數據庫文件信息

  1. Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production 
  2. PL/SQL Release 11.2.0.3.0 - Production 
  3. CORE    11.2.0.3.0      Production 
  4. TNS for Linux: Version 11.2.0.3.0 - Production 
  5. NLSRTL Version 11.2.0.3.0 - Production 
  6.  
  7. SQL> column name format a50 
  8. SQL> select file#,status,name from v$datafile; 
  9.  
  10.     FILE# STATUS  NAME 
  11. ---------- ------- -------------------------------------------------- 
  12.          1 SYSTEM  /u01/oradata/sydb/system01.dbf 
  13.          2 ONLINE  /u01/oradata/sydb/sysaux01.dbf 
  14.          3 ONLINE  /u01/oradata/sydb/undotbs01.dbf 
  15.          4 ONLINE  /u01/oradata/sydb/users01.dbf 
  16.          5 ONLINE  /u01/oradata/sydb/tbs01.dbf 
  17.  
  18. SQL> column member format a50 
  19. SQL> select * from v$Logfile; 
  20.  
  21.     GROUP# STATUS  TYPE    MEMBER                                             IS_ 
  22. ---------- ------- ------- -------------------------------------------------- --- 
  23.          1         ONLINE  /u01/oradata/sydb/REDO01.LOG                       NO 
  24.          2         ONLINE  /u01/oradata/sydb/REDO02.LOG                       NO 
  25.  
  26. SQL> select * from v$controlfile; 
  27.  
  28. STATUS  NAME                                               IS_ BLOCK_SIZE FILE_SIZE_BLKS 
  29. ------- -------------------------------------------------- --- ---------- -------------- 
  30.         /u01/oradata/sydb/control01.ctl                    NO       16384            668 

備份數據庫

注意:備份數據庫時如果配置了 configure exclude for tablespace tbsname 的表空間是不會進行備份的,恢復表空間備份configure exclude for tablespace tbsname clear;如果沒有設置自動備份控制文件和參數文件,要在備份腳本最后手動添加備份控制文件腳本;設置自動備份控制文件和參數文件:

  1. CONFIGURE CONTROLFILE AUTOBACKUP On;  
  2. CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/u01/backup/%F_%d_controlfile.bkp';  

控制文件名格式必須包含%F,%F的格式為:c-IIIIIIIIII-YYYYMMDD-QQ,IIIIIIIIII(10位)代表DBID發生災難時可以通過它知道數據庫ID,YYYYMMDD代表自動備份時的timestamp,QQ代表是十六進制的序列號,起始值為:00,最大值為:FF。 開始備份數據

  1.  run 
  2.  { 
  3.  allocate channel dev type disk; 
  4.  allocate channel dev2 type disk; 
  5.  backup incremental level 0 database plus archivelog delete input 
  6.  tag 'sydb_incr_level0' 
  7.  format '/u01/backup/%d_%s_%U'
  8.  release channel dev; 
  9.  release channel dev2; 
  10.  } 
  11.  
  12. allocated channel: dev 
  13. channel dev: SID=181 device type=DISK 
  14.  
  15. allocated channel: dev2 
  16. channel dev2: SID=18 device type=DISK 
  17.  
  18.  
  19. Starting backup at 29-MAY-15 
  20. current log archived 
  21. channel dev: starting archived log backup set 
  22. channel dev: specifying archived log(s) in backup set 
  23. input archived log thread=1 sequence=17 RECID=1 STAMP=880994007 
  24. channel dev: starting piece 1 at 29-MAY-15 
  25. channel dev2: starting archived log backup set 
  26. channel dev2: specifying archived log(s) in backup set 
  27. input archived log thread=1 sequence=18 RECID=2 STAMP=880994016 
  28. input archived log thread=1 sequence=19 RECID=3 STAMP=880994311 
  29. channel dev2: starting piece 1 at 29-MAY-15 
  30. channel dev: finished piece 1 at 29-MAY-15 
  31. piece handle=/u01/backup/SYDB_1_01q85q07_1_1 tag=SYDB_INCR_LEVEL0 comment=NONE 
  32. channel dev: backup set complete, elapsed time: 00:00:07 
  33. channel dev: deleting archived log(s) 
  34. archived log file name=/u01/app/product/11.2.3/db_1/dbs/arch1_17_880905808.dbf RECID=1 STAMP=880994007 
  35. channel dev2: finished piece 1 at 29-MAY-15 
  36. piece handle=/u01/backup/SYDB_2_02q85q07_1_1 tag=SYDB_INCR_LEVEL0 comment=NONE 
  37. channel dev2: backup set complete, elapsed time: 00:00:08 
  38. channel dev2: deleting archived log(s) 
  39. archived log file name=/u01/app/product/11.2.3/db_1/dbs/arch1_18_880905808.dbf RECID=2 STAMP=880994016 
  40. archived log file name=/u01/app/product/11.2.3/db_1/dbs/arch1_19_880905808.dbf RECID=3 STAMP=880994311 
  41. Finished backup at 29-MAY-15 
  42.  
  43. Starting backup at 29-MAY-15 
  44. channel dev: starting incremental level 0 datafile backup set 
  45. channel dev: specifying datafile(s) in backup set 
  46. input datafile file number=00001 name=/u01/oradata/sydb/system01.dbf 
  47. input datafile file number=00004 name=/u01/oradata/sydb/users01.dbf 
  48. input datafile file number=00005 name=/u01/oradata/sydb/tbs01.dbf 
  49. channel dev: starting piece 1 at 29-MAY-15 
  50. channel dev2: starting incremental level 0 datafile backup set 
  51. channel dev2: specifying datafile(s) in backup set 
  52. input datafile file number=00003 name=/u01/oradata/sydb/undotbs01.dbf 
  53. input datafile file number=00002 name=/u01/oradata/sydb/sysaux01.dbf 
  54. channel dev2: starting piece 1 at 29-MAY-15 
  55. channel dev: finished piece 1 at 29-MAY-15 
  56. piece handle=/u01/app/product/11.2.3/db_1/dbs/03q85q0f_1_1 tag=TAG20150529T163839 comment=NONE 
  57. channel dev: backup set complete, elapsed time: 00:00:35 
  58. channel dev2: finished piece 1 at 29-MAY-15 
  59. piece handle=/u01/app/product/11.2.3/db_1/dbs/04q85q0f_1_1 tag=TAG20150529T163839 comment=NONE 
  60. channel dev2: backup set complete, elapsed time: 00:00:35 
  61. Finished backup at 29-MAY-15 
  62.  
  63. Starting backup at 29-MAY-15 
  64. current log archived 
  65. channel dev: starting archived log backup set 
  66. channel dev: specifying archived log(s) in backup set 
  67. input archived log thread=1 sequence=20 RECID=4 STAMP=880994354 
  68. channel dev: starting piece 1 at 29-MAY-15 
  69. channel dev: finished piece 1 at 29-MAY-15 
  70. piece handle=/u01/backup/SYDB_5_05q85q1i_1_1 tag=SYDB_INCR_LEVEL0 comment=NONE 
  71. channel dev: backup set complete, elapsed time: 00:00:01 
  72. channel dev: deleting archived log(s) 
  73. archived log file name=/u01/app/product/11.2.3/db_1/dbs/arch1_20_880905808.dbf RECID=4 STAMP=880994354 
  74. Finished backup at 29-MAY-15 
  75.  
  76. Starting Control File and SPFILE Autobackup at 29-MAY-15 
  77. piece handle=/u01/backup/c-3634177744-20150529-00_control.bkp comment=NONE 
  78. Finished Control File and SPFILE Autobackup at 29-MAY-15 
  79.  
  80. released channel: dev 
  81.  
  82. released channel: dev2 

通過備份日志可以知道哪些數據文件被備份,哪些沒有被備份或沒有備份成功,比如:發現較多數據塊損壞、表空間被排除備份(exclude)、表空間被skip;關注這些信息非常重要,因為一旦災難發生,它意味著你的數據庫恢復成功率,也有助于對備份腳本的優化和調整。

#p#

驗證數據庫可恢復性

驗證可恢復性可以發現一些忽略的問題,及時處理;

  1. rm /u01/oradata/sydb/system01.dbf 
  2. rm /u01/oradata/sydb/sysaux01.dbf 
  3. rm /u01/oradata/sydb/undotbs01.dbf 
  4. rm /u01/oradata/sydb/tbs01.dbf 
  5. rm /u01/oradata/sydb/control01.ctl 
  6. rm /u01/oradata/sydb/REDO01.LOG  
  7. rm /u01/oradata/sydb/REDO02.LOG  
  8. rm /u01/app/product/11.2.3/db_1/dbs/spfilesydb.ora 

數據庫恢復

恢復參數文件和控制文件

數據庫啟動時會先查找spfile,然后在找spfile.ora,再找文件initpfile,如果這些文件都沒有找到報錯并停止啟動;so 先創建一個基本的init pfile;

  1. $ vim /u01/app/product/11.2.3/db_1/dbs/initsydb.ora 
  2. db_name='sydb' 
  3. memory_target=200m 
  4. control_files='/u01/oradata/sydb/control01.ctl' 
  5. db_block_size=32768 

如果你的數據塊大小為非8kb,你又想在恢復控制文件后完成其它操作,如mount控制文件,則你必須在init 文件中指定數據塊大小;

  1. SQL> startup nomount 
  2. ORACLE instance started. 
  3.  
  4. Total System Global Area  208769024 bytes 
  5. Fixed Size                  2226936 bytes 
  6. Variable Size             109053192 bytes 
  7. Database Buffers           92274688 bytes 
  8. Redo Buffers                5214208 bytes 
  9.  
  10. $ rman target / 
  11. RMAN> restore spfile from '/u01/backup/c-3634177744-20150529-00_control.bkp'
  12.  
  13. Starting restore at 29-MAY-15 
  14. using channel ORA_DISK_1 
  15.  
  16. channel ORA_DISK_1: restoring spfile from AUTOBACKUP /u01/backup/c-3634177744-20150529-00_control.bkp 
  17. channel ORA_DISK_1: SPFILE restore from AUTOBACKUP complete 
  18. Finished restore at 29-MAY-15 
  19.  
  20. RMAN> restore controlfile from '/u01/backup/c-3634177744-20150529-00_control.bkp'
  21.  
  22. Starting restore at 29-MAY-15 
  23. using channel ORA_DISK_1 
  24.  
  25. channel ORA_DISK_1: restoring control file 
  26. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 
  27. output file name=/u01/oradata/sydb/control01.ctl 
  28. Finished restore at 29-MAY-15 
  29. RMAN> alter database mount; 
  30.  
  31. database mounted 
  32. released channel: ORA_DISK_1 

查看備份文件和確定可恢復的最大歸檔日志序列

注:如果目錄名發生改變或文件發生位置移動,先使用 catalog start with '/dir' 將文件catalog;

  1. RMAN> list backup of database
  2.  
  3.  
  4. List of Backup Sets 
  5. =================== 
  6.  
  7.  
  8. BS Key  Type LV Size       Device Type Elapsed Time Completion Time 
  9. ------- ---- -- ---------- ----------- ------------ --------------- 
  10. 3       Incr 0  180.53M    DISK        00:00:29     29-MAY-15       
  11.         BP Key: 3   Status: AVAILABLE  Compressed: NO  Tag: TAG20150529T163839 
  12.         Piece Name: /u01/app/product/11.2.3/db_1/dbs/04q85q0f_1_1 
  13.   List of Datafiles in backup set 3 
  14.   File LV Type Ckp SCN    Ckp Time  Name 
  15.   ---- -- ---- ---------- --------- ---- 
  16.   2    0  Incr 436655     29-MAY-15 /u01/oradata/sydb/sysaux01.dbf 
  17.   3    0  Incr 436655     29-MAY-15 /u01/oradata/sydb/undotbs01.dbf 
  18.  
  19. BS Key  Type LV Size       Device Type Elapsed Time Completion Time 
  20. ------- ---- -- ---------- ----------- ------------ --------------- 
  21. 4       Incr 0  380.94M    DISK        00:00:29     29-MAY-15       
  22.         BP Key: 4   Status: AVAILABLE  Compressed: NO  Tag: TAG20150529T163839 
  23.         Piece Name: /u01/app/product/11.2.3/db_1/dbs/03q85q0f_1_1 
  24.   List of Datafiles in backup set 4 
  25.   File LV Type Ckp SCN    Ckp Time  Name 
  26.   ---- -- ---- ---------- --------- ---- 
  27.   1    0  Incr 436654     29-MAY-15 /u01/oradata/sydb/system01.dbf 
  28.   4    0  Incr 436654     29-MAY-15 /u01/oradata/sydb/users01.dbf 
  29.   5    0  Incr 436654     29-MAY-15 /u01/oradata/sydb/tbs01.dbf 
  30.  
  31. RMAN> list backup of archivelog all
  32.  
  33.  
  34. List of Backup Sets 
  35. =================== 
  36.  
  37.  
  38. BS Key  Size       Device Type Elapsed Time Completion Time 
  39. ------- ---------- ----------- ------------ --------------- 
  40. 1       45.49M     DISK        00:00:04     29-MAY-15       
  41.         BP Key: 1   Status: AVAILABLE  Compressed: NO  Tag: SYDB_INCR_LEVEL0 
  42.         Piece Name: /u01/backup/SYDB_1_01q85q07_1_1 
  43.  
  44.   List of Archived Logs in backup set 1 
  45.   Thrd Seq     Low SCN    Low Time  Next SCN   Next Time 
  46.   ---- ------- ---------- --------- ---------- --------- 
  47.   1    17      427739     29-MAY-15 436110     29-MAY-15 
  48.  
  49. BS Key  Size       Device Type Elapsed Time Completion Time 
  50. ------- ---------- ----------- ------------ --------------- 
  51. 2       43.37M     DISK        00:00:04     29-MAY-15       
  52.         BP Key: 2   Status: AVAILABLE  Compressed: NO  Tag: SYDB_INCR_LEVEL0 
  53.         Piece Name: /u01/backup/SYDB_2_02q85q07_1_1 
  54.  
  55.   List of Archived Logs in backup set 2 
  56.   Thrd Seq     Low SCN    Low Time  Next SCN   Next Time 
  57.   ---- ------- ---------- --------- ---------- --------- 
  58.   1    18      436110     29-MAY-15 436484     29-MAY-15 
  59.   1    19      436484     29-MAY-15 436643     29-MAY-15 
  60.  
  61. BS Key  Size       Device Type Elapsed Time Completion Time 
  62. ------- ---------- ----------- ------------ --------------- 
  63. 5       90.00K     DISK        00:00:00     29-MAY-15       
  64.         BP Key: 5   Status: AVAILABLE  Compressed: NO  Tag: SYDB_INCR_LEVEL0 
  65.         Piece Name: /u01/backup/SYDB_5_05q85q1i_1_1 
  66.  
  67.   List of Archived Logs in backup set 5 
  68.   Thrd Seq     Low SCN    Low Time  Next SCN   Next Time 
  69.   ---- ------- ---------- --------- ---------- --------- 
  70.   1    20      436643     29-MAY-15 436756     29-MAY-15 

#p#

從上面的信息中可以看出最大可恢復到的日志序列為20,恢復時設置until sequence 21,數據庫即可應用所有的歸檔日志;

  1. RMAN> restore database until sequence 21; 
  2.  
  3. Starting restore at 29-MAY-15 
  4. using channel ORA_DISK_1 
  5.  
  6. channel ORA_DISK_1: starting datafile backup set restore 
  7. channel ORA_DISK_1: specifying datafile(s) to restore from backup set 
  8. channel ORA_DISK_1: restoring datafile 00001 to /u01/oradata/sydb/system01.dbf 
  9. channel ORA_DISK_1: restoring datafile 00004 to /u01/oradata/sydb/users01.dbf 
  10. channel ORA_DISK_1: restoring datafile 00005 to /u01/oradata/sydb/tbs01.dbf 
  11. channel ORA_DISK_1: reading from backup piece /u01/app/product/11.2.3/db_1/dbs/03q85q0f_1_1 
  12. channel ORA_DISK_1: piece handle=/u01/app/product/11.2.3/db_1/dbs/03q85q0f_1_1 tag=TAG20150529T163839 
  13. channel ORA_DISK_1: restored backup piece 1 
  14. channel ORA_DISK_1: restore complete, elapsed time: 00:00:25 
  15. channel ORA_DISK_1: starting datafile backup set restore 
  16. channel ORA_DISK_1: specifying datafile(s) to restore from backup set 
  17. channel ORA_DISK_1: restoring datafile 00002 to /u01/oradata/sydb/sysaux01.dbf 
  18. channel ORA_DISK_1: restoring datafile 00003 to /u01/oradata/sydb/undotbs01.dbf 
  19. channel ORA_DISK_1: reading from backup piece /u01/app/product/11.2.3/db_1/dbs/04q85q0f_1_1 
  20. channel ORA_DISK_1: piece handle=/u01/app/product/11.2.3/db_1/dbs/04q85q0f_1_1 tag=TAG20150529T163839 
  21. channel ORA_DISK_1: restored backup piece 1 
  22. channel ORA_DISK_1: restore complete, elapsed time: 00:00:35 
  23. Finished restore at 29-MAY-15 
  24.  
  25. RMAN> recover database until sequence 21; 
  26.  
  27. Starting recover at 29-MAY-15 
  28. using channel ORA_DISK_1 
  29.  
  30. starting media recovery 
  31.  
  32. channel ORA_DISK_1: starting archived log restore to default destination 
  33. channel ORA_DISK_1: restoring archived log 
  34. archived log thread=1 sequence=20 
  35. channel ORA_DISK_1: reading from backup piece /u01/backup/SYDB_5_05q85q1i_1_1 
  36. channel ORA_DISK_1: piece handle=/u01/backup/SYDB_5_05q85q1i_1_1 tag=SYDB_INCR_LEVEL0 
  37. channel ORA_DISK_1: restored backup piece 1 
  38. channel ORA_DISK_1: restore complete, elapsed time: 00:00:01 
  39. archived log file name=/u01/app/product/11.2.3/db_1/dbs/arch1_20_880905808.dbf thread=1 sequence=20 
  40. media recovery complete, elapsed time: 00:00:01 
  41. Finished recover at 29-MAY-15 

使用resetlogs 方式打開數據庫

  1. SYS@sydb>select file#,d.name as "FILE_NAME",t.name as "TABLESPACE_NAME",status,enabled,checkpoint_change#,checkpoint_time,(bytes/1024/1024)"BYTES_MB",blocks, 
  2.   2  (create_bytes/1024/1024)create_bytes_mb,block_size   
  3.   3  from v$datafile d left join v$tablespace t 
  4.   4  on d.ts#=t.ts#; 
  5.  
  6. FILE#   FILE_NAME TABLESPACE_NAME    STATUS  ENABLED  CHECKPOINT_CHANGE# CHECKPOIN  BYTES_MB  BLOCKS CREATE_BYTES_MB BLOCK_SIZE 
  7. ------------------------------ ------- ---------- ------------------ --------- ---------- ---------- --------------- ---------- 
  8. 1  /u01/oradata/sydb/system01.dbf  SYSTEM    SYSTEM  READ WRITE  436756      29-MAY-15   400.8125  12826   100     32768 
  9. 2  /u01/oradata/sydb/sysaux01.dbf  SYSAUX    ONLINE  READ WRITE 436756       29-MAY-15   227.6875 7286     100     32768 
  10. 3  /u01/oradata/sydb/undotbs01.dbf UNDOTBS01  ONLINE  READ WRITE 436756      29-MAY-15   310       9920    100    32768 
  11. 4  /u01/oradata/sydb/users01.dbf    USERS     ONLINE  READ WRITE 436756      29-MAY-15   100       3200    100     32768 
  12. 5  /u01/oradata/sydb/tbs01.dbf     TBS01      ONLINE  READ WRITE 436756      29-MAY-15   98       3136     10     32768 
  13.  
  14. Elapsed: 00:00:00.02 
  15. SYS@sydb>alter database open resetlogs; 
  16.  
  17. Database altered. 
  18.  
  19. Elapsed: 00:00:07.41 

總結

任何時候數據庫的還原和恢復因環境和錯誤的不一而不同,認真有效的閱讀文檔,理解工作原理,然后在加上重復的實驗方能起到良好的效果,實驗本身是動手實踐的步驟,但同時也是理論實踐結合的強有效方式。

博文出處:http://www.cnblogs.com/lanston/archive/2015/05/30/db_disaster_recover.html

責任編輯:Ophira 來源: cnblogs
相關推薦

2011-04-12 15:44:08

Oracle數據庫

2014-12-04 10:05:18

2011-05-18 10:49:53

Oralce數據庫

2021-04-04 22:39:50

Ubiquiti數據泄漏黑客

2015-06-05 10:13:09

2011-05-19 13:25:14

Oracle數據庫

2011-03-29 10:47:49

ORACLE數據庫

2009-11-20 13:29:59

Oracle數據庫恢復

2011-05-26 09:36:07

Oracle數據庫Redo故障

2011-02-28 13:31:17

Oracle數據庫

2011-05-25 10:56:19

Oracle數據庫Unix環境優化

2016-11-14 13:56:14

2022-11-03 13:47:26

云遷移云計算轉型

2010-04-02 13:59:08

Oracle數據庫

2009-04-10 00:42:36

數據庫歷史性備份

2025-04-29 07:00:00

2011-05-11 13:25:57

Oracle數據庫后備恢復

2009-04-03 10:54:49

Oracle備份恢復

2011-03-24 17:21:42

Oracle數據庫Redo故障

2010-08-25 10:16:48

DB2備份Linux
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黑人巨大精品欧美一区二区一视频 | 草久久免费视频 | 成人伊人 | 欧美视频三级 | www.亚洲国产精品 | 久久久久久久久久久久久久久久久久久久 | 成人不卡 | 欧美一级黄 | 夫妻午夜影院 | 欧美精品久久久 | 日本天堂视频在线观看 | 国产精品爱久久久久久久 | 久在线精品视频 | 在线视频91| 国产精品一区二区久久久久 | 日本午夜免费福利视频 | 日韩av免费在线电影 | 中文字幕免费在线 | 一区二区三区小视频 | 一级久久久久久 | 欧美一级二级视频 | 国产亚洲精品久久久久久豆腐 | 欧美在线视频观看 | 毛片区 | 日本精品一区二区三区视频 | 色橹橹欧美在线观看视频高清 | 久久久www成人免费无遮挡大片 | 亚洲最大福利网 | 91成人| 欧美一区二区精品 | 久久一区视频 | 精品国产乱码久久久久久丨区2区 | 精品亚洲一区二区 | 国产精品国产成人国产三级 | 欧美视频区 | 欧美a区| 丝袜美腿av| 激情亚洲| 色av一区二区三区 | 国产不卡视频在线 | 精久久|