1、 (SERVICE_NAME = standby)primary = (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.124.132)(PORT = 1521) (SERVICE_NAME = primary)3确保在主、备库可以通过CMD命令sqlplus scott/adminprimary ,sqlplus scott/adminstandby相互程登录 二、主库操作1设置主库归档模式,查看是否为归档:SQL archive log list;在安装oracle的时候,可以直接选择为存档模式。如果自动存档未开启,执行 alter database a
2、rchivelog;然后设置强制归档 alter database force logging;查看 select force_logging from v$database;主库归档配置完成。2. 添加主库standby联机日志(路径不存在需要手动建立) alter database add standby logfile group 4C:appAdministratororadataORCLONLINELOGredo04.log size 50m; alter database add standby logfile group 5appAdministratororadataORCLO
3、NLINELOGredo05.log alter database add standby logfile group 6appAdministratororadataORCLONLINELOGredo06.log3. 编辑主库参数文件创建主库pfile create pfile=c:primary.ora from spfile;打开创建好的primary.ora 修改或添加以下参数*.db_name=orcl*.log_archive_format=ARC_%T%S%r.ARC*.DB_UNIQUE_NAME=primary*.log_archive_config=DG_CONFIG=(p
4、rimary,standby)*.log_archive_dest_1=location=E:appadminoradataarchive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=primary*.log_archive_dest_2=SERVICE=standby ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=standby*.LOG_ARCHIVE_DEST_STATE_1=ENABLE*.LOG_ARCHIVE_DEST_STATE_2=ENABLE*
5、.FAL_SERVER=standby*.FAL_CLIENT=*.STANDBY_FILE_MANAGEMENT=AUTO(注意:有些参数与primary.ora现存的参数重复,建议相同的只保留一条,标红为特别注意需按实际情况修改的)4. 使用新编辑的primary.ora启动数据库 shutdown immediate; startup pfile= mount; create spfile from pfile=c:; - 写入spfile 再关闭重启实例这个错误可以不管,也可以在关闭之前alter database open,然后关闭 startup重建一次pfilestd.ora修改
6、创建好的std.ora appadminoradataarchive VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=standbySERVICE=primary ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=primary*.FAL_CLIENT=standby (注意:有些参数与std.ora现存的参数重复,建议相同的只保留一条,标红为特别注意需按实际情况修改的)5. 创建standby controlfile alter database create sta
7、ndby controlfile as std.ctl 改名并复制2份,control01.ctl control02.ctl关闭主库数据库。三、备库操作1.在主备库都关闭的状态下,拷贝主库standby控制文件(即改名后的control01.ctl)、std.ora参数文件、密码文件(ORACLE_HOMEdatabasePWDsid.ora)、所有数据文件、联机日志文件(C:appAdministratororadata下所有文件)到备库相对应目录。2. 使用std.ora启动备库 nomount; create spfile from pfile=(会报错,不用管) startup no
8、mount; alter database mount standby database;查看日志路径: select * from v$log;设置应用归档 alter database recover managed standby database disconnect from session;(取消应用归档SQL alter database recover managed standby database cancel;)备库配置完成。主库备库执行 SELECT SWITCHOVER_STATUS FROM V$DATABASE;主库显示备库显示3.测试Active DataGua
9、rd备库执行,取消应用归档alter database recover managed standby database cancel;打开数据库Read only模式alter database mount standby database; alter database open read only;修改备库模式为收到日志后完成恢复alter database recover managed standby database using current logfile disconnect;select open_mode from v$database;查看数据库打开状态在主库验证归档目
10、录是否有效: SELECT STATUS,DESTINATION, ERROR FROM V$ARCHIVE_DEST;状态为valid4主库上查看角色切换是否能够满足(当主库的SWITCHOVER_STATUS状态为FAILED DESTINATION时,是因为备库不在mount状态下,在备库中:startup mount;当主库的SWITCHOVER_STATUS状态为RESOLVABLE GAP时,可以shutdown和startup备库,问题可解决。注意:备库在主库做切换之前SWITCHOVER_STATUS表现为not_allowed5完成此时可在主库建立表空间、表、插入数据等,在备库查询。四、主库、备库切换1.原主库执行物理备库切换 ALTER DATABASE COMMIT TO SWITCHOVER TO PHYSICAL STANDBY WITH SESSION SHUTDOWN; SHUTDOWN ABORT; STARTUP MOUNT;2.查看原主库状态3.取消原备库应用归档设置交换为主库 ALTER DATABASE COMMIT TO SWITCHOVER TO PRIMARY WITH SESSION SHUTDOWN; alter database open;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1