一、 创建Standby Database 要求 1、 Primary 与standby 数据库所在主机上的oracle server及操作系统版本必须相同,且具有相同的补丁; 2、 primary 数据库必须为archive mode;Standby Database也必须为archive mode ;
二、 创建standby数据库 1、 首先查看Primary Database的归档模式(svrmgr>archive log list)若为无归档模式,将数据库转换为自动归档方式,方法如下: 先关闭Primary Database: svrmgr>shutdown immediate 再以mount方式启动Primary Database: svrmgr>connect internal/password svrmgr>startup mount svrmgr>alter database <dbname> archivelog svrmgr>shutdown 2、 修改init%oracle_sid%.ora 文件中的参数,加入: log_archive_start = true # if you want automatic archiving log_archive_dest=%ORACLE_HOME%databasearchive log_archive_format = %ORACLE_SID%%S.%T其中log_archive_dest 是指归档日志文件存放的位置,可根据实际情况来设定,如E 盘空间较 大,可以设为:log_archive_dest=e:oracledatabasearchive 3、 复制Primary Database 的init%oracle_sid%.ora 和对应的Password 文件 到Standby Database 上的目录%oracle_home%database;根据实际情况修改Standby Database上的对应init%oracle_sid%.ora中的参数: log_archive_dest; 4、 在Standby Database位于的主机上创建实例,实例名称同Primary Database,例如: Oradim80 –new –sid SID_NAME –intpwd oracle –startmode auto –pfile=c:orantdatabaseinit%oracle_sid%.ora; 5、 在Primary Database上为Standby创建Controlfile,将controlfile 拷贝至Standby Database 的确定位置,操作如下: svrmgr>alter database create standby controlfile as <filename>; 6、 在Primary Database上将联机日志归档, svrmgr>alter system archive log current; 7、 关闭Primary Database, svrmgr>shutdown immediate 8、 从Primary Database上将所有数据文件、日志文件、归档日志文件(不包括控制文件)拷贝至Standby Database的确定位置; 9、 以nomount方式启动Standby Database: svrmgr>startup nomount svrmgr>alter database mount standby database[execlusive/parallel] 10、 同步Standby Database: svrmgr>recover standby database; 11、恢复Primary Database 启动状态。
三、维护standby数据库 1、 将primary数据库所产生的archive log文件定期传到standby数据库的确定位置;手工的做恢复,使standby数据库与primary数据库保持同步。 svrmgr> set autorecovery on; svrmgr> connect internal/password; svrmgr> startup nomount pfile=<c:orantdatabaseinitswcw.ora>; svrmgr> alter database mount standby database; svrmgr> recover standby database; svrmgr> shutdown 2、 当primary 数据库失败时,将standby 数据库激活:取消(cancel)恢复执行以下操作: svrmgr> connect internal/password; svrmgr> startup nomount pfile=<c:orantdatabaseinitswcw.ora>; svrmgr> alter database mount standby database; svrmgr>alter database activate standby database; shutdown standby 数据库; svrmgr>shutdown immediate 重起Standby Database; svrmgr>startup