時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(0)
自動備份
crontab
crontab -e -u oracle(改命令的意思是編輯oracle用戶的定時執(zhí)行(-e,edit -u oracle,oracle用戶))
分? 時? 日 月 星期(0代表星期天)
45 23? *? *??? 0??? rman target / msglog=bakl0.log cmdfile=bakl0(星期天的23:45會以oracle用戶的身份來執(zhí)行命令)
45 23? *? *??? 1??? rman target / msglog=bakl2.log cmdfile=bakl2
45 23? *? *??? 2??? rman target / msglog=bakl2.log cmdfile=bakl2
45 23? *? *??? 3??? rman target / msglog=bakl1.log cmdfile=bakl1
45 23? *? *??? 4??? rman target / msglog=bakl2.log cmdfile=bakl2
45 23? *? *??? 5??? rman target / msglog=bakl2.log cmdfile=bakl2
45 23? *? *??? 6??? rman target / msglog=bakl2.log cmdfile=bakl2
然后啟動crontab ,啟動crontab的命令:
root> service crond restart
================================RMAN恢復=================================
在非catalog模式下,備份的信息存儲在controlfile文件中,如果controlfile文件發(fā)生毀壞,那么就不能能夠進行恢復,使用在備份的時候需要把controlfile也進行自動備份
Dbid=?
. configure controlfile autobackup on;
. Backup database plus archivelog delete input;
Dbid表示database的一個ID,將來用于恢復spfile和controlfile時候要用到.
RMAN> connect target /
connected to target database: ORA10G (DBID=3988862108)
這個Dbid=3988862108
RMAN>show all;來查看參數(shù)
using target database control file instead of recovery catalog
RMAN configuration parameters are:
CONFIGURE RETENTION POLICY TO REDUNDANCY 1; # default
CONFIGURE BACKUP OPTIMIZATION OFF; # default
CONFIGURE DEFAULT DEVICE TYPE TO DISK; # default
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '%F'; # default
CONFIGURE DEVICE TYPE DISK PARALLELISM 1 BACKUP TYPE TO BACKUPSET; # default
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 1; # default
CONFIGURE MAXSETSIZE TO UNLIMITED; # default
CONFIGURE ENCRYPTION FOR DATABASE OFF; # default
CONFIGURE ENCRYPTION ALGORITHM 'AES128'; # default
CONFIGURE ARCHIVELOG DELETION POLICY TO NONE; # default
CONFIGURE SNAPSHOT CONTROLFILE NAME TO '/home/oracle/product/10.20/dbs/snapcf_ora10g.f'; # default
其中CONFIGURE CONTROLFILE AUTOBACKUP OFF; 沒有對controlfile進行 autobackup,使用我們需要運行下面命令來對controlfile進行自動備份
RMAN> configure controlfile autobackup on;
RMAN> show all; //這樣就能夠發(fā)現(xiàn)controlfile 能夠進行自動備份
RMAN> list backup;查看以前備份的信息
RMAN> delete backupset 24;//24代表backupset 的編號
RMAN>backup format '/u01/rmanbak/full_%T_%u.bak' database plus archivelog;(進行一次全備份)
口令文件丟失(不屬于rman備份的范疇),我們只需要用一個命令來重建這個文件就可以了:
orapw file=orapwsid password=pass entries=5;? //口令文件的路徑:/u01/oracle/product/10.20/db_1/dbs目錄下
oracle> cd /u01/oracle/product/10.20/db_1/dbs
oracle> rm orapwora10g;(文件刪除,模擬丟失)
oracle> orapwd file=orapwora10g password=oracle entries=5;(重新建立一個文件),entries的意思(DBA的用戶最多有5個)
SPFILE丟失:
startup nomount;
set dbid 3988862108;
restore spfile from autobackup;
shutdown immediate;
set dbid 3988862108;
startup;
模擬操作:
oracle> mv spfileora10g.ora spora10g.ora
oracle>rman target /;
rman> shutdown immediate;
rman> startup nomount;
startup failed: ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file '/home/oracle/product/10.20/dbs/initora10g.ora'
rman>set dbid 3988862108;
rman>restore spfile from autobackup;
執(zhí)行該命令,如果沒有找到的話,那可能是文件的路徑發(fā)生錯誤.可以通過直接賦予它的文件
rman>restore spfile from '/u01/oracle/flash_recovery_area/ORA10G/autobackup/2008_12_09/o1_mf_s_673025706_4mw7xc79_.bkp
在dbs/目錄下產(chǎn)生spfileora10g.ora文件。證明spfile 已經(jīng)恢復好
rman> shutdown immediate;
rman> startup ;(如果該命令不能夠啟動數(shù)據(jù)庫,那么需要set dbid 3988862108)
controlfile 丟失:
startup nomount;
restore controlfile from autobackup;
alter database mount;
recover database;
alter database open resetlogs;
注意:在做了alter database open resetlogs;會把online redelog file清空,數(shù)據(jù)文件丟失.所以這個時候要做一個全備份。
oracle>rm *.ctl
oracle>rman target / ;//不能夠連接到rman ,因為controlfile丟失
oracle>sqlplus /nolog;
SQL>shutdown immediate; //因為controlfile丟失,不能夠正常shutdown
SQL>shutdown abort;
oracle>rman target /;
rman>startup nomount;
rman>restore controlfile from autobackup;\
rman>alter database mount;
rman>alter database open resetlogs;
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of alter db command at 12/09/2008 16:21:13
#p#副標題#e#
ORA-01194: file 1 needs more recovery to be consistent
ORA-01110: data file 1: '/home/oracle/oradata/ora10g/system01.dbf
//出錯, redo log的scn記錄在controlfile里面的,因為我們有新的controlfile,所以需要resetlogs;
/*
resetlogs命令表示一個數(shù)據(jù)庫邏輯生存期的結(jié)束和另一個數(shù)據(jù)庫邏輯生存期的開始,每次使用resetlogs命令的時候,SCN不會被重置,不過oracle會重置日志序列號,而且會重置聯(lián)機重做日志內(nèi)容.
這樣做是為了防止不完全恢復后日志序列會發(fā)生沖突(因為現(xiàn)有日志和數(shù)據(jù)文件間有了時間差)。
*/
rman>recover database;
rman>alter database open resetlogs;
Redolog file丟失:(下面的這些語句一定要在sqlplus中執(zhí)行,不是在rman中執(zhí)行)
(sqlplus/nolog)
1.shutdown immediate;
2.startup mount;
3.recover database until cancel;(media recovery)
4.alter database resetlogs;
數(shù)據(jù)文件丟失(在rman中執(zhí)行sql語句,在sql后面用雙引號括起來):
1. sql "alter database datafile 3 offline";
2. restore datafile 3
3. recover datafile 3
4. sql "alter database datafile 3 online";
表空間丟失:
1. sql "alter tablespace users offline";//如果文件不存在,則用 sql "alter tablespace users offline immeidate";
2. restore tablespace users;
3. recover tablespace users; //與online redolog file 信息一致
4. sql "alter tablespace users online";
非catalog方式完全恢復
數(shù)據(jù)庫出現(xiàn)問題:
1.startup nomount;
2.restore controlfile from autobackup;
3.alter database mount;
4.restore database;
5.recover database;
6.alter database open resetlogs;
模擬操作:
oracle ora10g> rm *;
<關(guān)鍵詞標簽:Oracle,RMAN備份
相關(guān)閱讀
熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索
人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法