日期:2013-08-13  浏览次数:20587 次

一、创建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%\database\archive
     log_archive_format = %ORACLE_SID%%S.%T其中log_archive_dest
     是指归档日志文件存放的位置,可依据实际情况来设定,如E 盘空间较
     大,可以设为:log_archive_dest=e:\oracle\database\archive
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:\orant\database\init%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:\orant\database\initswcw.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:\orant\database\initswcw.ora>;
      svrmgr> alter database mount standby database;
      svrmgr>alter database activate standby database;
      shutdown standby 数据库;
      svrmgr>shutdown immediate
      重起Standby Database;
      svrmgr>startup