惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
V2EX
爱范儿
爱范儿
Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
B
Blog RSS Feed
博客园 - 聂微东
G
GRAHAM CLULEY
Engineering at Meta
Engineering at Meta
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
WordPress大学
WordPress大学
Scott Helme
Scott Helme
AI
AI
S
Security Affairs
T
Threat Research - Cisco Blogs
M
MIT News - Artificial intelligence
T
Troy Hunt's Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
人人都是产品经理
人人都是产品经理
AWS News Blog
AWS News Blog
T
Threatpost
Cyberwarzone
Cyberwarzone
www.infosecurity-magazine.com
www.infosecurity-magazine.com
U
Unit 42
V
Vulnerabilities – Threatpost
J
Java Code Geeks
博客园 - Franky
月光博客
月光博客
Blog — PlanetScale
Blog — PlanetScale
NISL@THU
NISL@THU
D
Docker
小众软件
小众软件
N
News and Events Feed by Topic
Microsoft Security Blog
Microsoft Security Blog
Y
Y Combinator Blog
A
Arctic Wolf
D
DataBreaches.Net
云风的 BLOG
云风的 BLOG
Forbes - Security
Forbes - Security
量子位
PCI Perspectives
PCI Perspectives
美团技术团队
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
I
InfoQ
Security Archives - TechRepublic
Security Archives - TechRepublic
有赞技术团队
有赞技术团队
腾讯CDC
P
Proofpoint News Feed
S
Security @ Cisco Blogs
G
Google Developers Blog
C
Cisco Blogs

博客园 - 孙晓东

perl多线程理解 ORA-00020: No more process state objects available故障一例 SOA架构设计经验分享—架构、职责、数据一致性 利用增量备份恢复因归档丢失造成的DG gap ORACLE之ASM概念 oracle之报错:ORA-00054: 资源正忙,要求指定 NOWAIT linux挂载windows上的共享文件夹 oracle操作之传输表空间 dba诊断之IO 用SecureCRT在windows和CentOS间上传下载文件 Centos6.5下设置静态IP oracle 11g dataguard创建的简单方法 linux下mysql安装、目录结构、配置 dba诊断之lock oracle11G在linux环境下的卸载操作 Ubuntu 14.04(32位)安装Oracle 11g(32位)全过程 linux系统下设置oracle开机自动启动 Redhat6.5 安装64位oracle11.2.0.1 异机恢复perform restores
Oracle Dataguard的原理与基本配置
孙晓东 · 2015-12-24 · via 博客园 - 孙晓东

最近集团在做灾备方案,用于Oracle的高可用性,在不影响主库性能的前提下,我们选择使用DG的"最大性能"模式。

DG是Oracle数据库自带的数据同步功能,其基本原理是将日志文件从主库传输到备库,然后在备库上应用这些日志文件,从而使备库与主库保持同步。

DataGuard提供了三种日志传输(Redo Transport)方式,分别是ARCH传输、LGWR同步传输和LGWR异步传输。在上述三种日志传输方式的基础上,提供了三种数据保护模式,即最大性能(Maximum Performance Mode)、最大保护(Maximum Protection Mode)和最大可用(Maximum Availability Mode),其中最大保护模式和最大可用模式要求日志传输必须用LGWR同步传输方式,最大性能模式下可用任何一种日志传输方式。

现将Dataguard配置过程给大家做以分享

1.主库开启归档模式

2.alter database force logging;

3.添加standby logfile

alter database add standby logfile '/data/oracle/oradata/orcl/standby01.log' size 50M;

alter database add standby logfile '/data/oracle/oradata/orcl/standby02.log' size 50M;

alter database add standby logfile '/data/oracle/oradata/orcl/standby03.log' size 50M;

4.配置log_archive_config

alter system set  log_archive_config='dg_config=(orcl,dgorcl)';

alter system set log_archive_dest_1='location=/data/arch valid_for=(all_logfiles,all_roles) db_unique_name=orcl';

alter system set log_archive_dest_2 ='service=dgorcl async valid_for=(online_logfile,primary_role) db_unique_name=dgorcl';

5.编辑主库tnsnames.ora文件,将standby实例加进去

DGORCL =

  (DESCRIPTION =

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

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = dgorcl)

    )

  )

6.编辑主库listener.ora文件,将standby静态注册进去

# listener.ora Network Configuration File: /data/oracle/product/11.2.0/db_1/network/admin/listener.ora

# Generated by Oracle configuration tools.

LISTENER =

  (DESCRIPTION_LIST =

    (DESCRIPTION =

      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))

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

    )

  )

ADR_BASE_LISTENER = /data/oracle

SID_LIST_LISTENER =

   (SID_LIST =

     (SID_DESC =

        (GLOBAL_DBNAME = dgorcl)

        (ORACLE_HOME = /data/oracle/product/11.2.0/db_1)

        (SID_NAME = dgorcl)

     )

   )

7.重启监听

lsnrctl stop

lsnrctl start

8.创建standby库密码文件

 cd $ORACLE_HOME/dbs

cp orapworcl orapwdgorcl

9.创建standby的初始化参数文件

 cd $ORACLE_HOME/dbs

echo DB_NAME=dgorcl>initdgorcl.ora

10.创建standby库相应的目录

mkdir $ORACLE_BASE/admin/dgorcl

mkdir $ORACLE_BASE/admin/dgorcl/adump

mkdir $ORACLE_BASE/admin/dgorcl/dpdump

mkdir $ORACLE_BASE/admin/dgorcl/pfile

11.创建standby数据文件存放位置

mkdir $ORACLE_BASE/oradata/dgorcl

12.使用standby pfile启动至nomount状态

12.使用rman以auxiliary方式连接standby数据库

export ORACLE_SID=orcl

rman target / auxiliary sys@dgorcl

13.rman 创建standby数据库

run{

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate auxiliary channel stby type disk;

duplicate target database for standby from active database 

spfile

parameter_value_convert 'orcl','dgorcl'

set db_unique_name='dgorcl'

set db_file_name_convert='/orcl/','/dgorcl/'

set control_files='/data/oracle/oradata/dgorcl/dgorcl.ctl'

set log_archive_max_processes='5'

set fal_client='dgorcl'

set fal_server='orcl'

set standby_file_management='AUTO'

set log_archive_config='dg_config=(orcl,dgorcl)'

set log_archive_dest_2='service=orcl async valid_for=(online_logfile,primary_role) db_unique_name=orcl' ;

}

14.standby库日志恢复开启

alter database recover managed standby database disconnect from session;

到此已完成Phyical Dataguard的相关配置,并为之后调整DG到ADG,做logical dataguard,做报表查询分担主库压力和实现读写分离做准备。