iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >怎么搭建Data Guard
  • 285
分享到

怎么搭建Data Guard

2024-04-02 19:04:59 285人浏览 薄情痞子
摘要

这篇文章主要讲解了“怎么搭建Data Guard”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建Data Guard”吧!一、 规划说明:在

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

一、 规划

怎么搭建Data Guard

说明:在Data Guard中,

- db_name:主备库必须保持一致;

- db_unique_name:主备库必须不一致;

- service_names和instance_name可以保持一致或不一致。

二、 DG环境要求

1. 硬件和操作系统要求

Data Guard允许主备库有不同的CPU型号,不同的操作系统(例如windows & linux),不同的操作系统位数(32-bit/64-bit)或者不同的数据库位数(32-bit/64-bit)。

2. Oracle软件要求

Data Guard只支持oracle database企业版,不支持标准版本。

在物理备库中,Oracle主备库的compatiable参数必须保持一致(通常情况下,我们说的Data Guard都是指物理备库)。在逻辑备库中,备库的compatiable必须大于或等于主库参数。

主库可以是单实例库或者RAC,备库也可以是单实例或是RAC。

如果主备库的操作系统一致,那么主备库的存储路径必须保持不同,否则,备库可能会覆盖主库文件。

如果主备库都是RAC,主库使用了ASM和OMF(Oracle managed files)命名管理,那么备库也应该使用ASM和OMF管理。

三、 思路清晰

step1: 主库开启force logging

step2: 备库配置listener.ora文件

step3: 主备库配置tnsnames.ora文件

step4: 主库添加standby logfile

step5: 主备库修改参数文件

step6: RMAN复制数据库

step7: DG检查,应用日志

step8: 开启备库,实时应用日志

四、 准备工作

1. 关闭防火墙(主备库)

# systemctl stop firewalld

# systemctl disable firewalld

2. 禁用selinux(主备库)

# vi /etc/selinux/config

selinux=disabled

3. 检查主库归档设置

sql> arcHive log list;

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            /archivelog/ORCL

Oldest online log sequence     26

Next log sequence to archive   28

Current log sequence           28

4. 配置/etc/hosts文件(主备库)

# vi /etc/hosts

#Primary IP

172.16.70.178 primary

#Standby IP

172.16.70.179 standby

五、 搭建DG

1. 开启强制日志模式(主库)

SQL> alter database force logging;

2. 配置listener.ora文件(备库)

(Oracle用户)

备库添加静态监听

$ vi $ORACLE_HOME/network/admin/listener.ora

(添加以下内容)

SID_LIST_LISTENER =

 (SID_LIST =

      (SID_DESC =

        (GLOBAL_DBNAME = SBDB)

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

        (SID_NAME = SBDB)

      )

)

开启监听

$ lsnrctl start

3. 修改tnsnames.ora文件(主备库

(主备库一致)

$ vi $ORACLE_HOME/network/admin/tnsnames.ora

ORCL =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = ORCL)     

    )

  )

SBDB =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = SBDB)

    )

  )

tns连通性检测

$ tnsping ORCL

$ tnsping SBDB

4. 主库添加standby logfile;

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

SQL> select member from v$logfile;

SQL> alter database add standby logfile '/u01/app/oracle/oradata/ORCL/redo04.log' size 50m;

SQL> alter database add standby logfile '/u01/app/oracle/oradata/ORCL/redo05.log' size 50m;

SQL> alter database add standby logfile '/u01/app/oracle/oradata/ORCL/redo06.log' size 50m;

SQL> alter database add standby logfile '/u01/app/oracle/oradata/ORCL/redo07.log' size 50m;

查看日志组状态

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

5. 修改参数文件

(主库修改参数)

1) 生成参数文件

SQL> create pfile from spfile;

2) 修改参数文件

$ cd /u01/app/oracle/product/11.2.0/db_1/dbs

$ vi initORCL.ora

添加以下内容:

db_unique_name=ORCL

log_archive_config='dg_config=(ORCL,SBDB)'

log_archive_dest_1='location=/archivelog/ORCL valid_for=(all_logfiles,all_roles) db_unique_name=ORCL'

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

log_archive_dest_state_1=enable

log_archive_dest_state_2=enable

db_file_name_convert='/u01/app/oracle/oradata/SBDB','/u01/app/oracle/oradata/ORCL'

log_file_name_convert='/u01/app/oracle/oradata/SBDB','/u01/app/oracle/oradata/ORCL'

fal_server=SBDB

fal_client=ORCL

standby_file_management=auto    

3) 生成spfile,重启库使参数生效

SQL> shutdown immediate;

