首頁 資料庫 mysql教程 基于同一主机配置 Oracle 11g Data Guard

基于同一主机配置 Oracle 11g Data Guard

Jun 07, 2016 pm 05:31 PM

Oracle Data Guard 为企业数据库提供了最有效和最全面的数据可用性、数据保护和灾难恢复解决方案。它集成管理、监视和自动化软件

Oracle Data Guard 为企业数据库提供了最有效和最全面的数据可用性、数据保护和灾难恢复解决方案。它集成管理、监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数据不受故障、灾难、错误和损坏的影响。本文主要描述了在同一主机下如何配置Oracle Data Guard。

有关DG的相关概念,可参考:Oracle Data Guard Concepts and Administration
有关配置DG的参数描述,可参考:Oracle Data Guard 重要配置参数 

1、创建DG的大致流程

a、主库启用归档与强制日志模式
b、主库配置redo传输服务(即相关参数配置)
c、主库及备库配置监听
d、为备库创建目录
e、配置备库密码文件及参数文件
f、复制数据文件,日志文件,备份控制文件到备库
g、启动备库并校验结果

2、演示创建物理备库

--演示环境
[oracle@linux3 ~]$ cat /etc/issue
Enterprise Linux Enterprise Linux Server release 5.5 (Carthage)
Kernel \r on an \m

[oracle@linux3 ~]$ sqlplus -v

SQL*Plus: Release 11.2.0.1.0 Production

--主库:sybo3
--备库: sybo5
--配置物理standby,使用最佳性能模式

a、主库前期准备
--查看主库的归档模式,如果为非归档模式应先切换到归档模式
--关于如何切换到归档模式可以参考:Oracle 归档日志
sys@SYBO3> select name,log_mode from v$database;

NAME      LOG_MODE
--------- ------------
SYBO3    ARCHIVELOG

--为备库准备pfile文件
sys@SYBO3> create pfile=/u01/oracle/db_1/dbs/initsybo5.ora from spfile;

--使主库处于强制日志模式
sys@SYBO3> alter database force logging;

sys@SYBO3> select database_role from v$database;

DATABASE_ROLE
----------------
PRIMARY

--为主库添加standby redo log,,简要描述一下standby redo log的作用
--实际上就是与主库接收到的重做日志相对应,也就是说备库调用RFS进程将从主库接收到的重做日志按顺序写入到standby logfile
--在主库创建standby logfile是便于发生角色转换后备用
--sandby redo log创建原则:
--a)、确保standby redo log的大小与主库online redo log的大小一致 
--b)、如主库为单实例数据库:standby redo log组数=主库日志组总数+1
--c)、如果主库是RAC数据库:standby redo log组数=(每线程的日志组数+1)*最大线程数
--d)、不建议复用standby redo log,避免增加额外的I/O以及延缓重做传输

sys@SYBO3> alter database add standby logfile ('/u01/database/sybo3/redo/standby_redo01.log') size 50m;

sys@SYBO3> alter database add standby logfile ('/u01/database/sybo3/redo/standby_redo02.log') size 50m;

sys@SYBO3> alter database add standby logfile ('/u01/database/sybo3/redo/standby_redo03.log') size 50m;

sys@SYBO3> alter database add standby logfile ('/u01/database/sybo3/redo/standby_redo04.log') size 50m;


b、修改主库参数文件
--使用下面的命令修改主库参数(此时主库应当使用spfile启动参数)
[oracle@linux3 ~]$ more ch_sp_sybo3.sql
--Add below item when DB acts as primary role
alter system set db_unique_name='sybo3' scope=spfile;
alter system set log_archive_config='DG_CONFIG=(sybo3,sybo5)';
alter system set log_archive_dest_1='LOCATION=/u01/database/sybo3/arch db_unique_name=sybo3 valid_for=(ALL_LOGFILES,ALL_ROLES)';
alter system set log_archive_dest_2='SERVICE=sybo5 ASYNC db_unique_name=sybo5 valid_for=(ONLINE_LOGFILES,PRIMARY_ROLE)';
alter system set log_archive_dest_state_1=enable;
alter system set log_archive_dest_state_2=enable;
alter system set log_archive_max_processes=4;
alter system set remote_login_passwordfile='EXCLUSIVE' scope=spfile;

--Add below item when DB turn to standby role
alter system set db_file_name_convert='sybo5','sybo3' scope=spfile;
alter system set log_file_name_convert='sybo5','sybo3' scope=spfile;
alter system set standby_file_management='AUTO';
alter system set fal_server='sybo5';
alter system set fal_client='sybo3';

sys@SYBO3> @ch_sp_sybo3
sys@SYBO3> shutdown immediate;


c、配置主备库监听
--为主库和备库配置监听,整个DG的redo传输服务,都依赖于Oracle Net,因此需要为主备库配置监听
--配置方法多种多样,可用netmgr,netca,以及直接编辑listener.ora 与tnsnames.ora文件
--下面是配置之后的listener.ora 与tnsnames.ora文件内容
[oracle@linux3 ~]$ more /u01/oracle/db_1/network/admin/listener.ora
# listener.ora Network Configuration File: /u01/oracle/db_1/network/admin/listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER_SYBO5 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = sybo5.orasrv.com)
      (ORACLE_HOME = /u01/oracle/db_1)
      (SID_NAME = sybo5)
    )
  )

SID_LIST_LISTENER_SYBO3 =
  (SID_LIST =
    (SID_DESC =
      (GLOBAL_DBNAME = sybo3.orasrv.com)
      (ORACLE_HOME = /u01/oracle/db_1)
      (SID_NAME = sybo3)
    )
  )

LISTENER_SYBO5 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = linux3.orasrv.com)(PORT = 1532))
  )

ADR_BASE_LISTENER_SYBO5 = /u01/oracle

LISTENER_SYBO3 =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = linux3.orasrv.com)(PORT = 1531))
  )

ADR_BASE_LISTENER_SYBO3 = /u01/oracle 

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

減少在Docker中使用MySQL內存的使用 減少在Docker中使用MySQL內存的使用 Mar 04, 2025 pm 03:52 PM

減少在Docker中使用MySQL內存的使用

如何使用Alter Table語句在MySQL中更改表? 如何使用Alter Table語句在MySQL中更改表? Mar 19, 2025 pm 03:51 PM

如何使用Alter Table語句在MySQL中更改表?

mysql無法打開共享庫怎麼解決 mysql無法打開共享庫怎麼解決 Mar 04, 2025 pm 04:01 PM

mysql無法打開共享庫怎麼解決

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器) 在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器) Mar 04, 2025 pm 03:54 PM

在 Linux 中運行 MySQl(有/沒有帶有 phpmyadmin 的 podman 容器)

什麼是 SQLite?全面概述 什麼是 SQLite?全面概述 Mar 04, 2025 pm 03:55 PM

什麼是 SQLite?全面概述

在MacOS上運行多個MySQL版本:逐步指南 在MacOS上運行多個MySQL版本:逐步指南 Mar 04, 2025 pm 03:49 PM

在MacOS上運行多個MySQL版本:逐步指南

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什麼? 哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什麼? Mar 21, 2025 pm 06:28 PM

哪些流行的MySQL GUI工具(例如MySQL Workbench,PhpMyAdmin)是什麼?

如何為MySQL連接配置SSL/TLS加密? 如何為MySQL連接配置SSL/TLS加密? Mar 18, 2025 pm 12:01 PM

如何為MySQL連接配置SSL/TLS加密?

See all articles