Validate the Shard Database
To validate that all of the shard database requirements have been met,
you can run an Oracle-supplied procedure, validateShard
, that
inspects the database and reports any issues encountered. This procedure is
read-only and makes no changes to the database configuration.
The validateShard
procedure can and should be run
against primary, mounted (unopened) standby, and Active Data Guard standby databases
that are part of the distributed database configuration. You can run validateShard
multiple times and at
any time during the distributed database life cycle, including after upgrades and patching.
To run the validateShard
package, do the following:
$ sqlplus / as sysdba
SQL> alter session set container=shard_pdb_name;
SQL> set serveroutput on
SQL> execute dbms_gsm_fix.validateShard
This procedure will produce output similar to the following:
INFO: Data Guard shard validation requested.
INFO: Database role is PRIMARY.
INFO: Database name is SHARD1.
INFO: Database unique name is shard1.
INFO: Database ID is 4183411430.
INFO: Database open mode is READ WRITE.
INFO: Database in archivelog mode.
INFO: Flashback is on.
INFO: Force logging is on.
INFO: Database platform is Linux x86 64-bit.
INFO: Database character set is WE8DEC. This value must match the character set of the catalog database.
INFO: 'compatible' initialization parameter validated successfully.
INFO: Database is a multitenant container database.
INFO: Current container is SHARD1_PDB1.
INFO: Database is using a server parameter file (spfile).
INFO: db_create_file_dest set to: '/u01/app/oracle/dbs'
INFO: db_recovery_file_dest set to: '/u01/app/oracle/dbs'
INFO: db_files=1000. Must be greater than the number of chunks and/or
tablespaces to be created in the shard.
INFO: dg_broker_start set to TRUE.
INFO: remote_login_passwordfile set to EXCLUSIVE.
INFO: db_file_name_convert set to: '/dbs/SHARD1/, /dbs/SHARD1S/'
INFO: GSMUSER account validated successfully.
INFO: DATA_PUMP_DIR is '/u01/app/oracle/dbs/9830571348DFEBA8E0537517C40AF64B'.
All output lines marked INFO
are for informational
purposes and should be validated as correct for your configuration.
All output lines marked ERROR
must be fixed before
moving on to the next deployment steps. These issues will cause errors for certain
distributed database operations if they are not resolved.
All output lines marked WARNING
may or may not be
applicable for your configuration. For example, if standby databases will not be
used for this particular deployment, then any warnings related to standby databases
or recovery can be ignored. This is especially true for non-production,
proof-of-concept, or application development deployments. Review all warnings and
resolve as necessary.
Once all of the above steps have been completed, the newly created
database can now be the target of a GDSCTL ADD SHARD
command.
For high availability and disaster recovery purposes, it is highly
recommended that you also create one or more standby shard databases. From a distributed database perspective, as long as the above requirements are also met on the standby
databases, and all changes to the primary shard database are applied to the
standbys, the standby database only needs to be added to the distributed database configuration with an ADD SHARD
command.