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

您當(dāng)前所在位置: 首頁數(shù)據(jù)庫Oracle → Oracle歸檔模式的命令及參數(shù)說明

Oracle歸檔模式的命令及參數(shù)說明

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

  Oracle數(shù)據(jù)庫能運(yùn)行在2種模式下:歸檔模式(archivelog)和非歸檔模式(noarchivelog)。歸檔模式能提高Oracle數(shù)據(jù)庫的可恢復(fù)性,生產(chǎn)數(shù)據(jù)庫都應(yīng)該運(yùn)行在此模式下,歸檔模式應(yīng)該和相應(yīng)的備份策略相結(jié)合,只有歸檔模式?jīng)]有相應(yīng)的備份策略只會帶來麻煩。

  檢查歸檔模式命令:

  SQL> archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 15 Current log sequence 17

  設(shè)置歸檔模式:

  SQL> shutdown immediate; Database closed. Database dismounted. ORACLE instance shut down. SQL> startup mount ORACLE instance started. Total System Global Area 1258291200 bytes Fixed Size 1219160 bytes Variable Size 318768552 bytes Database Buffers 922746880 bytes Redo Buffers 15556608 bytes Database mounted. SQL> alter database archivelog; Database altered. SQL> alter database open; Database altered. SQL> archive log list; Database log mode Archive Mode Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 15 Next log sequence to archive 17 Current log sequence 17

  如果需要停止歸檔模式,使用:alter database noarchivelog 命令。Oracle10g之前,你還需要修改初始化參數(shù)使數(shù)據(jù)庫處于自動歸檔模式。在pfile/spfile中設(shè)置如下參數(shù):

  log_archive_start = true

  重啟數(shù)據(jù)庫此參數(shù)生效,此時數(shù)據(jù)庫處于自動歸檔模式。也能在數(shù)據(jù)庫啟動過程中,手工執(zhí)行:

  archive log start

  使數(shù)據(jù)庫啟用自動歸檔,不過重啟后數(shù)據(jù)庫仍然處于手工歸檔模式。10g使用db_recovery_file_dest來作為歸檔日志的存放地。

  SQL> show parameter db_recovery NAME TYPE VALUE db_recovery_file_dest string /home/oracle/ora10g/flash_reco very_area/ db_recovery_file_dest_size big integer 20G

  能修改db_recovery_file_dest_size參數(shù)的大小

  alter system set db_recovery_file_dest_size=21474836480

  一、

  重做日志文件把對數(shù)據(jù)文件的修改在寫入數(shù)據(jù)文件之前記錄下來。日志文件以一種循環(huán)的方式被寫入信息。當(dāng)一個日志組被寫滿時,回自動向另一個日志組寫入。管理員可以手工切換當(dāng)前日志組。alter system switch logfile 可以切換當(dāng)前的日志組。當(dāng)日志組發(fā)生切換時,oracle向新的重做日志組分配一個日志序列號。當(dāng)存在大量的事務(wù)時必須調(diào)整重做日志文件的大小,以避免頻繁的日志切換發(fā)生。重做日志文件被順序的寫在磁盤上,如果磁盤沒有其他活動,I/O將會很快。應(yīng)該把重做日志文件保存在單獨(dú)的磁盤上,以獲取良好的性能。尤其不要把經(jīng)常處于活動狀態(tài)的SYSTEM,UNDOTBS,SYSAUX的表空間或索引表空間文件保存到同一塊磁盤上。因為只有在事務(wù)的請求被寫到重做日志后,請求才能被完成。最大限度的提高重做日志的吞吐量是oracle性能優(yōu)化首先考慮的因素。當(dāng)發(fā)生重做日志切換而生成一個新的檢查點(diǎn)時,DBWn就會寫臟緩沖器塊。這樣會影響oracle的性能??梢酝ㄟ^fast_start_mttr_target初始化參數(shù)來調(diào)整檢查點(diǎn)。

  每個數(shù)據(jù)庫都有自己的聯(lián)機(jī)重做日志組,一個聯(lián)機(jī)重做日志組有多個重做日志成員,每個日志成員有單獨(dú)的操作系統(tǒng)文件。在一個rac配置(這種配置中單個數(shù)據(jù)庫裝有多個實例),每個實例有一個聯(lián)機(jī)重做日志線程,每個實例的lgwr進(jìn)程都寫到相同的聯(lián)機(jī)重做日志文件。因此oracle必須跟蹤數(shù)據(jù)庫實例修改來自那個實例。

  當(dāng)多路復(fù)用重做日志文件時,應(yīng)該把一個組的成員保存在不同的磁盤上。以避免單點(diǎn)故障的發(fā)生。如果重做日志文件組的所有成員都無法寫入數(shù)據(jù),oracle將被掛起。Dba可以在創(chuàng)建數(shù)據(jù)庫時創(chuàng)建多個聯(lián)機(jī)重做日志文件的副本。

  對日志的操作如下:

  a. 創(chuàng)建新的重做日志組:

  Alter database add logfile

  Group 3 (‘/ora02/oradata/mydb01/redo0301.log’,

  ’/ora03/oradata/mdb01/redo0302.log’) size 10m;

  如果省略group子句,oracle分配一個有效的編號,如下:

  Alter database add logfile

  b. 添加新的組成員:

  alter database add logfile member

  ‘/ora04/oradata/mydb01/redo0203.log’ to group 2;(向第二組中添加新的成員)

  c.重命名日志成員:

  在重命名日志組成員之前新的目標(biāo)必須已經(jīng)存在。Oracle的sql命令只是把控制文件中的內(nèi)部指針指向新的日志文件。Dba需要用操作系統(tǒng)命令來重命名此日志文件。步驟如下:

  1.關(guān)閉數(shù)據(jù)庫

  2.使用操作系統(tǒng)命令重命名或移動日志文件

  3. 啟動數(shù)據(jù)庫實例(start mount),重命名控制文件中的日志文? 件成員。Alter database rename file?? ‘old_redo_file_name’ to ‘new_redo_file_name’;

  4.打開數(shù)據(jù)庫 alter database open

  5.備份控制文件

  D.刪除重做日志組:

  將要被刪除的重做日志組不能是活動的日志組。Alter database drop logfile group 3;。當(dāng)重做日志文件被刪除后,相關(guān)的操作系統(tǒng)文件也被刪除,相關(guān)的數(shù)據(jù)庫控制文件也給更新。

  E.使用和刪除重做日志組相同的方式,dba可以只刪除一個非活動的重做日志組的成員。

  Alter database drop logfile member ‘/ora04/oradata/mydb01/redo0203.log’;

  f. 創(chuàng)建聯(lián)機(jī)重做日志文件:

  當(dāng)重做日志組成員遭到破壞時,可以刪除并重新添加這個重做日志組或組成員。

  二、

  檔案重做日志文件:

  它是聯(lián)機(jī)重做日志文件的一個副本。Lgwr和arcn進(jìn)程的故障都會引起數(shù)據(jù)庫的掛起。只有當(dāng)arcn進(jìn)程把聯(lián)機(jī)重做日志寫到歸檔地后,才可以向此重做日志組成員寫入數(shù)據(jù)。

  設(shè)置歸檔目的地:

  可以在參數(shù)初始化文件中的log_archive_dest_n來定義歸檔目的地。歸檔目的地可以在本地計算機(jī)上,也可在遠(yuǎn)程的數(shù)據(jù)庫服務(wù)器上。定義語法如下:

  LOG_ARCHIVE_DEST_n= "null_string" |

  (service=tnsnames_name |

  LOCATION= ‘directory_name’)

  [MANDATORY | OPTIONAL]

  [REOPEN[=integer]]

  例1:

  LOG_ARCHIVE_DEST_1=((LOCATION=’/archive/MYDB01’) MANDATORU REOPEN=60)定義歸檔日志的位置為/archive/MYDB01,mandatory子句的定義向這個位置寫日志的操作必須的成功的。Reopen子句定義在日志寫入失敗時,下次嘗試寫入操作的時間間隔。缺省是300秒。

  例2:

  LOG_ARCHIVE_DEST_@=(SERVICE=STDBY01) OPTIONAL REOPEN;語句中的stdby01的連接到遠(yuǎn)程數(shù)據(jù)庫的oracle net連接串。由于寫操作是可選的,所以數(shù)據(jù)庫活動繼續(xù),當(dāng)arcn進(jìn)程不能寫檔案日志文件時,進(jìn)程將立即嘗試重新寫入(這個動作有reopen子句來定義)。

  Log_archive_min_succeed_dest:定義最少歸檔日志的副本數(shù)量。

  Log_archive_format:定義歸檔日志文件采用的名稱和使用的格式。可以使用預(yù)定義變量來構(gòu)造每個歸檔日志文件的名稱。變量如下:

  %s????? 日志序列號

  %t????? 線程號

  %r????? 復(fù)位日志id

  %d????? 數(shù)據(jù)庫id

  定義歸檔日志名稱的變量至少包含%s,%t,%r,當(dāng)多個數(shù)據(jù)庫實例的歸檔日志采用相同的歸檔日志位置時,還必須定義%d。例如:%t_%s_%r.dbf

關(guān)鍵詞標(biāo)簽:Oracle

相關(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刪除表的幾種方法