日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

Oracle學(xué)習(xí)筆記(5)日志文件

 憂郁_小剛 2011-05-20

日志文件

 

1、日志文件:在線日志文件和重做日志文件(在線日志文件備份)

sql> archive log list  //歸檔日志列表(d:\oracle\ora90\RDBMS)


2、log buffer內(nèi)存區(qū)域中發(fā)生數(shù)據(jù)改變的動(dòng)作都是記錄在日志中;日志記錄的動(dòng)作類型、動(dòng)作發(fā)生時(shí)間和動(dòng)作發(fā)生數(shù)據(jù)改變的新址舊址等等信息記錄在重做日志中,重做日志最終通過(guò)后臺(tái)進(jìn)程LGWR寫到在線日志里。重做日志作用:recovery 機(jī)制(維護(hù)基于介質(zhì)錯(cuò)誤的系統(tǒng)恢復(fù)),維護(hù)數(shù)據(jù)完整性(維持recovery歷史數(shù)據(jù)恢復(fù)過(guò)程)。

重做日志文件被組織為日志組,每個(gè)組可以有多個(gè)日志文件,每個(gè)日志文件叫成員。
Oracle database要求至少2個(gè)日志組,按照有序的循環(huán)使用的方式使用它。

組1寫滿寫組2,組2寫滿寫組3,組3寫滿再回來(lái)寫組1,有序循環(huán)環(huán)路方式使用。當(dāng)組3寫入組1時(shí),做一個(gè)backup備份工作。

重做日志文件多工:容錯(cuò)機(jī)制。當(dāng)組1寫滿想寫組2,但當(dāng)前組2中所有成員壞掉了,這時(shí)系統(tǒng)就會(huì)報(bào)錯(cuò)。在Oracle環(huán)境中假定當(dāng)前組2中還有1個(gè)成員,即便其他成員都?jí)牡袅?,Oracle還可以繼續(xù)跑。

【建議】對(duì)日志文件做多工,而不同的成員放在不同的物理hard disk(D盤中不同區(qū)域),而不是邏輯的分區(qū)。

 

sql>alter system archive log start;  //啟動(dòng)自動(dòng)存檔過(guò)程
sql>alter system switch logfile;    //LGWR停止寫舊組轉(zhuǎn)而寫新組的過(guò)程(強(qiáng)制):日志的switch

在發(fā)生日志switch之前,后臺(tái)會(huì)完成一個(gè)Checkpoint操作,用來(lái)實(shí)現(xiàn)數(shù)據(jù)庫(kù)的同步,它會(huì)寫控制文件,同時(shí)還會(huì)寫數(shù)據(jù)文件。

sql>alter system checkpoint;  //強(qiáng)制同步

sql>show parameter fast   //(也可以設(shè)置FAST_START_MTTR_TARGET參數(shù)可以控制同步的頻率) MTTR:mean time to recovery  [MTTR:meantime to recovery],同步頻率越高發(fā)生系統(tǒng)錯(cuò)誤所需要的recovery時(shí)間就越少。除了fast_start_mttr_target外還有一個(gè)參數(shù):fast_start_io_target(8i中使用,9i以后不建議使用)

sql>show parameter log_checkpoint  //log_checkpoint_interval、log_checkpoint_timeout

 

3、添加日志組:(建議每組大小size相同)
 Alter database add logfile group 3
 ('$HOME/ORADATA/u01/log3a.rdo','$HOME/ORADATA/u01/log3b.rdo')
  SIZE 1M;

sql>select * from v$log;
sql>alter database add logfile group 6               //增加日志組6
  2 'd:\oracle\oradata\fox\redo06.ora' size 10m;
sql>alter database add logfile member                 //增加組成員
  2 'd:\oracle\oradata\fox\redo06a.ora' size 20m;(報(bào)錯(cuò))//不可以帶size參數(shù),Oracle自動(dòng)對(duì)應(yīng)已經(jīng)有的member的大小


sql> c /size 10m/   //取消size 10m參數(shù)
sql> run

【注意】每個(gè)組可以不同大小,但每個(gè)組成員一定是大小一致的。

 

4、刪除日志文件組:
ALTER DATABASE DROP LOGFILE GROUP 3;

sql>alter database drop logfile group 6;

在刪除的時(shí)候,只是改變控制文件的信息,不會(huì)對(duì)底層的OS文件造成刪除(只能手工去刪除數(shù)據(jù)文件和日志文件:D:\oracle\oradata\fox中的REDO06.ora、REDO06A.ora等)。

【注意】日志組的刪除限制:當(dāng)前日志組不能刪;active 活動(dòng)日志組不能刪;未歸檔的日志組不能刪。

刪除日志組成員: ALTER DATABASE DROP LOGFILE MEMBER '$HOME/ORADATA/u04/log3c.rdo';

【注意】日志組成員的刪除限制:保留最后一個(gè)日志組成員(每組中至少有一個(gè)成員不能刪)。
sql>select * from v$logfile;
sql>alter database drop logfile member 'D:\oracle\oradata\fox\redo04A.ora'
sql>c /redo04a/redo04/   //修改以上語(yǔ)句的參數(shù)
sql>run 
提示:無(wú)法刪除最后一個(gè)日志成員

 

5、日志清空、移動(dòng)和重命名
日志清空:reinit(重新初始化) ALTER DATABASE CLEAR LOGFILE '$HOME/ORADATA/u01/log2a.rdo';
sql>alter database clear logfile group 2; (當(dāng)前日志文件的清空無(wú)法進(jìn)行)
sql>alter database clear unarchived logfile group 5; (可以進(jìn)行未歸檔清空日志,造成日志歷史記錄斷點(diǎn),做完此事一定不要忘記做系
統(tǒng)完全備份。)


