ACE Director Alum Daniel Morgan, founder of Morgan's Library, is scheduling
complimentary technical Workshops on Database Security for the first 30
Oracle Database customers located anywhere in North America, EMEA, LATAM, or
APAC that send an email to
asra_us@oracle.com. Request a Workshop for
your organization today.
Purpose
This page will serve as a landing page for information discovered that can be shared about the Autonomous Database. It has been put together as a collaborative effort with Oracle ACE Ric Van Dyke and we will add to it as new discoveries are made.
Where there is demo code it will be from a 21c autonomous database. Comments on it, unless identified as "confirmed" will contain some amount of speculation and should be read with that in mind.
But, equally important to keep in mind ... Oracle Autonomous Database is DBaaS in the purest form of the acronym. It is not your database ... it is Oracle's ... and you are renting it.
Will you be able to perform necessary management functionality? Yes. Will you be able to perform it the way you used to when you could just declare yourself SYSDBA, compromise all least privileges aspects of security and do whatever you wanted?
No. And, both you and your employer will be far better off because of it though it may not make you happy, at least at first.
Definitions
These are purely speculative and readers should expect them to be incorrect or incomplete but its all we have to go with at the moment.
Keyword
Meaning
APPLICATION
In version 12c Oracle introduced a new data dictionary view "DBA_APPLICATIONS" which didn't seem justified until now. Look below to see how it is being used in the Autonomous Database.
POD
An Application Root Container.
SEED
The seed container used to create an Application Root Container.
TENANT
The owner of an Application Root Container.
Security
There is little question that the Autonomous Database is more secure than the standard Oracle Database. Not, it is likely, because Oracle invested a huge amount of extra effort in security
but rather because they implemented something they should implement across all future version of the product which is getting rid of the overly permissive SYSDBA as the standard management access point.
Autonomous Database Version (new 21c)
In the auto
SELECT * FROM v$version;
BANNER
BANNER_FULL
BANNER_LEGACY
CON_ID
-----------------------------------------------------------------------
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
Version 21.2.0.0.0
Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production
0
Admin User (new 21c)
In the autonomous database the user SYS is not available to DBAs. The top level management schema is ADMIN.
A couple of things are interesting here. The first is DEFAULT COLLATION is returned because that does not occur in 21.3. The other is that the profile is not DEFAULT.
SELECT dbms_metadata.get_ddl('USER', 'ADMIN') FROM dual;
SELECT dbms_metadata.get_ddl('USER', 'ADMIN')
FROM dual
ORDER BY 1;
TABLEPACE_NAME BIG_FILE
--------------- ---------
DATA YES
DBFS_DATA YES
SAMPLESCHEMA YES
SYSAUX YES
SYSTEM YES
TEMP YES
UNDO_2 YES
7 rows selected.
POD_CDB Objects (new 21c)
$ORACLE_HOME/rdbms/admin in 21.3 has a number of scripts with names in the form POD_CDB.
A review of these scripts led to the belief that POD is a keyword that translates to AUTONOMOUS DB.
Much of the syntax was in the POD_CDB_ADMIN package was written by someone almost completely clueless about Oracle Database administration, or to be charitable, written by someone trying to frustrate anyone interested in understanding how the database works.
Due to a lack of full access, as ADMIN, only a limited view of which of these POD_CDB objects has been installed is possible so it is very probable the listing, at right, is deceiving.
That said, it is obvious that a common user C##CLOUD$SERVICE has been created to host one of the packages.
SELECT owner, object_name, object_type
FROM dba_objects
WHERE object_name LIKE 'POD_CDB%';
We have insufficient information to decipher this listing but our suspicion that Oracle intended something more for DBA_APPLICATIONS has been confirmed.
Some of the application names appear to fit neatly into a working DBA's framework and our speculations have been appended to each row
IDM may stand for Identity Management
Note: ORDS has an important function in Autonomous Database but we do not currently understand that purpose well enough to speculate upon it.
SELECT app_name, app_status, app_capture_service
FROM dba_applications
ORDER BY 3,1;
APP_NAME APP_STATUS APP_CAPTURE_SERVICE speculation
--------------------------- ---------- ------------------------------- ------------- APP$CDB$POSTUPGRADE$APX NORMAL dwcsseed APEX Upgrades
APP$CDB$POSTUPGRADE$DV NORMAL dwcsseed DB Vault Upgrade
APP$CDB$PDBONLY$OMLMOD NORMAL dwcsseed Machine Learning
APP$CDB$PDBONLY$POSTUPGRADE NORMAL dwcsseedUpgrades
APP$CDB$POSTUPGRADE$SPL NORMAL dwcsseed SPL Plug-ins
APP$CDB$POSTUPGRADE$TXT NORMAL dwcsseed Ora Text Upgrade
APP$CDB$APEXPATCH NORMAL SYS$USERS Patching
APP$CDB$PDBONLY$GRAPH NORMAL SYS$USERS Graph DB
APP$CDB$PDBONLY$RMAN NORMAL SYS$USERS Backup/Recovery
APP$CDB$POSTUPGRADE$ADP NORMAL SYS$USERS Upgrade
APP$CDB$POSTUPGRADE$OML4PY NORMAL SYS$USERS Machine Learning
APP$CDB$SYSTEM NORMAL SYS$USERS
APP$CDB$ALL$ADWC NORMAL vlrdsjseszc3wkl_db202103231419 Automomous DW APP$CDB$ALL$OMLIDM NORMAL vlrdsjseszc3wkl_db202103231419 Machine Learning
APP$CDB$DATAPATCH NORMAL vlrdsjseszc3wkl_db202103231419 Patching APP$CDB$PDBONLY$ADWC NORMAL vlrdsjseszc3wkl_db202103231419 Autonomous DW
APP$CDB$PDBONLY$OLTP NORMAL vlrdsjseszc3wkl_db202103231419
APP$CDB$PDBONLY$ORDSPATCH NORMAL vlrdsjseszc3wkl_db202103231419 ORDS Patching