How to know if my oracle DB is on premise or cloud [message #689841] |
Fri, 17 May 2024 03:52 |
|
Michel Cadot
Messages: 68728 Registered: March 2007 Location: Saint-Maur, France, https...
|
Senior Member Account Moderator |
|
|
Not long ago it was easy to determine if your DB is on premise or on cloud: their banners (from v$VERSION) were different.
Now Entreprise and Standard original editions can be on premise or on cloud so we can no more determine in which environment we are just looking at the banner.
Starting with 21c, V$PDBS contains a CLOUD_IDENTITY column which is not null if you are on cloud.
So my question, in 12.2 to 19c, how to know, using SQL, if my oracle DB is on premise or cloud?
Bonus: how to know if it is OCI (Oracle Cloud Infrastructure) or ACE (Authorized Cloud Environment) or even neither (and unsupported)?
|
|
|
|
|
|
Re: How to know if my oracle DB is on premise or cloud [message #689864 is a reply to message #689856] |
Fri, 24 May 2024 10:46 |
John Watson
Messages: 8962 Registered: January 2010 Location: Global Village
|
Senior Member |
|
|
The problem with the AskTOM answer is that it doesn't answer the question. It tells you if you are an Autonomous database, it doesn't help if you are (for example) an OCI DB System database.
There must be a way. Oracle himself certainly detects it is a cloud platform, and indeed which one. This article,
Creating More Than 3 PDBs Raises ORA-65011 Error In Enterprise Edition When On Public Cloud (Doc ID 2815338.1)
makes it clear (though it references the wrong error, it should ora-65010, not 65011). If you get an ora-65010, setting "_cdb_disable_pdb_limit" = TRUE gets around it.
This article,
https://www.dbi-services.com/blog/oracle-disables-your-multitenant-option-when-you-run-on-ec2/
describes using strace to find the function call that does it, apparently it is kgcs_clouddb_provider_detect
|
|
|
|