1. 程式人生 > >dataguard 下主備 online redo 與 standby redo log resize 重建

dataguard 下主備 online redo 與 standby redo log resize 重建

環境說明: 本實驗環境是一個節點的rac + 單節點 asm dg     database 與 grid 版本是 11.2.0.4 。
提別提醒 如果是多節點叢集,操作時需要特別注意 thread 。


一. 主庫操作
 
1.1 檢視redo 資訊
SQL> col member for a60
SQL> select group#,type, member from v$logfile;


    GROUP# TYPE    MEMBER
---------- ------- --------------------------------------------------------
         3 ONLINE  +DATA/devdb/onlinelog/group_3.263.936769395
         3 ONLINE  +FLASH/devdb/onlinelog/group_3.259.936769401
         2 ONLINE  +DATA/devdb/onlinelog/group_2.262.936769383
         2 ONLINE  +FLASH/devdb/onlinelog/group_2.258.936769389
         1 ONLINE  +DATA/devdb/onlinelog/group_1.261.936769373
         1 ONLINE  +FLASH/devdb/onlinelog/group_1.257.936769379
         4 STANDBY +DATA/devdb/onlinelog/group_4.267.938494955
         4 STANDBY +FLASH/devdb/onlinelog/group_4.278.938494963
         5 STANDBY +DATA/devdb/onlinelog/group_5.268.938494969
         5 STANDBY +FLASH/devdb/onlinelog/group_5.279.938494975
         6 STANDBY +DATA/devdb/onlinelog/group_6.269.938494981
         6 STANDBY +FLASH/devdb/onlinelog/group_6.280.938494985
         7 STANDBY +DATA/devdb/onlinelog/group_7.270.938495005
         7 STANDBY +FLASH/devdb/onlinelog/group_7.281.938495013


14 rows selected.


SQL> select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES INACTIVE                      50
         2          1 YES INACTIVE                      50
         3          1 NO  CURRENT                       50


1.2 修改standby redo


SQL> alter database drop logfile group 4;


Database altered.


SQL> alter database drop logfile group 5;


Database altered.


SQL> alter database drop logfile group 6;


Database altered.


SQL> alter database drop logfile group 7;


Database altered.


SQL> select group#,type, member from v$logfile;


    GROUP# TYPE    MEMBER
---------- ------- ------------------------------------------------
         3 ONLINE  +DATA/devdb/onlinelog/group_3.263.936769395
         3 ONLINE  +FLASH/devdb/onlinelog/group_3.259.936769401
         2 ONLINE  +DATA/devdb/onlinelog/group_2.262.936769383
         2 ONLINE  +FLASH/devdb/onlinelog/group_2.258.936769389
         1 ONLINE  +DATA/devdb/onlinelog/group_1.261.936769373
         1 ONLINE  +FLASH/devdb/onlinelog/group_1.257.936769379


6 rows selected.


新增standby redo




SQL> alter database add standby logfile thread 1 group 4 size 60m,group 5 size 60m,group 6 size 60m,group 7 size 60m;


Database altered.


SQL>  select group#,type, member from v$logfile;


    GROUP# TYPE    MEMBER
---------- ------- --------------------------------------------------
         3 ONLINE  +DATA/devdb/onlinelog/group_3.263.936769395
         3 ONLINE  +FLASH/devdb/onlinelog/group_3.259.936769401
         2 ONLINE  +DATA/devdb/onlinelog/group_2.262.936769383
         2 ONLINE  +FLASH/devdb/onlinelog/group_2.258.936769389
         1 ONLINE  +DATA/devdb/onlinelog/group_1.261.936769373
         1 ONLINE  +FLASH/devdb/onlinelog/group_1.257.936769379
         4 STANDBY +DATA/devdb/onlinelog/group_4.267.938747301
         4 STANDBY +FLASH/devdb/onlinelog/group_4.278.938747305
         5 STANDBY +DATA/devdb/onlinelog/group_5.268.938747309
         5 STANDBY +FLASH/devdb/onlinelog/group_5.279.938747313
         6 STANDBY +DATA/devdb/onlinelog/group_6.269.938747317
         6 STANDBY +FLASH/devdb/onlinelog/group_6.280.938747321
         7 STANDBY +DATA/devdb/onlinelog/group_7.270.938747325
         7 STANDBY +FLASH/devdb/onlinelog/group_7.281.938747327


14 rows selected.


1.3 修改Online redo


SQL> select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES INACTIVE                      50
         2          1 YES INACTIVE                      50
         3          1 NO  CURRENT                       50


先處理inactive, 它表示已經完成規定的,可以刪除。


SQL> alter database drop logfile group 1;


