日期:2014-05-16 浏览次数:20504 次
试验环境 配置步骤 1.????? 在primary database上设置force logging 2.????? 修改primary databse的初始化参数? 修改参数: 3.????? 设置primary database为archivelog模式 4.????? 在primary database上创建standby database的控制文件 5.????? 修改standby databse的初始化参数 6.????? 设置primary database和standby database的tnsnames.ora --使用TNSPING 测试一下listener --拷贝数据库文件等 7.????? 启动standby database? 8.????? 启动primary database 9.????? 启动standby database到recover manage模式 Switchover 在primary上 1.????? SQL>se
primary server:?
windows2000 server + oracle 10.0.1.0.2?
ORACLE_SID:dgtest?
ORACLE_HOME: D:\oracle\product\10.1.0\db_1
standby server:?
windows XP pro + oracle 10.0.1.0.2
ORACLE_SID:dgtest
ORACLE_HOME: D:\oracle\product\10.1.0\db_1
首先,装好primary和standby上的oracle,建SID同为dgtest的库,所有设置完全相同。然后停止shutdown两台上的oracle,将primary上的所有数据文件,控制文件,redo文件和password文件都copy到standby机器的相应位置。(还可以利用热备,rman等来建立初始standby库)在我感觉在要配置完成,使用新参数文件启动standby的时候拷贝文件为好,这样,我们就拥有了两台完全一样的oracle server。
SQL>alter database force logging;
创建pfile?? SQL> create pfile='D:\oracle\product\pfdgtest.ora' from spfile;
#DB_UNIQUE_NAME=‘primary’
CONTROL_FILES='d:\oracle\product\oradata\control01.ctl','d:\oracle\product\oradata\control02.ctl','d:\oracle\product\oradata\control03.ctl'
LOG_ARCHIVE_DEST_1= 'LOCATION=d:\oracle\product\arch‘
LOG_ARCHIVE_DEST_2= 'SERVICE=standby’
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
LOG_ARCHIVE_FORMAT='arc%s%t%r.arc'
FAL_SERVER=standby
FAL_CLIENT=primary?
STANDBY_FILE_MANAGEMENT=AUTO
LOCK_NAME_SPACE?? ---这是当主数据库和备用数据在同一台机上时要设该参数,设为备用数据库的SID
SQL>shutdown immediate;
SQL>startup mount;
SQL>alter database archivelog;
SQL>alter database open:
SQL>shutdown immedaite;
SQL>startup mount;
SQL>alter database create standby controlfile as ‘d:\oracle\product\oradata\controlstandby.ctl’
SQL>alter database open;
然后将该controlfile复制到standby server的对应位置
#DB_UNIQUE_NAME=‘standby’
CONTROL_FILES='d:\oracle\product\oradata\controlstandby.ctl'
LOG_ARCHIVE_DEST_1= 'LOCATION=d:\oracle\product\arch’
LOG_ARCHIVE_DEST_2= 'SERVICE=primary‘
LOG_ARCHIVE_DEST_STATE_1=ENABLE
LOG_ARCHIVE_DEST_STATE_2=ENABLE
#STANDBY_ARCHIVE_DEST=‘d:\oracle\product\arch’ -- oracle 10gR2后不需要该参数,用log_archive_d
REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
FAL_SERVER=primary
FAL_CLIENT=standby
STANDBY_FILE_MANAGEMENT=AUTO
DB_FILE_NAME_CONVERT???? ----当primary和standby的数据文件路径不一致时使用
LOG_FILE_NAME_CONVERT??? ----当primary和standby的数据文件路径不一致时使用
LOCK_NAME_SPACE?????????? ----当主数据库和备用数据在同一台机上时设为备用数据库的SID?
具体参数的说明请参考oracle在线文档
primary =
(DESCRIPTION =
??? (ADDRESS_LIST =
????? (ADDRESS = (PROTOCOL = TCP)(HOST = primary_server)(PORT = 1521))
??? )
??? (CONNECT_DATA =
????? (SERVICE_NAME = dgtest)
??? )
)
standby =
(DESCRIPTION =
??? (ADDRESS_LIST =
????? (ADDRESS = (PROTOCOL = TCP)(HOST = standby_server)(PORT = 1521))
??? )
??? (CONNECT_DATA =
????? (SERVICE_NAME = dgtest)
??? )
)
SQL>startup nomount pfile=’d:\oracle\product\initdgtest.ora’
SQL>alter database mount standby database;
SQL>startup pfile=’d:\oracle\product\initdgtest.ora’
SQL>alter database recover managed standby database disconnect from session;