移動(dòng)或重命名方式:(1)可以通過(guò)添加新成員,刪除舊成員的方式(2)也可以通過(guò)copy OS文件并重命名的方式,然后執(zhí)行:ALTER DATABASE RENAME '舊名' TO '新名'
sql>alter database rename file 'D:\oracle\oradata\fox\redo05.ora' to 'D:\oracle\oradata\fox\redo05a.ora'

 

6、在線重做日志文件使用OMF方式:
sql> show parameter db_create_log
sql> alter system set db_create_online_log_dest_q='d:\oracle\oralog';
sql> alter database add logfile group 6;  //默認(rèn)100m大小的日志文件被生成
sql> alter database drop logfile group 5;  //會(huì)刪除包括OS文件在內(nèi)的該日志組的所有文件
sql> alter database clear unarchived logfile group 5;

 

7、獲取日志組和組成員的信息:v$log ,v$logfile
v$log (查詢?nèi)罩窘Minfo)->  status:current/active/inactive/unused
v$logfile(查詢?nèi)罩窘M成員)-> status:blank(in use 在使用),stale(incomplete不完整),delete(被刪除了)

 

8、歸檔日志文件[Archived]:備份在線日志的文件
用途:(1)幫助數(shù)據(jù)恢復(fù)Recovery.(2)在線備份(database is open)
默認(rèn)情況下 database 是被運(yùn)行在NoArchivelog (非歸檔)模式,這種模式下相當(dāng)于日志未作歷史備份,不可以借助日志來(lái)進(jìn)行數(shù)據(jù)恢復(fù)。非
歸檔模式只能做全備,而且只能做離線備份(冷備),在數(shù)據(jù)恢復(fù)時(shí)只能全恢復(fù)。而歸檔模式可以做部分備份、部分恢復(fù)、在線備份(數(shù)據(jù)庫(kù)不需要關(guān)閉也能恢復(fù),即熱備)


9、如何在歸檔模式和非歸檔模式之間的轉(zhuǎn)換步驟:
  (1)關(guān)閉數(shù)據(jù)庫(kù) shutdown immediate 
  (2)重啟數(shù)據(jù)庫(kù) startup mount
   (3) alter database archivelog/noarchivelog 歸檔/非歸檔模式
   (4) 打開(kāi)數(shù)據(jù)庫(kù) alter database open
   (5) 對(duì)數(shù)據(jù)庫(kù)進(jìn)行全備 alter system archive log all

sql>shutdown immediate
sql>startup pfile=d:\oracle\ora90\database\initfox.ora mount  //啟動(dòng)例程
sql>alter database noarchivelog; 或 alter database archivelog 
sql>alter databse open

 

10、自動(dòng)歸檔:archive log start
    手工歸檔:alter system archive log all  //歸檔所有日志文件

sql> select * from v$archived_log;  //查詢歸檔日志文件信息。

【注意】一旦在線日志組被寫滿了,它還沒(méi)有完成歸檔,那么這個(gè)日志組是不能被重寫的,系統(tǒng)會(huì)等待這個(gè)完成歸檔的過(guò)程。因此,DBA要規(guī)劃系統(tǒng)中有多少個(gè)歸檔日志組,每個(gè)組成員有多大,才能滿足系統(tǒng)需求,不至于導(dǎo)致歸檔過(guò)程影響系統(tǒng)操作。歸檔日志文件可以被多工。

sql> show parameter log_archive //顯示歸檔參數(shù)


11、Oracle中實(shí)現(xiàn)日志挖掘logmnr分析(分區(qū)過(guò)程)步驟:
(1)設(shè)定日志分析目錄 set directory utl_file_dir
(2)重啟oracle   restartup
 (3) 建立目錄文件 create directory file   (dbms_logmnr_d.build)
 (4) 添加/移除日志文件到目錄文件:(dbms_logmnr.add_logfile/dbms_logmnr.removefile)
 (5) 啟動(dòng)日志挖掘分析(logmnr)   start logmnr  (dbms_logmnr.start_logmnr)
 (6) 分析的內(nèi)容進(jìn)行查詢   v$logmnr_content (sqlredo/sqlundo)

sql>desc dbms_logmnr
sql>desc dbms_logmnr_d
sql>update kong.sales set qty=10 where stor_id=6380  //模擬操作1
sql>delete kong.sales where stor_id=7066  //模擬操作2
sql>commit; 
sql>select * from v$log; //查詢當(dāng)前日志組編號(hào) 為group 2(即redo02)
sql>execute dbms_logmnr_d.build('foxdict.ora','d:\oracle\admin\fox\cdump');  //建立支點(diǎn)目錄文件,前一個(gè)參數(shù)是文件名,后一個(gè)參
數(shù)文件路徑是init中utl_file_dir所指定的路徑。

sql>desc dbms_logmnr
sql>execute dbms_logmnr.add_logfile('d:\oracle\oradata\fox\redo02.log',dbms_logmnr.new); //添加要分析的日志文件加到目錄文件
sql>execute dbms_logmnr.add_logfile('d:\oracle\oradata\fox\redo03.log',dbms_logmnr.new);
sql>execute dbms_logmnr.start_logmnr(dictfilename=>'d:\oracle\admin\fox\cdump\foxdict.ora');END;  //啟動(dòng)日志挖掘分析
sql>select * from v$logmnr_content;  //查詢分析的內(nèi)容

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多