全部博文(389)
分类: Oracle
2011-03-15 11:42:39
DATA GUARD之创建Phyical standby
1,安装好备库用的机器,OS和DB的版本,平台都要一样,安装DB的时候只要装软件就可以了,不需要创建DB.把必要的环境变量都设置好,如ORACLES_SID.
2,在主库上,把DB改为归档模式
A,发布startup mount;把DB启动到MOUNT状态;
B,发布 alter database arcivelog;把DB改为ARCHIVELOG模式;
C,发布arlter database open;打开DB,
3,在主库上执行强制日志,发布alter database force logging;
4,在主库上手动SWITCHLOG和归档日志,查看归档日志文件是否正常生
A,alter sytem switch logfile;强制日志SWITCH
B,alter system archive log current;手动归档日志;
C,使用archive log list;查看日志序列号是否正常
注:如果没有定义log_archive_dest_n参数,则使用db_recovery_file_dest参数定的路径,还要注意db_recovery_file_dest_size大小设置,不要发生归档满的情况.
5,在主库上执行create pfile from spfile,这样就会在$ORACLE_HOME/dbs目录下生成一个initSID.ora参数文件.在关闭主库记得原来的SPFILE改名.
6,在主库创建备库使用的控制文件,发布以下命令alter database create standby controlfile as ‘文件名’
7,关闭主库.在LINUX上,在主库机器上使用以用SCP命令把数据文件,日志文件,还有之前创建的控制文件,密码文件,参数文件initSID.ora.都拷到备库机器上去
#scp * 192.168.1.12:/u01/app/oracle/oradata/orcl
8,在主库上改initSID文件,修改的几个参数
Db_unique_name=’dg1’,log_archive_config=’DG_CONFIG(dg1,dg2)’,
Log_archive_dest_1=’location=/目录/ valid_for(all_logfiles,all_roels) db_unique_name=dg1’
Log_archive_dest_2=’service=备库的TNS名 valid_for(online_logfiles,primary_role) db_unique_name=dg2’;log_archive_dest_state_1=enable, log_archive_dest_state_2=enable,
Fal_server=dg2/*对方的TNS名*/,fal_client=dg1,standby_file_management=auto
9,在备库上把在ORACLE_HOME/DBS中改名拷过来的pfile(也可以不改,在启动时指定),在initSID.ora中出现的目录,必须要创建.然后再更改文件中的内容,和主库的更改刚好相反
10,创建了必须的目录之后,把数据文件,日志文件,控制文件都拷过去,记得控制文件须要重命名,要和PFILE中定义一致
11,在主库和备库的TNSNAME.ORA的文件增加对方的命名;
12,启动主库
13,在备库上,首先>startup nomount;
然后再mount到STANDBY, >alter database mount standby database;
开启ARCHIVE LOG恢复, >alter database recover managed standby database disconnect from session;
14,在主库执行几次手动SWITCH LOG,然后在主库上分别使用>archive log list查看两边的日志的序列号是否一致,如果一致则说明STANDBY创建成功.