Decode360's Blog

          業(yè)精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          存檔日志的管理(一)
          ?
          ??? 相較redo log來說,archivelog對于系統(tǒng)的功用可能會更多一些。很多Oracle的特性都需要archivelog的支持才能得到應(yīng)用。當然redolog絕對要比archivelog要重要的多,可以沒有archivelog的DB,但不可能沒有redolog。OK,看一下archivelog的性質(zhì):
          ?
          ?
          一、存檔日志概念
          ?
          ??? 已填滿的聯(lián)機重做日志文件組可以保存到一個或多個脫機目的地,這些日志就是存檔日志。必須要將DATABASE設(shè)定ARCHIVELOG模式才可以使用存檔,可以選擇自動存檔和手動存檔兩種方式。
          ?
          ??? 存檔日志與被復(fù)制的聯(lián)機重做日志是完全相同的,并且可以保留組的唯一日志序號。當ARCn進程進行存檔時,不允許日志寫入進程LGWR的使用,也不能重寫聯(lián)機重做日志組,直到存檔完成為止。
          ?
          ?
          二、ARCHIVELOG模式
          ?
          ??? 1、NOARCHIVELOG模式
          ?
          ??? ① 當運行在NOARCHIVELOG模式時,已填滿的組不需要存檔,因此在日志切換后,已填充的組可以用于LGWR的重用。
          ??? ② 要存檔NOARCHIVELOG模式下的已填充組,需要進行額外的管理操作,如果不能接收任何數(shù)據(jù)丟失,那必須采用ARCHIVELOG模式。
          ??? ③ NOARCHIVELOG模式只能保護數(shù)據(jù)庫免于實例的失敗,但不能避免介質(zhì)失敗。也就是說,只能將數(shù)據(jù)庫恢復(fù)到最近的完整備份,而不能恢復(fù)后來的事務(wù)。
          ??? ④ NOARCHIVELOG模式下,不能進行聯(lián)機表空間備份。所以在這種模式下,需要定時進行數(shù)據(jù)庫的備份。
          ?
          ??? 2、ARCHIVELOG模式
          ?
          ??? 使用ARCHIVELOG模式有以下好處:
          ??? ① 數(shù)據(jù)庫備份時聯(lián)機重做日志文件也一起備份,可以保證在操作系統(tǒng)或磁盤失敗時間后,恢復(fù)所有已提交的事務(wù)。
          ??? ② 可以使用 打開數(shù)據(jù)庫時以及正常系統(tǒng)使用中所獲得的備份。
          ??? ③ 將已存檔日志用于備份數(shù)據(jù)庫,可以將當前的備用數(shù)據(jù)庫與原來的數(shù)據(jù)庫一起保留
          ?
          ??? 下圖說明了歸檔的邏輯結(jié)構(gòu):
          ?
          ??? archivelog
          ?
          ?
          三、控制存檔模式
          ?
          ??? 1、設(shè)置初始存檔模式
          ?
          ??? 可以在CREATE DATABASE 語句中設(shè)置數(shù)據(jù)庫的初始歸檔模式。
          ??? 一般若沒有指定,都是NOARCHIVELOG模式,一開始沒有什么必要指定,可以在創(chuàng)建后數(shù)據(jù)庫之后進行修改。
          ?
          ??? 2、改變歸檔模式
          ?
          ??? 將NOARCHIVELOG轉(zhuǎn)換到ARCHIVELOG:
          ??? ① SHUTDOWN
          ??? ② 備份數(shù)據(jù)庫
          ??? ③ 修改初始化參數(shù)(是否允許自動存檔以及存檔日志位置)
          ??? ④ STARTUP MOUNT
          ??? ⑤ ALTER DATABASE ARCHIVELOG;
          ??? ⑥ ALTER DATABASE OPEN;
          ?
          ??? 3、允許自動存檔方式
          ?
          ??? ① 實例啟動時
          ??????? 修改初始化參數(shù)LOG_ARCHIVE_START = TRUE (下次啟動時生效)
          ?
          ??? ② 實例啟動后
          ??????? ALTER SYSTEM ARCHIVE LOG START;
          ?
          ??? ③ 存檔進程的數(shù)目
          ??????? 設(shè)置LOG_ARCHIVE_MAX_PROCESSES參數(shù),最多可設(shè)置10個ARCn進程
          ??????? 也可以動態(tài)修改 ALTER SYSTEM LOG_ARCHIVE_MAX_PROCESSES=3;
          ?
          ??????? 注:一般沒有必要修改LOG_ARCHIVE_MAX_PROCESSES參數(shù)的默認值1,因為Oracle會根據(jù)系統(tǒng)工作量適當調(diào)配ARCn進程
          ?
          ??? 4、禁止自動存檔
          ?
          ??? 一旦禁止自動存檔,則必須及時手動存檔,否則聯(lián)機重做日志文件組全部寫滿時,數(shù)據(jù)庫會暫時中斷,直到存檔位置。
          ?
          ??? ① 實例啟動時
          ??????? LOG_ARCHIVE_START = FALSE
          ?
          ??? ② 實例啟動后
          ??????? ALTER SYSTEM ARCHIVE LOG STOP;
          ?
          ??????? 注:當正在存檔時禁止,則ARCn會完成當前組的存檔操作,但不進行下一個日志組的存檔。
          ?
          ??? 5、執(zhí)行手動存檔
          ?
          ??? 不管是否允許自動存檔,都可以進行手動存檔。
          ?
          ??? ALTER SYSTEM ARCHIVE ALL;
          ?
          ??? 該會存檔所有未存檔的日志文件。
          ?
          ?
          四、指定存檔目標位置
          ?
          ??? 1、使用LOG_ARCHIVE_DEST_n定義
          ?
          ??? ① 本地路徑指定
          ??? LOG_ARCHIVE_DEST_1 = 'LOCATION = /disk1/archive'
          ??? LOG_ARCHIVE_DEST_2 = 'LOCATION = /disk2/archive'
          ??? LOG_ARCHIVE_DEST_3 = 'LOCATION = /disk3/archive'
          ?
          ??? ② 遠程存檔
          ??? LOG_ARCHIVE_DEST_1 = 'SERVICE = standby1'
          ??? 注:standby1是在tnsname.ora文件中定義的網(wǎng)絡(luò)服務(wù)名
          ?
          ??? ③ 定義文件名
          ??? LOG_ARCHIVE_FORMAT = arch%s.arc
          ??? 注:%s作為序號,%t包含線程號,%S和%T以0補充文件名左邊的空白
          ?
          ??? 2、使用LOG_ARCHIVE_DEST和LOG_ARCHIVE_DUPLEX_DEST
          ?
          ??? 這個指定方法最多指定兩個位置,分別是由LOG_ARCHIVE_DEST指定的主存檔位置,以及LOG_ARCHIVE_DUPLEX_DEST指定的輔助存檔位置
          ?
          ??? 舉例:
          ??? LOG_ARCHIVE_DEST = '/disk1/archive'
          ??? LOG_ARCHIVE_DUPLEX_DEST = '/disk2/archive'
          ??? LOG_ARCHIVE_FORMAT = arch_t%_%s.arc
          ?
          ??? 3、存檔位置的狀態(tài)
          ?
          ??? 通過查詢v$archive_dest視圖來查看狀態(tài)
          ?
          ?
          ?
          posted on 2008-11-27 20:47 decode360 閱讀(275) 評論(0)  編輯  收藏 所屬分類: 08.DBA
          主站蜘蛛池模板: 舒兰市| 莱阳市| 溆浦县| 海安县| 山东| 安阳县| 太保市| 双鸭山市| 麟游县| 长治县| 太仆寺旗| 丽水市| 仙居县| 赣榆县| 凤城市| 苏尼特左旗| 益阳市| 平阴县| 江西省| 喀喇沁旗| 迁西县| 都江堰市| 韶山市| 淮北市| 花莲市| 连州市| 高碑店市| 高州市| 宣化县| 巫山县| 彩票| 新郑市| 宜兰市| 萝北县| 桂阳县| 金沙县| 泸西县| 中宁县| 兰州市| 新河县| 东乡|