IT貓撲網(wǎng):您身邊最放心的安全下載站! 最新更新|軟件分類|軟件專題|手機版|論壇轉(zhuǎn)貼|軟件發(fā)布

您當前所在位置: 首頁數(shù)據(jù)庫Oracle → ORACLE數(shù)據(jù)庫歸檔模式的切換

ORACLE數(shù)據(jù)庫歸檔模式的切換

時間:2015-06-28 00:00:00 來源:IT貓撲網(wǎng) 作者:網(wǎng)管聯(lián)盟 我要評論(13)

  在oracle數(shù)據(jù)庫的開發(fā)環(huán)境和測試環(huán)境中,數(shù)據(jù)庫的日志模式和自動歸檔模式一般都是不設(shè)置的,這樣有利于系統(tǒng)應(yīng)用的調(diào)整,也免的生成大量的歸檔日志文件將磁盤空間大量的消耗。但在系統(tǒng)上線,成為生產(chǎn)環(huán)境時,將其設(shè)置為日志模式并自動歸檔就相當重要了,因為,這是保證系統(tǒng)的安全性,有效預(yù)防災(zāi)難的重要措施。這樣,通過定時備份數(shù)據(jù)庫和在兩次備份間隔之間的日志文件,可以有效的恢復(fù)這段時間的任何時間點的數(shù)據(jù),可以在很多時候挽回或最大可能的減少數(shù)據(jù)丟失。雖然ORACLE數(shù)據(jù)庫的日志模式和自動歸檔設(shè)置并不復(fù)雜,但其中的一些概念和操作過程還是容易混淆的,現(xiàn)在根據(jù)本人的經(jīng)驗,分析介紹如下,所用環(huán)境為UNIX(HPUX,SOLARIES,AIX,TRU64UNIX)和ORACLE8.

  一要使OARCLE數(shù)據(jù)庫進行日志的自動歸檔,需要做兩方面的事情,一是數(shù)據(jù)庫日志模式的設(shè)置(database log mode,可為Archive Mode和No Archive Mode),另外就是自動歸檔模式設(shè)置(Automatic archival,可為Enabled和Disabled)。二如何查看數(shù)據(jù)庫的現(xiàn)行日志和自動歸檔模式的設(shè)置:

  可用archive log list命令來查看。

  例如:

  運行在日志自動歸檔模式下的數(shù)據(jù)庫系統(tǒng)查看結(jié)果如下(一般是生產(chǎn)環(huán)境)

  SVRMGR> 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)境)

  SVRMGR> archive log list

  Database log mode       No Archive Mode

  Automatic archival       Disabled

  Archive destination      /u01/app/oracle/product/8.0.5/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的。

  如要確定一系統(tǒng)數(shù)據(jù)庫的日志模式設(shè)置,除了(二)中的方法外也可以執(zhí)行如下操作查看:

  SVRMGR> Select * from V$DATABASE

  NAME CREATED      LOG_MODE   CHECKPOINT ARCHIVE_CH

  ---- ----------------- ------------ ---------- ----------

  ORCL 05/21/97 17:55:06 NOARCHIVELOG 172185   170808

  將數(shù)據(jù)庫的日志模式設(shè)置切換(Archive Mode 和No Archive Mode之間的切換)的步驟和操作如下:

  1. 關(guān)閉運行的數(shù)據(jù)庫實例

  SVRMGRL> shutdown

  在進行日志模式切換之前,必須將運行的數(shù)據(jù)庫正常關(guān)閉。

  2. 備份數(shù)據(jù)庫

  該備份跟以后產(chǎn)生的日志一起用于將來的災(zāi)難恢復(fù)(很重要,如要改為歸檔日志模式,沒有這個數(shù)據(jù)庫備份,僅有日志文件是無法從該時間點恢復(fù)的)。

  3. 啟動數(shù)據(jù)庫實例到mount狀態(tài),但不要打開。

  SVRMGRL> startup mount

  注意:如果是使用OPS的話,請只打開一個數(shù)據(jù)庫實例進行模式切換操作。

  4. 切換數(shù)據(jù)庫日志模式。

  SVRMGRL> alter database archivelog;(設(shè)置數(shù)據(jù)庫為歸檔日志模式)

  或

  SVRMGRL> alter database noarchivelog;(設(shè)置數(shù)據(jù)庫為歸檔日志模式)

  5. 打開數(shù)據(jù)庫

  SVRMGRL> alter database open;

#p#副標題#e#

  6. 確認數(shù)據(jù)庫現(xiàn)在處于歸檔日志模式。

  SVRMGRL> 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歸檔

  SVRMGRL> archive log all;

  8. 確認新產(chǎn)生的日志文件已在相應(yīng)的歸檔目錄下面。

  四自動歸檔模式設(shè)置(Automatic archival,可為Enabled和Disabled),在該模式下,數(shù)據(jù)庫啟動一個arch進程,專門負責(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 文件將為: arch1.arc, arch2.arc, arch3.arc

  這幾個參數(shù)設(shè)置只有在數(shù)據(jù)庫實例啟動前設(shè)置才能生效,如果在數(shù)據(jù)庫運行中進行設(shè)置,要使其生效,必須重起數(shù)據(jù)庫。

  如果數(shù)據(jù)庫正在運行中,不能即刻重起,要設(shè)置其為自動歸檔模式,則做如下操作:

  SVRMGRL> ALTER SYSTEM ARCHIVE LOG START;

  如要設(shè)置其為非自動歸檔模式(取消自動歸檔),則:

  SVRMGRL> 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ù)庫不能自動歸檔,需要進行手工歸檔。如果所有在線日志都寫滿了,又沒有的及時進行手工歸檔的話,由于LGWR沒有可用的在線日志可寫,數(shù)據(jù)庫將會掛在這兒,只有進行手工歸檔后,有可用的在線日志后才能繼續(xù)。在生產(chǎn)環(huán)境中應(yīng)該避免這種情況。

  手工歸檔操作如下:

  SVRMGRL> ALTER SYSTEM ARCHIVE LOG ALL;

  數(shù)據(jù)庫將會把在線日志進行歸檔處理

  (3) Database log mode       NO Archive Mode

  Automatic archival       Enabled

  有些相對欠缺經(jīng)驗的管理員在進行設(shè)置時,只在數(shù)據(jù)庫參數(shù)文件中設(shè)置了LOG_ARCHIVE_START=TRUE,然后在數(shù)據(jù)庫起來后查看到ARCH歸檔進程已經(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)境也大部分如此。即沒有進行歸檔。

關(guān)鍵詞標簽:ORACLE,數(shù)據(jù)庫

相關(guān)閱讀

文章評論
發(fā)表評論

熱門文章 Oracle中使用alter table來增加,刪除,修改列的語法 Oracle中使用alter table來增加,刪除,修改列的語法 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 誤刪Oracle數(shù)據(jù)庫實例的控制文件 誤刪Oracle數(shù)據(jù)庫實例的控制文件 為UNIX服務(wù)器設(shè)置Oracle全文檢索 為UNIX服務(wù)器設(shè)置Oracle全文檢索

相關(guān)下載

    人氣排行 oracle中使用SQL語句修改字段類型-oracle修改SQL語句案例 Oracle中使用alter table來增加,刪除,修改列的語法 ORACLE SQL 判斷字符串是否為數(shù)字的語句 ORACLE和SQL語法區(qū)別歸納(1) oracle grant 授權(quán)語句 ORACLE修改IP地址后如何能夠使用 如何加速Oracle大批量數(shù)據(jù)處理 Oracle刪除表的幾種方法