Oracle10g冷備份與應(yīng)用冷備份和歸檔恢復(fù)數(shù)據(jù)庫的方法
2024-08-29 13:53:36
供稿:網(wǎng)友
Oracle數(shù)據(jù)庫冷備份比較簡單,就是數(shù)據(jù)庫在關(guān)閉的狀態(tài)下進(jìn)行文件備份。需要拷貝的文件包括日志文件、控制文件、數(shù)據(jù)文件,這三類文件必不可少。最好還要備份SPFILEMCAIMS.ORA或INITmcaims.ORA文件和重置控制文件的sql語句,這在改變恢復(fù)數(shù)據(jù)庫的文件路徑時會用到。
具體步驟如下:
首先,找到要備份的文件路徑。可用如下語句獲得。
sqlplus username/passWord as sysdba;
select name from v$datafile;
select name from v$controlfile;
select name from v$logfile;
show parameters spfile;
alter database backup controlfile to trace resetlogs;
然后從bdump跟蹤文件中找到重置控制文件的參考sql語句:如下:
*******************************************************
STARTUP NOMOUNT
CREATE CONTROLFILE SET DATABASE "RCAT" RESETLOGS ARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 454
LOGFILE
GROUP 1 'D:/LXC/ORADATA/RCAT/REDO01.LOG' SIZE 10M,
GROUP 2 'D:/LXC/ORADATA/RCAT/REDO02.LOG' SIZE 10M,
GROUP 3 'D:/LXC/ORADATA/RCAT/REDO03.LOG' SIZE 10M
DATAFILE
'D:/LXC/ORADATA/RCAT/SYSTEM01.DBF',
'D:/LXC/ORADATA/RCAT/UNDOTBS01.DBF',
'D:/LXC/ORADATA/RCAT/SYSAUX01.DBF',
'D:/LXC/ORADATA/RCAT/USERS01.DBF',
'D:/LXC/ORADATA/RCAT/USERS02.DBF',
'D:/LXC/ORADATA/RCAT/TOOLS01.DBF'
CHARACTER SET ZHS16GBK;
*******************************************************
shutdown immediate;
然后關(guān)閉數(shù)據(jù)庫,備份文件。
恢復(fù)數(shù)據(jù)庫
用數(shù)據(jù)庫配置向?qū)?chuàng)建數(shù)據(jù)庫例程,刪掉生成的數(shù)據(jù)庫文件,用備份文件替代。修改INITmcaims.ORA文件,重啟數(shù)據(jù)庫服務(wù)。
sqlplus sys/pwd as sysdba;
shutdown immediate;
如果恢復(fù)數(shù)據(jù)庫時要改變文件的路徑,則需要重置控制文件。執(zhí)行重置控制文件的sql(已根據(jù)實(shí)際情況修改過路徑);
alter database mount;
設(shè)置歸檔路徑:
alter system set log_archive_dest_1='location=n:/gongxian';
alter database recover using backup controlfile;
(
alter database recover automatic until time '2008-09-13:13:59:59';
alter database recover automatic until scn 454300;
alter database recover until cancel using backup controlfile;
)
恢復(fù)完畢,alter database open resetlogs;即可。