Oracle redo
Oracle的數據庫日志稱為redo log,所有數據改變都記錄redo log,可以用于修復受損的數據庫。大型數據庫都采用日志,這樣設計的好處都是一樣的。
Redo日志是分組的,一個庫至少需要兩組,默認是三組。每個組內的redo日志稱為成員。默認情況下,每個組只有一個成員,這樣沒有冗余性,可能造成online redo log的丟失,要提高數據的可靠性,應該為兩個組至少配置兩個成員,交將這兩個成員分配到不同的磁盤上。
Redo日志是輪流使用的,一個redo log滿了,LGWR會切換到下一組redo log,這種操作稱為log switch,做log switch的同時也會做checkpoint,相應的信息還會寫入控制文件。
也可以手工執行log switch或checkpoint操作
SQL> alter system switch logfile;
System altered.
SQL> alter system checkpoint;
System altered.
查看系統的redo log信息:
SQL> select group#,sequence#,bytes,members,status from v$log;
GROUP# SEQUENCE# BYTES MEMBERS STATUS
---------- ---------- ---------- ---------- ----------------
1 5 104857600 1 INACTIVE
2 6 104857600 1 INACTIVE
3 7 104857600 1 CURRENT
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/home/oracle/oradata/gldb/redo03.log
/home/oracle/oradata/gldb/redo02.log
/home/oracle/oradata/gldb/redo01.log
可以在線添加online redo log組:
SQL> alter database add logfile group 4 ('/home/oracle/oradata/gldb/redo04.log') size 1m;
Database altered.
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/home/oracle/oradata/gldb/redo03.log
/home/oracle/oradata/gldb/redo02.log
/home/oracle/oradata/gldb/redo01.log
/home/oracle/oradata/gldb/redo04.log
可以在線添加online redo log組成員:
SQL> alter database add logfile member '/home/oracle/oradata/gldb/redo01b.log' to group 1;
Database altered.
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/home/oracle/oradata/gldb/redo03.log
/home/oracle/oradata/gldb/redo02.log
/home/oracle/oradata/gldb/redo01.log
/home/oracle/oradata/gldb/redo04.log
/home/oracle/oradata/gldb/redo01b.log
在線刪除剛才添加的組和組成員:
SQL> alter database drop logfile group 4;
Database altered.
SQL> alter database drop logfile member '/home/oracle/oradata/gldb/redo01b.log';
Database altered.
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
/home/oracle/oradata/gldb/redo03.log
/home/oracle/oradata/gldb/redo02.log
/home/oracle/oradata/gldb/redo01.log
歸檔Redo log文件:
啟動日志歸檔有兩個好處:
1,帶有歸檔日志的數據庫備份可以恢復到任意時間點。
2,可以在線備份數據庫。
如果你的數據很重要,應該啟用歸檔日志模式,否則數據庫損壞時很可能只能恢復到上一次備份時的狀態了。
缺省情況下,數據庫是非歸檔日志模式。
可以用以下兩條命令檢查數據庫的歸檔日志模式:
SQL> select archiver from v$instance;
ARCHIVE
-------
STOPPED
SQL> archive log list;
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /home/oracle/product/9.2.0/dbs/arch
Oldest online log sequence 7
Current log sequence 9
如果啟用歸檔日志模式將在后面數據備份章節中介紹
?
轉載于:https://blog.51cto.com/exchange111/1630103
總結
以上是生活随笔為你收集整理的Oracle redo的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SAN Inter-Fabric Rou
- 下一篇: 42.对话框插件——dialog