Database altered.


注意: 至少要2個redo組




SQL> alter database add logfile thread 1 group 1 size 60m;


Database altered.


SQL>  select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES UNUSED                        60
         2          1 YES INACTIVE                      50
         3          1 NO  CURRENT                       50


SQL> alter database drop logfile group 2;


Database altered.


SQL> alter database add logfile thread 1 group 2 size 60m;


Database altered.


SQL> alter system switch logfile;


System altered.


SQL>  select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 NO  CURRENT                       60
         2          1 YES UNUSED                        60
         3          1 YES ACTIVE                        50


說明:ACTIVE 表示正在歸檔


等一會後


SQL>  select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 NO  CURRENT                       60
         2          1 YES UNUSED                        60
         3          1 YES INACTIVE                      50


SQL> alter database drop logfile group 3;


Database altered.


SQL>  alter database add logfile thread 1 group 3 size 60m;


Database altered.


SQL>  select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 NO  CURRENT                       60
         2          1 YES UNUSED                        60
         3          1 YES UNUSED                        60
 OK,至此,主庫完成。






二. 備庫操作






2.1 檢視資訊
SQL> col member for a60
SQL>  select group#,type, member from v$logfile;


    GROUP# TYPE    MEMBER
---------- ------- --------------------------------------------------
         3 ONLINE  +DATA/phydb/onlinelog/group_3.268.938177101
         3 ONLINE  +FLASH/phydb/onlinelog/group_3.262.938177103
         2 ONLINE  +DATA/phydb/onlinelog/group_2.267.938177097
         2 ONLINE  +FLASH/phydb/onlinelog/group_2.261.938177099
         1 ONLINE  +DATA/phydb/onlinelog/group_1.266.938177093
         1 ONLINE  +FLASH/phydb/onlinelog/group_1.260.938177095
         4 STANDBY +DATA/phydb/onlinelog/group_4.262.938176937
         4 STANDBY +FLASH/phydb/onlinelog/group_4.256.938176939
         5 STANDBY +DATA/phydb/onlinelog/group_5.263.938176941
         5 STANDBY +FLASH/phydb/onlinelog/group_5.257.938176943
         6 STANDBY +DATA/phydb/onlinelog/group_6.264.938176945
         6 STANDBY +FLASH/phydb/onlinelog/group_6.258.938176945
         7 STANDBY +DATA/phydb/onlinelog/group_7.265.938176947
         7 STANDBY +FLASH/phydb/onlinelog/group_7.259.938176949


14 rows selected.


SQL> select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES CURRENT                       50
         2          1 YES CLEARING                      50
         3          1 YES CLEARING                      50


2.2 處理standby redo


對於standby 上redo的處理之前,我們要先停掉redo 的apply:否則報錯 ORA-01156


SQL> alter database recover managed standby database cancel;


SQL> alter database drop logfile group 4;


Database altered.


SQL> alter database drop logfile group 5;


Database altered.


SQL> alter database drop logfile group 6;


Database altered.


SQL> alter database drop logfile group 7;


Database altered.


SQL>  alter database add standby logfile thread 1 group 4 size 60m,group 5 size 60m,group 6 size 60m,group 7 size 60m;


Database altered.


SQL> select group#,type, member from v$logfile;


    GROUP# TYPE    MEMBER
---------- ------- -------------------------------------------------
         3 ONLINE  +DATA/phydb/onlinelog/group_3.268.938177101
         3 ONLINE  +FLASH/phydb/onlinelog/group_3.262.938177103
         2 ONLINE  +DATA/phydb/onlinelog/group_2.267.938177097
         2 ONLINE  +FLASH/phydb/onlinelog/group_2.261.938177099
         1 ONLINE  +DATA/phydb/onlinelog/group_1.266.938177093
         1 ONLINE  +FLASH/phydb/onlinelog/group_1.260.938177095
         4 STANDBY +DATA/phydb/onlinelog/group_4.265.938720451
         4 STANDBY +FLASH/phydb/onlinelog/group_4.259.938720453
         5 STANDBY +DATA/phydb/onlinelog/group_5.264.938720457
         5 STANDBY +FLASH/phydb/onlinelog/group_5.258.938720463
         6 STANDBY +DATA/phydb/onlinelog/group_6.263.938720465
         6 STANDBY +FLASH/phydb/onlinelog/group_6.257.938720469
         7 STANDBY +DATA/phydb/onlinelog/group_7.262.938720471
         7 STANDBY +FLASH/phydb/onlinelog/group_7.256.938720475


14 rows selected.


2.3 處理online redo


先將standby_file_management設為手動:


