ORACLE Data Guard 理论知识

请查看此blog :http://blog.csdn.net/haibusuanyun/article/details/11519241

Oracle Data Guard搭建步骤

1、主库设置归档模式

2、主库设置Force Logging模式

3、备库创建相应的dump文件夹

4、配置辅助实例参数文件

5、生成辅助实例密码文件

6、配置辅助实例监听

7、实施数据库克隆(辅助实例启动到nomount状态后)

8、启动日志传送

9、应用redo日志操作。

创建数据验证环境

primary>conn lottu/li0924
Connected.
primary>create table tbl_lottu(id number,name varchar2(10));
Table created.
primary>insert into tbl_lottu select level,'lottu'||level from dual connect by level <= 10;
10 rows created.
primary>commit;
Commit complete.

1、主库设置归档模式

SQL> set sqlprompt "primary>"
primary>archive log list;
Database log mode Archive Mode
Automatic archival Enabled
Archive destination /home/oracle/oradata/arch
Oldest online log sequence 73
Next log sequence to archive 75
Current log sequence 75

2、主库设置Force Logging模式

primary>select force_logging from v$database;
FORCE_LOG
---------
NO
primary>alter database force logging;
Database altered.

3、备库创建相应的dump文件夹

主库查询sql;看下是否需要补漏目录

elect name, value
from v$parameter
where name in ('audit_file_dest',
'background_dump_dest',
'control_files',
'core_dump_dest',
'user_dump_dest',
'db_recovery_file_dest'
)
ORDER BY name ASC;

备库用oracle用户执行创建目录

mkdir -p /u01/app/admin/ora234/adump
mkdir -p /u01/app/diag/rdbms/ora234/ora234/trace
mkdir -p /u01/app/oradata/ora234
mkdir -p /u01/app/flash_recovery_area
mkdir -p /u01/app/diag/rdbms/ora234/ora234/cdump
mkdir -p /home/oracle/oradata/arch
mkdir -p /home/oracle/oradata/ora234

4、配置辅助实例参数文件

4.1主库通过spfile生成pfile文件;

primary>create pfile from spfile;

4.2修改参数文件。

#主库添加部分

*.DB_UNIQUE_NAME=db_primary
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(db_primary,db_standby)'
*.LOG_ARCHIVE_DEST_2='SERVICE=tns_standby ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db_standby'
*.LOG_ARCHIVE_DEST_STATE_2=DEFER
*.FAL_SERVER=tns_standby
*.FAL_CLIENT=tns_primary
*.STANDBY_FILE_MANAGEMENT=AUTO

#备库添加部分

*.DB_UNIQUE_NAME=db_standby
*.LOG_ARCHIVE_CONFIG='DG_CONFIG=(db_primary,db_standby)'
*.LOG_ARCHIVE_DEST_2='SERVICE=tns_primary ARCH VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=db_primary' *.LOG_ARCHIVE_DEST_STATE_2=ENABLE
*.FAL_SERVER=tns_primary
*.FAL_CLIENT=tns_standby
*.STANDBY_FILE_MANAGEMENT=AUTO

4.3主备库以新建的参数文件启动

#主库

primary>shutdown immediate;
primary>create spfile from pfile;
primary>startup

#备库

standby>startup nomount

5、生成辅助实例密码文件

方法1: 直接从Primary数据库复制密钥文件过来

方法2: orapwd生成

若忘记密码;采用第二种方法生成

orapwd file='$ORACLE_HOME/dbs/oraora234.ora' password=oracle

6、配置辅助实例监听

6.1配置监听文件listener.ora

# listener.ora Network Configuration File: /u01/app/oracle/network/admin/listener.ora
# Generated by Oracle configuration tools. LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = ********)(PORT = 1521))
)
) SID_LIST_LISTENER =
(SID_LIST = (SID_DESC =
(GLOBAL_DBNAME = db_primary) #/(GLOBAL_DBNAME = db_standby)
(SID_NAME = ora234)
(ORACLE_HOME =/u01/app/oracle)
) ) ADR_BASE_LISTENER = /u01/app

