Standby (Data guard) 常用維護命令及相關概念
======================================================================
8i Standby init parameter configuration .
======================================================================
## The following parameters are the HA parameters needed for Standby Database on primary side
LOG_ARCHIVE_START=TRUE
LOG_ARCHIVE_FORMAT = "%t_%s.arc"
LOG_ARCHIVE_DEST_1='LOCATION=/data/umlaut/arch'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
LOG_ARCHIVE_DEST_2='SERVICE=standby OPTIONAL REOPEN=60'
LOG_ARCHIVE_MIN_SUCCEED_DEST=1
## The following parameter are the HA parameters needed for Standby Database on standby side
LOG_ARCHIVE_START=TRUE
LOG_ARCHIVE_FORMAT = "%t_%s.arc"
LOG_ARCHIVE_DEST_1='LOCATION=/stby/umlaut/arch'
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
STANDBY_ARCHIVE_DEST='/stby/umlaut/arch'
LOG_ARCHIVE_MIN_SUCCEED_DEST=1
======================================================================
9i/10g Standby init parameter configuration .
======================================================================
9i/10g Primary DB:
# for oracle9i standby .
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.log_archive_dest_2="service=standby optional reopen=60"
*.log_archive_min_succeed_dest=1
-------------------
9i/10g Standby DB:
# for oracle9i standby .
*.log_archive_dest_state_1=enable
*.log_archive_dest_state_2=enable
*.standby_archive_dest="/data/acer/arch"
*.db_file_name_convert=("/data/acer","/data/acer")
*.log_file_name_convert=("/u01/product/oradata/acer","/u01/product/oradata/acer")
*.log_archive_trace=0
*.log_archive_min_succeed_dest=1
*.standby_file_management=AUTO
*.remote_archive_enable=TRUE
*.fal_server='acer'
*.fal_client='standby'
======================================================================
8i Standby Windows 下的sqlnet設定問題 .
======================================================================
8i Standby Server作業系統應該是Windows系統,那麼使用arch自動傳輸模式(以上
引數),需要在standby上sqlnet.ora中註釋掉
# SQLNET.AUTHENTICATION_SERVICES= (NTS)
因為這個設定會導致需要primary db透過standby的OS認證才能以sysdba的身份登入
到standby中,而primary db不知道standby windowsServer的管理員密碼(除非兩臺
機器administrator密碼一樣)。
9i/10g 沒有這些問題。
======================================================================
9i/10g Standby parameter 說明1 :fal_server,fal_client
======================================================================
fal_server與fal_client
這兩個引數是9i的新引數,指明瞭自動日誌同步,在以前的環境中(如8i),只有手工解
決日誌差異,但是9i的這兩個引數可以自動檢測並解決日誌差異。Oracle8i 沒有這些引數,
由於一些問題導致的arch gap 需要手工複製然後恢復,由於8i Standby設定了
# SQLNET.AUTHENTICATION_SERVICES= (NTS) 【註釋掉了】,
所以不能以 sqlplus internal登入執行恢復動作 。請注意。
例如:
fal_server='primary'
fal_client='standby'
其中primary與standby必須是連線到主資料庫與備用資料庫的連線
standby_file_management
這個引數也是9i的新引數,可以自動同步資料檔案。
例如: standby_file_management=auto
======================================================================
9i/10g Standby parameter 說明2:
======================================================================
Standby上的 LOG_ARCHIVE_DEST_1和 standby_archive_dest
如果建立了standby redo log那麼online redo log將不需要轉化為archived檔案就可以傳輸到備機(LGWR),
這樣的話(LGWR方式),這些standby redo log在Standby上需要歸檔,用到standby上設定的引數log_archive_dest。
所以Standby上的 log_archive_dest 或 log_archive_dest_1 是standby 以lgwr方式傳輸的時候standby上的
online redo log 生成的archived log 檔案存放點。一般Oracle建議這兩個引數設定同樣的值。
Standby預設的arch傳輸方式,primary會遠端將archived log傳輸到standby_archive_dest下 。
LOG_ARCHIVE_DEST_1和 standby_archive_dest
STANDBY_ARCHIVE_DEST is used when logs are transmitted automatically from the
primary database. We use this parameter to determine where these logs should
be placed.
LOG_ARCHIVE_DEST is the location where we look for logfiles by default when
recovering the standby database. It is recommended to set the values of
STANDBY_ARCHIVE_DEST and LOG_ARCHIVE_DEST to the same values in most cases.
======================================================================
Standby上的開啟關閉注意點 .
======================================================================
關閉開啟Primary 以及 Standby一般步驟:
關閉: 先關閉Primary DB , 然後Standby DB.
開啟: 先開啟Standby DB , 然後Primary DB.
不過有時候出現問題點,生產期間只能關閉Standby DB ,那麼就只能直接關閉Standby
, 而不能先關閉正在使用的Primary DB . 這個時候產生兩個問題:
8i 情況: 如果關閉期間primary db上產生了歸檔,那麼需要手工複製,恢復。
9i/10g 情況: 一般設定了fal_server ,fal_client 不需要手工複製,standby啟動後自動傳輸應用。
但是偶爾也有一些問題點,需要手工複製,並register,詳細參考後面的standby問題
點處理。
對於設定了自動傳輸歸檔模式的standby,其standby開啟步驟為:
1. 開啟standby監聽;
2. sqlplus '/as sysdba'登陸並執行
startup nomount;
alter databae mount standby database;
recover managed standby database disconnect ;
需要重啟standby機器,則步驟為:
1. sqlplus '/as sysdba'登陸並執行
alter database recover managed standby database cancel ;
shutdown immediate;
2. 關閉監聽。
======================================================================
Standby上的各種特殊後臺程式 .
======================================================================
工作原理參考: http://space.itpub.net/35489/viewspace-405012
SQL> select process,status from v$managed_standby; 【Standby上】
PROCESS STATUS
--------- ------------
ARCH CONNECTED
ARCH CONNECTED
RFS RECEIVING
MRP0 WAIT_FOR_LOG
RFS ATTACHED
說明:
ARCn
當standby使用online redo的時候,也就是maximum protection或maximum availability模式下,ARCn用於歸檔。
MRP (Managed Recovery Process)就是管理恢復程式, 如果沒有MRP程式,說明你的備庫沒有處於恢復狀態, 沒有開啟
為
recover managed standby database狀態 ; 可以使用 alter database recover managed
standby database disconnect from session ;開啟為自動恢復應用歸檔模式。 Physical Standby DB Only .
RFS (Remote File Server) 接受由primary資料庫的lgwr或arch透過oracle net傳來的redo 資料,
寫入standby redo logs或standby archived redo logs
FAL(fetch archive log): 在primary和standby資料庫的兩端同時配置。Primary端是fetch archive log
server,standby
端是fetch archive log client. FAL是自動探測primary/standby資料庫之間archived logs是否有有間隔(gap)的一個
程式。
Physical Standby Database Only .
LSP (Logical standby process)(For logical standby databases only): 用SQL介面把歸檔應用到logical
database
DMON (Data Guard broker monitor) :用於監控資料庫的狀態,管理log transport services and log apply
services
On the primary and standby locations, the Data Guard broker使用DMON程式 .
On primary database:
Data Guard除了以上傳統的Arch日誌傳送過程外,還可以採用聯機日誌(LGWR)的傳送,在備用端(Standby)建議
建立一組備用日誌,並保持與主資料庫備用日誌相同大小,而且最好比主資料庫的聯機日誌多一組以上。如果LGWR
傳送日誌,但是不在備用端建立備用日誌的話,聯機日誌將自動寫到備用端的歸檔日誌中。即使是用LGWR進行日誌
的傳輸,備用庫的online redo log的內容是不能馬上被應用的,必須當歸檔完成後才由MRPn程式應用到備用資料庫
,所以說,恢復不是連續的,但是,傳送過程可以是連續的。即使備用資料庫不是在歸檔的模式,所有的線上日誌
還是會進行歸檔的操作,前提是ARCn程式必須開啟。
======================================================================
常用的幾個Standby View :
======================================================================
v$managed_standby和日誌傳輸,接收,應用有關 .
v$archive_gap 主要可以用來檢視備庫丟失了那些日誌.
v$archive_dest 如果日誌無法傳送,可以檢視v$archive_dest;
v$archive_dest_status檢視可以檢視備庫的狀態,保護模式,歸檔日誌路徑狀態
v$archived_log可以檢視日誌的一些資訊 ,包括日誌名字,應用時間,是否應用
======================================================================
Standby問題處理 :
======================================================================
是否被應用應該在STANDBY查詢最準確(錯誤會在standby alert log中出現)
SQL> select dest_name,status,error from v$archive_dest;
DEST_NAME
--------------------------------------------------------------------------------
STATUS ERROR
--------- -----------------------------------------------------------------
LOG_ARCHIVE_DEST_1 VALID
LOG_ARCHIVE_DEST_2 ERROR ORA-12540: TNS:internal limit restriction exceeded
======================================================================
如果Oracle9i,10g Standby上因為某些問題導致出現gap 而又不能在問題恢復之後正常傳輸到
Standby上,那麼需要手動複製歸檔到Standby上,然後
ALTER DATABASE REGISTER [OR REPLACE] [PHYSICAL | LOGICAL] LOGFILE filespec;
對於每一個手工拷的日誌都需要註冊一下, 如果是Physical Standby, 命令為:
ALTER DATABASE REGISTER OR REPLACE PHYSICAL LOGFILE '檔案路徑'; 寫Standby控制檔案。
======================================================================
--------------------------------------------------
例項操作:
歸檔日誌之間經常產生 gap,
1、Standby 確認歸檔日誌之間有無遺漏
SQL>SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
THREAD# LOW_SEQUENCE# HIGH_SEQUENCE#
---------- ------------- --------------
1 90 92
2、將遺漏的歸檔日誌 copy 到備庫的 standby_archive_dest 下然後在備庫上對其分別註冊
ALTER DATABASE REGISTER LOGFILE 'filespec1';
3、在備庫上恢復歸檔日誌
SQL> ALTER DATABASE RECOVER AUTOMATIC STANDBY DATABASE ;
4、如果有關閉Standby,那麼需要重新開啟為managed 恢復模式。
SQL> startup nomount;
SQL> alter databae mount standby database;
SQL> recover managed standby database disconnect;
==========================================================
Dataguard 常用維護手冊
==========================================================
Start Standby Database
startup nomount
alter database mount standby database;
alter database recover managed standby database disconnect;
Disable/Enable archive log destinations
alter system set log_archive_dest_state_2 = 'defer';
alter system set log_archive_dest_state_2 = 'enable';
To remove a delay from a standby
alter database recover managed standby database cancel;
alter database recover managed standby database nodelay disconnect;
Stop and Start of Logical standby apply
alter database stop logical standby apply;
alter database start logical standby apply;
Physical Standby switchover:
In Primary Database:
ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY;
SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
ALTER DATABASE MOUNT STANDBY DATABASE;
In standby Database:
ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
SHUTDOWN IMMEDIATE;
STARTUP;
In Primary Database:
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
If the primary Database is down,we can use fllowing step to active standby database:
Alter DATABASE RECOVER MANAGED STANDBY DATABASE FINISH;
Alter DATABASE COMMIT TO SWITCHOVER TO PRIMARY;
SHUTDOWN IMMEDIATE;
STARTUP;
Register missing archive log file
Find archive log gap by query:
SELECT THREAD#, LOW_SEQUENCE#, HIGH_SEQUENCE# FROM V$ARCHIVE_GAP;
register using:
ALTER DATABASE REGISTER PHYSICAL LOGFILE 'filespec1';
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1018125/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle data guard常用維護操作命令(轉)Oracle
- Oracle Logical Standby 維護常用命令Oracle
- 管理物理STANDBY資料庫——DATA GUARD概念和管理資料庫
- 建立物理STANDBY資料庫——DATA GUARD概念和管理資料庫
- oracle 11g data guard維護Oracle
- 管理邏輯STANDBY資料庫——DATA GUARD概念和管理資料庫
- 建立邏輯STANDBY資料庫——DATA GUARD概念和管理資料庫
- DATA GUARD部署模式——DATA GUARD概念和管理模式
- standby維護命令手冊(轉)
- 【DG】Data Guard搭建(physical standby)
- 19 Oracle Data Guard 相關檢視Oracle
- 介紹ORACLE DATA GUARD——DATA GUARD概念和管理Oracle
- Oracle 10g RAC 相關維護命令Oracle 10g
- Data Guard - Snapshot Standby Database配置Database
- Oracle 10g Data Guard的建立與維護Oracle 10g
- oracle維護相關Oracle
- [zt] Logical standby維護命令手冊
- 1 Oracle Data Guard Broker 概念Oracle
- data guard 歸檔日誌管理 (standby)
- DATA GUARD物理STANDBY的 SWITCHOVER切換
- Data Guard相關的動態效能檢視
- 【DataGuard】部署Data Guard相關引數詳解
- Data Guard相關的一些設定
- Data Guard維護管理三之處理archivelog gapHive
- Oracle 19C Data Guard基礎運維-01安裝物理standbyOracle運維
- HACMP&Cluster相關及常用命令ACM
- ORACLE DATA GUARD -一般概念Oracle
- DATA GUARD概念和管理總結
- 資料庫常用維護命令資料庫
- rac常用維護工具和命令
- mysql維護常用命令MySql
- hbase叢集 常用維護命令
- 18 與Oracle Data Guard 相關的SQL語句OracleSQL
- Script to Collect Data Guard Physical and Active Standby Diagnostic InformationORM
- data_guard 雙standby pfile 檔案配置
- 建立Data guard logical standby database須知Database
- DATA GUARD物理STANDBY的FAILOVER切換AI
- DATA GUARD物理STANDBY的 SWITCHOVER切換[zt]