Oracle - 11GR2 - RAC - to - RAC - DATAGUARD - 配置方案(3)

2019-08-30 23:53

1.5.8 复制库

使用11G的新特性,在线方式的RMAN DUPLICATE技术。

--在主库节点上执行 --创建复制脚本 $ more duplicate_act_standby.rcv duplicate target database for standby from active database spfile set db_unique_name='orclstd' set control_files='+DATA/orclstd/controlfile/current.256.869873351' set db_file_name_convert='+DATA','+DATA' set log_file_name_convert='+DATA','+DATA' set log_archive_config='DG_CONFIG=(orcl,orclstd)' set log_archive_dest_1='LOCATION=+DATA VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=orclstd' set log_archive_dest_2='SERVICE=orcl ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl' set fal_client='orclstd' set fal_server='orcl' set remote_listener='clusterstd-scan:1521' set standby_file_management='AUTO' nofilenamecheck; --执行复制操作 $rman --复制完成后,备库实例自动启动到mount状态 select instance_name,status from v$instance; --检查数据文件和redo日志等相关信息 set line 1000 col name format a50 col member format a50 select name from v$datafile_header; select * from v$log; target sys/oracle@orcl1 auxiliary sys/oracle@orclstd1 cmdfile=duplicate_act_standby.rcv log=rman.log select * from v$logfile; show parameter control; show parameter spfile; show parameter db_name; show parameter db_unique_name;

1.5.9 备库RAC配置

--配置初始化参数文件 vi $ORACLE_HOME/dbs/initorcl1.ora spfile='+DATA/orclstd/parameterfile/spfileorcl.ora' vi $ORACLE_HOME/dbs/initorcl2.ora spfile='+DATA/orclstd/parameterfile/spfileorcl.ora' --备库注册到ocr oracle用户执行: srvctl add database -d orclstd -n orcl -o /oracle/app/oracle/product/11.2.0/db_1 -p +DATA/orclstd/parameterfile/spfileorcl.ora -r physical_standby srvctl add instance -d orclstd -i orcl1 -n orclstd1 srvctl add instance -d orclstd -i orcl2 -n orclstd2 srvctl config database -d orclstd alter database recover managed standby database cancel; shutdown immediate; srvctl start database -d orclstd select name, database_role, open_mode from gv$database; --database_role 为PHYSICAL STANDBY, open_mode 为read only 1.6 Dataguard 日常管理 1.6.1 DG数据库检查

--检查主备库的状态 set line 1000 col db_unique_name format a10 col open_mode format a15 col database_role format a20 col STANDBY_BECAME_PRIMARY_SCN format '999999999999999' select name, db_unique_name, open_mode, protection_mode, database_role, switchover_status, standby_became_primary_scn from gv$database; --主库database_role 为PRIMARY, open_mode 为READ WRITE --备库database_role 为PHYSICAL STANDBY, open_mode 为READ ONLY --检查是否有gap日志 select inst_id,thread#,low_sequence#,high_sequence# from gv$archive_gap; --检查远程归档日志的状态 set pagesize 999 set line 1000 col dest_name format a30 col error format a30 col DESTINATION format a30 select inst_id, status, type, recovery_mode, SYNCHRONIZATION_STATUS, SYNCHRONIZED, GAP_STATUS, error, ARCHIVED_THREAD#, APPLIED_THREAD#, ARCHIVED_SEQ#, APPLIED_SEQ# from gv$archive_dest_status where DEST_NAME='LOG_ARCHIVE_DEST_2'; --查询主库有哪些日志没有被传输到备库 SELECT LOCAL.THREAD#, LOCAL.SEQUENCE# FROM (SELECT THREAD#, SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=1) LOCAL WHERE LOCAL.SEQUENCE# NOT IN (SELECT SEQUENCE# FROM V$ARCHIVED_LOG WHERE DEST_ID=2 AND THREAD# = LOCAL.THREAD#); --检查dg 日志传输情况 col MESSAGE format a50 SELECT * FROM V$DATAGUARD_STATUS; --检查归档日志目标和进程 select target,archiver,process from v$archive_dest where dest_id=2; --检查dg 相关进程状态 select process, client_process, sequence#, status from v$managed_standby; --检查主备库日志是否同步 --检查主备库日志序列 Select max(sequence#) from v$log; --检查归档日志序列 select sequence#, first_time, next_time, applied from v$archived_log; --检查redo日志历史记录 select thread#, max (sequence#) from v$log_history group by thread#; --检查归档日志信息 select thread#, max (sequence#) from v$archived_log where APPLIED='YES' group by thread#;

1.6.2 DG数据库启动关闭

--启动 先起备库,后起主库 srvctl start database –d dbname 备库启动日志应用服务 sql> alter database recover managed standby database using current logfile disconnect; --关闭 先关主库,后关备库 srvctl stop database –d dbname 备库关闭日志应用服务 sql> alter database recover managed standby database cancel; srvctl stop database –d dbname 1.6.3 主备库切换

在RAC状态下,主从数据库的切换时主备库只能有一个实例在运行状态。在切换前需关掉其他节点,在切换完成后再启动其他节点。

--查询主备库状态 sql> select database_role,switchover_status from v$database; --将主库切换到备库状态 sql> alter database commit to switchover to physical standby [with session shutdown]; --如果主库状态为 “sessions active”, 则需要在命令后加上 with session shutdown 语句。 --重起原数据库到mount 状态。 srvctl stop database -d dbname srvctl start database -d dbname --在原备库上执行切换命令 sql> alter database commit to switchover to primary with session shutdown; --shutdown 并startup 新主数据库。 srvctl stop database -d dbname srvctl start database -d dbname --在新的备库启动 redo apply. sql>alter database recover managed standby database using current logfile disconnect; 1.6.4 故障转移

在某些情况下,不能执行正常的切换操作。如源端主数据库停掉,不能在短时间内恢复或数据库无法恢复甚至需要重建,需要启用备库。值得注意的是,这


Oracle - 11GR2 - RAC - to - RAC - DATAGUARD - 配置方案(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:财务分析报告期末考试复习-仅供参考

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: