Oracle19C DataGuard搭建
一、配置前提
主库 192.168.75.133 sid:orcl service:orcl
备库 192.168.75.134 sid:orcl service:orcldg
二、配置过程
1.判断DG是否已经安装:
select * from v$option where parameter = 'Oracle Data Guard';
如果是true表示已经安装可以配置,否则需要安装相应组件。
2.设置主、从库为强制记录日志。(主、从库)
(1)开启强制归档
1)SQL> conn / as sysdba (以DBA身份连接数据库)
2)SQL> shutdown immediate; (立即关闭数据库)
3)SQL> startup mount (启动实例并加载数据库,但不打开)
4)SQL> alter database archivelog; (更改数据库为归档模式)
5)alter database force logging; (设置强制归档)
(2)sql>select name,force_logging from v$database; 检查状态(YES为强制)
(3)如果需要在主库添加或者删除数据文件时,这些文件也会在备份添加或删除,使用如下:
sql> alter system set STANDBY_FILE_MANAGEMENT=auto;(设置自动同步)
sql>show parameter standby (默认此参数是manual手工方式)
3.创建standby log files(备用日志文件)(主、从库都建立)(最好最后创建)
su - oracle
cd $ORACLE_BASE/oradata/ORCL/
mkdir dg
chown oracle:dba dg
sql> alter database add standby logfile group 11 '/home/oracle/app/oracle/oradata/ORCL/dg/standby11.log' size 200M;
sql> alter database add standby logfile group 12 '/home/oracle/app/oracle/oradata/ORCL/dg/standby12.log' size 200M;
sql> alter database add standby logfile group 13 '/home/oracle/app/oracle/oradata/ORCL/dg/standby13.log' size 200M;
sql> alter database add standby logfile group 14 '/home/oracle/app/oracle/oradata/ORCL/dg/standby14.log' size 200M;
4.密码文件和控制文件的创建传输
(1)一般数据库默认就有密码文件,存放在$ORACLE_HOME/dbs/orapwSID(linux),这里为orapworcl,(windows server 2008 R2系统在D:\app\Administrator\product\19.3.0\dbhome_1\database) 如果没有
sql>orapwd file=$ORACLE_HOME/dbs/orapworcl password=oracle
(2)检查REMOTE_LOGIN_PASSWORDFILE值是否为 EXCLUSIVE
sql>show parameter REMOTE_LOGIN_PASSWORDFILE
如果值不是EXCLUSIVE,则:
alter system set remote_login_passwordfile=exclusive scope=spfile;
(3)密码文件需要scp到从库
linux环境
scp orapworcl [email protected]:/home/oracle/app/oracle/product/19.3.0/db_1/dbs
windows环境
拷贝D:\app\Administrator\product\19.3.0\dbhome_1\database\ PWDorcl.ora 到192.168.75.134对应目录
5.db_name和db_unique_name
默认db_name和db_unique_name和实例名是一致的,这里是orcl需要注意在DG中主库和从库的db_unique_name是不能一致的,需要区分开的。这里我们设置主库的db_unique_name为orcl,从库为orcldg.
sql>show parameter db_unique_name
sql>alter system set db_unique_name=orcl scope=spfile; (主库)
sql>alter system set db_unique_name=orcldg scope=spfile; (从库)
注意虽然默认db_unique_name和db_name是一致的,但是需要显式设置,否则在spfile中没有此参数
6.闪回数据库:
(1)