iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >如何搭建Oracle DataGuard
  • 383
分享到

如何搭建Oracle DataGuard

2024-04-02 19:04:59 383人浏览 泡泡鱼
摘要

这篇文章主要讲解了“如何搭建oracle DataGuard”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建Oracle DataGuard”吧!一、

这篇文章主要讲解了“如何搭建oracle DataGuard”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建Oracle DataGuard”吧!

准备工作

1.规划


主库

备库

ip

192.168.131.100

192.168.131.101

instance_name

orcl1

orcl1

service_names

db01

db02

db_unique_name

db01

db02

HostName

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文件配置(主备库

Root用户(主备库相同)

[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

配置lintener & tnsnames(主备库)

Oracle用户

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 = orcl1)

        )

)

2、修改tnsnames.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 = orcl1)

    )

  )

(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)开启数据库

startup(使新参数生效)

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 initorcl1.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修改成manual

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

(3)生成spfile(shutdown状态)

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

(4)开启数据库

startup(使新参数生效)

复制数据库

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;

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

、查询主备库角色 

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

感谢各位的阅读,以上就是“如何搭建Oracle DataGuard”的内容了,经过本文的学习后,相信大家对如何搭建Oracle DataGuard这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

您可能感兴趣的文档:

--结束END--

本文标题: 如何搭建Oracle DataGuard

本文链接: https://www.lsjlt.com/news/65170.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 如何搭建Oracle DataGuard
    这篇文章主要讲解了“如何搭建Oracle DataGuard”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“如何搭建Oracle DataGuard”吧!一、...
    99+
    2022-10-19
  • oracle 11gR2 搭建dataguard
    1、搭建环境 主库   oracle11gR2    备库 oracle11gR2 db_name orcl       &n...
    99+
    2022-10-18
  • Oracle 10G DataGuard搭建
    前面我们有讲到Oracle 11G DataGuard的搭建,10G的搭建也是大同小异.不过Oracle 10G不支持Standby open环境:角色主机名IP数据库版本操作系统版本Primaryfdb1...
    99+
    2022-10-18
  • 怎么搭建oracle DataGuard
    本篇内容介绍了“怎么搭建oracle DataGuard”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1....
    99+
    2022-10-18
  • oracle 11g dataguard环境搭建
    硬件和系统软件说明:操作系统:Oracle Linux 5.8 64位oracle软件:oracle 11.2.0.1角色           主机名 &n...
    99+
    2022-10-18
  • Oracle duplicate搭建dataguard (Backup-based duplication)
    duplicate搭建DG  (Backup-based duplication)源库:run{allocate channel ch2 device type disk;allocate cha...
    99+
    2022-10-18
  • CentOS6.5下搭建oracle 11g Dataguard(一)
    一、环境准备 主机 1 (主库) 主机 2 (备库) 操作系统 Centos6.5 64 位 Centos6.5...
    99+
    2022-10-18
  • oracle 12.2.0.1 使用 sqlplus 搭建 active dataguard
    oracle 12.2.0.1 使用 sqlplus 搭建 active dataguard 数据库人生 2018-07-08 10:12:27 490 收藏 分类专栏: # oracle ha data guard 文章标签: activ...
    99+
    2019-09-29
    oracle 12.2.0.1 使用 sqlplus 搭建 active dataguard
  • CentOS 5.11下Oracle 11G R2 Dataguard搭建
    Datagard算是Oracle企业版的一种容灾方案,在企业中广泛应用,我就将搭建过程记录下来以作备用。主机名    数据库版本   &...
    99+
    2022-10-18
  • 手把手教你搭建Oracle 11G dataguard
    一、前期准备    在准备搭建DATAGARD的时候,看过许多篇教程,按着教程去走,出现过问题,然后就不知道该如何进行下一步。   &n...
    99+
    2022-10-18
  • Oracle在一台机器上搭建dataguard
    这两天找了台机器搭建dataguard。 1. 环境准备。 操作系统 [oracle ~]$ lsb_release -a  LSB Version:    :base-4.0...
    99+
    2022-10-18
  • DATAGUARD搭建脚本.
    1.duplicate target databasefor standbyfrom active database nofilenamecheckDORECOVERspfileset service_na...
    99+
    2022-10-18
  • 怎么搭建dataguard
    本篇内容主要讲解“怎么搭建dataguard”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么搭建dataguard”吧!     ...
    99+
    2022-10-18
  • ORACLE 12C DATAGUARD环境搭建和主从切换
    环境说明: 目的: (1)在linux 操作系统下,创建oracle 12c 单实例的dataguard环境 (2)测试dataguard主从切换 主库:10.50.115.12 (DB_UNIQUE_N...
    99+
    2022-10-18
  • Oracle RAC+DG环境搭建(CentOS 7+Oracle 12C)( 十) 部署 DataGuard
    一、配置主机   1. 设置主机名 hostnamectl set-hostname  DG   2. 配置网络 vim /e...
    99+
    2022-10-18
  • dataguard搭建-rac到单机
    DG兼容列表:Data Guard Support for Heterogeneous Primary and Physical Standbys in Same Data Guard Configurat...
    99+
    2022-10-18
  • 使用RMAN备份集搭建Oracle Dataguard Step by Step(二)
      5、网络配置和密码文件配置   Primary和Standby端在sys用户管理密码上要求相同,所以在密码文件问题上,直接拷贝命名是支持的。 &nbs...
    99+
    2022-10-18
  • ORACLE逻辑DATAGUARD创建表
    要点:alter database guard none; -----------------------------------------------------DBA用户下建表-------...
    99+
    2022-10-18
  • ORACLE DATAGUARD怎样重建备库
    本篇文章给大家分享的是有关ORACLE DATAGUARD怎样重建备库,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。 ...
    99+
    2022-10-19
  • Oracle DG如何搭建
    这篇文章主要为大家展示了“Oracle DG如何搭建”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Oracle DG如何搭建”这篇文章吧。Oracle DG搭建...
    99+
    2022-10-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作