Part 1: https://itoug.it/blog/2024/09/exadata-add-oracle-home-using-oedacli-part-1

Environment:

  • Exadata X9M-2
  • Virtual environment with KVM
  • Oracle Home in use: 19.18.0.0
  • Oracle Home to install: 19.22.0.0
  • Cluster version: 19.22.0.0
  • OS Oracle Linux 7.9
  • VM Name: ex2-itouglab01

Check command list:

Before to setup the new oracle it can be useful to test all commands that will be execute in a batch way.

STEP 1: Load XML file

STEP 2: Reset actions

This can be useful in case of previous pending activities.

STEP 3: Add databasehome command

Before to add the new home you need to know:

  1. Database owner = oracle
  2. Exact new home database version = 19.22.0.0.240116 (you can find it in the readme of image files)
  3. Oracle base dir = /u01/app/oracle
  4. Volume size = 50g
  5. Database Home Location = /u01/app/oracle/product/19.22.0.0/dbhome_1
  6. Database Home Name = e.g. itouglab_home_1922
  7. Cluster Name = e.g. ex2itouglab (to extract on RAC execute # olsnodes -c)

STEP 4: Save the current action to in-memory copy of the Engineered System XML configuration

STEP 5: Merge the current actions into the Engineered System model

STEP 6: List XML actions

Deploy new oracle home:

It always advisable to execute the oracle home add in a batch way because it often requires about 1 hour to be completed.

Create a command file with all the commands previously defined:

Executing oedacli –help you can see all the available options

Now execute in nohup mode the oedacli using input parameters to use the ssh connection and the command file previously defined:

If you want to check progress in details oedacli logs are locate in:

You can find a global log oedacli.out and a log related to the specific activity:

This one contains all details about the main activity:

Check Inventory

If everything is OK in previous step, now you can check if Inventory has been updated successfully:

Rename Volume Group

This step is not mandatory but can be useful to help volume identification in the future.

To complete this task umount the new volume:

Identify the volume group:

Check the active volumes:

Deactivate the volume group:

Check if the volume is correctly de-activated:

Rename the volume using the syntax:

Activate the volume group:

Check active volumes:

Check logical volume name:

Refresh the logical volume:

Modify fstab:

Mount the device:

Do the same on other cluster nodes

New home for patching:

If the new home has been created for patching purposes don’t forget to copy the following files from old version to new version.

Export environment variables:

Copy files from source to dest

For sure check the directories content before to copy and evaluate if you need to copy additional files from other configuration directories.

Patching the database:

This section is out of article purpose, but having now a new home available you can simply shutdown each instance and restart them from the new home, then at the end execute datapatch activity, but for sure this can be topic for a new article.

Conclusions

At the end we can say that the activity is not so simple but for sure it is very useful, because if you have more than one RAC in your KVM virtual environent, for sure you are saving space because at Dom 0 level oracle use always the same image and so only “delta” space is allocated and not the source shared image.

In addition, after a patching is completed on all instances in the same RAC, you can safetely remove the old oracle home saving space … but this is stuff for the next article.

BIBLIOGRAPHY

https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/add-databasehome.html

https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/alter-cluster.html

https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/oeda-command-line-interface1.html

https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmin/xmlaction.html

Oracle Linux: How to Rename Non-Root Volume Group (Doc ID 2989489.1)

How to create a new Database Home and Database using OEDACLI (Doc ID 2789297.1)