DataGuard 搭建

准备工作

1. 规划

主库

备库

ip

192.168.131.100

192.168.131.101

instance_name

orcl1

o rcl 1

service_names

db01

db02

db_unique_name

db01

db02

H ostName

primary

standby

OS 版本

Oracle linux 6.4

Oracle linux 6.4

DB 版本

11.2.0.4

11.2.0.4


2. 关闭
防火墙

service iptables stop

chkconfig iptables off

3. 禁用 selinux 防火墙

vi /etc/selinux/config

selinux=disabled

开启 归档模式( 主备库

1 、创建归档目录

[oracle@ primary  ~]# mkdir -p /u01/app/oracle/archivelog

2 开启归档模式

( 1 )数据库到 mount 状态开启归档模式

[root@primary ~]# su - oracle

[oracle@primary ~]$ sqlplus / as sysdba

SQL> startup mount;

ORACLE instance started.

Total System Global Area  776646656 bytes

Fixed Size                  2257272 bytes

Variable Size             507514504 bytes

Database Buffers          264241152 bytes

Redo Buffers                2633728 bytes

Database mounted.

( 2 )设置主库归档目录

SQL> alter system set log_archive_dest_1='location=/u01/ app/oracle/ archivelog';

( 3 )开启归档模式

SQL> alter database archivelog;

Database altered.

( 4 )查看归档设置

SQL> archive log list;

Database log mode        Archive Mode

Automatic archival           Enabled

Archive destination          /u01/ app/oracle/ archivelog

Oldest online log sequence     2

Next log sequence to archive   4

Current log sequence         4

( 5 ) 开启 数据库

SQL> alter database open;

Database altered.

强制 主库为 force logging 模式(主库)

SQL> select force_logging from v$database;

FOR

---

NO

SQL> alter database force logging;

Database altered.

SQL> select force_logging from v$database;

FOR

---

YES

四、 HOST 文件 配置( 主备库

R oot 用户(主备库 相同 )

[root@primary ~]# vi /etc/hosts

127.0.0.1   localhost localhost.localdomain

# Primary database IP

192.168.131.100 primary

#Standby database IP

192.168.131.101 standby

 

配置 l intener  & tnsnames (主备库)

O racle 用户

1 、 主备库监听配置

( 1 ) 主库 监听 配置

[oracle@primary ~]$ vi $ORACLE_HOME/network/admin/listener.ora

(添加 以下内容 )

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl1 )

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME = orcl1)

)

)

( 2 )备库监听 配置

[oracle@primary ~]$ vi $ORACLE_HOME/network/admin/listener.ora

(添加 以下内容 )

SID_LIST_LISTENER =

(SID_LIST =

(SID_DESC =

(GLOBAL_DBNAME = orcl1 )

(ORACLE_HOME = /u01/app/oracle/product/11.2.0/db_1)

(SID_NAME = orcl 1 )

)

)

2 、修改 tnsname s .ora 文件(主备库)

( 1 )主库修改

[oracle@primary ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora

db01   =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl1 )     ## 此处service_name 应 和上面 GLOBAL_NAME 值相等

)

)

db02  =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl 1 )

)

)

( 2 )备库修改

[oracle@primary ~]$ vi $ORACLE_HOME/network/admin/tnsnames.ora

db01   =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl1 )

)

)

db02  =

(DESCRIPTION =

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

(CONNECT_DATA =

(SERVER = DEDICATED)

(SERVICE_NAME = orcl1)

( UR=A )

)

)

( 3 )主备库 检测 ( 主备库 )

[oracle@primary admin]$ tnsping db01

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 11-JUL-2018 08:48:56

Copyright (c) 1997, 2013, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = primary)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl1)))

OK (10 msec)

[oracle@primary admin]$ tnsping db02

TNS Ping Utility for Linux: Version 11.2.0.4.0 - Production on 11-JUL-2018 08:49:01

Copyright (c) 1997, 2013, Oracle.  All rights reserved.

