试验环境 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库),这样,我们就拥有了两台完全一样的oracle server 1. 在primary database上设置force logging SQL>alter database force logging; 2. 修改primary databse的初始化参数 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 3. 设置primary database为archivelog模式 SQL>shutdown immediate; SQL>startup mount; SQL>alter database archivelog; SQL>alter database open: 4. 在primary database上创建standby database的控制文件 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的对应位置
5. 修改standby databse的初始化参数 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’ 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在线文档 6. 设置primary database和standby database的tnsnames.ora 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) ) ) 7. 启动standby database SQL>startup nomount pfile=’d:\oracle\product\initdgtest.ora’ SQL>alter database mount standby database; 8. 启动primary database SQL>startup pfile=’d:\oracle\product\initdgtest.ora’ 9. 启动standby database到recover manage模式 SQL>alter database recover managed standby database disconnect from session; Switchover 在primary上 1. SQL>select switchover_status from v$database switchover_status的值入股是To standby,可以直接switchover,如果是sessions active, 则需要在switchover的命令后面加上with session shutdown [1] [2] 下一页 [ORACLE]在单机上创建物理的Oracle9i standby数据库 [ORACLE]Oracle10g + Solaris9 for x86 + vmware安装步骤 [ORACLE]RHEL AS 3 安装及启动 Oracle10g 指南
|