insertinto" />

日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

oracle controlfile backup and recovery

系統(tǒng) 2052 0

備份:

alter database backup controlfile to 'xxxxxxx' reuse;
alter database bakcup controlfile to trace as 'xxxxxxx';
RMAN備份控制文件
恢復(fù)實(shí)例:
1.控制文件損壞后利用二進(jìn)制備份恢復(fù)(異常斷電)
?? ?
?備份控制文件:
alter database backup controlfile to '/home/oracle/control.ctl ' reuse;
插入測(cè)試數(shù)據(jù):
SQL> insert into t1 values(1);
SQL> commit;
模擬斷電:
SQL> shutdown abort;
模擬控制文件故障:
rm -rf /database/oradata/skyread/control01.ctl
rm -rf /database/oradata/skyread/control02.ctl
rm -rf /database/oradata/skyread/control03.ctl
再次開啟數(shù)據(jù)庫(kù):
SQL> startup;
ORA-00205: error in identifying control file, check alert log for more info
報(bào)00205錯(cuò)誤
把備份文件復(fù)制到數(shù)據(jù)庫(kù)控制文件所在位置:
cp /home/oracle/control.ctl /database/oradata/skyread/control01.ctl
cp /home/oracle/control.ctl /database/oradata/skyread/control02.ctl
cp /home/oracle/control.ctl /database/oradata/skyread/control03.ctl
SQL> startup force mount
Total System Global Area ? ? ? ? ? 5049942016 bytes
Fixed Size ? ? ? ? ? ? ? ? ? ? ? ? ? ?2090880 bytes
Variable Size ? ? ? ? ? ? ? ? ? ? ?1375733888 bytes
Database Buffers ? ? ? ? ? ? ? ? ? 3657433088 bytes
Redo Buffers ? ? ? ? ? ? ? ? ? ? ? ? 14684160 bytes
Database mounted.

? ?

檢查數(shù)據(jù)文件,數(shù)據(jù)文件頭,日志文件以及控制文件的scn信息,由于是機(jī)器斷電,所以這里fuzzy的狀態(tài)是YES
SQL> select file#,status,fuzzy,CHECKPOINT_CHANGE# from v$datafile_header;

? ? ? ? ? ? ? ?FILE# STATUS ?FUZ ? CHECKPOINT_CHANGE#
-------------------- ------- --- --------------------
? ? ? ? ? ? ? ? ? ?1 ONLINE ?YES ? ? ? ? 122694280130
? ? ? ? ? ? ? ? ? ?2 ONLINE ?YES ? ? ? ? 122694280130
? ? ? ? ? ? ? ? ? ?3 ONLINE ?YES ? ? ? ? 122694280130
? ? ? ? ? ? ? ? ? ?4 ONLINE ?YES ? ? ? ? 122694280130
? ? ? ? ? ? ? ? ? 18 ONLINE ?YES ? ? ? ? 122694280130
? ? ? ? ? ? ? ? ? 26 ONLINE ?YES ? ? ? ? 122694280130
? ? ? ? ? ? ? ? ? 31 ONLINE ?YES ? ? ? ? 122694280130
SQL> select group#,sequence#,members,archived,status,first_change# from v$log;