Used parameter files:

Used TNSNAMES adapter to resolve the alias

Attempting to contact (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = standby)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orcl1) (UR=A)))

OK (10 msec)

修改 参数文件 (主备库)

 

1 、主库修改 参数

 

( 1 )生成参数文件

SQL> create pfile from spfile;

File created.

( 2 )修改参数文件

[oracle@primary ~]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs

[oracle@primary dbs]$ vi initorcl1.ora

添加 以下内容 :

db_unique_name= db01

log_archive_config='dg_config=(db01,db02)'

log_archive_dest_1='location=/u01/app/oracle/archivelog valid_for=(all_logfiles,all_roles) db_unique_name= db01 '

log_archive_dest_2='service= db02  lgwr async valid_for=(online_logfiles,primary_roles) db_unique_name= db02 '

log_archive_dest_state_1=enable

log_archive_dest_state_2=enable

db_ file_name_convert='/u01/app/oracle/oradata/orcl2','/u01/app/oracle/oradata/orcl1'

log_file_name_convert='/u01/app/oracle/oradata/orcl2','/u01/app/oracle/oradata/orcl1'

fal_server= db02

fal_client= db01

standby_file_management=auto

( 3 )生成 spfile ( shutdown 状态)

create spfile from pfile =' /u01/app/oracle/product/11.2.0/db_1/dbs/initorcl1.ora' ;

( 4 )开启 数据库

st artup( 使新 参数生效 )

2 、备库修改 参数

 

( 1 )生成参数文件

SQL> create pfile from spfile;

File created.

( 2 )修改参数文件

[oracle@primary ~]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs

[oracle@primary dbs]$ vi initorcl 1 .ora

添加 以下内容 :

db_unique_name= db02

log_archive_config='dg_config=(db01,db02)'

log_archive_dest_1='location=/u01/app/oracle/archivelog valid_for=(all_logfiles,all_roles) db_unique_name= db02 '

log_archive_dest_2='service= db01  lgwr async valid_for=(online_logfiles,primary_roles) db_unique_name= db01 '

log_archive_dest_state_1=enable

log_archive_dest_state_2=enable

db_ file_name_convert='/u01/app/oracle/oradata/orcl1','/u01/app/oracle/oradata/orcl2'

log_file_name_convert='/u01/app/oracle/oradata/orcl1','/u01/app/oracle/oradata/orcl2'

fal_server= db01

fal_client= db02

standby_file_management=auto   //   如果 要修改备库 日志 文件的大小,需要将此处           auto 修改成 ma nual

* ***************

( 3 )生成 spfile (shutdown 状态 )

create spfile from pfile =' /u01/app/oracle/product/11.2.0/db_1/dbs/init orcl1 .ora' ;

( 4 )开启 数据库

st artup( 使新 参数生效 )

复制 数据库

1 、备库 开启到 nomount 模式

SQL> shutdown immediate;

SQL > startup nomount;

2 、 RMAN 进行 复制 (主库)

 

[ oracle@primary ~ ]$   rman target sys/oracle@db01 auxiliary sys/oracle@db02

RMAN>duplicate target database for standby nofilenamecheck from active database;

此时 ,已经完成了 D ataGuard 搭建 部分 !

、查询主备库角色

 

1 、 主库查询

SQL> col db_unique_name for a15

SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;

DB_UNIQUE_NAME  OPEN_MODE      DATABASE_ROLE       SWITCHOVER_STATUS

---------------       --------------------  ----------------          --------------------

db01                READ WRITE           PRIMARY             SESSIONS ACTIVE

2 、 备库查询

SQL> col db_unique_name for a15

SQL> select db_unique_name,open_mode,database_role,switchover_status from v$database;

DB_UNIQUE_NAME   OPEN_MODE            DATABASE_ROLE    SWITCHOVER_STATUS

---------------        --------------------       ----------------         --------------------

