Oracle 12c Data Guard搭建(一)

    对于使用12c的PDB,如果想尽快熟悉,掌握,那就是和业务挂钩,让它跑在业务上。当然是在能够基本驾驭它的前提下,要不就真成了甩手掌柜。11g可以玩得很好,12c里面也差不到哪里去。
    摆在我面前的一个选择就是字符集,尽管有大量的PDB需要整合进来,但是我在分析了几套需要整合的数据库之后,发现字符集还是一个很重要的考量。比如几个已有的旧版本的数据库字符集为 UTF-8 US7ASCII   ZHS16GBK  ZHS16GBK,折中一些,根据实际情况还是选用ZHS16GBK,如果是个跨国企业,我可能就会选择UTF8了。
    总体来说,12c给我带来了不少的惊喜,很多细小的地方都做了处理和改进。从安装到搭建备库,能够让我始终发现很多新东西,学习的兴趣也会大大加强。
    搭建Data Guard我是分为两步,首先基于DG Broker搭建Active Data Guard,然后根据需要配置Far Sync Instance。
    主库配置force logging,添加备库日志文件,配置监听等这些步骤和10g,11g一模一样,我就不啰嗦了。

配置DG Broker的时候,发现多了几个参数。

使用dgmgrl的时候,发现也默认使用了SYSDG这个新的角色,而非SYSDBA
[oracle@teststd dbs]$ dgmgrl /
DGMGRL for Linux: Version 12.1.0.2.0 - 64bit Production
Copyright (c) 2000, 2013, Oracle. All rights reserved.
Welcome to DGMGRL, type "help" for information.
Connected as SYSDG.
参数配置的时候,文件路径映射多了一个参数,那就是PDB相关的。
SQL> show parameter convert
NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
db_file_name_convert                 string
log_file_name_convert                string
pdb_file_name_convert                string
数据库启动的时候也会打印出已有的patch

我还是使用以前的方式来搭建Active Data Guard,使用duplicate的方式。
rman target sys@testdb auxiliary sys@s2testdb nocatalog
duplicate target database for standby from active database nofilenamecheck;
配置 DG Broker的简要步骤如下:
DGMGRL> create configuration dg_testdb as
>  primary database is testdb
>  connect identifier is testdb;
Configuration "dg_testdb" created with primary database "testdb"
DGMGRL> enable configuration;
Enabled.
如下加粗的部分是一些改动的地方,在一些细节之处都做了改进。
DGMGRL> show configuration;
Configuration - dg_testdb
  Protection Mode: MaxPerformance
  Members:
  testdb - Primary database
    Warning: ORA-16789: standby redo logs configured incorrectly
Fast-Start Failover: DISABLED
Configuration Status:
WARNING   (status updated 1 second ago)
DGMGRL>
简单修复备用日志,即添加了日志成员之后,再次查看就没有问题了。
DGMGRL> show configuration;
Configuration - dg_testdb
  Protection Mode: MaxPerformance
  Members:
  testdb - Primary database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS   (status updated 14 seconds ago)
DGMGRL>
再次添加一个节点
DGMGRL> add database  s2testdb as
>  connect identifier is s2testdb
>  maintained as physical;
Database "s2testdb" added
启用数据库配置
DGMGRL> enable database s2testdb;
Enabled.
再次查看配置,可以看到目前的状态还是稳定的。
DGMGRL> show configuration;
Configuration - dg_testdb
  Protection Mode: MaxPerformance
  Members:
  testdb   - Primary database
    s2testdb - Physical standby database
Fast-Start Failover: DISABLED
Configuration Status:
SUCCESS   (status updated 15 seconds ago)
对于网络情况的检测,更加细致,标红的是额外新增的一些信息。

对于DG Broker的命令,我认真对比了一下,发现12c里面多了一个validate.

这个命令的使用场景主要就是两个,语法如下:
  VALIDATE DATABASE [VERBOSE] <database name>;
  VALIDATE FAR_SYNC [VERBOSE] <far_sync name>
    [WHEN PRIMARY IS <database name>];

备库洋洋洒洒的几个PDB。
先启动Active Data Guard
SQL> select open_mode from v$database;
OPEN_MODE
------------------------------------------------------------
MOUNTED
此时PDB还都是mount状态
SQL> show pdbs;                    
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       MOUNTED
         3 TCYMOB0                        MOUNTED
         4 MACTVDB                        MOUNTED
启动备库
SQL> alter database open;
Database altered.
稍等一下,备库就变为了READ ONLY WITH APPLY
SQL> select open_mode from v$database;

OPEN_MODE
------------------------------------------------------------
READ ONLY WITH APPLY
此时还是需要单独去启动PDB了。
SQL> show pdbs;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 TCYMOB0                        MOUNTED
         4 MACTVDB                        MOUNTED         
