Delphix has various capabilities of provisioning Databases including Application binaries. Oracle Homes can also be provisioned in a similar manner to VDB’s. We will go through the steps involved in Provisioning Oracle Homes. Oracle Home Provision
To provision Oracle Home successfully, one has to make sure that Source and Target Environments have same physical characteristics, with respect to OS Version, make and model. Also, Provisioning Mount Point on the Target should not be a Symbolic Link.
Steps below describe the process of Oracle Home Provisioning.
1. Login to Delphix GUI as delphix_admin using right credentials.
2. Go to Manage-> Environments
3. Select the Source Environment, which will be used for Oracle Home provisioning.
4. In the Source Environment Page, click on Databases on the right side top of the screen.
5. Select the Dataset Home Type as Unstructured Files and enter the correct path of Oracle Home that will be used for Oracle Home provisioning. Once done, this will create a new Source of Unstructured Files in the Source Environment.
6. Go to Manage -> Databases -> Add dSource to add this as a dSource.
Under Advanced>> option, you can include all the paths to be excluded in the dSource.
Executable owned by root cannot be provisioned. Delphix recommends to exclude oradism, extjob, jssu, nmo, nmb and nmhs under $ORACLE_HOME/bin. Log/Trace files under $ORACLE_HOME/rdbms/log and $ORACLE_HOME/network/log are also candidates for exclusion as they don’t consume unwanted space.
7. In the Next Screen, give a name for this dSource and choose the Group.
8. Moving forward with Screens, you can select Snapsync Policy and create Hooks.
9. Once done, a dSource of vFiles for Provisioning Oracle Home will be created. This dSource can be provisioned to Target as the new Oracle Home using regular VDB provisioning techniques. One can also take Snapshots as appropriate. Patching activities would definitely be a Use Case where Snapshots are taken before and after the software upgrade.
10. To Provision Oracle Home, expand the dSource. Click on Provision in the main page. Select appropriate environment on the left side. Enter correct path for the Mount Point. Make sure the path is not a Symbolic Link.
11. In the Next Screen, provide proper name for vFiles Name. Choose correct Target Group and Snapsync Policy.
12. In the Next Screen, add a Configure Clone Hook for Run Shell Command Type for attaching Oracle Home to the Central Inventory.
<MOUNT-POINT-PATH-ENTERED-IN-STEP-10>/oui/bin/runInstaller -attachHome ORACLE_HOME_NAME="<NAME-FOR-ORACLE-HOME>" ORACLE_HOME="<MOUNT-POINT-PATH-ENTERED-IN-STEP-12>" -ignoreSysPrereqs
/u01/app/oracle/product/11.2.0 /oui/bin/runInstaller -attachHome ORACLE_HOME_NAME="ORA11G" ORACLE_HOME="/u01/app/oracle/product/11.2.0" -ignoreSysPrereqs
13. Complete the provisioning process by clicking Finish.
14. Once the provisioning process completes, Oracle Home will be made available on the Target Environment. One can also verify the Central Inventory Contents for Hook updates.
· Under the Mount Point directory used for Provisioning, check for oraInst.loc file.
· inventory_loc would point to the Central Inventory Location.
· Go to ContentsXML directory under Central Inventory Location. Check inventory.xml file for relevant updates of the new provisioned Oracle Home.
For the above Example, one would find the following entry (IDX may vary depending on number of Oracle Homes)
<HOME NAME="ORA11G" LOC="/u01/app/oracle/product/11.2.0" TYPE="O" IDX="3"/>
Refresh the Environment to make sure that the Provisioned Home is now reflected in Delphix. Go to Manage->Environments
and pick the right environment and click on the refresh icon on the card. Refresh Provisioned Oracle Home
If the Provisioned Oracle Home needs to be refreshed for getting the latest/greatest Patch, below steps should take care of it
1. Make sure all the VDB’s associated with that Oracle Home are brought down gracefully. If required, backup any specific files that may be used later once the refresh is complete (Files from $OH/dbs, $OH/network/admin etc). This step can also be automated as part of Pre-refresh Hook.
2. Open the Provisioned Oracle Home Card. On the bottom right of the card, click on the blue Refresh VDB icon.
3. Select the appropriate Source Card for refreshing.
4. Oracle Home will be refreshed.
5. Restart the VDB’s associated with the Oracle Home. Apply any Post-Patch Steps for each of the VDB’s. This step can also be automated as part of Post-refresh Hook. Delete Provisioned Oracle Home
If the Provisioned Oracle Home needs to be removed/deleted, follow the below steps
1. Make sure all the VDB’s associated with this Oracle Home is brought down gracefully.
2. Open/Expand the Provisioned Oracle Home Card.
3. Click on the Delete Icon on the bottom left hand side of the card. This will delete Oracle Home.
4. Detach deleted Oracle Home from Central Inventory.
<MOUNT-POINT-PATH-ENTERED-IN-STEP-10>/oui/bin/runInstaller -detachHome ORACLE_HOME_NAME="<NAME-FOR-ORACLE-HOME>" ORACLE_HOME="<MOUNT-POINT-PATH-ENTERED-IN-STEP-12>" -ignoreSysPrereqs.
5. Refresh the Environment to make sure that the deleted Provisioned Home is removed from Delphix. Go to Manage->Environments and pick the right environment and click on the refresh icon on the Card.