SQL> create spfile from pfile;

SQL> startup;

(备库修改)

1) 将主库pfile传到备库

$ scp initORCL.ora standby:$ORACLE_HOME/dbs/initSBDB.ora

2) 修改参数文件

$ cd /u01/app/oracle/product/11.2.0/db_1/dbs

$ vi initSBDB.ora

执行以下命令

:%s/ORCL/AAAA/g

:%s/SBDB/ORCL/g

:%s/AAAA/SBDB/g

最后将db_name修改回ORCL

最后结果如下:

*.audit_file_dest='/u01/app/oracle/admin/SBDB/adump'

*.audit_trail='db'

*.compatible='11.2.0.4.0'

*.control_files='/u01/app/oracle/oradata/SBDB/control01.ctl','/u01/app/oracle/oradata/SBDB/control02.ctl'

*.db_block_size=8192

*.db_domain=''

*.db_name='ORCL'

*.diagnostic_dest='/u01/app/oracle'

*.dispatchers='(PROTOCOL=TCP) (SERVICE=SBDBXDB)'

*.log_archive_dest_1='LOCATION=/archivelog/SBDB'

*.log_archive_fORMat='%t_%s_%r.dbf'

*.memory_target=769654784

*.open_cursors=300

*.processes=150

*.remote_login_passWordfile='EXCLUSIVE'

*.undo_tablespace='UNDOTBS1'

db_unique_name=SBDB

log_archive_config='dg_config=(SBDB,ORCL)'

log_archive_dest_1='location=/archivelog/SBDB valid_for=(all_logfiles,all_roles) db_unique_name=SBDB'

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

log_archive_dest_state_1=enable

log_archive_dest_state_2=enable

db_file_name_convert='/u01/app/oracle/oradata/ORCL','/u01/app/oracle/oradata/SBDB'

log_file_name_convert='/u01/app/oracle/oradata/ORCL','/u01/app/oracle/oradata/SBDB'

fal_server=ORCL

fal_client=SBDB

standby_file_management=auto

3) 备库创建上述目录

$ mkdir -p /u01/app/oracle/admin/SBDB/adump

$ mkdir -p /u01/app/oracle/oradata/SBDB

$ mkdir -p /archivelog/SBDB

4) 备库创建密码文件

$ cd $ORACLE_HOME/dbs/

$ orapwd file=orapwSBDB password=oracle

6. 复制数据库

1) 备库开启到nomount状态

SQL> create spfile from pfile;

SQL> startup nomount;

2)RMAN复制数据库(主库执行)

$ rman target / auxiliary sys/oracle@SBDB

RMAN> duplicate target database for standby from active database;

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

六、 配置ADG

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

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

ORCL               READ WRITE          PRIMARY           FAILED DESTINATION

(备库)

DB_UNIQUE_NAME  OPEN_MODE            DATABASE_ROLE    SWITCHOVER_STATUS

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

SBDB              MOUNTED              PHYSICAL STANDBY SESSIONS ACTIVE

2) 备库应用日志

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

此时注意检查备库SWITCHOVER_STATUS状态,直到SWITCHOVER_STATUS为NOT ALLOWED为正常。

3) 备库取消应用日志

SQL> alter database recover managed standby database cancel;

4) 开启备库

SQL> alter database open;

5) 备库开启实时应用

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

6) 再次检查备库状态

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

DB_UNIQUE_NAME   OPEN_MODE              DATABASE_ROLE     SWITCHOVER_STATUS

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

SBDB               READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOWED

7) 查看备库进程状态

SQL> select process, pid, status, client_process from v$managed_standby;

PROCESS          PID STATUS       CLIENT_P

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

ARCH           24183 CONNECTED    ARCH

ARCH           24186 CONNECTED    ARCH

ARCH           24188 CLOSING      ARCH

ARCH           24190 CONNECTED    ARCH

RFS            24533 IDLE         LGWR

RFS            24527 IDLE         UNKNOWN

RFS            24529 IDLE         ARCH

RFS            24707 IDLE         UNKNOWN

MRP0           24918 APPLYING_LOG N/A

此时,备库已经是实时应用状态(Active Data Guard)

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

您可能感兴趣的文档:

--结束END--

本文标题: 怎么搭建Data Guard

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

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

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

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

