oracle 查看日志组切换状态_Oracle 11g ADG 快照备库切换步骤
作者 | JiekeXu
來源 |?JiekeXu之路(ID: JiekeXu_IT)
轉載請聯系授權 |?(微信ID:xxq1426321293)
大家好,我是 JiekeXu,很高興又和大家見面了,今天分享下 Oracle 11g ADG 快照備庫切換步驟。本文首發于微信公眾號【JiekeXu之路】,歡迎點擊上方藍字關注我吧!有時候為了配合業務部門的演練工作,需要在 ADG 備庫進行一些業務模擬演練,這樣就需要將備庫切換成可以讀寫的模式,剛好 Oracle 11g 有個新特性就是快照備庫(snapshot standby),將 ADG 備庫切換成快照備庫,這個就可以滿足應用要求,實現讀寫的操作,待應用完成業務演練后,再將快照備庫切換成物理備庫即可,這樣就不會破壞原有備庫的結構。
以下備庫為 RAC 架構下的 ADG 備庫,即 MAA 架構。
第一部分:檢查備庫同步情況以 oracle 用戶登錄到備庫數據庫主機下執行:
sqlplus / as sysdba檢查備庫狀態
--看到實例狀態為只讀物理備庫 READ ONLY WITH APPLY,PHYSICAL STANDBY
NAME DATABASE_ROLE OPEN_MODE PROTECTION_MODE REMOTE_A SWITCHOVER_STATUS FLASHBACK_ON
------------- ---------------- -------------------- -------------------- -------- -------------------- ------------------
BJZZSKP PHYSICAL STANDBY READ ONLY WITH APPLY MAXIMUM PERFORMANCE ENABLED NOT ALLOWED NO
查詢同步延遲
set pagesize 20;column name format a13;
column value format a20;
column unit format a30;
column TIME_COMPUTED format a30;
select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');
--看到以下 VALUE 結果為 0 則實時同步
NAME VALUE UNIT TIME_COMPUTED
------------- -------------------- ------------------------------ ------------------------------
transport lag +00 00:00:00 day(2) to second(0) interval 07/27/2020 10:43:58
apply lag +00 00:00:00 day(2) to second(0) interval 07/27/2020 10:43:58
第二部分:設置快照備庫
以 oracle 用戶登錄到備庫數據庫主機下執行:
sqlplus / as sysdba
檢查磁盤組ARCH的剩余空間
col PATH for a33col NAME for a15
col FAILGROUP for a15
select group_number,name,total_mb/1024 total_gb,free_mb/1024 free_gb,TYPE,state
--,(total_mb-free_mb)/total_mb
from v$asm_diskgroup;
GROUP_NUMBER NAME TOTAL_GB FREE_GB TYPE STATE
------------ --------------- ---------- ---------- ------ -----------
1 ARCH 100 96.6152344 EXTERN CONNECTED
2 DATA 200 127.306641 EXTERN CONNECTED
3 OCR 3 2.09570313 NORMAL MOUNTED
檢查閃回是否開啟
SQL> select flashback_on from v$database;FLASHBACK_ON
------------------
NO
根據以上查詢到 +ARCH 剩余大小設置 20G-30G 左右的閃回空間,以下節點 1 指數據庫主機1,節點 2 指數據庫主機 2 均在 SQLPlus 下運行.
[節點1]alter system set db_recovery_file_dest_size=30G scope=both;
2.設置閃回區路徑
[節點1]
alter system set db_recovery_file_dest='+ARCH' scope=both;
3.關閉災備兩個接節點的數據庫
[節點1]
shutdown immediate
[節點2]
shutdown immediate
4.一節點啟動到mount階段
[節點1]
startup mount
5.數據庫開啟閃回
[節點1]
alter database flashback on;
6.將備庫改成快照模式(只讀變成讀寫)
[節點1]
alter database convert to snapshot standby;
7.啟動數據庫
[節點1]
alter database open;
[節點2]
startup
第三部分:快照備庫還原為物理備庫
災備業務模擬之后,還原備庫(建議盡快還原備庫)
[節點1]shutdown immediate
[節點2]
shutdown immediate
2.啟動數據庫到mount狀態
[節點1]
startup mount
3.將數據庫從快照模式轉換為物理備庫
[節點1]
alter database convert to physical standby;
4.重啟數據庫至mount
[節點1]
shutdown immediate;
startup nomount;
alter database mount standby database;
5.關閉閃回
[節點1]
alter database flashback off;
alter system set db_recovery_file_dest='' scope=both;
6.打開數據庫(如有問題,聯系總部oracle技術支持)
[節點1]
alter database open;
shutdown immediate;
startup;
[節點2]
startup
7.啟動日志應用進程,同步生產主庫數據
[節點1]
alter database recover managed standby database using current logfile disconnect from session;
8.多次重復執行檢查主備同步狀態,傳輸日志和應用日志時間
[節點1]
set linesize 150;
set pagesize 20;
column name format a13;
column value format a20;
column unit format a30;
column TIME_COMPUTED format a30;
select name,value,unit,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');
以下時間為 0 則正常
NAME VALUE UNIT TIME_COMPUTED
------------- -------------------- ------------------------------ ------------------------------
transport lag +00 00:00:00 day(2) to second(0) interval 05/27/2020 11:00:06
apply lag +00 00:00:00 day(2) to second(0) interval 05/27/2020 11:00:06
9.當然也可查看 MRP0 進程存在且處于 APPLYING_LOG 模式為正常。
SELECT PROCESS, STATUS,SEQUENCE#,thread# FROM V$MANAGED_STANDBY;
PROCESS STATUS SEQUENCE# THREAD#
--------- ------------ ---------- ----------
ARCH CLOSING 5695 2
ARCH CLOSING 6131 1
ARCH CLOSING 5882 2
ARCH CLOSING 5741 1
ARCH CLOSING 6061 1
ARCH CLOSING 5920 1
ARCH CONNECTED 0 0
ARCH CLOSING 6052 1
ARCH CLOSING 5720 1
ARCH CLOSING 5847 1
RFS IDLE 0 0
RFS IDLE 0 0
MRP0 APPLYING_LOG 6109 2
13 rows selected.
以下備庫為單機文件系統架構下的 ADG 備庫。
略有不同的就是第二部分,閃回目錄只能設置到本地文件系統,不能設置到 ASM 磁盤組了。第三部分不涉及到節點 2 的操作,只在一個節點完成前面第三部分的內容即可。
以 oracle 用戶登錄到備庫數據庫主機下執行:
df -h
檢查 /app 文件系統的的剩余空間
檢查是否開啟閃回
sqlplus / as sysdbaSQL> select flashback_on from v$database;
FLASHBACK_ON
------------------
NO
根據以上查詢到 /app 大小設置 20G-30G 左右的閃回空間
[節點1]alter system set db_recovery_file_dest_size=30G scope=both;
2.設置閃回區路徑
注意:如果沒有 /app/flash 目錄,則需要創建此目錄,執行mkdir -p /app/flash
[節點1]
alter system set db_recovery_file_dest='/app/flash' scope=both;
3.關閉災備兩個接節點的數據庫
[節點1]
shutdown immediate
4.一節點啟動到mount階段
[節點1]
startup mount
5.數據庫開啟閃回
[節點1]
alter database flashback on;
6.將備庫改成快照模式(只讀變成讀寫)
[節點1]
alter database convert to snapshot standby;
7.啟動數據庫
[節點1]alter database open;
------------------------------------------------------
SQL> SELECT SEQUENCE#, FIRST_TIME, NEXT_TIME -
> FROM V$ARCHIVED_LOG ORDER BY SEQUENCE#;SEQUENCE# FIRST_TIME NEXT_TIME
---------- ------------------ ------------------
8 11-JUL-07 17:50:45 11-JUL-07 17:50:53
9 11-JUL-07 17:50:53 11-JUL-07 17:50:58
10 11-JUL-07 17:50:58 11-JUL-07 17:51:03
11 11-JUL-07 17:51:03 11-JUL-07 18:34:11
4 rows selected.
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING CURRENT LOGFILE DISCONNECT FROM SESSION;
更多 DataGuard 請查看如下官方文檔:
https://docs.oracle.com/cd/E11882_01/server.112/e41134/create_ps.htm#SBYDB00200
好了,今天就先到這里了,小伙伴們再見了。寫作不易,此文如果對你有幫助,請支持“在看”與轉發,您的支持便是我不斷寫作的最大的動力,實在吝嗇點個贊也行哈,微信公眾號以前的點贊又回來了,加油,讓我們一起努力做更好的自己!
Oracle 12c 及以上版本補丁更新說明及下載方法(收藏版)
Oracle 19c 之多租戶 PDB 連接與訪問(三)
Oracle 12C 最新補丁下載與安裝操作指北
關于 Oracle ACFS 相關知識的簡單學習
Oracle 相關認證證書查詢及真偽辨別
點亮在看,你最好看!
總結
以上是生活随笔為你收集整理的oracle 查看日志组切换状态_Oracle 11g ADG 快照备库切换步骤的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 枚举类型是怎样定义的?有什么用途?_新型
- 下一篇: 求两条轨迹间的hausdorff距离_圆