文档内容
|
|
用途 |
|
|
详细信息 |
| 实时 Cascading: |
| 先决条件: |
| 设置: |
| Far Sync Standby 数据库: |
| Data Guard Broker 和 Cascaded Standby 数据库: |
|
|
参考 |
适用于:
Oracle Database - Enterprise Edition - 版本 12.1.0.1 和更高版本本文档所含信息适用于所有平台
***Checked for relevance on 13-Jul-2015***
用途
这篇文档解释了 Cascaded Standby 在 oracle 12c 上的增强特性。
详细信息
Oracle 12c 的 cascading standby 数据库为用户增加了更多的选项。12c 的版本对比以前的版本增加了以下的新选项:
- 实时 Cascading
- Far Sync Standby 数据库
- Data Guard Broker 提供对 cascading standby 数据库的支持
但是,你还只能从配置 physical standby 数据库去 cascade 另一个 standby 数据库。 目前 logical standby 数据库还不支持 cascade 另一个 standby 数据库。
实时 Cascading:
新版本现在支持以实时的模式将 redo 从第一个 standby 数据库传递到 cascaded standby 数据库。因此在第一个 standby 数据库,Redo 的信息会在被写到 Standby Redolog 后立即传递到 cascaded standby 数据库。
而非实时 Cascading 意味着:只有主库的 log Switch 之后,整个 log sequence 才会被传递到最终的 Standby 数据库上。
先决条件:
- 第一个(Cascading)standby 数据库必须是物理的或者是 Far Sync Standby 数据库
- 必须保证至少在 Cascading standby 数据库上使用 Standby Redolog
- Active Data guard 的选项必须是有 license 的
- Primary,Cascading,Cascaded standby 数据库的 db_unique_name 必须体现在所有数据库 log_archive_config 的 dg_config 中
设置:
首先 ,创建一个通常的 Dataguard 环境到 cascading standby 数据库。Log 的传输模式应该为 SYNC,同时在 cascading standby 配置 Standby Redolog。在创建完 cascaded standby 数据库以后就可以设置 cascading log 的传输服务了,下面是一些注意事项:
- Primary,Cascading,Cascaded standby 数据库的 db_unique_name 必须体现在所有数据库 log_archive_config 的 dg_config 中。
- 在 Cascading standby 数据库的 log_archive_dest_n 里面设置 ‘valid_for=(STANDBY_LOGFILES,STANDBY_ROLE)’ 的属性来传输给 cascaded(最终)standby 数据库。
- 你可以通过设置 Log Transport 的模式来切换实时以及非实时的 cascading 模式:
ASYNC = Real-Time Cascading
SYNC = Non Real-Time Cascading
- 你只可以设置从 log_archive_dest_1 到 log_archive_dest_10 作为非实时模式的目的地,而你可以在 cascading standby 数据库上设置所有的 log_archive_dest_n 作为实时 cascading 的目的地。
- Cascading Standby 数据库可以运行在任何保护模式下。
- Cascading Standby 数据库可以传输给一个或者多的 terminal standby 数据库。
- Cascading Standby 数据库的 FAL_SERVER 应该设置为 primary 库或者是其他的 primary 直接连接的 standby 数据库。
- Terminal Standby 数据库的 FAL_SERVER应该设置 cascading Standby 数据库或者 Primary 数据库。
Far Sync Standby 数据库:
Far Sync Standby 数据库对于 Terminal standby 数据库来说是作为一个 RedoLog repository 数据库的作用。他不含有任何的数据文件。Far Sync Standby 数据库只是启动了 Log 传输服务。Far Sync Standby 数据库的优点是它可以作为 Primary 数据库的一个在最大保护模式下的本地的 ArchiveLog Repository,而 Physical 和 logical standby 数据库可以运行在远端,请参考文档:
Note 1565071.1: Data Guard 12c New Feature: Far Sync Standby
来了解具体的关于 Far Sync Standby 数据库内容以及设置的步骤。
Data Guard Broker 和 Cascaded Standby 数据库:
Data Guard Broker 有一个新的‘RedoRoutes’的属性可以用来构建和部署 cascaded Data Guard Broker 的配置。 以下是它的格式:
RedoRoutes = ‘(
Redo Source: Redo 的来源,他可以是 db_unique_name 或者是一个本地数据库名别名的 ‘LOCAL’-Keyword(不能被 Far Sync Standby 数据库使用)
Redo Destination: Redo 从这个数据库传输到的目的地。他可以是一个或者多个(用逗号分开)db_unique_name 或者是代表所有在 Data Guard Broker 配置中可能目的地的别名的‘ALL’-Keyword。 你可以设置到目的地的传输的模式。包括以下:
- SYNC: 等同于 log_archive_dest_n 中的属性 ‘SYNC AFFIRM’ 或者是非实时 Cascade
- ASYNC: 等同于 log_archive_dest_n 中的属性 ‘ASYNC’ 或者是 实时 Cascade
- FASTSYNC : 等同于 log_archive_dest_n 中的属性 ‘SYNC NOAFFIRM’
例子:
Primary Database: prim
Cascading Standby Database: local_stdby
Cascaded (terminal) Standby Database: remote_stdby
如果想实现’SYNC NOAFFIRM’的本地 standby 数据库和在实时 cascade 模式下的远程 standby 数据库,设置如下:
Primary Database (prim)
RedoRoutes = ‘(LOCAL : local_stdby FASTSYNC)’
-> Primary 数据库只传送 Redo 到 local Standby 数据库,但是有到远程 standby 数据库的 Archive 目的地。
Local Standby Database (local_stdby)
RedoRoutes = ‘(prim : remote_stdby ASYNC)’
-> 这里需要配置来源于 ‘prim’的 REDO 是以实时 cascade(ASYNC)的方式转发到远程的 Standby 数据库。