You can use the hapdbmigrate utility to perform a planned end-to-end migration of pluggable databases across containers of the same database version. The destination container database may be on the same node or on another node. The PDB must have its own independent storage.
If the PDB has parent groups, they will be unlinked and frozen by the utility during the migration. After successful migration, they will be relinked and unfrozen by the utility.
The migration is supported on database version 22.214.171.124.
The configuration must meet the following requirements:
The PDB and CDB databases must be on Veritas Cluster File System (CFS) or Veritas File system (VxFS).
There must be no parent resources for the PDB resource.
The PDB must be plugged in to the source CDB. The PDB resources may or may not be offline.
The source and destination CDB resources for the migration must be different.
The version of the destination CDB must be the same as the source CDB.
The PDB to be migrated is mounted on an independent file system (separate mount points for CDB and PDB datafiles).
The CDB and PDB resources must be configured in the same service group.
The utility performs the following actions during the migration:
Unlinks and freezes the parent groups, if any, depending on the source CDB group where the PDB resource to be migrated is configured.
Takes PDB resources offline.
Unplugs the PDB from the CDB and creates an XML file,
<pdb_res_name>_<dest_cdb_res_name>.xml in the XML directory provided by the user.
Drops the PDB from the CDB keeping the datafiles.
Takes offline all the PDB child resources. Unlinks the PDB resource from the source CDB resource and deletes the PDB resource. Unlinks and deletes all PDB child resources.
Recreates the PDB resource and all its children with original dependencies in the destination CDB service group.
Brings online the PDB child resources on all the nodes where the destination CDB service group is online
Plugs the PDB in the destination CDB.
Brings the PDB resource online after successful plugging. Unfreezes and links the parent group to the source CDB group.
The hapdbmigrate utility performs certain pre-requisite checks before the migration to verify that the cluster is ready for PDB migration. If the utility encounters any issues, you will need to manually fix the issues.
The utility is present in the
The log files of the migration are located at
$VCSLOG/log/hapdbmigrate.log. The logs are rotated after the file exceeds 5 MB and is saved in .gz format
To migrate Pluggable Databases (PDB) between Container Databases (CDB)
# cp /etc/VRTSvcs/conf/config/main.cf \ /etc/VRTSvcs/conf/config/main.cf.save
# hastatus -summary
# hares -state|grep FAULTED # hares -state|grep UNKNOWN
# hares -state resname
On the destination CDB, verify the following:
The destination CDB is not in suspended mode.
Any instance of the destination CDB is not in mounted state.
See the Oracle documentation for more information.
If any instance of the destination CDB is in restricted state, ensure that the PDB resource you want to migrate has the StartUpOpt attribute set to restricted.
# haconf -makerw # hares -modify pdb1 StartUpOpt \ RESTRICTED # haconf -dump -makero
The PDB child resources must not be dependent on the CDB resource or any of its child resources.
The PDB child resources must not have any parent, which is not a part of the PDB child hierarchy.
# $VCS_HOME/bin/hapdbmigrate -pdbres pdb_resname -cdbres cdb_resname \ -XMLdirectory xml_directory [-ignoreparentgrp] [-prechecks] -pdbres: Name of the PDB resource, which needs to be migrated -cdbres: Name of the CDB resource, where the PDB needs to migrate -XMLdirectory: XML directory location for the unplugged PDB -ignoreparentgrp: Utility proceeds even if the PDB group has parent groups -prechecks: Performs prechecks and validation -help|h: Prints usage
The migration log file is located at
# hares -state pdb_resname
# haconf -makerw # hagrp -dep parent_sg #Parent Child Relationship parent_sg source_CDB online local firm # hagrp -offline parent_sg -any # hagrp -unlink parent_sg source_CDB # hagrp -link parent_sg dest_CDB online local firm # hagrp -dep parent_sg #Parent Child Relationship parent_sg dest_CDB online local firm # haconf -dump -makero