本篇內(nèi)容主要講解“怎么查看oracle數(shù)據(jù)庫是否歸檔”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“怎么查看oracle數(shù)據(jù)庫是否歸檔”吧!
創(chuàng)新互聯(lián)公司是專業(yè)的沭陽網(wǎng)站建設(shè)公司,沭陽接單;提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計,網(wǎng)頁設(shè)計,網(wǎng)站設(shè)計,建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行沭陽網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊,希望更多企業(yè)前來合作!
在ORACLE 數(shù)據(jù)庫的開發(fā)環(huán)境和測試環(huán)境中,數(shù)據(jù)庫的日志模式和自動歸檔模式一般都是不設(shè)置的,這樣有利于系統(tǒng)應(yīng)用的調(diào)整,也免的生成大量的歸檔日志文件將磁盤空間大量的消耗。但在系統(tǒng)上線,成為生產(chǎn)環(huán)境時,將其設(shè)置為日志模式并自動歸檔就相當(dāng)重要了,因為,這是保證系統(tǒng)的安全性,有效預(yù)防災(zāi)難的重要措施。這樣,通過定時備份數(shù)據(jù)庫和在兩次備份間隔之間的日志文件,可以有效的恢復(fù)這段時間的任何時間點的數(shù)據(jù),可以在很多時候挽回或最大可能的減少數(shù)據(jù)丟失。
一、 要使OARCLE 數(shù)據(jù)庫進(jìn)行日志的自動歸檔,需要做兩方面的事情;
1.是數(shù)據(jù)庫日志模式的設(shè)置(可為Archive Mode 和No Archive Mode);2.就是自動歸檔模式設(shè)置(Automatic archival,可為Enabled 和Disabled)。
二、 如何查看數(shù)據(jù)庫的現(xiàn)行日志和自動歸檔模式的設(shè)置
可用archive log list 命令來查看。
運行在日志自動歸檔模式下的數(shù)據(jù)庫系統(tǒng)查看結(jié)果如下(一般是生產(chǎn)環(huán)境):
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /backup/archivelog
Oldest online log sequence 2131
Next log sequence to archive 2133
Current log sequence 2133
沒有啟動數(shù)據(jù)庫日志模式和自動歸檔的數(shù)據(jù)庫系統(tǒng)查看結(jié)果如下(一般是測試環(huán)境):
SQL> archive log list
Database log mode No Archive Mode
Automatic archival Disabled
Archive destination /u01/app/oracle/product/8.1.7/dbs/arch
Oldest online log sequence 194
Current log sequence 196
三. 數(shù)據(jù)庫日志模式的設(shè)置
在創(chuàng)建數(shù)據(jù)庫時,可以在CREATE DATABASE 語句中指定數(shù)據(jù)庫的日志模式。假如沒有指明,則缺省為NOARCHIVELOG 模式。由于如果在創(chuàng)建數(shù)據(jù)庫時指明是Archive Mode的話,會增加約20%的創(chuàng)建時間,而在以后啟動INSTANCE 時再設(shè)置的話,一般只用去幾秒的時間,所以一般在創(chuàng)建數(shù)據(jù)庫時是不設(shè)置為ARCHIVE MODE 的。
將數(shù)據(jù)庫的日志模式設(shè)置切換(Archive Mode 和No Archive Mode 之間的切換)的步驟和操作如下:
1. 關(guān)閉運行的數(shù)據(jù)庫實例
SQL> shutdown
在進(jìn)行日志模式切換之前,必須將運行的數(shù)據(jù)庫正常關(guān)閉。
2. 備份數(shù)據(jù)庫
該備份跟以后產(chǎn)生的日志一起用于將來的災(zāi)難恢復(fù)(很重要,如要改為歸檔日志模式,沒有這個數(shù)據(jù)庫備份,僅有日志文件是無法從該時間點恢復(fù)的)。
3. 啟動數(shù)據(jù)庫實例到mount 狀態(tài),但不要打開。
SQL> startup mount
4. 切換數(shù)據(jù)庫日志模式。
SQL> alter database archivelog;(設(shè)置數(shù)據(jù)庫為歸檔日志模式)或
SQL> alter database noarchivelog;(設(shè)置數(shù)據(jù)庫為非歸檔日志模式)
5. 打開數(shù)據(jù)庫
SQL> alter database open;
6. 確認(rèn)數(shù)據(jù)庫現(xiàn)在處于歸檔日志模式。
SQL> archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination for example: $ORACLE_HOME/dbs/arch
Oldest on-line log sequence 275
Next log sequence 277
Current log sequence 278
7. 將這個時間點的redo logs 歸檔
SQL> archive log all;
8. 確認(rèn)新產(chǎn)生的日志文件已在相應(yīng)的歸檔目錄下面。
四. 自動歸檔模式設(shè)置(Automatic archival,可為Enabled 和Disabled)。
在該模式下,數(shù)據(jù)庫啟動一個arch 進(jìn)程,專門負(fù)責(zé)將redo logs 寫到系統(tǒng)歸檔設(shè)備的相應(yīng)目錄下。在數(shù)據(jù)庫的參數(shù)文件中設(shè)置參數(shù)(一般是在$ORACLE_HOME/dbs/init*.ora 文件中):
LOG_ARCHIVE_START=
LOG_ARCHIVE_DEST=
LOG_ARCHIVE_FORMAT=
LOG_ARCHIVE_START:
如要求自動歸檔的話,則設(shè)為TRUE,如要求為非自動歸檔的話,則設(shè)為FALSE
LOG_ARCHIVE_DEST:
該參數(shù)設(shè)定了archive logs 歸檔存放的路徑。
LOG_ARCHIVE_FORMAT:
該參數(shù)設(shè)定了archive logs 的命名格式。例如,如將格式設(shè)為: arch%s.arc
log 文件將為: arch2.arc, arch3.arc, arch4.arc
這幾個參數(shù)設(shè)置只有在數(shù)據(jù)庫實例啟動前設(shè)置才能生效,如果在數(shù)據(jù)庫運行中進(jìn)行設(shè)置,要使其生效,必須重起數(shù)據(jù)庫。
如果數(shù)據(jù)庫正在運行中,不能即刻重起,要設(shè)置其為自動歸檔模式,則做如下操作:
SQL> ALTER SYSTEM ARCHIVE LOG START;
如要設(shè)置其為非自動歸檔模式(取消自動歸檔),則:
SQL> ALTER SYSTEM ARCHIVE LOG STOP;
但如果數(shù)據(jù)庫重起后,給語句修改的結(jié)果就失效了,自動歸檔的設(shè)置還是按照系統(tǒng)參數(shù)文件中的LOG_ARCHIVE_START 的值來設(shè)置。
五. 幾種設(shè)置情況:
1. Database log mode Archive Mode,Automatic archival Enabled
這是在大部分生產(chǎn)環(huán)境中的ORACLE 數(shù)據(jù)庫日志及歸檔模式設(shè)置,這種情況下,做好數(shù)據(jù)庫的定期備份(有熱備和冷備)和歸檔日志備份,可有效的將數(shù)據(jù)庫恢復(fù)到有歸檔日志的全部時間點。
2. Database log mode Archive Mode,Automatic archival Disabled
這種情況下,數(shù)據(jù)庫不能自動歸檔,需要進(jìn)行手工歸檔。如果所有在線日志都寫滿了,又沒有的及時進(jìn)行手工歸檔的話,由于LGWR 沒有可用的在線日志可寫,數(shù)據(jù)庫將會掛在這兒,只有進(jìn)行手工歸檔后,有可用的在線日志后才能繼續(xù)。在生產(chǎn)環(huán)境中應(yīng)該避免這種情況。
手工歸檔操作如下:
SQL> ALTER SYSTEM ARCHIVE LOG ALL;
數(shù)據(jù)庫將會把在線日志進(jìn)行歸檔處理
3. Database log mode NO Archive Mode,Automatic archival Enabled
有些情況下,數(shù)據(jù)庫管理員只在數(shù)據(jù)庫參數(shù)文件中設(shè)置了LOG_ARCHIVE_START=TRUE,然后在數(shù)據(jù)庫起來后查看到ARCH 歸檔進(jìn)程已經(jīng)起來了,可是盡管ORACLE 已經(jīng)作了幾次日志切換,但還是沒有歸檔日志,這時的設(shè)置就是這種情況,如果數(shù)據(jù)庫不是處在ARVHIVELOG 模式,redolog 還是不會被歸檔。
4. Database log mode NO Archive Mode,Automatic archival Disabled
這種設(shè)置是剛安裝的oracle 數(shù)據(jù)庫的缺省設(shè)置,開發(fā)環(huán)境也大部分如此。即沒有進(jìn)行歸檔。
如何手工刪除歸檔日志文件?(如果采用RMNA備份后則不用手工刪除)
一、先手工刪除歸檔日志文件
二、用RMAN刪除數(shù)據(jù)庫記錄的歸檔列表信息
1) 進(jìn)入本數(shù)據(jù)庫的rman,在命令行模式輸入"rman target /",進(jìn)入rman,查看提示,確認(rèn)連接的是否是本庫?
2) 查看歸檔日志文件的狀態(tài):
RMAN> list archivelog all;
3) 刪除操作系統(tǒng)中的日志文件(到操作系統(tǒng)級進(jìn)行手工刪除,也可以是第一步;
4) 將歸檔日志信息進(jìn)行更新;
RMAN> crosscheck archivelog all;
RMAN> delete expired archivelog all; (確認(rèn)時鍵入"yes")
RMAN> exit
到此,相信大家對“怎么查看oracle數(shù)據(jù)庫是否歸檔”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!