「这是我参与11月更文挑战的第17天,活动详情查看:2021最后一次更文挑战」
参考自:Data Guard Physical Standby Setup in Oracle Database 11g Release 2
一、Active Database Duplicate步骤(Using Image Copies)
1 | erlang复制代码1.配置主库DG参数,备库根据主库的PFILE,设置参数值,生成备库SPFILE. |
注:由于Active Database Duplicate无需提前备份,而是通过网络在线copy数据库文件,对主库的CPU等负载要求较高,因此最好在空闲时间进行操作,对于TB级别的数据库,使用Active Duplicate进行DG搭建效率较高,节省空间,但是对网络要求较高;源库必须使用SPFILE。
二、环境准备
主机名 | ip | DB Version | db_name | db_unique_name | |
---|---|---|---|---|---|
主库 | orcl | 192.168.56.120 | 11.2.0.4 | orcl | orcl |
备库 | orcl_stby | 192.168.56.121 | 11.2.0.4 | orcl | orcl_stby |
Notes:
1、db_unique_name主备库不能相同。
2、db_name主备库需保持一致。
3、主备库DB版本需保持一致。
三、搭建过程
1、Oracle软件安装
主库一键安装:
1 | bash复制代码./AllOracleSilent.sh -i 192.168.56.120 -d 11g -n orcl -o orcl -b /u01/app -s AL32UTF8 |
备库一键安装:(备库仅安装ORACLE软件,不建库)
1 | bash复制代码./AllOracleSilent.sh -i 192.168.56.121 -d 11g -w Y -n orcl_stby -o orcl -b /u01/app -s AL32UTF8 |
一键安装脚本可参考:ORACLE一键安装单机11G/12C/18C/19C并建库脚本
2、环境配置
a.配置hosts文件
主库:
1 | bash复制代码cat <<EOF >> /etc/hosts |
备库:
1 | bash复制代码cat <<EOF >> /etc/hosts |
b.配置静态监听和TNS
主库+备库:
Notes:注意这里的GLOBAL_DBNAME和service_name保持一致,即备库需要改为 orcl_stby。
1 | bash复制代码##listener.ora |
c.主库配置参数
1 | sql复制代码select log_mode,force_logging from gv$database; |
d.生成备库pfile文件并修改,复制参数文件和密码文件至备库
1 | bash复制代码create pfile='/tmp/initorcl_stby.ora' from spfile; |
e.主库添加stanby log文件
1 | sql复制代码set line222 |
f.备库创建db目录,开启到nomount状态
1 | bash复制代码su - oracle -c "mkdir -p /oradata/orcl" |
3、 RMAN DUPLICATE
1 | bash复制代码rman target sys/oracle@orcl AUXILIARY sys/oracle@orcl_stby |
4、备库开启日志应用
1 | sql复制代码alter database open read only; |
5、主库开启LOG_ARCHIVE_DEST_STATE_2
1 | sql复制代码ALTER SYSTEM SET LOG_ARCHIVE_DEST_STATE_2=ENABLE; |
6、测试同步情况
1 | sql复制代码set line222 |
本文转载自: 掘金