recover database using backup control file
recover database using backup control file
簡單說兩句:
要理解recoverdatabase using backup controlfile,先理解 recover database
也就是說,不加usingbackup controlfile的情況。
在 普通的recover database 或者 recover tablespace, recover datafile時, Oracle會以當前controlfile所紀錄的SCN為準,利用archivelog和 redo log的redo entry, 把相關的datafile 的 block恢復到“當前controlfile所紀錄的SCN”。而某些情況下,Oracle需要把資料恢復到比當 前controlfile所紀錄的SCN還要靠後的位置(比如說,controlfile是backupcontrolfile, 或者 controlfile是根據trace create的。),這時候,就需要用using backup controlfile. 恢復就不會受“當前controlfile所紀錄的SCN”的限制。
這時候的限制就來自於你的語句(untiltime , until scn),或者可用的archivelog(until cancel) ...
-------------------------------------------
首先這裡我們先介紹四個SCN概念。
1、系統檢查點scn
當一個檢查點動作完成後,Oracle就把系統檢查點的SCN儲存到控制檔案中。
select checkpoint_change# from v$database;
2,資料檔案檢查點scn
當一個檢查點動作完成後,Oracle就把每個資料檔案的scn單獨存放在控制檔案中。
select name,checkpoint_change# fromv$datafile;
3,啟動scn
Oracle把這個檢查點的scn儲存在每個資料檔案的檔案頭中,這個值稱為啟動scn,因為它用於在資料庫例項啟動時,
檢查是否需要執行資料庫恢復。
select name,checkpoint_change# fromv$datafile_header
4、終止scn
每個資料檔案的終止scn都儲存在控制檔案中。
select name,last_change# from v$datafile
以下條件需要使用usingbackup controlfile
1)、使用備份控制檔案
2)、重建resetlogs控制檔案,如果重建立noresetlogs不必要使用using backup controlfile
2、alter database open resetlog
指定RESETLOGS將重設當前LOG sequence number為1,拋棄所有日誌資訊。
以下條件需要使用resetlog
1)在不完全恢復(介質恢復)
2)使用備份控制檔案
使用resetlogs開啟資料庫後務必完整地備份一次資料庫。
3、create controlfile resetlogs/noresetlogs
1)用Noresetlogs重建控制檔案時,控制檔案中 datafile Checkpoint來自Online logs中的Current log頭
2)用Resetlogs重建控制檔案時,控制檔案中datafile Checkpoint來自各資料檔案頭。
當systemscn,datafile scn,start scn 不全相等,需要介質恢復,如果stopscn null需要例項恢復
resetlogs拋棄所有在上一次恢復沒有用到的日誌資訊,確保不被重新用與恢復。
1、系統正常關閉:
system scn=datafile scn=start scn=stop scn
1)system scn=datafile scn=start scn,不需要介質恢復
2)stopscn not null,不需要例項恢復
2、系統異常關閉:
system scn=datafile scn=start scn,stop scn null
1)system scn=datafile scn=start scn,不需要介質恢復
2)stopscn null,需要例項恢復
3、舊資料檔案
system scn=datafile scn>start scn,stop scn null/notnull
1)system scn=datafile scn>start scn,需要介質恢復成system scn=datafilescn=start scn
2)stopscn null,需要例項恢復,not null 不需要例項恢復
4、備份控制檔案
system scn=datafile scn<=start scn(當資料檔案為舊的相等),stop scn notnull/null
1)system scn=datafile scn<=start scn,需要使用using backup controlfile介質恢復成system scn=datafile scn=start
scn=current log scn(當前日誌最大SCN)
2)為保證上一次恢復沒有用到log日誌不被使用,必須resetlogs
5、重建noresetlogs控制檔案
控制檔案中 datafileCheckpoint來自Online logs中的Current log頭
current log scn=system scn=datafilescn>=start scn,stop scn not null/null
1)current log scn=system scn=datafilescn>=start scn,需要介質恢復成systemscn=datafile scn=start scn=redolog scn(當前日誌最大SCN),stopscn not null
2)stopscn not null 不需要例項恢復
6、重建resetlogs控制檔案
控制檔案中datafileCheckpoint來自各資料檔案頭。
system scn>=datafile scn=start scn,stopscn not null/null
1)system scn>=datafile scn=start scn,需要使用using backup controlfile介質恢復成system scn=datafile scn=startscn(當前日誌最大SCN),stopscn not null
2)stop notnull,因為SCN已經為redolog scn,log已經不能使用,必須resetlogs
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29519108/viewspace-2140632/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- recover database using backup controlfile理解Database
- SQLBackupAndFTP12.0 failed to backup database with full backup typeSQLFTPAIDatabase
- Crunchy PostgreSQL database backup via pgo commandSQLDatabaseGo
- Using V$BACKUP_ASYNC_IO / V$BACKUP_SYNC_IO to Monitor RMAN PerformanceORM
- I/O上的等待事件 —— control file sequential read/control file parallel write事件Parallel
- ORA-279 signalled during: alter database recover logfileDatabase
- Converting Oracle Database from Linux to Windows using RMANOracleDatabaseLinuxWindows
- 理解RMAN backup database plus archivelog delete all input命令DatabaseHivedelete
- [20181130]control file sequential read.txt
- G009-ORACLE-ASK Using In-Database ArchivingOracleDatabase
- [20181214]open file using O_DIRECT.txt
- PL/SQL package SYS.DBMS_BACKUP_RESTORE version 19.16.00.00 in TARGET database isSQLPackageRESTDatabase
- [20181129]大量的control file sequential read.txt
- Setup SSL using .PFX file on nginx/apache2NginxApache
- Oracle 19c透過recover standby database from service修復GAP案例OracleDatabase
- 搭建備庫時報錯“ORA-00203: using the wrong control files”
- Oracle Database 19c(19.9) RAC On RedHat 8.3 Using VirtualBox and MacBookOracleDatabaseRedhatMac
- 如何檢視Control File中儲存的內容
- Oracle 12C Database File Mapping for Oracle ASM FilesOracleDatabaseAPPASM
- 解決 ALL MIRROR URLS ARE NOT USING FTP, HTTP[S] OR FILE 問題FTPHTTP
- [重慶思莊每日技術分享]-ORA-1142 signalled during: ALTER DATABASE END BACKUPDatabase
- cron with recover
- oracle12.2 adg ORA-46952: standby database format mismatch for password fileOracleDatabaseORM
- 邏輯STANDBY建立中碰到ORA-16146: standby destination control file enqueue unavailableENQAI
- All mirror URLs are not using ftp, http[s] or file. Cannot find a valid baseurl for repo: baseFTPHTTP
- 轉:Intellij idea Version Control File Status Colors ( 版本控制檔案狀態顏色 )IntelliJIdea
- Will attempt to recover by breaking constraintAI
- md_backup
- 【譯】defer-panic-and-recover
- MySQL 索引優化 Using where, Using filesortMySql索引優化
- MySQL explain結果Extra中"Using Index"與"Using where; Using index"區別MySqlAIIndex
- The database owner SID recorded in the master database differs from the database owner SID recorded in database 'DB_NAME'DatabaseAST
- Oracle Database Cloud - Database as a Service Quick StartOracleDatabaseCloudUI
- Error querying database. XXXXXXXXXXXXX, No database selected。ErrorDatabase
- Convert a Physical Standby Database into a Snapshot Standby DatabaseDatabase
- Golang Recover的一個小坑Golang
- WPF Customize control
- Cache-Control
- User Account Control