Did you know that is possible to manage OCI infrastructure from within a database? Now why would you want to do this over using the OCI landing zone, or managing changes through Terraform scripts? Well … sometimes you just need to š
I can imagine situations where this could be of interest. Like to Especially when you are using Oracle APEX to build solutions as these live entirely within the database e.g. triggering import or export flows within an APEX approval process.
This can be enabled in 2 different ways
- Using the PL/SQL software development kit (SDK)
- After deploying the DBMS_CLOUD package
PL/SQL SDK
Oracle Cloud Infrastructure comes with a number of SDK’s and a command line interface (CLI) to facilitate development of such custom solutions.
One of these is the PL/SQL SDK, that allows you to use PL/SQL code to manage Oracle Cloud Infrastructure resources. It comes pre-installed by Oracle, but is limited to only Autonomous Databases using shared Exadata infrastructure.
More information on the PL/SQL SDK can be found here …
DBMS_CLOUD
So what if you do not use an Autonomous Shared database, and hence the PL/SQL SDK kit is not available to you? There is a way to deploy another PL/SQL package that provides an alternative to the SDK functionality that might be of use in certain situation.
The DBMS_CLOUD package includes specific procedures for Object, File and Bulk File management. But the real power comes from the ability to call OCI Rest API’s.
It comes by default with an Autonomous Dedicated database but not with a regular Cloud database. Instructions on how to deploy DBMS_CLOUD on your cloud database can be found on My Oracle Support.
More information on the DBMS_CLOUD package can be found here ….
Let me know how you plan to use the PL/SQL SDK or the DBMS_CLOUD package !