? ? ? ? ? ? ? GROUP# ? ? ? ? ? ?SEQUENCE# ? ? ? ? ? ? ?MEMBERS ARC STATUS ? ? ? ? ? ? ? ? ?FIRST_CHANGE#
-------------------- -------------------- -------------------- --- ---------------- --------------------
? ? ? ? ? ? ? ? ? ?1 ? ? ? ? ? ? ? ? ? ?1 ? ? ? ? ? ? ? ? ? ?1 NO ?CURRENT ? ? ? ? ? ? ? ? ?122694212304
? ? ? ? ? ? ? ? ? ?2 ? ? ? ? ? ? ? ? ? ?2 ? ? ? ? ? ? ? ? ? ?1 YES INACTIVE ? ? ? ? ? ? ? ? 122693905385
? ? ? ? ? ? ? ? ? ?5 ? ? ? ? ? ? ? ? ? ?3 ? ? ? ? ? ? ? ? ? 1 YES INACTIVE ? ? ? ? ? ? ? ? 122694191761
? ? ? ? ? ? ? ? ? ?4 ? ? ? ? ? ? ? ? ? ?4 ? ? ? ? ? ? ? ? ? ?1 YES INACTIVE ? ? ? ? ? ? ? ? 122694190542
? ? ? ? ? ? ? ? ? ?3 ? ? ? ? ? ? ? ? ? ?5 ? ? ? ? ? ? ? ? ? ?1 YES INACTIVE ? ? ? ? ? ? ? ? 122694168156
? CONTROLFILE_CHANGE#是備份時(shí)的控制文件SCN,這里數(shù)據(jù)文件的檢查點(diǎn)肯定是大于當(dāng)時(shí)備份的控制文件,所以數(shù)據(jù)打開的時(shí)候,數(shù)據(jù)文件,日志文件,控制文件的檢查點(diǎn)信息是不一致的,要進(jìn)行介質(zhì)恢復(fù)到一致,才能打開,以上V$LOG,V$DATAFILE都是和備份的控制文件的檢查點(diǎn)一致的。但是v$datafile_header記錄的是最新的,就是數(shù)據(jù)庫(kù)關(guān)閉前的。所以如果打開的時(shí)候做會(huì)做檢查,檢查數(shù)據(jù)文件頭的檢查點(diǎn)計(jì)數(shù)和與現(xiàn)在控制文件的檢查點(diǎn)技術(shù)是否相等,如果相等,進(jìn)行第二次檢查,也就是檢查數(shù)據(jù)文件頭開始的SCN和控制文件結(jié)束的SCN是否相等,如果相等,就不需要進(jìn)行恢復(fù),不相等,就需要進(jìn)行恢復(fù)。這里明顯是不相等的,所以需要recovery。
SQL> select checkpoint_change#,controlfile_change#,resetlogs_change# from v$database;?

? CHECKPOINT_CHANGE# ?CONTROLFILE_CHANGE# ? ?RESETLOGS_CHANGE#
-------------------- -------------------- --------------------
? ? ? ? 122694212305 ? ? ? ? ? 122694259161 ? ? ? ? ? 122693676208
介質(zhì)恢復(fù)數(shù)據(jù)庫(kù):提示需要應(yīng)用redo01.log
SQL> recover database using backup controlfile;
ORA-00279: change 122694280130 generated at 05/03/2013 11:25:37 needed for
thread 1
ORA-00289: suggestion : /database/oradata/arch/1_1_814447469.dbf
ORA-00280: change 122694280130 for thread 1 is in sequence #1


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
/database/oradata/skyread/redo01.log
Log applied.
Media recovery complete.
重置日志文件打開數(shù)據(jù)庫(kù):
SQL> alter database open resetlogs;
Database altered.

2.控制文件損壞后利用trace文件重建控制文件(正常關(guān)機(jī))
備份控制文件為文本格式
SQL> alter database backup controlfile to trace as '/home/oracle/controlfile.sql' reuse;
Database altered.
干凈關(guān)閉數(shù)據(jù)庫(kù)并破壞所有控制文件
SQL> shutdown immediate;
mv /database/oradata/skyread/control01.ctl /database/oradata/skyread/control01.ctl.bak
mv /database/oradata/skyread/control02.ctl /database/oradata/skyread/control02.ctl.bak
mv /database/oradata/skyread/control03.ctl /database/oradata/skyread/control03.ctl.bak
打開數(shù)據(jù)庫(kù)出錯(cuò)
SQL> startup;
ORACLE instance started.

