Oracle 参数 ENABLED_PDBS_ON_STANDBY 官方解释,作用,如何配置最优化建议
本站中文解释
_SITE
ENABLED_PDBS_ON_STANDBY_SITE参数定义了主备环境中可以激活的pluggable数据库的数量。
在设置ENABLED_PDBS_ON_STANDBY_SITE参数时,需要考虑的几点:
1. ENABLED_PDBS_ON_STANDBY_SITE参数在11g版本及以上才有,而在11g版本以下,必须要在两个实例里分别设置MAX_ENABLED_PDBS参数来控制可以激活的pluggable数据库的数量;
2. 要根据可用的计算资源来设置ENABLED_PDBS_ON_STANDBY_SITE参数,过多的pluggable数据库激活会影响数据库性能及稳定性;
3. 将ENABLED_PDBS_ON_STANDBY_SITE参数设置为1或2比较安全;
4. 能够保证高可用数据库,多设置几个比较安全,但是也要考虑性能及服务器资源;
5. 要特别注意,EMD必须设置成1,这能起到节省资源的作用 来降低数据库的计算资源消耗。
官方英文解释
ENABLED_PDBS_ON_STANDBY
specifies which pluggable databases (PDBs) to replicate on an Oracle Data Guard standby database.
Property | Description |
---|---|
Parameter type |
String |
Syntax |
|
Default value |
|
Modifiable |
|
Modifiable in a PDB |
No |
Basic |
No |
Oracle RAC |
All instances should use the same value. |
Note:
This parameter is meaningful only on standby databases. Its settings are ignored on a primary database.
PDB-list accepts a list of PDB names represented by glob patterns such as “PDB?” or “PDB*a”, “PDB2”. The glob pattern rules are like those of UNIX shells. The asterisk (*) and question mark (?) wildcard characters are supported. The ? wildcard character matches exactly one unknown character, and the * wildcard character matches any number of unknown characters. Also, the minus sign (-) character can be used as the first character in a PDB name to indicate that the PDB should be excluded on the standby database.
The following characters are valid in a PDB name: alphanumeric characters, underscore (_), number sign (#), and dollar sign ($). No other characters are valid. Oracle removes double quotation before processing the PDB name. Therefore you cannot use double quotation marks to embed other characters in the name. The PDB name is case insensitive. These are the same naming conventions as for a database name (as described in the DB_NAME
initialization parameter description).
These rules apply for the ENABLED_PDBS_ON_STANDBY
parameter:
-
Any PDB names that match glob patterns starting with minus sign (-) will not be part of the standby database.
-
If a PDB name matches several patterns in the PDB-list at the same time, the rightmost matched pattern has the highest precedence.
-
If this parameter is not specified in the
init.ora
file, it is assumed that “*” is specified by default. -
If one or more patterns are specified in this parameter, it is assumed that “-*” is implicitly specified in the leftmost position. For example,
ENABLED_PDBS_ON_STANDBY=“PDB1”, “PDB2”
is equivalent toENABLED_PDBS_ON_STANDBY=“-*”, “PDB1”, “PDB2”
. It means that a PDB name that does not match any patterns is not allowed to be part of the standby.
Examples
These examples assumes that nine new PDBs named PDB1A, PDB1B, PDB1C, PDB2A, PDB2B, PDB2C, PDB3A, PDB3B, and PDB3C are being added to the primary database.
-
If STANDBY1 sets
ENABLED_PDBS_ON_STANDBY=“*”
on STANDBY1, then all nine PDBs will be created on STANDBY1. -
If STANDBY1 sets
ENABLED_PDBS_ON_STANDBY=“PDB1*”
on STANDBY1, then PDB1A, PDB1B, and PDB1C will be created on STANDBY1. -
If STANDBY1 sets
ENABLED_PDBS_ON_STANDBY=“PDB*A”
on STANDBY1, then PDB1A, PDB2A, and PDB3A will be created on STANDBY1. -
If STANDBY1 sets
ENABLED_PDBS_ON_STANDBY=“PDB1*”, “-PDB*A”
on STANDBY1, then PDB1B and PDB1C will be created on STANDBY1. -
If STANDBY1 sets
ENABLED_PDBS_ON_STANDBY=“*”, “-PDB*A”, “-PDB*B”
on STANDBY1, then PDB1C, PDB2C and PDB3C will be created on STANDBY1. All other PDBs match “*”, and the rightmost pattern has the higher precedence, so they are excluded on the standby. -
If STANDBY1 sets
ENABLED_PDBS_ON_STANDBY=“*”, “-PDB*A”, “PDB2A”
on STANDBY1, then PDB1A and PDB3A are excluded, but all other PDBs including PDB2A will be created.