下载Word文档
猜你喜欢
  • 怎么搭建Data Guard
    这篇文章主要讲解了“怎么搭建Data Guard”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么搭建Data Guard”吧!一、 规划说明:在...
    99+
    2024-04-02
  • 主备库内存不一致的Data Guard环境搭建
    前言 前几天朋友问了我一个问题,一个单节点RAC ,要做一套 Data Guard ,但是备库能给数据库的内存只有主库的一半左右,能不能成功。不知道,没做过,试试呗。 一.概况 1. 涉及的技...
    99+
    2024-04-02
  • 物理方式下怎样建立oracle data guard
    物理方式下怎样建立oracle data guard,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。物理方式下建立oracle data g...
    99+
    2024-04-02
  • 使用Data Guard Broker进行Data Guard物理备用库配置的方法是什么
    这篇文章主要介绍“使用Data Guard Broker进行Data Guard物理备用库配置的方法是什么”,在日常操作中,相信很多人在使用Data Guard Broker进...
    99+
    2024-04-02
  • Oracle Data Guard部署方法是什么
    这篇文章主要介绍“Oracle Data Guard部署方法是什么”,在日常操作中,相信很多人在Oracle Data Guard部署方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,...
    99+
    2024-04-02
  • ORACLE 11G DATA GUARD基本原理是什么
    本篇内容主要讲解“ORACLE 11G DATA GUARD基本原理是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“ORACLE 11G DATA GUAR...
    99+
    2024-04-02
  • Data Guard中Snapshot Standby Database配置是怎样的
    Data Guard中Snapshot Standby Database配置是怎样的,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。 Data...
    99+
    2024-04-02
  • Data Guard主备库Failove切换方法是什么
    这篇文章主要讲解了“Data Guard主备库Failove切换方法是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Data Guard主备库Failo...
    99+
    2024-04-02
  • 怎么搭建dataguard
    本篇内容主要讲解“怎么搭建dataguard”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么搭建dataguard”吧!     ...
    99+
    2024-04-02
  • win10怎么搭建本地php环境搭建
    在WEB开发中,PHP也许是最常用的服务器端脚本语言之一。为了更加方便的开发与测试,希望在本地电脑上搭建PHP环境,那么如何实现呢?下面是具体的步骤说明。步骤一:安装Web服务器搭建PHP环境的关键是安装Web服务器,Windows系统下可...
    99+
    2023-05-14
  • windows下怎么搭建git服务器搭建
    在Windows平台下,搭建Git服务器可以让用户更好地管理自己的代码库。在接下来的文章中,我们将教你如何在Windows平台下搭建Git服务器。一、安装Git首先,我们需要从Git官网上下载最新版本的Git。下载完成后,我们可以使用默认选...
    99+
    2023-10-22
  • 怎么搭建MHA+MySQL
    这篇文章主要介绍“怎么搭建MHA+MySQL”,在日常操作中,相信很多人在怎么搭建MHA+MySQL问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么搭建MHA+MySQL”...
    99+
    2024-04-02
  • 怎么搭建oracle DataGuard
    本篇内容介绍了“怎么搭建oracle DataGuard”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1....
    99+
    2024-04-02
  • DockerV19.03.1怎么搭建zabbix4.2.5
    这篇“DockerV19.03.1怎么搭建zabbix4.2.5”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“DockerV...
    99+
    2023-06-27
  • linux怎么搭建github
    作为开源社区中最流行的代码托管平台,GitHub的使用已经成为现代软件开发的标配。而Linux系统作为开发人员的主要工具之一,搭建GitHub在Linux上无疑是一个很好的选择。本文将介绍如何在Linux上搭建并使用GitHub。第一步:创...
    99+
    2023-10-22
  • java怎么搭建webservice
    要搭建Java的Web服务(WebService),可以按照以下步骤进行操作:1. 导入相关的库和依赖项:在项目的构建文件(例如po...
    99+
    2023-09-21
    webservice java
  • angular admin怎么搭建
    要搭建Angular Admin,你可以按照以下步骤进行操作:1. 确保你的计算机已经安装了Node.js和npm。你可以在命令行中...
    99+
    2023-10-11
    angular
  • sublime 怎么搭建php
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。sublime 怎么搭建php?sublime3配置php环境最后的演示效果: 1. 按照sublime3开始前的准备工作Ctrl+Shift+P,再输入insta...
    99+
    2024-04-02
  • idea怎么搭建php
    本教程操作环境:windows7系统、PHP8.1版、Dell G3电脑。idea搭建php的方法IDEA:PHP安装、环境搭建一、环境搭建1. 下载wampserver3_x86_apache2.4.17_mysql5.7.9_php5....
    99+
    2024-04-02
  • Linux怎么搭建GitLab
    这篇文章主要介绍了Linux怎么搭建GitLab的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux怎么搭建GitLab文章都会有所收获,下面我们一起来看看吧。Linux搭建gitlab具体步骤以root ...
    99+
    2023-06-28
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作