Notes from Data Guard
There are two types of Standby databases:
1, Physical standby database
block-for-block basis
the physically identical with the primary database
user recovery technology
2, Logical standby database
shares the same schema definition withe the primary database
executing sql statements on the standby database
use logMiner technology
There are three types of services provided with Data Guard:
1, redo transport services
2, log apply service: including redo apply and SQL apply
3, Role-management services
Oracle Data Guard supports two role-transition operations:
1, Switchover
2, Failover
Oracle Data Guard Data Protection Modes:
1,Maximum Protection
2,Maximum Availability
3,Maximum Performance
Benefits of Implementing Oracle Data Guard:
1,You can use a logical standby for real-time reporting and the physical standby database for point-in-time reporting.
2,Logical standby database is open and ready for reporting at all times.
Note:Standby database can use a different directory structure from the primary database.
On the primary database,Data Guard redo transport services use the following processes:
1,Log Writer(LGWR) process
2,Archiver(ARCn) Process
3,Fetch archive log(FAL)
Note:You can configure a primary database to ship redo information to a single standby database by using either LGWR or ARCn,but not both.
On the standby database,Data Guard log apply services use the following processes:
1,Remote file server(RFS) process
2,Archiver(ARCn) process
3,Managed recovery process(MRP)
4,Logical standby process(LSP)
Standby Redo Logs:
A standby redo log is required to implement:
1, The maximum protection and maximum availability levels of data protection.
2,Real-time apply
3,Cascaded redo log destinations
Standby redo logs are recommended for maximum performance data protection mode
Unless you are using the real-time apply feature,standby redo logs must be archived before the data can be applied to the standby database.
The standby archival operation occurs automatically.
The Data Guard physical standby Redo Apply architecture consists of:
A production(primary) database,which is linked to one or more standby databases(up to nine) that are identical copies of the production database.
--The limit of nine standby databases is imposed by the LOG_ARCHIVE_DEST_n parameter.In Oracle Database 10g,the maximum number of destinations is 10. One is used as the local archive destination,leaving the other nine for uses such as the standby database.
Note: You can use the Cascaded Redo Log Destination feature to incorporate more than nine standby databases in your configuration.
--The primary database is open and active.The standby databases are either in recovery mode or open in read-only mode,but not both.
--Redo is applied to each standby database by using standard Oracle recovery techniques.
Logical Standby Database: SQL Apply Architecture
Instead of using media recovery to apply changes(as in the physical standby database configuration),archived redo log information is transformed
into equivalent SQL statements by using LogMiner technology.These SQL statements are then applied to the logical standby database.The logical
standby database is open in read/write mode and is available for reporting capabilities.
The RECOVERY_MODE column of the V$ARCHIVE_DEST_STATUS view contains the value MANAGED REAL TIME APPLY when log apply services are running in
real-time mode.
For physical standby database,the managed recovery process(MRP) applies the redo from the standby redo log files after the remote file server(RFS) process finishes writing.To start real-time apply for a physical standby database,issue the following command:
alter database recover managed standby database using current logfile;
For logical standby database,the logical standby process(MRP) applies the redo from the standby redo log files after the remote file server(RFS) process finishes writing.To start real-time apply for a logical standby database,issue the following command:
alter database start logical standby apply immediate;
VALID_FOR : ALL_LOGFILES,ALL_ROLES is not recommended setting for a logical standby for any destination.Because a logical standby is an open
database that is creating its own redo, there is a real possibility of having the log files overwrite each other.This gives you a system that is
unrecoverabl and/or unable to keep synchronized with the primary database.
There is only one invalid combination: STANDBY_LOGFILE,PRIMARY_ROLE.
SELECT dest_id,valid_type,valid_role,valid_now from v$archive_dest;
select * from v$standby_log;
select * from v$logfile where type='STANDBY';
Although standby redo logs are used only when the database is operating in the standby role,you should create standby redo logs on the primary
database so that switching roles does not require additional DBA intervention.
You can maintain the standby database in one of the following modes:
For physical standby databases
1,Redo Apply
2,Open read-only mode
For Logical standby databases
Open read/write mode
Data Guard Broker:Requirments
1,Enterprise Edition of Oracle Databae 10g
2,LOCAL_LISTERNER on each instance must resolve to an address that is reachable by all members
3,GLOABL_DBNAME attribute must be set to a concatenation of: db_unique_name_DGMGRL.db_domain
The Data Guard monitor comprises two components: the DMON process and the configuration file.
Data Guard configuration file:
1,default names are dr1<db_unique_name>.dat and dr2<db_unique_name>.dat
2,default location for unix and linux:$ORACLE_HOME/dbs. for windows:ORACLE_HOME\database
startup mount;
alter database force logging; The default value is No.
ARCHIVE_LAG_TARGET: It defines the mean time to failover in the event your primary database fails and you must fail over to the standby.
It likes the parameter of "fast_start_mttr_target" mttr:mean time to recovery target
The standby_archive_dest initialization parameter overrides the directory locaition that is specified with the LOG_ARCHVIE_DEST_n parameter
if both the parameters are specified. So you should set standby_archive_dest to the same location as the local archvive destination for the
physical standby database so that all necessary archvied redo log files for the standby database are in the same location.
Defining the Redo Transport Mode
Use the attributes of LOG_ARCHIVE_DEST_n
1,ARCH and LGWR
2,SYNC and ASYNC(LGWR only)
3,AFFIRM and NOAFFIRM
(primary)(改动成MAXIMUM PROTECTION)
SQL> alter system set log_archive_dest_2='SERVICE=orcldg LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcldg NODELAY MAX_CONNECTIONS=2 REOPEN=300 NOMAX_FAILURE';
(standby)
SQL> alter system set log_archive_dest_2='SERVICE=orclpri LGWR SYNC AFFIRM VALID_FOR=(ONLINE_LOGFILES,PRIMARY_ROLE) DB_UNIQUE_NAME=orcl NODELAY MAX_CONNECTIONS=2 REOPEN=300 NOMAX_FAILURE';
Redo Transport Mode: ARCH|SYNC|ASYNC
ARCH: You do not need standby redo log files for this mode. This mode enables the lowest grade of protection to the primary database as well as
the lowest performance impact.
ASYNC: (LGWR,ASYNC,NOAFFIRM) This mode,along with standby redo log files,enables a moderate grade of protection to the primary database and incurs a lower performance impact.
SYNC:(LGWR,SYNC,AFFIRM) This mode, along with standby redo log files,is required for the maximum protection or maximum availability protection
modes.This redo transport mode enables the highest grade of data protection to the primary database,but it also incurs the highest performance
impact.
Data Protection Mode:
1,Maximum protection
2,Maximum availability
3,Maximum performance
Logical Standby Database features:
alter database guard all|standby|none; The default value is all,which means only the SYS can modify the data.
Preparing to create a logical standby database:
1,check for unsupported data types
2,Be aware of unspported DDL commands
3,Ensure row uniqueness
4,Verify that the primary database is configured for archivelog mode
5,Enable supplemental logging
Unsupported objects:
1,Tables and sequences in the SYS schema
2,Tables using table compression
3,Tables used to support materialized views
4,Global temporary tables
5,Tables with unsupported data types(BFILE,ROWID and UROWID,User-defiened types,object types REFs,Varrays,Nested tables,XMLtype)
Query DBA_LOGSTDBY_UNSUPPORTED on the primary database for tables with unsupported data types:
Query DBA_LOGSTDB_NOT_UNIQUE on the primary database to find tables without a unique identifier.
Add a primary key or unique index to ensure that SQL apply can efficiently apply data updates.
Preparing to create a logical standby database.Be sure to check that the initialization parameters have the following values:
PARALLEL_MAX_SERVERS>5
LOG_PARALLELISM=1
SHARED_POOL_SIZE:160M or higher(recommended)
Creating a logical Standby database:
1,create a physical standby database
2,stop redo apply on the physical standby database
3,prepare the primary database to support a logical standby database
4,Build a logMiner Dictionary in the redo data
5,convert to a logical standby database
6,open the logical standby database
7,Verify that the logical standby database is performing properly.
Fast-start failover can be enabled for automatic failover
select thread#,low_sequence#,high_sequence# from v$archive_gap;
alter database register physical logfile 'filespec1';
Notes from Data Guard的更多相关文章
- Oracle Data Guard的配置
概述 Oracle Data Guard 是针对企业数据库的最有效和最全面的数据可用性.数据保护和灾难恢复解决方案.它提供管理.监视和自动化软件基础架构来创建和维护一个或多个同步备用数据库,从而保护数 ...
- 场景7 Data Guard
场景7 Data Guard 官方文档 :Oracle Data Guard Concepts and Administration 用于数据容灾,通过主备库同步(主库将redo日志传送到备库,一个 ...
- 【原】Configuring Oracle Data Guard In Physical Standby Database
作者:david_zhang@sh [转载时请以超链接形式标明文章] http://www.cnblogs.com/david-zhang-index/p/5042640.html参照文档:https ...
- DG - 开启Active Data Guard
在配置active data guard之前,phycial standby必须处于以下两个状态之一: (1)standby处于mount状态,并且redo apply正在运行中 (2)standby ...
- DATA GUARD架构(一)
Data Guard传输-应用架构.>图1-1 ------------------------------------------------------------ 重做传输架构>图1 ...
- ORACLE 11g 用Duplicate恢复Data Guard 备库详细过程
1.先查找备库控制文件路径 先在备库上找出控制文件的路径,通过和主库一样,不过为了以防万一,还是check为好. SQL> select name from v$controlfile; NA ...
- Oracle 11gR2 Database和Active Data Guard迁移案例
客户一套核心系统由一台Oracle Database 11.2.0.3.4单机和一台Active Data Guard组成,分别运行在两台PC服务器上,Oracle Linux 5.8 x86_64b ...
- data guard折腾记一
终于有空闲的机器腾出来了,生产环境上的一套Oracle环境终于可以鸟枪换炮了,生产环境有Data Guard,为了减少停机时间,而且避免重新构建Data Guard的麻烦(其实也不麻烦,就是浪费时间) ...
- Oracle Data Guard
DG 是 Oracle Data Guard 的简称.也就是Oracle11g的 数据卫士. 由于在工作中 Oracle和 SQL SERVER2008 同时都需要维护管理.给我的感觉这里的 DG 其 ...
随机推荐
- 13、Flask实战第13天:SQLAlchemy操作MySQL数据库
安装MySQL 在MySQL官网下载win版MySQL 双击运行 后面根据提示设置密码然后启动即可,这里我设置的密码是:123456 我们可以通过Navicat客户端工具连接上MySQL addres ...
- cogs 2554. [福利]可持久化线段树
题目链接 cogs 2554. [福利]可持久化线段树 题解 没有 代码 #include<cstdio> #include<cstring> #include<algo ...
- SD 一轮集训 day1 carcar
可以发现每条边只能选一次或者两次,并且最后每个点的度数(∑邻接边选的次数和)都是偶数(代表有欧拉回路). 然后根据题意列一个 n 行 m+1 列的01矩阵,每一行代表一个异或方程组(每个点的度数是偶数 ...
- 【树状数组】Gym - 101147J - Whistle's New Car
题意就是对每个点i,统计在其子树内(不含自身),且depj-depi<=xj的点有多少个. 把点分别按照dep-x和dep进行排序,离线处理, 每次把dep-x小于等于当前dep值的点插入树状数 ...
- 【树链剖分】【dfs序】【线段树】bzoj2836 魔法树
这道题告诉我们:树链剖分的重标号就是dfs序. #include<cstdio> #include<algorithm> using namespace std; #defin ...
- 【kmp算法】bzoj1355 [Baltic2009]Radio Transmission
引用题解:http://blog.csdn.net/wyfcyx_forever/article/details/40347425 #include<cstdio> #include< ...
- Java静态static工具类线程安全问题研究
针对静态方法有以下一些前提: 静态方法和实例方法的区别是静态方法只能引用静态变量,静态方法通过类名来调用,实例方法通过对象实例来调用 每个线程都有自己的线程栈,栈与线程同时创建,每一个虚拟机线程都有自 ...
- How to enable Hibernate option in windows 2008 R2 server?
http://velshare.blogspot.com/2013/02/how-to-enable-hibernate-option-in.html 1) To enable the Hiberna ...
- 深入了解JavaScript权威指南
JavaScript对象可以看作是属性的无序集合,每个属性就是一个键值对,可增可删.JavaScript中的所有事物都是对象:字符串.数字.数组.日期,等等.JavaScript对象除了可以保持自有的 ...
- faststone 注册码
用户名:c1ikm密码:AXMQX-RMMMJ-DBHHF-WIHTV 或 AXOQS-RRMGS-ODAQO-APHUU