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

成都創(chuàng)新互聯(lián)堅持“要么做到,要么別承諾”的工作理念,服務(wù)領(lǐng)域包括:做網(wǎng)站、成都網(wǎng)站制作、企業(yè)官網(wǎng)、英文網(wǎng)站、手機端網(wǎng)站、網(wǎng)站推廣等服務(wù),滿足客戶于互聯(lián)網(wǎng)時代的囊謙網(wǎng)站設(shè)計、移動媒體設(shè)計的需求,幫助企業(yè)找到有效的互聯(lián)網(wǎng)解決方案。努力成為您成熟可靠的網(wǎng)絡(luò)建設(shè)合作伙伴!
檢查歸檔模式命令
SQL archive log list Database log mode No Archive Mode Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence Current log sequence
設(shè)置歸檔模式
SQL shutdown immediate; Database closed Database di *** ounted ORACLE instance shut down SQL startup mount ORACLE instance started Total System Global Area bytes Fixed Size bytes Variable Size bytes Database Buffers bytes Redo Buffers 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 Next log sequence to archive Current log sequence
如果需要停止歸檔模式 使用 alter database noarchivelog 命令 Oracle g之前 你還需要修改初始化參數(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ù)庫仍然處于手工歸檔模式 g使用db_recovery_file_dest來作為歸檔日志的存放地
SQL show parameter db_recovery NAME TYPE VALUE db_recovery_file_dest string /home/oracle/ora g/flash_reco very_area/ db_recovery_file_dest_size big integer G
能修改db_recovery_file_dest_size參數(shù)的大小
alter system set db_recovery_file_dest_size=
一
重做日志文件把對數(shù)據(jù)文件的修改在寫入數(shù)據(jù)文件之前記錄下來 日志文件以一種循環(huán)的方式被寫入信息 當一個日志組被寫滿時 回自動向另一個日志組寫入 管理員可以手工切換當前日志組 alter system switch logfile 可以切換當前的日志組 當日志組發(fā)生切換時 oracle向新的重做日志組分配一個日志序列號 當存在大量的事務(wù)時必須調(diào)整重做日志文件的大小 以避免頻繁的日志切換發(fā)生 重做日志文件被順序的寫在磁盤上 如果磁盤沒有其他活動 I/O將會很快 應(yīng)該把重做日志文件保存在單獨的磁盤上 以獲取良好的性能 尤其不要把經(jīng)常處于活動狀態(tài)的SYSTEM UNDOTBS SYSAUX的表空間或索引表空間文件保存到同一塊磁盤上 因為只有在事務(wù)的請求被寫到重做日志后 請求才能被完成 最大限度的提高重做日志的吞吐量是oracle性能優(yōu)化首先考慮的因素 當發(fā)生重做日志切換而生成一個新的檢查點時 DBWn就會寫臟緩沖器塊 這樣會影響oracle的性能 可以通過fast_start_mttr_target初始化參數(shù)來調(diào)整檢查點
每個數(shù)據(jù)庫都有自己的聯(lián)機重做日志組 一個聯(lián)機重做日志組有多個重做日志成員 每個日志成員有單獨的操作系統(tǒng)文件 在一個rac配置(這種配置中單個數(shù)據(jù)庫裝有多個實例) 每個實例有一個聯(lián)機重做日志線程 每個實例的lgwr進程都寫到相同的聯(lián)機重做日志文件 因此oracle必須跟蹤數(shù)據(jù)庫實例修改來自那個實例
當多路復用重做日志文件時 應(yīng)該把一個組的成員保存在不同的磁盤上 以避免單點故障的發(fā)生 如果重做日志文件組的所有成員都無法寫入數(shù)據(jù) oracle將被掛起 Dba可以在創(chuàng)建數(shù)據(jù)庫時創(chuàng)建多個聯(lián)機重做日志文件的副本
對日志的操作如下
a 創(chuàng)建新的重做日志組
Alter database add logfile
Group ( /ora /oradata/mydb /redo log
/ora /oradata/mdb /redo log ) size m;
如果省略group子句 oracle分配一個有效的編號 如下
Alter database add logfile
b 添加新的組成員
alter database add logfile member
/ora /oradata/mydb /redo log to group ;(向第二組中添加新的成員)
c 重命名日志成員
在重命名日志組成員之前新的目標必須已經(jīng)存在 Oracle的sql命令只是把控制文件中的內(nèi)部指針指向新的日志文件 Dba需要用操作系統(tǒng)命令來重命名此日志文件 步驟如下
.關(guān)閉數(shù)據(jù)庫
.使用操作系統(tǒng)命令重命名或移動日志文件
啟動數(shù)據(jù)庫實例(start mount) 重命名控制文件中的日志文??????? 件成員 Alter database rename file???????? old_redo_file_name to new_redo_file_name ;
.打開數(shù)據(jù)庫 alter database open
.備份控制文件
D.刪除重做日志組
將要被刪除的重做日志組不能是活動的日志組 Alter database drop logfile group ; 當重做日志文件被刪除后 相關(guān)的操作系統(tǒng)文件也被刪除 相關(guān)的數(shù)據(jù)庫控制文件也給更新
E.使用和刪除重做日志組相同的方式 dba可以只刪除一個非活動的重做日志組的成員
Alter database drop logfile member /ora /oradata/mydb /redo log ;
f 創(chuàng)建聯(lián)機重做日志文件
當重做日志組成員遭到破壞時 可以刪除并重新添加這個重做日志組或組成員
二
檔案重做日志文件
它是聯(lián)機重做日志文件的一個副本 Lgwr和arcn進程的故障都會引起數(shù)據(jù)庫的掛起 只有當arcn進程把聯(lián)機重做日志寫到歸檔地后 才可以向此重做日志組成員寫入數(shù)據(jù)
設(shè)置歸檔目的地
可以在參數(shù)初始化文件中的log_archive_dest_n來定義歸檔目的地 歸檔目的地可以在本地計算機上 也可在遠程的數(shù)據(jù)庫服務(wù)器上 定義語法如下
LOG_ARCHIVE_DEST_n= null_string |
(service=tnsnames_name |
LOCATION= directory_name )
[MANDATORY | OPTIONAL]
[REOPEN[=integer]]
例
LOG_ARCHIVE_DEST_ =((LOCATION= /archive/MYDB ) MANDATORU REOPEN= )定義歸檔日志的位置為/archive/MYDB mandatory子句的定義向這個位置寫日志的操作必須的成功的 Reopen子句定義在日志寫入失敗時 下次嘗試寫入操作的時間間隔 缺省是 秒
例
LOG_ARCHIVE_DEST_@=(SERVICE=STDBY ) OPTIONAL REOPEN;語句中的stdby 的連接到遠程數(shù)據(jù)庫的oracle net連接串 由于寫操作是可選的 所以數(shù)據(jù)庫活動繼續(xù) 當arcn進程不能寫檔案日志文件時 進程將立即嘗試重新寫入(這個動作有reopen子句來定義)
Log_archive_min_succeed_dest:定義最少歸檔日志的副本數(shù)量
Log_archive_format:定義歸檔日志文件采用的名稱和使用的格式 可以使用預定義變量來構(gòu)造每個歸檔日志文件的名稱 變量如下
%s????? 日志序列號
%t????? 線程號
%r????? 復位日志id
%d????? 數(shù)據(jù)庫id
lishixinzhi/Article/program/Oracle/201311/17689
開啟/關(guān)閉歸檔:
(1)關(guān)閉數(shù)據(jù)庫
shutdown immediate;
(2)啟動數(shù)據(jù)庫到mount狀態(tài)
startup mount;
(3)開啟/關(guān)閉歸檔
開啟:alter database archivelog;
關(guān)閉:alter database noarchivelog;
(4)打開數(shù)據(jù)庫
alter database open;
沒有辦法不停止實例。當然可以使用oradebug suspand進程,但是一個循環(huán)之后,肯定還要停在那里。可以考慮先將table置于nologging狀態(tài),可以生成較少的redo,不過做完操作后需要全備。
網(wǎng)頁題目:oracle如何停止歸檔 oracle歸檔模式
網(wǎng)址分享:http://chinadenli.net/article18/hghigp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供做網(wǎng)站、App設(shè)計、App開發(fā)、品牌網(wǎng)站制作、品牌網(wǎng)站建設(shè)、定制開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)