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ù)器相應(yīng)目錄
創(chuàng)建Standby上的Oracle軟件目錄結(jié)構(gòu)
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用戶,修改oracle用戶的環(huán)境變量,修改/etc/system文件
1。設(shè)置Primary強(qiáng)制Logging
ALTER DATABASE FORCE LOGGING;
2。設(shè)置Primary為歸檔模式
3。檢查Primary中所有數(shù)據(jù)文件
4。關(guān)閉Primary,關(guān)閉應(yīng)用服務(wù)器,停止監(jiān)聽
5。cp所有數(shù)據(jù)文件到本地備份路徑
6。啟動Primary,保持監(jiān)聽和應(yīng)用服務(wù)器處于停止?fàn)顟B(tài)
7。生成Standby控制文件
ALTER DATABASE CREATE STANDBY CONTROLFILE AS ‘/tmp/stdby.ctl‘;
8。生成初始化參數(shù)文件
CREATE PFILE=‘/tmp/initctsdb.ora‘ FROM SPFILE;
9。將5,7,8中生成的所有文件以及密碼文件cp到Standby服務(wù)器
10。修改Standby的初始化參數(shù)文件
添加下面行:
*.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。設(shè)置Standby的SQLNET.ORA文件
添加SQLNET.EXPIRE_TIME=2,該配置表示在Standby由于故障不可用時,Primary將持續(xù)檢測2分鐘,如果仍然不可用,則返回網(wǎng)絡(luò)連接錯誤。
13。創(chuàng)建Standby的spfile
CREATE SPFILE FROM PFILE=‘/tmp/initctsdb.ora‘;
14。啟動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上也建立相應(yīng)的standby redolog
15。設(shè)置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的歸檔能否應(yīng)用到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。切換回管理恢復(fù)模式
ALTER DATABASE RECOVER MANAGED STANDBY DATABASE DISCONNECT FROM SESSION;
以上為MAX PERFORMANCE模式的DataGuard
如果要改為MAX AVAILABILITY,進(jìn)行如下操作:
檢查當(dāng)前Primary庫的保護(hù)模式
select protection_mode from v$database;
轉(zhuǎn)換:
shutdown immediate;
startup mount;
alter database set standby database to maximize availability;
alter database open;
如果要強(qiáng)制Primary一分種歸檔一次,那么設(shè)置Primary的初始化參數(shù)ARCHIVE_LAG_TARGET:
alter system set ARCHIVE_LAG_TARGET=60 scope=both;
如果想要自動在Standby上應(yīng)用Primary中創(chuàng)建數(shù)據(jù)文件等操作,需要在Standby上設(shè)置:
alter system set STANDBY_FILE_MANAGEMENT=AUTO scope=both;
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=55879