乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

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

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

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

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

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

       

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

      在發(fā)生日志switch之前,后臺會完成一個(gè)Checkpoint操作,用來實(shí)現(xiàn)數(shù)據(jù)庫的同步,它會寫控制文件,同時(shí)還會寫數(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自動對應(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í)候,只是改變控制文件的信息,不會對底層的OS文件造成刪除(只能手工去刪除數(shù)據(jù)文件和日志文件:D:\oracle\oradata\fox中的REDO06.ora、REDO06A.ora等)。

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

      刪除日志組成員: 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/   //修改以上語句的參數(shù)
      sql>run 
      提示:無法刪除最后一個(gè)日志成員

       

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


      移動或重命名方式:(1)可以通過添加新成員,刪除舊成員的方式(2)也可以通過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;  //會刪除包括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)于日志未作歷史備份,不可以借助日志來進(jìn)行數(shù)據(jù)恢復(fù)。非
      歸檔模式只能做全備,而且只能做離線備份(冷備),在數(shù)據(jù)恢復(fù)時(shí)只能全恢復(fù)。而歸檔模式可以做部分備份、部分恢復(fù)、在線備份(數(shù)據(jù)庫不需要關(guān)閉也能恢復(fù),即熱備)


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

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

       

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

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

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

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


      11、Oracle中實(shí)現(xiàn)日志挖掘logmnr分析(分區(qū)過程)步驟:
      (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) 啟動日志挖掘分析(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)前日志組編號 為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;  //啟動日志挖掘分析
      sql>select * from v$logmnr_content;  //查詢分析的內(nèi)容

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

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多