一、創(chuàng)建聯(lián)機(jī)重做日志
1、創(chuàng)建聯(lián)機(jī)重做日志組
ALTER DATABASE ADD LOGFILE ('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500K;
ALTER DATABASE ADD GROUP 10 ('/oracle/dbs/log1c.rdo','/oracle/dbs/log2c.rdo') SIZE 500K;
注:組號(hào)必須在1和MAXLOGFILES之間,且不要跳躍使用,否則會(huì)耗費(fèi)數(shù)據(jù)庫(kù)控制文件中的空間。
2、創(chuàng)建聯(lián)機(jī)重做日志成員
ALTER DATABASE ADD LOGFILE MEMBER '/oracle/dbs/log2b.rdo' TO GROUP 2;
ALTER DATABASE ADD LOGFILE MEMBER '/oracle/dbs/log2c.rdo' TO ('/oracle/dbs/log2a.rdo','/oracle/dbs/log2b.rdo');
注:指定組中所有成員也可以表示這個(gè)組。新建的日志成員狀態(tài)為INVALID,首次使用時(shí)變成活動(dòng)狀態(tài)。
二、重定位 & 重命名
① 關(guān)閉數(shù)據(jù)庫(kù):SHUTDOWN
② 在操作系統(tǒng)中移動(dòng)或重命名聯(lián)機(jī)重做日志文件
③ 啟動(dòng)并裝載數(shù)據(jù)庫(kù):STARTUP MOUNT
④ 使用RENAME語(yǔ)句
ALTER DATABASE RENAME FILE '/diska/logs/log1a.rdo','/diska/logs/log2a.rdo'
TO '/diskc/logs/log1c.rdo','/diskc/logs/log2c.rdo'
三、取消聯(lián)機(jī)重做日志組成員
1、取消日志組
要注意:
① 至少需要保留兩組聯(lián)機(jī)重做日志文件
② 日志組狀態(tài)為“非活動(dòng)”時(shí)才可以取消,如果是“活動(dòng)”的,則需要進(jìn)行強(qiáng)制切換
③ 要確保日志組已經(jīng)存檔,可以查看V$LOG視圖查看是否存檔
ALTER DATABASE DROP LOGFILE GROUP 3;
在執(zhí)行DROP之后要在操作系統(tǒng)中刪除磁盤(pán)文件
2、取消聯(lián)機(jī)重做日志成員
要注意: ① 可以取消原先對(duì)稱(chēng)的組中的成員,使其暫時(shí)不對(duì)稱(chēng),但最好立即調(diào)整這種狀況
② 實(shí)例需要至少兩個(gè)有效聯(lián)機(jī)重做日志文件,且不能取消最后一個(gè)有效成員,使用V$LOGFILE查看狀態(tài)
③ 和取消組一樣,需要成員為非活動(dòng)狀態(tài),否則需要進(jìn)行一次強(qiáng)制切換
④ 確保要取消的成員已經(jīng)經(jīng)過(guò)存檔
ALTER DATABASE DROP LOGFILE MEMBER '/oracle/dbs/log3c.rdo';
四、強(qiáng)制切換日志
ALTER SYSTEM SWITCH LOGFILE;
五、校驗(yàn)重做日志文件中的塊
設(shè)置DB_BLOCK_CHECKSUM初始化參數(shù)為T(mén)RUE,則對(duì)所有寫(xiě)到磁盤(pán)上的Oracle數(shù)據(jù)塊進(jìn)行校驗(yàn),包括重做數(shù)日志塊。
DB_BLOCK_CHECKSUM參數(shù)的默認(rèn)值是FLASE
<具體原理未知>
注:允許校驗(yàn)會(huì)對(duì)系統(tǒng)產(chǎn)生額外的開(kāi)銷(xiāo),并且降低數(shù)據(jù)庫(kù)性能。需要監(jiān)視數(shù)據(jù)庫(kù)性能以判斷校驗(yàn)的代價(jià)是否過(guò)重。
六、清除聯(lián)機(jī)重做日志文件
在聯(lián)機(jī)重做日志損壞時(shí),可以使用CLEAR命令來(lái)初始化聯(lián)機(jī)重做日志文件
但是要注意以下情況不能使用:
* 僅有兩個(gè)日志組
* 受到損壞的重做日志文件屬于當(dāng)前組
ALTER DATABASE CLEAR LOGFILE GROUP 3;
ALTER DATABASE CLEAR UNARCHIVED LOGFILE GROUP 3;
注:清除了恢復(fù)備份所需的日志文件,則不能再進(jìn)行恢復(fù),Oracle將在警報(bào)文件中寫(xiě)入一條消息來(lái)描述不能恢復(fù)的備份。
注:若清除的日志可以將脫機(jī)表空間變成聯(lián)機(jī)狀態(tài),則需要在語(yǔ)句中加上UNRECOVERABLE DATAFILE子句。
因?yàn)榍宄撊罩竞笤僖膊荒馨衙摍C(jī)表空間變成聯(lián)機(jī)狀態(tài),所以不得不撤銷(xiāo)表空間或執(zhí)行未完成的恢復(fù)過(guò)程。
七、查看聯(lián)機(jī)重做日志信息
V$LOG:顯示來(lái)自于控制文件的重做日志文件信息
V$LOGFILE:標(biāo)識(shí)重做日志文件組及其成員的狀態(tài)
V$LOG_HISTORY:包含日志歷史信息
-The End-