SQL> alter system set standby_file_management=manual;
System altered.


SQL>  alter database clear logfile group 2;


Database altered.


SQL> alter database drop logfile group 2;


Database altered.


SQL> alter database add logfile thread 1 group 2 size 60m;


Database altered.


SQL>  select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES CURRENT                       50
         2          1 YES UNUSED                        60
         3          1 YES CLEARING                      50


SQL> alter database clear logfile group 3;


Database altered.


SQL> alter database drop logfile group 3;


Database altered.


SQL> alter database add logfile thread 1 group 3 size 60m;


Database altered.


SQL> select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES CURRENT                       50
         2          1 YES UNUSED                        60
         3          1 YES UNUSED                        60


SQL>  alter database recover managed standby database disconnect from session;


Database altered.


SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT='AUTO';


System altered.


-- 到主庫手動切換幾次redo


SQL> alter system switch logfile;


System altered.


SQL> alter system switch logfile;


System altered.


--檢視備庫的redo:


SQL> select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES CLEARING                      50
         2          1 YES CLEARING                      60
         3          1 YES CURRENT                       60
SQL> alter database recover managed standby database cancel;


Database altered.


SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT='MANUAL';


System altered.


SQL> select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES CLEARING                      50
         2          1 YES CLEARING                      60
         3          1 YES CURRENT                       60
SQL> alter database clear logfile group 1;


Database altered.


SQL> alter database drop logfile group  1;


Database altered.


SQL> alter database add logfile thread 1 group 1 size 60m;


Database altered.


SQL>  select group#,thread#,archived,status, bytes/1024/1024 from v$log;


    GROUP#    THREAD# ARC STATUS           BYTES/1024/1024
---------- ---------- --- ---------------- ---------------
         1          1 YES UNUSED                        60
         2          1 YES CLEARING                      60
         3          1 YES CURRENT                       60


SQL> ALTER SYSTEM SET STANDBY_FILE_MANAGEMENT='AUTO';


System altered.


SQL> alter database recover managed standby database using current logfile disconnect from session;


Database altered.




主庫測試:


SQL> alter system switch logfile;


System altered.


SQL> alter system switch logfile;


System altered.