db02            READ ONLY WITH APPLY      PHYSICAL STANDBY   NOT ALLOWED

3. 参数 设置检查

SQL> col name for a25

SQL> col value for a30

SQL> select a.name, a.value   from v$parameter a   where a.name like '%file_name_convert'   or a.name like '%fal%'   or   a.name like 'standby_file%';

NAME                      VALUE

------------------------- ------------------------------

db_file_name_convert      /u01/app/oracle/oradata/orcl2,

/u01/app/oracle/oradata/orcl1

log_file_name_convert     /u01/app/oracle/oradata/orcl2,

/u01/app/oracle/oradata/orcl1

fal_client                   db01

fal_server                  db02

standby_file_management   auto

备库添加 standby 日志 组( 备库

1 、查看 数据库日志组

查看数据库的日志组个数与大小,因为我们创建   standby   日志组的个数是原日志

组个数 +1   再与   thread   的积 ((1)*3) , size   不能小于原日志文件的大小。

SQL> select group#,thread#,bytes/1024/1024 M,status from v$log;

GROUP#    THREAD#          M STATUS

---------- ---------- ---------- ----------------

1          1         50 UNUSED

2          1         50 CLEARING

3          1         50 CURRENT

SQL> select member from v$logfile;

MEMBER

--------------------------------------------------------------------------------

/u01/app/oracle/oradata/orcl2/redo03.log

/u01/app/oracle/oradata/orcl2/redo02.log

/u01/app/oracle/oradata/orcl2/redo01.log

2 、新建备库日志组

SQL> alter database add standby logfile thread 1 group 4

2  ('/u01/app/oracle/oradata/orcl2/redo04.log') size 50M;

Database altered.

SQL> alter database add standby logfile thread 1 group 5

2  ('/u01/app/oracle/oradata/orcl2/redo05.log') size 50M;

Database altered.

SQL> alter database add standby logfile thread 1 group 6

2  ('/u01/app/oracle/oradata/orcl2/redo06.log') size 50M;

Database altered.

SQL> alter database add standby logfile thread 1 group 7

2  ('/u01/app/oracle/oradata/orcl2/redo07.log') size 50M;

Database altered.  

 

3 、查看日志 状态

 

SQL> select group#,status,type,member from v$logfile;

GROUP# STATUS  TYPE    MEMBER

---------- ------- ------- --------------------------------------------------

3         ONLINE  /u01/app/oracle/oradata/orcl2/redo03.log

2         ONLINE  /u01/app/oracle/oradata/orcl2/redo02.log

1         ONLINE  /u01/app/oracle/oradata/orcl2/redo01.log

4         STANDBY /u01/app/oracle/oradata/orcl2/redo04.log

5         STANDBY /u01/app/oracle/oradata/orcl2/redo05.log

6         STANDBY /u01/app/oracle/oradata/orcl2/redo06.log

7         STANDBY /u01/app/oracle/oradata/orcl2/redo07.log

备库 应用日志

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

十一 验证数据库操作

1 、在主库创建用户

 

SQL> create user test identified by test;

User created.

SQL> alter system switch logfile;

System altered.

2 、在备库查看

 

SQL> select username from dba_users where username='TEST';

USERNAME

------------------------------

TEST

- ------------ end ------------

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31529886/viewspace-2157710/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31529886/viewspace-2157710/

【Data Guard】Oracle DataGuard 搭建相关推荐

  1. oracle dg 增加redo组,【学习笔记】Oracle Data Guard 修改dataguard主库redo组数和大小

    天萃荷净 运维DBA反映检查到Oracle DataGuard环境redo日志较小,总结一下修改dataguard主库redo组数和大小方法 在一个dg环境中,配置的是实时同步,需要增加主库的redo ...

  2. oracle active data guard,Oracle Active DataGuard配置手册(一)

    第一章 搭建Active DG 开始配置dg Primary db: 1. 判断dataguard是否安装 SQL> select * from v$option where parameter ...

  3. Oracle Data Guard(DG)11g12C搭建部署

    搭建之前备库不需要dbca库只需要安装软件即可: 服务pri和sta,实例名一致即可 步骤概要: 1.主库前期准备 2.设置备库 3.配置网络 4.恢复备库 5.同步数据 6.应用日志 7.管理物理备 ...

  4. 怎么让dg连接mysql_搭建DG(data guard),及搭建过程中遇到的一些小问题

    一.准备工作:主库:虚拟机名称host06 主机名:host06 IP:192.168.100.60 db_name&SID:ENMO  db_unique_name:PROD 存储:文件系统 ...

  5. Steps to configure Oracle 11g Data Guard Physical Standby – Active Data Guard Part-I

    2019独角兽企业重金招聘Python工程师标准>>> Steps to configure Oracle 11g Data Guard Physical Standby – Act ...

  6. Oracle 11g Data Guard环境中的归档管理

    在11g里面,随着ASM.RAC.Data Guard(包括Active Data Guard)的成熟,使用RAC+ASM+Data Guard越来越成为一种可靠的.维护简单.稳定的高可用性和容灾保护 ...

  7. ORACLE 11G DATA GUARD配置之Dataguard简介

    Oracle DataGuard是Oracle自带的数据同步功能,基本原理是将日志文件从原数据库传输到目标数据库,然后在目标数据库上应用这些日志文件,从而使目标数据库与源数据库保持同步,是一种数据库级 ...

  8. Oracle 12C 利用Rman Duplicate搭建 Data Guard

    环境(备库只需要安装数据库软件): 主库:192.168.1.100        OS: CentOS 7.3 X64        DB:    ORACLE12.2.0.1        SID ...

  9. oracle查效能,【DataGuard】Oracle 11g物理Active Data Guard实时查询(Real-time query)特性...

    在Oracle 11g以前版本中的的Data Guard物理备用数据库,可以以只读的方式打开数据库,但此时Media Recovery利用日志进行数据同步的过程就停止了,如果物理备用数据库处于恢复的过 ...

最新文章

  1. SringMVC从入门到源码,这一篇就够
  2. linux nm工具 查看静动态库导出函数
  3. java instantiation,Instantiation of List (Java)
  4. mysql关于日期的函数_MySQL中关于日期函数汇总
  5. The Distribution File System
  6. 【报错】解决logstash tracking_column not found in dataset. {:tracking_column=>“updated_time“}问题
  7. HashTable和HashMap的区别详解(转)
  8. matlab for 循环中怎么做到只取其中一个数_公益心 码客行(8)—— 循环语句
  9. 爱默生电梯维修服务器,爱默生电梯故障代码及导致原因和解决方法
  10. python:文件处理之TXT
  11. 为什么要放弃 JSP ?
  12. 杭电1001 java_杭电ACM1001
  13. java中继承applet类_Java - 33 Java Applet基础
  14. WIN10 LTSC 转 WIN10 专业版(纯净)
  15. 小程序下划线和删除线的操作
  16. 光盘显示0字节可用_u盘显示0字节怎么办 u盘显示0字节解决步骤【方法】
  17. 用计算机程序计算兴利库容,闸坝多目标泄流估算方法及系统与流程
  18. yy安全中心官网首页登录html,YY安全中心
  19. vue用mand-mobile ui做交易所移动版实战示例
  20. 笔记———计算机网络原理(二)

热门文章

  1. 使用IBM WID 建立SOA 之WID简介
  2. linux nfs挂载域名,Linux系统挂载NFS的方法
  3. docker容器资源配额控制
  4. Linux常用的几个监控系统性能的命令
  5. java project 项目在 linux 下面部署步骤
  6. 20190509杂题选讲
  7. MATLAB批量读取图片,剪切,存储,放大
  8. 述 SQL 中的 distinct 和 row_number() over() 的区别及用法
  9. 6美元进公园随便挖钻石
  10. 14.jQuery常用方法