Oracle Data Guard 环境搭建

版权声明:原创手打 转载请注明来源 https://blog.csdn.net/qq_42774325/article/details/82632237

Oracle Data Guard 环境搭建

一、安装前所需环境 

二、 配置主库 

1、 强制写日志 

2、 设置数据库为归档模式 

3、 在主库添加备库日志文件 

4、 查看备库日志文件 

5、 配置静态监听参数 

6、 配置网络连接名 

7、 配置pfile 

三、 配置备库 

扫描二维码关注公众号,回复: 3167655 查看本文章

1、 配置备库监听参数 

2、 配置网络连接名 

3、 检验网络连接名 

4、 修改之前从主库拷贝过来的pfile 

5、 拷贝密码文件 

6、 创建启动需要的目录 

7、 启动数据库到nomount状态 

四、 最后配置 

1、 复制主库到备库 

2、 开启备库 

3、 备库实时应用日志文件 

4、 查询主备数据库各自状态 

五、 验证数据同步 

 

Oracle Data Guard 环境搭建

一、安装前所需环境

 

两台虚拟机,两台都配置好网络,装好ORACLE软件,一台装好ORACLE数据库,一台不装数据库

版本信息

 

 

 

二、配置主库

两台虚拟机的hosts需要配置好

 

此处我的

主库的ip为192.168.43.14 主机名为zzz3

备库的ip为192.168.43.15 主机名为zzz4

打开数据库

 

强制写日志

alter database force logging;

 

设置数据库为归档模式

把数据库关闭

shutdown immediate

把数据库启动到nomount模式

startup nomount

归档模式

alter database archivelog;

打开数据库

alter database open;

查看

archive log list;

 

 

归档日志路径

alter system set log_archive_dest_1 =’location=/u01/arch’;

 

归档日志类型

alter system set log_archive_format =’%t_%s_%r.arc’;

 

在主库添加备库日志文件

个数为当前日志数加1

 alter  database add  standby  logfile '/u02/app/oracle/oradata/orcl3/stdredo01.log'  size 200M;

 alter  database add  standby  logfile '/u02/app/oracle/oradata/orcl3/stdredo02.log'  size 200M;

 alter  database add  standby  logfile '/u02/app/oracle/oradata/orcl3/stdredo03.log'  size 200M;

 alter  database add  standby  logfile '/u02/app/oracle/oradata/orcl3/stdredo04.log'  size 200M;

 alter  database add  standby  logfile '/u02/app/oracle/oradata/orcl3/stdredo05.log'  size 200M;

 alter  database add  standby  logfile '/u02/app/oracle/oradata/orcl3/stdredo06.log'  size 200M;

 

如果想删除

代码为

ALTER DATABASE DROP STANDBY LOGFILE GROUP 6;

ALTER DATABASE DROP STANDBY LOGFILE GROUP 7;

ALTER DATABASE DROP STANDBY LOGFILE GROUP 8;

ALTER DATABASE DROP STANDBY LOGFILE GROUP 9;

ALTER DATABASE DROP STANDBY LOGFILE GROUP 10;

ALTER DATABASE DROP STANDBY LOGFILE GROUP 11;

 

查看备库日志文件

select group#,thread#,sequence#,archived,status from v$standby_log;

 

 

配置静态监听参数

vim $ORACLE_HOME/network/admin/listener.ora

 

 

图中orcl3为实例名

 

配置网络连接名

vim $ORACLE_HOME/network/admin/tnsname.ora

 

ORCL_S =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = zzz4)(PORT = 1521))

    )

   (CONNECT_DATA =

     (SERVICE_NAME = orcl3)

    )

  )

 

ORCL_P =

 (DESCRIPTION =

   (ADDRESS_LIST =

     (ADDRESS = (PROTOCOL = TCP)(HOST = zzz3)(PORT = 1521))

    )

   (CONNECT_DATA =

     (SERVICE_NAME = orcl3)

    )

  )

 

图中zzz4,zzz3可在本文第一张图中看到

orcl3为实例名

orcl_s为备库

orcl_p为主库

 

检验是否可用

tnsping orcl_p

 

 

如图即为成功

 

配置pfile

文件为

$ORACLE_HOME/dbs/initorcl3.ora

先拷贝一份到备库

修改主库pfile,加入以下参数

*.db_name='orcl3'

*.db_unique_name='orcl_p'

*.log_archive_config='dg_config=(orcl_p,orcl_s)'

*.log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl_p'

*.log_archive_dest_2='service=orcl_s valid_for=(online_logfiles,primary_role)  lgwr affirm sync db_unique_name=orcl_s'

*.log_archive_dest_state_1=enable

*.log_archive_dest_state_2=enable

*.standby_file_management='auto'

*.fal_server='orcl_s'

*.log_file_name_convert='/u02/app/oracle/oradata/orcl3','/u01/app/oracle/oradata/orcl3'

*.db_file_name_convert='/u02/app/oracle/oradata/orcl3','/u01/app/oracle/oradata/orcl3'

 

三、配置备库

配置备库监听参数

如主库

 

配置网络连接名

如主库

 

检验网络连接名

tnsping orcl_p

 

tnsping orcl_s

 

 

修改之前从主库拷贝过来的pfile

 

加上如下代码

*.db_name='orcl3'

*.db_unique_name='orcl_s'

*.log_archive_config='dg_config=(orcl_p,orcl_s)'

*.log_archive_dest_1='location=/u01/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl_s'

*.log_archive_dest_2='service=orcl_p valid_for=(online_logfiles,primary_role)  lgwr affirm sync db_unique_name=orcl_p'

*.log_archive_dest_state_1=enable

*.log_archive_dest_state_2=enable

*.standby_file_management='auto'

*.fal_server='orcl_p'

*.log_file_name_convert='/u02/app/oracle/oradata/orcl3','/u01/app/oracle/oradata/orcl3'

*.db_file_name_convert='/u02/app/oracle/oradata/orcl3','/u01/app/oracle/oradata/orcl3'

 

 

拷贝密码文件

密码文件为

$ORACLE_HOME/dbs/oraporcl3

 

创建启动需要的目录

 

mkdir -p /u01/app/oracle/admin/orcl3/adump

 

启动数据库到nomount状态

shutdown immediate

startup nomount

 

四、最后配置

复制主库到备库

到主库使用rman

rman target sys/oracle@orcl_p auxiliary sys/oracle@orcl_s

 

duplicate target database for standby from active database nofilenamecheck dorecover;

 

开启备库

到备库

alter database open;

 

备库实时应用日志文件

alter database recover managed standby database using current logfile disconnect from session;

取消实时应用日志文件的指令

alter database recover managed standby database cancel;

 

查询主备数据库各自状态

主库

select log_mode,open_mode,database_role from v$database;

 

 

备库

select log_mode,open_mode,database_role from v$database;

 

 

五、验证数据同步

主库

 

创建一个表 ,插入若干数据

 

 

 

强制切换日志

 

 

 

到备库查看

 

数据同步成功

 

 

猜你喜欢

转载自blog.csdn.net/qq_42774325/article/details/82632237