6.2配置文件tnsnames.ora

tns_primary =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ********)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = db_primary)
)
) tns_standby =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = ********)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = db_standby)
)
)

6.3 若开启了防火墙;须先打开1521数据库端口

-A INPUT -p tcp -m state --state NEW -m tcp --dport 1521 -j ACCEPT

6.4 验证是否配置成功

[oracle@localhost admin]$ tnsping tns_standby

TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 15-FEB-2017 10:47:01

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

Used parameter files:

Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ********)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = db_standby)))
OK (10 msec)
[oracle@localhost admin]$ tnsping tns_primary TNS Ping Utility for Linux: Version 11.2.0.3.0 - Production on 15-FEB-2017 10:47:10 Copyright (c) 1997, 2011, Oracle. All rights reserved. Used parameter files: Used TNSNAMES adapter to resolve the alias
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = ********)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = db_primary)))
OK (0 msec)

7、实施数据库克隆(辅助实例启动到nomount状态后)

rman target sys/Oracle123__@tns_primary auxiliary sys/Oracle123__@tns_standby

DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK;

操作日志如下:

[oracle@oracle234 ~]$ rman target sys/Oracle123__@tns_primary auxiliary sys/Oracle123__@tns_standby

Recovery Manager: Release 11.2.0.3.0 - Production on Wed Feb 15 12:37:32 2017

Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

connected to target database: ORA234 (DBID=2038937181)
connected to auxiliary database: ORA234 (not mounted) RMAN> DUPLICATE TARGET DATABASE FOR STANDBY FROM ACTIVE DATABASE DORECOVER NOFILENAMECHECK; Starting Duplicate Db at 15-FEB-17
using target database control file instead of recovery catalog
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=254 device type=DISK
…… contents of Memory Script:
{
set until scn 960540;
recover
standby
clone database
delete archivelog
;
}
executing Memory Script executing command: SET until clause Starting recover at 15-FEB-17
using channel ORA_AUX_DISK_1 starting media recovery archived log for thread 1 with sequence 76 is already on disk as file /home/oracle/oradata/arch/1_76_935749853.dbf
archived log file name=/home/oracle/oradata/arch/1_76_935749853.dbf thread=1 sequence=76
media recovery complete, elapsed time: 00:00:00
Finished recover at 15-FEB-17
Finished Duplicate Db at 15-FEB-17

8、启动日志传送

Primary> alter system set LOG_ARCHIVE_DEST_STATE_2=ENABLE;
System altered.

9、应用/关闭redo日志操作。验证是否数据/日志同步

primary>conn lottu/li0924
Connected.
primary>create table t as select level id from dual connect by level < 10;
Table created.
primary>alter system switch logfile;
alter system switch logfile
*
ERROR at line 1:
ORA-01031: insufficient privileges
primary>alter system switch logfile;
System altered.

备库验证

standby> alter database recover managed standby database disconnect from session;
Database altered.
standby> alter database recover managed standby database cancel;
Database altered.
standby> select count(1) from lottu.t;
COUNT(1)
----------
9

