引數配置 -- 最大效能模式 dataguard 不影響Production DB .
log_archive_dest_2='SERVICE=standby_test MANDATORY REOPEN=60';
當從庫出現問題的時候,要不影響到主庫的生產,我們可以去掉 MANDATORY 和 REOPEN
目前比較好的辦法就是STANDBY的設定為optional ,因為有可能是半夜網路當掉,那時DBA又不在位子上,無法手工設為defer的。有個可選的辦法就是白天為mandatory,晚上為optional,可以寫指令碼定時執行轉換的。
[@more@]附: Oracle9i Dataguard建立
-------------------------------------------------------------------------------
操作環境:Windows 2000 Professional + Serveice pack 4
資料庫:Oracle 9201
主庫SID:pormals
從庫SID:pormals
oracle安裝採用OMF結構
1.主從兩機的作業系統和相同pack
2.在主從庫上建立資料庫,選擇只安裝Software
3.在主庫上,透過dbca建立資料庫,除了字符集選擇 zhs16gbk外,全部使用預設方式
4.在從庫上,手工建立和主庫相同目錄
5.關閉主庫資料庫,備份資料檔案到從庫
確定需要copy過去的資料檔案以及redo log
sqlplus /nolog
SQL> conn / as sysdba;
SQL> select file_name from dba_data_files;
確定所要copy資料檔案
SQL> select member from v$logfile;
確定所要copy聯機日至檔案
SQL> shutdown immediate;
copy 上面選出的所有檔案到從庫上相應的目錄.
6.開啟主庫資料庫,修改為歸檔方式(oracle9i使用者操作)
手工建立歸檔目錄C:OracleArch
sqlplus /nolog
SQL> conn / as sysdba;
Connected.
SQL> startup mount;
SQL> alter database archivelog;
SQL> archive log start;
SQL> archive log list;
SQL> alter database open;
SQL> alter system set LOG_ARCHIVE_DEST_1='LOCATION=C:OracleArch';
SQL> alter system set log_archive_format='%t_%s.dbf' scope=spfile;
SQL> alter system set log_archive_start=true scope=spfile;
重新啟動資料庫,使修改結果生效
SQL> shutdown immediate;
察看歸檔模式
SQL> startup
SQL> archive log list;
7.在主庫上製作從庫control file
sqlplus /nolog
SQL> conn / as sysdba;
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS 'C:Oraclecontrol01.ctl';
copy主庫C:oraclecontrol01.ctl 到從庫 C:oracleoradataporamals目錄下
8.配置主庫listener.ora和tnsnames.ora檔案
可以用net manager配置或者直接編輯c:oracleora92networkadminlistener.ora和tnsname.ora檔案
也即正常為主庫配置偵聽和連線到主庫(primary)、主庫到從庫(standby)的網路服務名
9.配置從庫listener.ora和tnsnames.ora檔案
可以用net manager配置或者直接編輯c:oracleora92networkadminlistener.ora和tnsname.ora檔案
也即正常為從庫配置偵聽和連線到從庫到主庫(primary)、直接到從庫(standby)的網路服務名
10.啟動主從庫的listener
分別在主從庫上執行如下命令
lsnrctl start
看主從庫listener是否正常啟動
11 檢查主從庫tnsnames.ora配置
主庫 tnsping standby
從庫 tnsping primary
看分別到主從庫的服務名是否配置正確
12.在主庫上建立pfile,因為9i預設使用spfile
sqlplus /nolog
SQL> conn / as sysdba;
Connected.
SQL> create pfile='C:oracleora92databaseinitporamls.ora' from spfile;
13.copy 剛才建立的C:oracleora92database.orainitpormals.ora 到從庫相應目錄
14.修改從庫剛才copy的initpormals.ora檔案
主要修改新增:
修改CONTROL_FILES使它符合你的控制檔案的實際路徑
新增:
STANDBY_ARCHIVE_DEST=’location=c:oracleStarch’
FAL_SERVER=’PRIMARY’
FAL_CLIENT=’STANDBY’
standby_file_management=’AUTO’
其中standby_file_management不是必須要,但是為了後面主庫新增檔案,從庫能自動處理,加上這個引數,避免麻煩。
同時收工建立從庫的相關歸檔日誌路徑C:oracleStarch。
15.copy 主庫的C:oracleora92databasepwdpormals.ora到從庫相應目錄
16.建立從庫例項名 dos>oradim -new -sid pormals
17.啟動從庫
sqlplus /nolog
SQL> startup nomount;
SQL> ALTER DATABASE MOUNT STANDBY DATABASE;
將從庫置為standby模式
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
18.在主庫上設定到從庫的歸檔
SQL> alter system set log_archive_dest_2='SERVICE=standby MANDATORY REOPEN=60';
SQL> select *from v$log;
切換當前聯機日誌
SQL> alter system switch logfile;
SQL> select *from v$log;
察看從庫後臺日誌
C:oracleadminpormalsbdumppormals_arler.
看當前歸檔日誌是否已經正常完成恢復
至此data guard配置完成。
19.測試一下
在主庫上
SQL> create user test identified by 密碼;
SQL> grant connect ,resource to test ;
SQL> conn test/密碼@primary;
SQL> create table test(name varchar2(20));
SQL> insert into test values('hi,data guard');
SQL> commit;
SQL> conn / as sysdba
SQL> alter system switch logfile;
察看從庫日誌
C:oracleadminporamlsbdumppormals_alert.ora
看當前歸檔日誌是否已經正常完成恢復
已只讀方式開啟從庫察看是否insert into test values('hi,data guard');已經生效。
在從庫上
SQL> conn / as sysdba;
SQL> alter database recover managed standby database cancel;
SQL> alter database open read only;
SQL> conn test/密碼
SQL> select * from test;
察看是否insert into test values('hi,data guard');已經生效。
如果生效說明已經完全正常工作,data guard到此完全配置完畢。
再次置從庫在恢復模式
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE disconnect from session;
注:
1、關於啟動關閉順序
啟動的時候,先從庫的listener,然後啟動從庫,然後啟動主庫的listener 接著是主庫 關閉的時候正好相反,先關閉主庫,然後是從庫。
2、一些常用的view
V$ARCHIVE_DEST_STATUS 這裡面會紀錄到standby 的狀態和恢復到那個日誌
V$ARCHIVE_GAP 這裡面會紀錄當前從庫mrp程式恢復需要的膽識還沒有傳到從庫得日誌
V$ARCHIVED_LOG 這裡面會紀錄所有已經歸檔到從庫的日誌,並且記錄該日誌是否已經恢復
V$DATABASE 會紀錄系統的保護狀態和是否處於force logging狀態
V$MANAGED_STANDBY (Physical Standby Databases Only) 會紀錄當前從庫的一些程式情況和程式的process id,如rfs,mrp等
V$STANDBY_LOG (Physical Standby Databases Only) 會紀錄當前從庫的standby redo log的一些情況。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-1001809/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Java教程:影響MySQL效能的配置引數JavaMySql
- DB2 HADR對效能的影響DB2
- 【Dataguard】Oracle多租戶環境對Dataguard的影響Oracle
- JVM 引數調整對 sortx 的影響JVM
- DB_FILES引數
- 哪些公司受華為影響最大?
- RAC 修改引數DB_FILES
- 【DATAGUARD】Oracle21c Dataguard建立注意事項及主要引數介紹Oracle
- JPEG的量化引數QP如何影響壓縮質量
- MySQL:簡單記錄character_set_server影響引數MySqlServer
- Kafka之acks引數對訊息持久化的影響Kafka持久化
- MySQL:Innodb:innodb_flush_log_at_trx_commit引數影響的位置MySqlMIT
- IBM收購紅帽,對誰影響最大?IBM
- OpenAI Sora對遊戲行業影響最大OpenAISora遊戲行業
- 受盜版影響最大的行業是?行業
- 引數配置
- 影響mysql效能的因素都有哪些MySql
- 影響HTTP效能的常見因素HTTP
- Java UUID生成的效能影響 – fastthreadJavaUIASTthread
- 影響MySQL效能的硬體因MySql
- 影響MySQL效能的硬體因素MySql
- oracle dataguard broker 配置Oracle
- 【DATAGUARD】Dataguard遠端同步配置最佳實踐
- 常用的jvm配置引數 :永久區引數配置JVM
- MySQL:slave_skip_errors引數對MGR可用性的影響MySqlError
- 瞭解 ignore_above 引數對 Elasticsearch 中磁碟使用的影響Elasticsearch
- 2.6.2.2 初始化引數DB_DOMAINAI
- 2.6.2.1 初始化引數DB_NAME
- MySQL binlog_ignore_db 引數最全解析MySql
- [20210310]db_lost_write_protect引數.txt
- MySQL null值儲存,null效能影響MySqlNull
- session效能的影響,後臺 flush dirtySession
- JavaWeb引數配置JavaWeb
- OceanBase學習之路48|最佳效能引數的配置參考
- Oracle 單機配置DataGuardOracle
- NV驅動重灌不會影響CUDA
- 2.6.5.1 DB_BLOCK_SIZE 初始化引數BloC
- MySQL效能最佳化之Open_Table配置引數的合理配置建議MySql
- mysql 複製引數replicate_do_db和replicate_ignore_db介紹MySql