SQL> alter pluggable database tcymob0 open;
Pluggable database altered.
SQL> alter pluggable database MACTVDB open;
Pluggable database altered.
SQL> show pdbs;
    CON_ID CON_NAME                       OPEN MODE  RESTRICTED
---------- ------------------------------ ---------- ----------
         2 PDB$SEED                       READ ONLY  NO
         3 TCYMOB0                        READ ONLY  NO
         4 MACTVDB                        READ ONLY  NO
从整体而言,整个搭建的过程没有花费太多时间,还是很顺利的。

时间: 2024-09-21 01:29:33

Oracle 12c Data Guard搭建(一)的相关文章

Oracle 11g Data Guard环境中的归档管理

11g里面,随着ASM.RAC.Data Guard(包括Active Data Guard)的成熟,使用RAC+ASM+Data Guard越来越成为一种可靠的.维护简单.稳定的高可用性和容灾保护方案.这篇文章谈谈如何管理Oracle 11g Data Guard环境中的归档日志. 归档日志是重要的,不然就不必提到这篇文章,备份恢复需要它,而Data Guard也需要它.在早期版本的Data Guard环境中,常常面临着归档日志管理问题.在Data Guard环境里面,对归档日志管理需要达到以

基于同一主机配置Oracle 11g Data Guard(logical standby)

      Oracle Data Guard逻辑备库是利用主库的一个备份首先建立一个物理备库,然后再将其转换为逻辑备库.这之后主库将日志传递到备库,备库利用logminer从主库的日志中解析出主库所执行过的SQL,在备库上重新执行一遍,从而保证与主库的数据在逻辑上保持一致.与物理备库相对应的是,物理备库使用的是redo apply,逻辑备库使用的是sql apply.因此逻辑备库仅仅保证数据与主库是在逻辑上是一致的,从而逻辑备库可以处于open状态下并进行相应的DML操作.本文描述了创建逻辑备

【12.2新特性】在Oracle Active Data Guard上部署列式存储

一.In-Memory and Active Data Guard 在Active Data Guard上部署列式存储的目的 可以选在在主库.备库或者两者同时部署列式存储.当在主备库上同时部署了列式存储的时候,可以在两个库上对相同或者不同的对象集做操作,如果是操作不同的对象集,那就相当于增加了In-Memory的存储大小. 在主备库上部署同样的In-Memory. 在最简单的情况下,主数据库和备用数据库都包含具有相同大小(不是必需的)的IM列存储. IM列存储包含相同的对象. 此方案的优点是分析

[20160222]Oracle 11G Data Guard Failover

[20160222]Oracle 11G Data Guard Failover-flush redo.txt --链接: http://blog.csdn.net/tianlesoftware/article/details/6256542 在Oracle 11g里,Data Guard 切换多了一个新的功能:flush redo. Flush 能把没有发送的redo 从主库传送到standby库. 只要主库能启动到mount 状态,那么Flush 就可以把没有发送的归档和current on

Oracle 12c中DBCA搭建备库体验(r11笔记第92天)

   Oracle 12c中DBCA有一个特性看起来蛮有意思,就是直接通过DBCA来搭建Data Guard,当然这么说也有点噱头,我们来实际看看.   Oracle提供的官方命令结构如下:       dbca -createDuplicateDB         -gdbName global_database_name         -primaryDBConnectionString easy_connect_string_to_primary         -sid databas

Data Guard搭建困境突围(一)

    在Oracle 10g的中搭建Data Guard环境真是一个纠结,目前大体都是采用两种方式,一种是rman备份,一种是duplicate的方式,但是这两个地方不够让我满意,一来是rman备份数据量不小,需要先在本地生成备份,然后拷贝到备库去,这个搭建周期略长,另外一个就是推荐的方式duplicate,在10g中有些鸡肋的味道,本地备份,然后拷贝到备库,然后动用duplicate的方式,这样的方式还不如手工rman的方式同步来得顺心顺意,所以在10g中我是不怎么喜欢duplicate方式

如何在同一台服务器上建立Oracle 10g DATA GUARD

为了测试在同一台服务器上建立了DATA GUARD环境. 主库状态正常,也存在可用的备份,下面设置主库的FORCE LOGGING和相关的初始化参数: SQL> alter database force logging; Database altered. 修改主库的初始化参数: SQL> alter system set log_archive_config = 'DG_CONFIG=(primary,standby)'; System altered. SQL> alter syst

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

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

Oracle Active Data Guard调整案例

客户的Oracle 11gR2 Active Data Guard环境,主数据库的standby_file_management=AUTO,备用数据库的standby_file_management=MANUAL,导致在主数据库为表空间添加的数据文件操作没有同步到备用数据库,在$ORACLE_HOME/dbs目录下也没有创建类似UNNAMED00003的文件,备用数据库有如下的告警日志: Tue Sep 02 17:37:36 2014 File #3 added to control file