免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
oracle11g dataguard完全手冊(cè)3

五、failover
          一般情況下執(zhí)行failover都是主庫(kù)已經(jīng)game over。故障轉(zhuǎn)移將備庫(kù)轉(zhuǎn)換為主庫(kù),但不把原主庫(kù)(有故障,無(wú)法正常工作)切換為備庫(kù)。當(dāng)故障轉(zhuǎn)移發(fā)生后,你必須重建主庫(kù),或者使用閃回?cái)?shù)據(jù)庫(kù)功能將主庫(kù)回退到故障發(fā)生前,然后轉(zhuǎn)換其為備庫(kù)并啟用日志應(yīng)用。
   執(zhí)行failover有幾個(gè)前提條件如下

   1.執(zhí)行failover的前提
     (1)檢查歸檔文件是否連續(xù)
  查詢待轉(zhuǎn)換 standby 數(shù)據(jù)庫(kù)的 V$ARCHIVE_GAP 視圖,確認(rèn)歸檔文件是否連接:
  SQL> SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
  未選定行
  如果返回的有記錄, 按照列出的記錄號(hào)復(fù)制對(duì)應(yīng)的歸檔文件到待轉(zhuǎn)換的 standby 服務(wù)器。 這一步非常重
  要,必須確保所有已生成的歸檔文件均已存在于 standby 服務(wù)器,不然可能會(huì)數(shù)據(jù)不一致造成轉(zhuǎn)換時(shí)報(bào)錯(cuò)。
  文件復(fù)制之后,通過(guò)下列命令將其加入數(shù)據(jù)字典:
  SQL>ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';

     (2)檢查歸檔文件是否完整
  分別在 primary/standby 執(zhí)行下列語(yǔ)句:
  SQL> select distinct thread#,max(sequence#) over(partition by thread#) a from v$archived_log;
  該語(yǔ)句取得當(dāng)前數(shù)據(jù)庫(kù)各線程已歸檔文件最大序號(hào),如果 primary 與 standby 最大序號(hào)不相同,必須將
  多出的序號(hào)對(duì)應(yīng)的歸檔文件復(fù)制到待轉(zhuǎn)換的 standby 服務(wù)器。 不過(guò)既然是 failover, 有可能 primary 數(shù)據(jù)庫(kù)此
  時(shí)已經(jīng)無(wú)法打開(kāi),甚至無(wú)法訪問(wèn),那只好聽(tīng)天由命了,但是如果可以到mounted,則可以傳輸歸檔日志。
  所以應(yīng)該在primary機(jī)器crashed之前做好準(zhǔn)備。
  加入此時(shí)結(jié)果是:
  THREAD#          A
  ---------- ----------
    1         87
               從庫(kù)最大為87,主庫(kù)也執(zhí)行,如果也是87則ok,如果不一致需要scp 然后執(zhí)行register

    (3)如果當(dāng)前備庫(kù)是處于最大保護(hù)(maximum protection)模式,要進(jìn)行故障轉(zhuǎn)移,必須先修改為最大性能
     (maximum performance)模式。修改方法:
              SQL> alter database set standby database to maximize performance;

    2,。執(zhí)行切換
      (1)在備庫(kù)停止日志應(yīng)用:
                 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
      (2)結(jié)束應(yīng)用任何日志:
                 SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
                     或者:
                 SQL> alter database recover managed standbydatabase finish force;
                 FORCE 關(guān)鍵字將會(huì)停止當(dāng)前活動(dòng)的 RFS 進(jìn)程,以便立刻執(zhí)行 failover。
      (3)轉(zhuǎn)換備庫(kù)為主庫(kù)
                SQL> alter database commit to switchover to primary with session shutdown;
                SQL> alter database open;

  注意這個(gè)時(shí)候主庫(kù)已經(jīng)不在dataguard中了。

     3.使用閃回重建數(shù)據(jù)庫(kù)
        (1)獲得原備庫(kù)轉(zhuǎn)換為主庫(kù)時(shí)的 SCN。查詢現(xiàn)主庫(kù)102:
                  SQL> SELECT to_char(STANDBY_BECAME_PRIMARY_SCN) from V$DATABASE;
        (2)在原主庫(kù)101上執(zhí)行:
                   SQL> SHUTDOWN IMMEDIATE;
            SQL> STARTUP MOUNT;
          SQL> FLASHBACK DATABASE TO SCN &standby_became_primary_scn;輸入之前查詢到的SCN號(hào)
    如果沒(méi)有開(kāi)始閃回日志,最后一條命令會(huì)報(bào)錯(cuò) ORA-38726: Flashback database logging is not on.,
    無(wú)法進(jìn)行閃回。你就需要重新從新主庫(kù)復(fù)制數(shù)據(jù),重建原主庫(kù)為備庫(kù)。
    如果命令成功執(zhí)行,原主庫(kù)101就可以使用新主庫(kù)102的日志進(jìn)行恢復(fù)。將原主庫(kù)101轉(zhuǎn)換成物理備庫(kù),并啟動(dòng)日志應(yīng)用進(jìn)程:
                 SQL> ALTER DATABASE CONVERT TO PHYSICAL STANDBY;
                 SQL> SHUTDOWN IMMEDIATE;
                  SQL> STARTUP MOUNT;
                  SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
            
     4.客戶端故障轉(zhuǎn)移
        我很喜歡的一個(gè)功能是,當(dāng)主備切換或故障轉(zhuǎn)移發(fā)生后,客戶端能夠自動(dòng)重連。在你的系統(tǒng)里,做下述實(shí)驗(yàn),看結(jié)果如何。
        orcl 是主庫(kù),orcldg 是備庫(kù)??蛻舳耸褂弥С止收限D(zhuǎn)移的 orcl_RW 服務(wù)名。
               首先,用 SYSTEM 用戶和 orcl_RW 服務(wù)名在 SQL*Plus 里登錄主庫(kù):
          SQL> connect system@orcl_rw
          SQL> select db_unique_name from v$database;

               查詢應(yīng)該返回主庫(kù)名 orcl。然后做一次主備切換,在將備庫(kù)轉(zhuǎn)換為主庫(kù)
        alter database commit to switchover to primary with session shutdown; 這一步時(shí),主備庫(kù)均處于 MOUNT 狀態(tài)。
        然后執(zhí)行查詢:
         SQL> select db_unique_name from v$database;

               這時(shí)查詢應(yīng)該掛住,這是因?yàn)榭蛻舳苏趪L試尋找主庫(kù),但當(dāng)前又沒(méi)有可用的主庫(kù)。然后繼續(xù)完成主備切換。
                當(dāng)主備切換完成后,客戶端應(yīng)該會(huì)重連并重新執(zhí)行查詢,查詢完成后成功返回結(jié)果 orcldg,因?yàn)楝F(xiàn)在主庫(kù)已經(jīng)切換為 orcldg,
  不再是orcl。
  
        另一個(gè)很酷的測(cè)試方法是,執(zhí)行一個(gè)執(zhí)行時(shí)間非常長(zhǎng)的查詢,當(dāng)查詢結(jié)果返回,屏幕一直滾動(dòng)時(shí)開(kāi)始主備切換。
        你應(yīng)該會(huì)看到屏幕暫停滾動(dòng)一段時(shí)間,當(dāng)切換完成后,又會(huì)繼續(xù)滾動(dòng)。

   5.活動(dòng)數(shù)據(jù)衛(wèi)士(active dataguard)
               活動(dòng)數(shù)據(jù)衛(wèi)士是 11g 的新功能,它允許你的物理備庫(kù)在應(yīng)用日志時(shí)處于只讀打開(kāi)狀態(tài)。這明顯是一個(gè)很有用的功能。
        能夠允許主庫(kù)有一個(gè)物理備庫(kù)作為備份,并能在保持備庫(kù)數(shù)據(jù)更新的同時(shí)讀取備庫(kù),這是一個(gè)很好的功能。
        調(diào)整備庫(kù)為“READ ONLY WITH APPLY”狀態(tài),這體現(xiàn)的便是Oracle 11g物理Active Data Guard功能中的“Active”真實(shí)含義。
        在實(shí)際工作中,這個(gè)功能非常好用,經(jīng)常用于檢查實(shí)時(shí)數(shù)據(jù)同步情況。

        (1)查看備庫(kù)openmode
               sql>select open_mode from v$database;--MOUNTED
        (2)取消備庫(kù)的自動(dòng)恢復(fù)
                 sql>alter database recover managed standby database cancel;
                 sql>alter database open;
                 sql>select open_mode from v$database; --這時(shí)候?yàn)镽EAD ONLY
        (3)read only下備庫(kù)恢復(fù)
                 sql>alter database recover managed standby database using current logfile disconnect;
                 sql>select open_mode from v$database; --這時(shí)為READ ONLY WITH APPLY


        6.11g standby的一些變化:
           (1)standby數(shù)據(jù)庫(kù)可以直接執(zhí)行
               startup    --就是read only打開(kāi)數(shù)據(jù)庫(kù)
               startup mount  --就是mount standby數(shù)據(jù)庫(kù)
  
          (2)read only的情況下可以執(zhí)行managed recover standby命令。
              SQL>startup
              SQL>alter database recover managed standby database disconnect;

        7.關(guān)于備份的引申
          有了 Data Guard,你的 RMAN 備份在主庫(kù)或者備庫(kù)都可以執(zhí)行。但既然你已經(jīng)配置了物理備庫(kù),你應(yīng)該減輕點(diǎn)主庫(kù)的負(fù)載。
   基本上,能在主庫(kù)執(zhí)行的標(biāo)準(zhǔn)的備份命令或腳本,也能在備庫(kù)執(zhí)行,但也有幾個(gè)值得注意地方。這些 Oracle 官方文檔都有,
   我只提幾個(gè)關(guān)鍵的事情:
                 你應(yīng)該使用恢復(fù)目錄(Recovery Catalog)。這是因?yàn)橹鲙?kù)需要知道備庫(kù)已經(jīng)存在了哪些備份文件。你不需要在恢復(fù)目錄中
   注冊(cè)備庫(kù),恢復(fù)目錄能認(rèn)出它是備庫(kù)。
                 你不能備份備庫(kù)的控制文件,所以不要在主庫(kù)關(guān)掉所有的備份,至少需要在主庫(kù)備份控制文件和參數(shù)文件。
                 備份和恢復(fù)可以寫(xiě)一整篇文章,我只是講下我是如何配置備份的,讓你能從這里開(kāi)始,修改并形成自己的策略。
   測(cè)試下,確認(rèn)你能從你當(dāng)前實(shí)現(xiàn)的備份設(shè)置中恢復(fù)。在運(yùn)行備份前,你需要配置一些基本的東西。
  (1)確認(rèn)開(kāi)啟控制文件和 spfile 自動(dòng)備份:
     RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON;

  (2)根據(jù)你的需要設(shè)置備份文件保留策略:
     RMAN> CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 3 DAYS;

  (3)如果一個(gè)文件已經(jīng)有備份,并且檢查點(diǎn) SCN 相同,就不備份:
     RMAN> CONFIGURE BACKUP OPTIMIZATION ON;

  (4)只在主庫(kù)的歸檔日志已經(jīng)在備庫(kù)應(yīng)用(或者配置為已經(jīng)傳輸?shù)絺浞荩┖蟛艅h除:
     RMAN> CONFIGURE ARCHIVELOG DELETION POLICY TO APPLIED ON ALL STANDBY;

  (5)允許 RMAN 在主備間重新同步:
    RMAN> CONFIGURE DB_UNIQUE_NAME P10AC CONNECT IDENTIFIER ‘JED’;
    RMAN> CONFIGURE DB_UNIQUE_NAME P11AC CONNECT IDENTIFIER 'JED2';

                在主庫(kù)我仍然備份歸檔日志。首先,在主備庫(kù)都備份歸檔提供了冗余。其次,當(dāng)發(fā)生需要恢復(fù)的事件(比如數(shù)據(jù)文件下線等)后,
  我在主庫(kù)已經(jīng)有歸檔了。我需要?jiǎng)h除過(guò)期的歸檔,以清理磁盤(pán)空間。
  在 Data Guard 環(huán)境下,不能使用標(biāo)準(zhǔn)的在單機(jī)刪除歸檔的命令,兩者有一點(diǎn)小區(qū)別。因?yàn)槲覀儽仨毷褂没謴?fù)目錄,
  我創(chuàng)建了一個(gè)全局腳本(global script):
  create global script dg_primary_arch
  {
      backup archivelog all;
      delete noprompt archivelog all completed before 'sysdate-.5';
      delete noprompt backup of archivelog all completed before 'sysdate-2';
  }

               在備庫(kù)我運(yùn)行標(biāo)準(zhǔn)的全庫(kù)和歸檔備份,并刪除過(guò)期的備份集。在 Data Guard 環(huán)境下,將備份歸檔包含在備份全庫(kù)的命令里,
        會(huì)經(jīng)常導(dǎo)致報(bào)錯(cuò) RMAN-08137: WARNING: archived log not deleted, needed for standby or upstream capture process。
        為避免此報(bào)錯(cuò),你應(yīng)該將備份歸檔放在單獨(dú)的命令里。我還是創(chuàng)建一個(gè)全局腳本:
  create global script dg_standby_full
  {
      backup database plus archivelog;
      delete noprompt archivelog all completed before 'sysdate-1';
      delete noprompt obsolete;
  }

              另外一個(gè)有用的技巧是,如果可能,使用共享文件系統(tǒng)進(jìn)行備份。這樣你在兩臺(tái)服務(wù)器上都可以訪問(wèn)備份文件。
       這樣,當(dāng)你需要恢復(fù)時(shí),你不需要從另一臺(tái)服務(wù)器上復(fù)制文件了。但如果使用共享文件系統(tǒng)的話,你的歸檔備份雖然有兩份,
       卻都放在一個(gè)文件系統(tǒng)里,如果硬盤(pán)出現(xiàn)故障,兩份備份都會(huì)丟失。


       參考文檔:
       1.《Oracle 11g Data Guard 物理備庫(kù)快速配置指南》
       2.《三思筆記:一步一步學(xué)dataguard》
       3.《Red_HatOracle11gDataGuard配置寶典》
       4.其他網(wǎng)絡(luò)資料

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
基于SCN增量恢復(fù)DG同步
DataGuard 日常維護(hù)
實(shí)戰(zhàn)經(jīng)驗(yàn):Oracle DG 的歸檔缺失修復(fù)
rman CONFIGURE解釋 - liurizhaooracle的日志 - 網(wǎng)易博客
Oracle-DataGuard FarSync 實(shí)例配置測(cè)試
oracle的幾種備份區(qū)別!
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服