Oracle 12c Data Guard搭建(一) (r10笔记第57天)

对于使用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 从整体而言,整个搭建的过程没有花费太多时间,还是很顺利的

原文发布于微信公众号 - 杨建荣的学习笔记(jianrong-notes)

原文发表时间:2016-10-19

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏青蛙要fly的专栏

超详细的生命周期图-你能回答全吗

超详细的Activity与Fragment的生命周期图,可能大家会说你这篇文章也太水了吧。就这么一个破图。可是我觉得它写的很详细,有些方法是哪些情况下会运行,哪...

1052
来自专栏学海无涯

Android开发之DownloadManager的使用

Android 开发中,经常有从服务器下载数据的需求出现,尤其是在线更新App的情形。其基本思路是根据本地的App版本号和服务器的版本号进行比较,如果服务器版本...

4127
来自专栏李蔚蓬的专栏

跨程序共享数据——Content Provider 之 运行时权限解析以及申请的实现(可完美解决java.lang.SecurityException:Permission Denial 问题)

本模块共有四篇文章,参考郭神的《第一行代码》,对Content Provider的学习做一个详细的笔记,大家可以一起交流一下:

1.6K3
来自专栏编程思想之路

Android中应用调用系统权限

现在设备的安全性越来越受到重视,随之而来的便是开发中的各种不便,比如有普通权限,运行时权限,系统权限之分。对于运行时权限的添加可以参考 对于Android中各个...

2796
来自专栏葡萄城控件技术团队

Wijmo 更优美的jQuery UI部件集:运行时处理Wijmo GridView数据操作

C1GridView具有很多内置的功能,比如排序,过滤,分页以及分组。 ? 对于开发者来说,这些都是很有用的功能,因为它们可以节省大量通过代码实现这些能力...

1977
来自专栏技术小黑屋

Android处理崩溃的一些实践

对于任何程序来说,崩溃都是一件很难避免的事情,当然Android程序也不例外。在Android程序中,引起崩溃的多属于运行时异常或者错误,对于这些异常我们很难做...

1232
来自专栏数据和云

【Oracle12.2新特性掌上手册】-第八卷 PDB的快速创建与移除

编辑手记:在Oracle12.2 中提供了多种创建PDB的方式,能够更快速便捷地实现数据库的扩展和变更。今天我们来介绍通过SQL*Plus管理的方式。 注:文档...

3769
来自专栏Android开发指南

Android使用RxJava+Retrofit2+Okhttp+MVP练习的APP

1.6K7
来自专栏QQ音乐技术团队的专栏

[Android] Toast问题深度剖析(一)

伴随着我们开发的深入,Toast 的问题也逐渐暴露出来。本文章就将解释 Toast 这些问题产生的具体原因。

1.9K15
来自专栏Android随笔

一个基础的Android项目

AndroidBasicProject是一个简易的Android基础项目,方便您快速进行开发。 包含以下内容:

852

扫码关注云+社区

领取腾讯云代金券