Oracle Data Guard_ 主库添加数据文件或创建表空间
8.3Managing Primary Database Events That Affect the Standby Database
To prevent possible problems, you must be aware of events on the primary database that affect a standby database and learn how to respond to them. This section describes these events and the recommended responses to these events.
In some cases, the events or changes that occur on a primary database are automatically propagated through redo data to the standby database and thus require no extra action on the standby database. In other cases, you might need to perform maintenance tasks on the standby database.
Table 8-1indicates whether or not a change made on the primary database requires additional intervention by the database administrator (DBA) to be propagated to the standby database. It also briefly describes how to respond to these events. Detailed descriptions of the responses are described in the section references provided.
The following events are automatically administered by redo transport services and Redo Apply, and therefore require no intervention by the database administrator:
A SQL
ALTER DATABASE
statement is issued with theENABLE THREAD
orDISABLE THREAD
clause.The status of a tablespace changes (changes to read/write or read-only, placed online or taken offline).
A datafile is added or tablespace is created when the
STANDBY_FILE_MANAGEMENT
initialization parameter is set toAUTO
.
Table 8-1 Actions Required on a Standby Database After Changes to a Primary Database
Reference | Change Made on Primary Database | Action Required on Standby Database |
---|---|---|
Add a datafile or create a tablespace 添加文件或创建表空间 | If you did not set the 如果STANDBY_FILE_MANAGEMENT初始化参数没有设置为AUTO,那么你必须将新的数据文件拷贝到备库 | |
Drop or delete a tablespace or datafile 删除表空间或数据文件 | Delete datafiles from primary and standby databases after the archived redo log file containing the 从主库删除数据文件,备库机会应用包含DROP或者DELETE命令的归档重做日志来应用 | |
Use transportable tablespaces 使用传输表空间 | Move tablespaces between the primary and standby databases. 在主备库之间移动表空间 | |
Rename a datafile 重命名一个数据文件 | Rename the datafile on the standby database. 在备库重命令数据文件 | |
Add or drop redo log files 添加或删除重做日志文件爱你 | Synchronize changes on the standby database. 在备库上同步改变 | |
Perform a DML or DDL operation using the 使用 | Send the datafile containing the unlogged changes to the standby database. 向备库发送包含没有日志记录的文件 | |
Change initialization parameters 改变初始化参数 | Dynamically change the standby parameters or shut down the standby database and update the initialization parameter file. 动态的改变备用的参数或者关闭备库,再更新初始化参数文件 |
8.3.1Adding a Datafile or Creating a Tablespace
The initialization parameter,STANDBY_FILE_MANAGEMENT
, enables you to control whether or not adding a datafile to the primary database is automatically propagated to the standby database, as follows:
STANDBY_FILE_MANAGEMENT初始化参数文件,能使用控制是否在添加数据文件到主库自动传播到备库,如下:
If you set the
STANDBY_FILE_MANAGEMENT
initialization parameter in the standby database server parameter file (SPFILE) toAUTO
, any new datafiles created on the primary database are automatically created on the standby database as well.如果STANDBY_FILE_MANAGEMENT这个初始化参数文件在备库中的spfile是AUTO,那么任何在主库上新创建的数据文件会自动的在备库创建。
If you do not specify the
STANDBY_FILE_MANAGEMENT
initialization parameter or if you set it toMANUAL
, then you must manually copy the new datafile to the standby database when you add a datafile to the primary database.如果STANDBY_FILE_MANAGEMENT没有设置或者设置为MANUAL,那么当你在主库添加数据文件时,你必须手动拷贝新的数据文件到备库
Note that if you copy an existing datafile from another database to the primary database, then you must also copy the new datafile to the standby database and re-create the standby control file, regardless of the setting ofSTANDBY_FILE_MANAGEMENT
initialization parameter.
注意,如果你从另一个数据库已存在的数据文件拷贝到到主库,那么你必须也要拷贝到倒库,然后重新创建备用控制文件,除非你设置了STANDBY_FILE_MANAGEMENT
初始化参数。
The following sections provide examples of adding a datafile to the primary and standby databases when theSTANDBY_FILE_MANAGEMENT
initialization parameter is set toAUTO
andMANUAL,
respectively.
按以下提供的例子来添加一个数据文件���主库,备库的STANDBY_FILE_MANAGEMENT分别设置为AUTO和MANUAL。
8.3.1.1When STANDBY_FILE_MANAGEMENT Is Set to AUTO
STANDBY_FILE_MANAGEMENT
initialization parameter is set toAUTO
.以下的例子给出了主库添加一个数据文件,备库的STANDBY_FILE_MANAGEMENT为AUTO时的步骤。
Add a new tablespace to the primary database:
1.添加一个新的表空间到主库:
SQL> CREATE TABLESPACE new_ts DATAFILE '/disk1/Oracle/oradata/payroll/t_db2.dbf'2> SIZE 1m AUTOEXTEND ON MAXSIZE UNLIMITED;Archive the current online redo log file so the redo data will be transmitted to and applied on the standby database:
归档当前现在重做日志,这样,重做日志会传输到备库,并且备库会应用传输过来的日志:
SQL> ALTER SYSTEM ARCHIVE LOG CURRENT;Verify the new datafile was added to the primary database:
3.验证新的数据文件被添加到主库:
SQL> SELECT NAME FROM V$DATAFILE;NAME----------------------------------------------------------------------/disk1/oracle/oradata/payroll/t_db1.dbf/disk1/oracle/oradata/payroll/t_db2.dbfVerify the new datafile was added to the standby database:
验证信的数据文件被添加到备库:
SQL> SELECT NAME FROM V$DATAFILE;NAME----------------------------------------------------------------------/disk1/oracle/oradata/payroll/s2t_db1.dbf/disk1/oracle/oradata/payroll/s2t_db2.dbf