Physical Standby配置
修改控制文件,修改最大日志組為10
alter database backup controlfile to trace;
ORACLE_HOME為/opt/oracle/app/oracle/product/
190作為primary,185作為Standby
創(chuàng )建Standby的Oracle軟件
打包Primary上的oracle軟件
cd /opt/oracle/app/oracle/product
tar cvf db.tar
ftp到Standby服務(wù)器相應目錄
創(chuàng )建Standby上的Oracle軟件目錄結構
mkdir -p /opt/oracle/app/oracle/product
cd /opt/oracle/app/oracle/product
tar xvf db.tar
cd /opt/oracle/app/oracle
mkdir -p admin/ctsdb/bdump
mkdir -p admin/ctsdb/cdump
mkdir -p admin/ctsdb/udump
創(chuàng )建Standby上的dba組,oracle用戶(hù),修改oracle用戶(hù)的環(huán)境變量,修改/etc/system文件
1。設置Primary強制Logging
ALTER DATABASE FORCE LOGGING;
2。設置Primary為歸檔模式
3。檢查Primary中所有數據文件
4。關(guān)閉Primary,關(guān)閉應用服務(wù)器,停止監聽(tīng)
5。cp所有數據文件到本地備份路徑
6。啟動(dòng)Primary,保持監聽(tīng)和應用服務(wù)器處于停止狀態(tài)
7。生成Standby控制文件
ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘/tmp/stdby.ctl‘;
8。生成初始化參數文件
CREATE PFILE=‘/tmp/initctsdb.ora‘ FROM SPFILE;
9。將5,7,8中生成的所有文件以及密碼文件cp到Standby服務(wù)器
10。修改Standby的初始化參數文件
添加下面行:
*.standby_archive_dest=‘/export/spare/oradata/ctsdb/archive‘
*.fal_server=‘ctsdb.primary‘
*.fal_client=‘ctsdb.standby‘
*.standby_file_management=auto
*.remote_archive_enable=TRUE
11。修改Primary和Standby的lisener.ora和tnsnames.ora文件
# LISTENER.ORA Network Configuration File: /opt/oracle/app/oracle/product/
network/admin/listener.ora
# Generated by Oracle configuration tools.
SID_LIST_LISTENER_DG =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ctsdb)
(ORACLE_HOME = /opt/oracle/app/oracle/product/
(SID_NAME = ctsdb)
)
)
LISTENER_DG =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 129.200.9.190)(PORT = 1522))
)
# TNSNAMES.ORA Network Configuration File: /opt/oracle/app/oracle/product/
network/admin/tnsnames.ora
# Generated by Oracle configuration tools.
CTSDB.STANDBY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 129.200.9.185)(PORT = 1522))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = ctsdb)
)
)
CTSDB.PRIMARY =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 129.200.9.190)(PORT = 1522))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SID = ctsdb)
)
)
12。設置Standby的SQLNET.ORA文件
添加SQLNET.EXPIRE_TIME=2,該配置表示在Standby由于故障不可用時(shí),Primary將持續檢測2分鐘,如果仍然不可用,則返回網(wǎng)絡(luò )連接錯誤。
13。創(chuàng )建Standby的spfile
CREATE SPFILE FROM PFILE=‘/tmp/initctsdb.ora‘;
14。啟動(dòng)Standby
STARTUP NOMOUNT;
ALTER DATABASE
添加standby redolog
alter database add standby logfile group 4 (‘/export/spare/oradata/ctsdb/stdby_redo04.log‘) size 10240K;
alter database add standby logfile group 5 (‘/export/spare/oradata/ctsdb/stdby_redo05.log‘) size 10240K;
alter database add standby logfile group 6 (‘/export/spare/oradata/ctsdb/stdby_redo06.log‘) size 10240K;
alter database add standby logfile group 7 (‘/export/spare/oradata/ctsdb/stdby_redo07.log‘) size 10240K;
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
為了防止以后primary和standby切換,可以在primary上也建立相應的standby redolog
15。設置Primary的歸檔地址
ALTER SYSTEM SET LOG_ARCHIVE_DEST_2=‘SERVICE=CTSDB.STANDBY LGWR‘ SCOPE=BOTH;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE SCOPE=BOTH;
16。測試Primary的歸檔能否應用到Standby
ALTER SYSTEM ARCHIVE LOG CURRENT;
17。停止Standby
alter database recover managed standby database finish;
shutdown immediate;
18。切換到只讀模式
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE CANCEL;
ALTER DATABASE OPEN READ ONLY;
19。切換回管理恢復模式
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
以上為MAX PERFORMANCE模式的DataGuard
如果要改為MAX AVAILABILITY,進(jìn)行如下操作:
檢查當前Primary庫的保護模式
select protection_mode from v$database;
轉換:
shutdown immediate;
startup mount;
alter database set standby database to maximize availability;
alter database open;
如果要強制Primary一分種歸檔一次,那么設置Primary的初始化參數ARCHIVE_LAG_TARGET:
alter system set ARCHIVE_LAG_TARGET=60 scope=both;
如果想要自動(dòng)在Standby上應用Primary中創(chuàng )建數據文件等操作,需要在Standby上設置:
alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=both;
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=55879