SQL> select max(sequence#) from v$archived_log;


MAX(SEQUENCE#)
--------------
            77


備庫檢視是否同步:


SQL> select sequence#,applied from v$archived_log;
       。。。。。
        76 YES
        77 IN-MEMORY


69 rows selected.




一切正常。

相關推薦

dataguard online redo standby redo log resize 重建

環境說明: 本實驗環境是一個節點的rac + 單節點 asm dg     database 與 grid 版本是 11.2.0.4 。 提別提醒 如果是多節點叢集,操作時需要特別注意 thread 。 一. 主庫操作   1.1 檢視redo 資訊 SQL> col

Oracle dataguard庫建立閃回點及快照資料庫物理standby的切換方法

dg主備庫建立閃回點: Create Guaranteed Restore Points (optional) The standard switchover fallback options sh

Nginx+Keepalived 高可用 安裝配置

wget 環境 erb 服務 work complete status ppr sql 環境說明:操作系統:CentOS6.7 x86_64Nginx版本:nginx-1.9.7Keepalived版本:keepalived-1.2.24 主nginx + Keepaliv

Oracle Dataguard 庫的切換方法

oracle主備庫的切換主要在兩種情況下切換,Switchover和Failover,這兩種切換都需要手工執行完成。 一是Switchover(計劃中的切換,不會丟失數據) 二是Failover(當主庫出現故障的時候需要主備庫切換角色) 1,Switchover的切換方法 主庫端: select switch

haproxy+keepalived模式配置

request address fig etc 虛擬 tab over .com ken Haproxy+Keepalived主備模式 主備節點設置 主備節點上各安裝配置haproxy,配置內容且要相同 global log 127.0.0.1 lo

LinuxPostgreSQL環境搭建和切換

1. 概念 資料庫熱備:資料庫熱備是指為主資料庫的建立、維護和監控一個或多個備用資料庫,它們時刻處於開機狀態,同主機保持同步。當主機失靈時,可以隨時啟用熱備資料庫來代替,以保護資料不受故障、災難、錯誤和崩潰的影響。 流複製(streaming replication):PostgreSQL提

linux 使用keepalived 實現nginx 負載均衡+高可用

1.什麼是負載均衡高可用         nginx作為負載均衡器,所有請求都到了nginx,可見nginx處於非常重點的位置,如果nginx伺服器宕機後端web服務將無法提供服務,影響嚴重。   

ORACLE dataguard 庫延遲 using current logfile

一. 問題描述:        BI分析部門反映夜間拉取的ORACLE備庫資料和業務部門匯入主庫的資料不一致,之間相差近2個小時。 二. 問題分析:      第一反映備庫歸檔有GAP,主備庫延遲,

《在線路場景—Track結合SLA的使用實踐》—那些你應該知道的知識(八)

寫在前面: 在之前的一篇文章中,我們已經講過Eigrp是如何計算重分佈路由的metric值的過程。在實際生產環境中,我們常常會針對重要的外聯單位,部署兩條運營商線路以保障業務的連續性。由於對端外聯單位的特殊情況,常常不允許我們配置動態路由協議,以實現線路的自動切換,我們可能只能通過配置靜態路由實

MysqlCluster的ndb節點設定固定埠以及keealived的/機在防火牆開啟情況通訊失敗解決的問題

問題描述 1.在非生產環境下安裝MysqlCluster關閉防火牆是個較好的選擇,但是在生產環境下顯然不是太好,通過netstat -tunlp命令來檢視ndb節點的機器佔用的埠號。然後你就會發現多臺ndb節點所佔用的埠號不一致,有沒有辦法讓所有的ndb節點佔用埠都是固定的呢? 2

DT時代 資料庫災的探索實踐

摘要: 隨著DT時代的到來,企業對資料的依賴程度與日俱增,資料保護早已成為企業的一門必修課。只有擁有先知先覺的防範意識和充分的技術準備,才能“覆巢之下,亦有完卵” 170餘場主題峰會和分論壇完美呈現,上千位分享嘉賓、數萬名創新創業導師齊聚一堂,剛剛結束的2018杭州雲棲大會

高速通道-最佳實踐-專線VPN閘道器冗餘

無論是通過物理專線還是公網VPN加密隧道實現的混合雲網絡,都需要考慮單線故障的風險.最經濟的方式是用專線與VPN閘道器主備實現冗餘. 前置條件:混合雲物理專線和VPN閘道器已經調通. 實現方式:主線: 雲下IDC---物理專線---雲上VBR---雲上VPC備線: 雲下IDC---公網---雲上VPN閘道

oracle叢集(RAC)和資料同步(DataGuard)思路

Oracle主備庫資料同步使用DataGuard。Data Guard 是Oracle的遠端複製技術,它有物理和邏輯之分,但是總的來說,它需要在異地有一套獨立的系統,這是兩套硬體配置可以不同的系統,但是這兩套系統的軟體結構保持一致,包括軟體的版本,目錄儲存結構,以及資料的

Oracle DataGuard配置

*.audit_file_dest='/u01/app/oracle/admin/cebpms/adump' *.audit_trail='db' *.compatible='11.2.0.4.0' *.control_files='/data1/oradata/cebpms/controlfile/cont

【翻譯自mos文章】Standby Redo Logs (SRL)的用途,益處限制

Standby Redo Logs (SRL)的用途,益處與限制 來源於: Usage, Benefits and Limitations of Standby Redo Logs (SRL) (文件 ID 219344.1) 目的: 本文顯示了Standby Redo L

dataguard 修改redo logstandby redo log

  一. 主庫操作 1.1 檢視redo 資訊 SQL> select group#,type, member from v$logfile;     GROUP# TYPE    MEMBER ---------- ------- -----------------

dataguard常用命令及DG庫開關順序

1.查詢命令 select name,db_unique_name from v$database; select max(sequence#) from v$archived_log;  查詢保護模式 select protection_mode,database_rol

dataguard中的standby redo 日誌組數及新增的兩種方法

搭建dg需要建立standby redo,怎麼知道應該建多少組standby redo 查詢oracle官方文件 如果主庫是單機,備庫是單機 主庫online redo有n組,那麼備庫standby

mysql模式的讀寫分離主從複製

從資料庫層面上對負載做優化的方法各式各樣。從書上看到分表分庫等常見手段,後來學習別人部落格才明白分表分庫各自天生缺點使他無法成為主流而並沒有那麼多人用,正好畢業設計想嘗試一下主從的架構,所以這裡一邊搭建一邊做記錄。 目錄: 1.介紹 2.應用層面實現mysql讀寫分離

oracle dataguard 庫歸檔日誌缺失,導致庫不一致故障處理

背景描述: 主庫上由於歸檔日誌未及時清理,導致根目錄滿了,虛擬化環境,系統ping通,但連線不上,只好重啟。 由於主庫上堆積了大量歸檔日誌未應用到備庫,所以備庫上一直在追加日誌,然後在我低頭沉思賣萌的瞬間,再擡頭髮現備庫alert日誌報錯,缺失歸檔日誌。 火急火燎的檢視主庫