Total System Global Area 5049942016 bytes
Fixed Size ? ? ? ? ? ? ? ? ?2090880 bytes
Variable Size ? ? ? ? ? ?1375733888 bytes
Database Buffers ? ? ? ? 3657433088 bytes
Redo Buffers ? ? ? ? ? ? ? 14684160 bytes
ORA-00205: error in identifying control file, check alert log for more info
在nomount模式用 /home/oracle/controlfile.sql中的語(yǔ)句重建控制文件,注意這里用的是 NORESETLOGS,這里因?yàn)槲覀兪歉蓛絷P(guān)閉數(shù)據(jù)做的測(cè)試,相當(dāng)于數(shù)據(jù)文件和日志文件都是沒有損壞的,這里是基于數(shù)據(jù)文件頭和日志文件頭的信息構(gòu)建出控制文件,所以這個(gè)控制文件和數(shù)據(jù)文件頭和日志文件頭都是一致的,既然是一致的,那么都不需要recover,直接打開數(shù)據(jù)庫(kù)即可。
注意:這里如果是用二進(jìn)制備份控制文件進(jìn)行恢復(fù),還是需要recover的,因?yàn)槟銈浞莸亩M(jìn)制文件和當(dāng)前的數(shù)據(jù)文件頭信息一般是不一致的。
CREATE CONTROLFILE REUSE DATABASE "SKYREAD" NORESETLOGS FORCE LOGGING ARCHIVELOG
? ? MAXLOGFILES 20
? ? MAXLOGMEMBERS 5
? ? MAXDATAFILES 1000
? ? MAXINSTANCES 8
? ? MAXLOGHISTORY 2337
LOGFILE
? GROUP 1 '/database/oradata/skyread/redo01.log' ?SIZE 512M,
? GROUP 2 '/database/oradata/skyread/redo02.log' ?SIZE 512M,
? GROUP 3 '/database/oradata/skyread/redo03.log' ?SIZE 512M,
? GROUP 4 '/database/oradata/skyread/redo04.log' ?SIZE 512M,
? GROUP 5 '/database/oradata/skyread/redo05.log' ?SIZE 512M
DATAFILE
? '/database/oradata/skyread/system01.dbf',
? '/database/oradata/skyread/tbs_test.dbf',
? '/database/oradata/skyread/sysaux01.dbf',
? '/database/oradata/skyread/users01.dbf',
? '/database2/oradata/skyread/TBS_MRPMUSIC01.dbf',
? '/database/oradata/skyread/sf01.dbf',
? '/database2/oradata/skyread/undotbs02'
CHARACTER SET UTF8;
SQL> alter database open;
Database altered

?

oracle controlfile backup and recovery


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號(hào)聯(lián)系: 360901061

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長(zhǎng)非常感激您!手機(jī)微信長(zhǎng)按不能支付解決辦法:請(qǐng)將微信支付二維碼保存到相冊(cè),切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對(duì)您有幫助就好】

您的支持是博主寫作最大的動(dòng)力,如果您喜歡我的文章,感覺我的文章對(duì)您有幫助,請(qǐng)用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長(zhǎng)會(huì)非常 感謝您的哦!!!

發(fā)表我的評(píng)論
最新評(píng)論 總共0條評(píng)論
主站蜘蛛池模板: 锡林郭勒盟| 克山县| 临颍县| 巴彦淖尔市| 阜城县| 新竹县| 邯郸县| 遂溪县| 肥东县| 南投市| 新邵县| 古浪县| 基隆市| 万安县| 遂川县| 阜新市| 湛江市| 阳原县| 崇阳县| 仙游县| 天祝| 安塞县| 色达县| 吕梁市| 河池市| 抚远县| 蓝山县| 当雄县| 青田县| 班玛县| 双城市| 昆山市| 德兴市| 尉氏县| 遵义市| 麦盖提县| 天气| 白玉县| 武平县| 阳城县| 宣化县|