Oracle12cR1 DataGuard物理备库详细说明
来源:互联网 发布:支持mirrorlink的软件 编辑:程序博客网 时间:2024/05/05 00:18
创建一个DataGuard的物理备库
默认的Oracle Data Guard配置的手动过程。它包括以下主要内容:准备主数据库
创建物理备用数据库
Post-Creation Steps
创建物理备库的CDB
在主库创建PDB
1.1创建主库
Table 3-1 主库的配置和要求如下:
Reference Task
Section 3.1.1
Enable Forced Logging
Section 3.1.2
Configure Redo Transport Authentication
Section 3.1.3
Configure the Primary Database to Receive Redo Data
Section 3.1.4
Set Primary Database Initialization Parameters
Section 3.1.5
Enable Archiving
1.1.1 启用强制登录
SQL> alter database force logging;数据库已更改。
1.1.2 配置redo数据的传输验证
在一个Data guard配置中,用Oracle Net的session来传输redo数据和控制成员之间的信息,安全传输用安全套接字协议(SSL)或者远程验证密码文件。用SSL传输redo data
这些库必须是同一个域的成员(OID Oracle Internet Directory),允许使用当前用户数据库链接。
LOG_ARCHIVE_DEST_n和FAL_SERVER必须对应到Oracle Net的传输标识来配置SSL。
有支持安全传输的硬件模块或者Oracle wallet 和证书。
如果不支持SSL就必须配置一个用户远程认真的密码文件
1.1.3 配置主库接受redo数据
给主库创建备库接受redo的redo数据文件(为了以后主库切换到备库时使用)
创建备库redo log数据
SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/dataguard/Predodata1.rdo') SIZE 1024M;数据库已更改。SQL> ALTER DATABASE ADD STANDBY LOGFILE ('/oracle/dataguard/Predodata2.rdo') SIZE 1024M;数据库已更改。
删除 redo log数据文件(示例)
SQL> alter database drop standby logfile ('/oracle/dataguard/Predodata1.rdo');数据库已更改。SQL> alter database drop standby logfile ('/oracle/dataguard/Predodata2.rdo');数据库已更改。
1.1.4 设置主库的初始化参数
用主库的初始化参数可以控制redo数据的传输服务,还可以用额外参数控制一个应用(应用redo数据)的服务(以备转换成备库时使用)。
参数如下表:
Database DB_UNIQUE_NAME Oracle Net Service Name
Example 3-1 表中的配置例子:主库 主角色初始化参数
DB_NAME=chicagoDB_UNIQUE_NAME=chicagoLOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'CONTROL_FILES='/arch1/chicago/control1.ctl', '/arch2/chicago/control2.ctl'LOG_ARCHIVE_DEST_1= 'LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=chicago'LOG_ARCHIVE_DEST_2= 'SERVICE=boston ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=boston'REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVELOG_ARCHIVE_FORMAT=%t_%s_%r.arc这些参数控制redo数据和传输到备库中,并且在备库中被归档到本地归档日志。
SERVICE=boston ASYNC //如上内容中指定的是异步传输
Example 3-2 主库 备角色参数配置参数
FAL_SERVER=bostonDB_FILE_NAME_CONVERT='boston','chicago'LOG_FILE_NAME_CONVERT='/boston/','/chicago/' STANDBY_FILE_MANAGEMENT=AUTOExample 3-2所示
Parameter Recommended Setting
DB_NAME
主库指定主库创建数据库时的数据库名,一个物理备库指定主库的DB_NAMEDB_UNIQUE_NAME
为每个数据库指定一个唯一的名字,这个名字和数据库不变,即使是发生角色切换,也不会引起这个名字的变更LOG_ARCHIVE_CONFIG
在OracleData Guard配置中DG_CONFIG必须在每个库中设置来启用full的Data Guard功能,在每个数据库设置DG_CONFIG项的字符串中包含DB_UNIQUE_NAME,在列表中每个名称用逗号隔开。CONTROL_FILES
指定主数据库的控制文件路径,建议指定两个LOG_ARCHIVE_DEST_n
指定主库和备库要归档的redo数据. In Example 3-1:LOG_ARCHIVE_DEST_1
主库从onlie redo log数据产生的归档日志文件在 /arch1/chicago/.LOG_ARCHIVE_DEST_2
只适用于的主角色。此目标redo数据传输到远程物理备用目的地boston
.
注:如果配置了快速恢复区(初始化参数DB_RECOVERY_FILE_DEST的),你有没有明确配置本地归档目的地的位置属性,Oracle Data Guard的会自动使用LOG_ARCHIVE_DEST_1的初始化参数(如果尚未设置)默认本地归档目的地。另外的LOG_ARCHIVE_DEST_n的完整信息,请参见第Chapter 17 。
REMOTE_LOGIN_PASSWORDFILE
此参数必须设置为EXCLUSIVE或SHARED,如果远程登录,密码文件是用来管理用户进行身份验证或redo传输会话。LOG_ARCHIVE_FORMAT
指定一个归档日志文件的格式,线程(%T),序列号(%),和RESETLOGSID(%R)FAL_SERVER
指定Oracle Net服务的的FAL服务器的名称(通常是指主库运行所在的角色)。当chicago数据库运行在备用的角色,它用boston库作为FAL服务器,从中提取(请求)缺少的归档重做日志文件,如果Boston是无法自动发送丢失的日志文件。DB_FILE_NAME_CONVERT
指定备库数据文件的路径名和文件名的位置,随后是主库的数据文件的路径名和文件名的位置。此参数将主库的数据文件路径名和文件名都转换成备库所能使用的路径名和数据文件名。注意,该参数仅用于路径名转换为物理备用数据库。多对路径可以指定此参数。LOG_FILE_NAME_CONVERT
指定备用数据库online redo日志文件,随后是主库的online redo日志文件。此参数将主数据库日志文件转换成备用数据库上的路径名。多对路径可以指定此参数。STANDBY_FILE_MANAGEMENT
当此值设置为AUTO,则主库进行删除或者添加data file时,备库也将随机执行此操作1.1.5 Enable Archiving
oracle@Sol_ORA:/oracle$ mkdir archive_logoracle@Sol_ORA:/oracle$ cd archive_log/oracle@Sol_ORA:/oracle/archive_log$ lsoracle@Sol_ORA:/oracle/archive_log$ pwd/oracle/archive_logoracle@Sol_ORA:/oracle/archive_log$ exitSQL> archive log list;数据库日志模式 非存档模式自动存档 禁用存档终点 USE_DB_RECOVERY_FILE_DEST最早的联机日志序列 816当前日志序列 818SQL> alter system set log_archive_dest_1='location=/oracle/archive_log' scope=spfile;系统已更改。SQL> shutdown immediate数据库已经关闭。已经卸载数据库。ORACLE 例程已经关闭。SQL> startup mountSP2-0642: SQL*Plus 内部错误状态 2133, 上下文 3114:0:0继续执行将不安全ORA-03114: 未连接到 ORACLESQL> exit从 Oracle Database 12c Enterprise Edition Release 12.1.0.1.0 - 64bit ProductionWith the Partitioning, OLAP, Advanced Analytics and Real Application Testing options 断开oracle@Sol_ORA:~$ sqlplus / as sysdbaSQL*Plus: Release 12.1.0.1.0 Production on 星期五 10月 25 16:44:34 2013Copyright (c) 1982, 2013, Oracle. All rights reserved.已连接到空闲例程。SQL> startup mountORACLE 例程已经启动。Total System Global Area 2538741760 bytesFixed Size 2757504 bytesVariable Size 855641216 bytesDatabase Buffers 1660944384 bytesRedo Buffers 19398656 bytes数据库装载完毕。SQL> alter database archivelog;数据库已更改。SQL> alter database open;数据库已更改。SQL> archive log list;数据库日志模式 存档模式自动存档 启用存档终点 /oracle/archive_log最早的联机日志序列 816下一个存档日志序列 818当前日志序列 818
.2 Step-by-Step Instructions for Creating a Physical Standby Database
如下将一步一步进行介绍创建一个物理备库
数据库管理员认证
数据库的初始化参数
管理重做日志,数据文件和控制文件
管理归档重做日志
快速恢复区
Oracle网络配置
表3-2 是创建物理备库时,主库和备库所需要做的内容
Reference Task Database
Section 3.2.1
创建主数据库数据文件的备份副本
Primary
Section 3.2.2
创建备库的控制文件
Primary
Section 3.2.3
床件备库的参数文件Primary
Section 3.2.4
从主库拷贝文件到备库Primary
Section 3.2.5
设置环境以支持备用数据库
Standby
Section 3.2.6
启动物理备库
Standby
Section 3.2.7
验证物理备用数据库是正确运行
Standby
1.2.1 创建主库的副本
Oracle推荐用RMAN来创建1.2.2 为备库创建一个控制文件
SQL> ALTER DATABASE CREATE STANDBY CONTROLFILE AS '/tmp/boston.ctl';数据库已更改。
1.2.3 创建备库的参数文件
Step 1 Create a parameter file (PFILE) from 主库
SQL> create pfile='/tmp/TESTM_pfile.ora' from spfile;文件已创建。
创建完成后,修改此参数文件,给备库用。
Step 1 修改创建的额参数文件的参数
必须对参数文件做相应的修改,参考1.1.4例子
此处,物理备库的初始化参数如下:
...DB_NAME=chicagoDB_UNIQUE_NAME=bostonLOG_ARCHIVE_CONFIG='DG_CONFIG=(chicago,boston)'CONTROL_FILES='/arch1/boston/control1.ctl', '/arch2/boston/control2.ctl'DB_FILE_NAME_CONVERT='chicago','boston'LOG_FILE_NAME_CONVERT='/chicago/','/boston/'LOG_ARCHIVE_FORMAT=log%t_%s_%r.arcLOG_ARCHIVE_DEST_1= 'LOCATION=USE_DB_RECOVERY_FILE_DEST VALID_FOR=(ALL_LOGFILES,ALL_ROLES) DB_UNIQUE_NAME=boston'LOG_ARCHIVE_DEST_2= 'SERVICE=chicago ASYNC VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=chicago'REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVESTANDBY_FILE_MANAGEMENT=AUTOFAL_SERVER=chicago...参数设置必须主库和备库的吻合,可以用show parameter 命令来查看这些参数
参数解释如上表Example 3-2所示
1.2.4 拷贝主库文件到备库
将如上产生的文件拷贝的备库:
- 拷贝1.2.1中创建的数据文件
- 拷贝1.2.2中创建的备库控制文件
- 拷贝1.2.4中川件参数文件
1.2.5 设置环境支持备库
Step 1 创建密码文件
orapwd file=/u01/app/oracle/product/10.2.0/db_1/dbs/orapworcl password=admin
Step 2 将密码文件拷贝到备库
Step 3 创建主库和备库的listen
Step 4 创建oracle net service名
Step 5 创建一个主库的参数文件
SQL> CREATE SPFILE FROM PFILE='initboston.ora';Step 6 Copy the primary database encryption wallet to the standby database system
If the primary database has a database encryption wallet, copy it to the standby database system and configure the standby database to use this wallet.
Note:
The database encryption wallet must be copied from the primary database system to each standby database system whenever the master encryption key is updated.Encrypted data in a standby database cannot be accessed unless the standby database is configured to point to a database encryption wallet or hardware security module that contains the current master encryption key from the primary database.
1.2.6 启动物理备库
在备库
SQL> STARTUP MOUNT;还原主库数据到备库
启用redo应用
SQL> ALTER DATABASE RECOVER MANAGED STANDBY DATABASE - > DISCONNECT FROM SESSION;
1.2.7 验证物理备库的正常运行
V$MANAGED_STANDBY视图可以查看redo数据的复制和应用状态SQL> SELECT CLIENT_PROCESS, PROCESS, THREAD#, SEQUENCE#, STATUS FROM V$MANAGED_STANDBY WHERE CLIENT_PROCESS='LGWR' OR PROCESS='MRP0'; CLIENT_PROCESS PROCESS THREAD# SEQUENCE# STATUS-------------- --------- ---------- ---------- ------------N/A MRP0 1 80 APPLYING_LOGLGWR RFS 1 80 IDLE如上表明redo传输线真工作正常
查询的输出也应显示为MRP一行。,如果MRP的状态显示APPLYING_LOG和序列#等于主数据库目前正在发送的序列号,然后在待机已经解决了所有的差距,目前在实时应用模式。
1.3 Post-Creation Steps
物理备库上的数据保护升级数据保护模式
启用闪回数据库
1.4 创建一个物理备库的CDB
可以创建一个多用户的容器数据库(CDB):数据库角色定义在CDB级别,而不是个别容器级别。
如果执行切换或故障转移操作,整个CDB进行角色转变。
任何的DDL和角色的转换必须在root下做,因为它的作用域是真个的CBD,PDBs没有角色
CBD物理备库,SQL语句的语法是一般非容器数据库一样,有如下特殊情况是不一样的:
ALTER DATABASE RECOVER MANAGED STANDBY功能只在ROOT容器,它不允许在PDB。
角色相关联整个CDB,单个PDBs没有自己的角色。因此,下面的角色转变的DDL与物理备用的相关影响整个CDB:
ALTERDATABASE SWITCHOVER TO target_db_name
ALTER DATABASE ACTIVATE PHYSICAL STANDBY
ALTER PLUGGABLE DATABASE RECOVER这个语句不支持(待机恢复始终处于的CDB级别。)
要管理多用户环境,你必须有CDB_DBA角色。
Oracle建议备用数据库有其自己的密钥库。
1.5 在主库创建一个PBD
已经在主库和物理备库的环境下,应该注意一下几点:
dataguard必须配置为auto
如果数据文件位于ASM中,然后使用ASMCMD实用程序在备用数据库,将文件复制到以下位置
<db_create_file_dest>/<db_unique_name>/<GUID>/datafile参数的GUID是全局唯一标识符分配给在PDB,一旦被分配,它不改变。要找到的GUID参数值,从原来的源容器后再拔下PDB查询视图V $CONTAINERS。下面的示例显示了如何找到PDBPDB容器ID源容器GUID参数值3:
SELECT guid FROM V$CONTAINERS WHERE con_id=3; GUID D98C12257A951FC4E043B623F00A7AF5例子:
+DATAFILE/BOSTON/D98C12257A951FC4E043B623F00A7AF5/datafile
#################################
翻译:john
转载请注明出处
- Oracle12cR1 DataGuard物理备库详细说明
- Oracle12cR1 DataGuard物理备库启用real-time apply
- Oracle12cR1 DataGuard的主备切换
- Dataguard物理备库创建
- DataGuard 物理备库配置
- oracle dataguard 物理备库创建(留着)
- 虚拟机实现dataguard物理备库
- dataguard之创建物理备库
- dataguard之管理物理备库
- dataguard 物理备库转换成逻辑备库
- Oracle DataGuard物理备库快速实战演示-视频分享
- RMAN冷拷贝搭建dataguard物理备库
- Oracle DataGuard物理备库的数据模式
- Oracle 10g dataguard 物理备库日常维护
- dataguard创建物理备库几个关键参数详解
- oracle rman duplicate 创建dataguard物理备库
- Oracle 11g Dataguard 物理备库配置Duplicate配置
- Oracle12c DataGuard 物理备库的简单配置
- 【cocos2d-x 大型ARPG手游研发2----精灵的八面玲珑】
- 自定义membership rolemanager provider
- android学习笔记---Intent
- 一次二次开发中的经验与教训(一)
- 快捷操作
- Oracle12cR1 DataGuard物理备库详细说明
- 内存管理(X86-32位系统)
- <linux kernel>plz do not use usleep(0)!
- 投资速度对天使投资人很重要——九合创投王啸
- android布局及常见布局属性
- Opencv学习笔记-使用opencv计算轮廓凸包
- 什么是嵌入式系统??
- C语言判断一个数是否为素数
- 1.2 《硬啃设计模式》 第2章 学习设计模式需掌握的UML知识