8i,9i,10g Standby 資料庫引數配置,後臺程式,問題處理等
======================================================================
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 PHYSICAL 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;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-405398/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle8i,9i, 10g Standby配置及相關引數, 操作說明Oracle
- 主庫千萬級的資料更新後,STANDBY日誌應用大量延遲的問題處理
- 9i資料庫hang死分析處理資料庫
- 資料庫響應慢問題處理資料庫
- 【問題處理】9i客戶端無法“直接”使用purge recyclebin命令清理10g資料庫回收站資訊客戶端資料庫
- 關於8i, 9i, 10g RMAN備份資料檔案哪些資料塊的疑問
- 10g資料庫例項使用11g asm錯誤問題處理資料庫ASM
- 資料庫升級問題處理一則資料庫
- Oracle資料庫無效物件問題處理Oracle資料庫物件
- 9i 和10g 同一機器安裝後tns配置問題
- python中多程式處理資料庫連線的問題Python資料庫
- 9i Dataguard (Standby) 引數設定參考
- 資料處理--pandas問題
- oracle資料庫改壞spfile引數重啟處理方法Oracle資料庫
- Oracle 資料庫歸檔配置-9i,10g,11gOracle資料庫
- Oracle資料庫中的逐行處理問題NEOracle資料庫
- 近期處理的Oracle資料庫問題總結Oracle資料庫
- 一次OWB資料庫效能問題處理資料庫
- Dataguard(Standby) 後臺程式
- DELETE TABLE資料後,查詢變慢,問題處理delete
- Nagios資料庫引數配置分析iOS資料庫
- 處理 Oracle7/8/8i/9i/10g/11g 中的 Oracle 塊損壞Oracle
- 9i資料庫下修改session_cached_cursors引數資料庫Session
- 配置資料庫問題?求救資料庫
- Oracle日常問題處理-資料庫無法啟動Oracle資料庫
- 資料庫主機重啟卡住問題處理分享資料庫
- Windows 下處理資料庫無法啟動問題Windows資料庫
- 資料庫如何處理大資料訪問資料庫大資料
- OracleAS 10g 修改IP問題處理Oracle
- PHP 後臺處理 JSON_encode 引數有空格,JS 輸出變 空格 變 + (加號)問題PHPJSON
- 資料庫異常關閉後無法啟動問題處理一例資料庫
- [網路資料] Oracle9i 升級到10g後的效能問題 - 引數調整Oracle
- 配置資料庫非同步I/O引數資料庫非同步
- standby無法使用歸檔日誌問題處理
- tempfile檔案過大問題處理 for logical standby
- 解決latch free問題的資料庫引數調整資料庫
- 如何處理Oracle資料庫中的壞塊問題(轉)Oracle資料庫
- openGauss資料庫xlog目錄滿問題處理資料庫