DATAGUARD的搭建的更多相关文章

  1. 转 DataGuard环境搭建 (一主一备一级联)

    DataGuard环境搭建 (一主一备一级联) http://blog.itpub.net/30130773/viewspace-2116985/ 1.--------- primary_role / ...

  2. DataGuard具体搭建环节

    在上一篇blog中,详细介绍DataGuard实现的原理,本篇介绍DataGuard的具体搭建过程. 主库打开日志,并强制force logging SQL>shutdown immediate ...

  3. Oracle dataguard 正常切换和应急切换

    oracle dataguard提供异地容灾方案,能有效的防止单点故障和提供高可用技术,这里介绍dataguard正常主备切换和应急切换(应急切换模拟主库出现问题无法还原,备库脱离dataguard接 ...

  4. oracle dataguard主从切换

    前言: 众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据:另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动 ...

  5. 实战dataguard主从切换

    前言: 众所周知DataGuard一般的切换分成两种,一种是系统正常的情况下的切换这种方式为:switchover是无损切换,不会丢失数据:另外一种方式属于灾难情况下的切换,这种情况下一般主库已经启动 ...

  6. 20161025__Oracle10g双机备份

    1.主要流程,参考: 完整 Oracle10G DataGuard安装文档_百度文库.html http://wenku.baidu.com/link?url=8A7nJGSwRu-83mxEIqGE ...

  7. 转载:oracle 11g ADG实施手册(亲测,已成功部署多次)

    https://www.cnblogs.com/yhfssp/p/7815078.html 一:实验环境介绍 虚拟机系统: RHEL Linux 6.4(64位) 数据库版本: Oracle 11gR ...

  8. oracle 11g ADG实施手册(亲测,已成功部署多次)

    一:实验环境介绍 虚拟机系统:    RHEL Linux 6.4(64位) 数据库版本:    Oracle 11gR2 11.2.0.4 (64位) IP地址规划: 主数据库 192.168.11 ...

  9. dataguard集群搭建

    dataguard集群搭建 1. 创建虚拟机 创建一台虚拟机配置如下: 系统Red Hat Enterprise 6(64位).16vCPU.8G内存.两块VM Network类型网卡.三块硬盘分别为 ...

随机推荐

  1. python 基础干货 02

    list 与 tuple list 类似 数组 tuple 跟 list 一样, 只是一旦定义, 里边的内容不可以改变. 这样, 上边的内容就不可以改变了. "可变的" tuple ...

  2. Tomcat数据源总结

    一.数据源的由来   JDBC操作主要由以下几步组成: (1)Class.forName(); (2)Connection con  = DriverManager.getConnection(); ...

  3. Oracle 数据泵使用详解

    数据泵使用EXPDP和IMPDP时应该注意的事项: EXP和IMP是客户端工具程序,它们既可以在客户端使用,也可以在服务端使用. EXPDP和IMPDP是服务端的工具程序,他们只能在ORACLE服务端 ...

  4. 【转】【Python】Python网络编程

    Socket简介 在网络上的两个程序通过一个双向的通信连接实现数据的交换,这个链接的一端称为一个Socket(套接字),用于描述IP地址和端口. 建立网络通信连接至少要一对端口号(Socket),So ...

  5. Solr系列四:Solr(solrj 、索引API 、 结构化数据导入)

    一.SolrJ介绍 1. SolrJ是什么? Solr提供的用于JAVA应用中访问solr服务API的客户端jar.在我们的应用中引入solrj: <dependency> <gro ...

  6. 使用@Ignore注解

    断续上一节的例子,了解如何使用@Ignore注解.在测试类FirstDayAtSchoolTest中,我们将添加@Ignore注解到testAddPencils()方法.以这种方式,我们期望这个测试方 ...

  7. 联想服务器X3850 X6 配置RAID5

    实验环境: 1.  服务器型号 联想 System X3850 X6 2.  四块300G  SAS硬盘 实验目的: 配置RAID 5 ,搭建公司重要文件共享服务器使用. 标注:本教程四块硬盘全做RA ...

  8. linux stat 命令查看文件信息

    在Linux中,没有文件创建时间的概念.只有文件的访问时间.修改时间.状态改变时间.也就是说不能知道文件的创建时间.但如果文件创建后就没有修改过,修改时间=创建时间;如果文件创建后,状态就没有改变过, ...

  9. 通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置

    通过tarball形式安装HBASE Cluster(CDH5.0.2)——Hadoop NameNode HA 切换引起的Hbase错误,以及Hbase如何基于NameNode的HA进行配置 配置H ...

  10. npm install mongoose错误解决

    今天安装mongoose一直报错,上图 具体的错误记录: info it worked if it ends with ok verbose cli [ 'C:\\Program Files\\nod ...