Oracle Database Features in Dedicated Autonomous Database Deployments

This article provides information on using Oracle Database features and options in Autonomous Database dedicated deployments.

For equivalent information in Autonomous Database shared deployments, see Autonomous Database for Experienced Database Users.

Autonomous Database configures and optimizes your database for you. You do not need to perform administration operations for configuring the database. SQL commands used solely for database administration are not available in this service. Similarly, other administrative interfaces and utilities such as RMAN are not available.

Let us discuss how are some of the key features of the Oracle database handled in a dedicated Autonomous Database:

  • Data and temporary tablespaces: The default data and temporary tablespaces for the database are configured automatically. The name of the default data tablespace is DATA.
  • Database character set: The database character set is Unicode AL32UTF8.
  • Stored data encryption: Stored data is encrypted using the AES128 (Advanced Encryption Standard 128-bit cipher key) algorithm. You can change the encryption algorithm for a tablespace using the ALTER TABLESPACE command.
    For example, to change the encryption algorithm of the DATA tablespace to AES256, enter:
    ALTER TABLESPACE data ENCRYPTION ONLINE USING 'AES256' REKEY;
  • Data compression: For Autonomous Transaction Processing workloads, compression is not enabled by default. For Autonomous Data Warehouse workloads, hybrid columnar compression is enabled by default for all the tables.

    To enable or disable compression or to specify different compression methods for your tables using the table_compression clause in your CREATE TABLE or ALTER TABLE command.

  • Database access: You do not have direct access to the database node or the local file system, and SYSTEM or SYSAUX tablespaces.
  • Parallel execution: By default, parallel execution (parallelism within a SQL statement) is not enabled for the Autonomous Transaction Processing workloads. However, for the Autonomous Data Warehouse workloads, parallel execution is enabled by default, and the degree of parallelism for SQL statements is set based on the number of OCPUs in the system and the database service you use when connecting to the database.
    • You can modify the degree of parallelism for a table or an index using the parallel_clause or by using a hint. For example, you can disable parallel DML in your session using the following SQL command:
      ALTER SESSION DISABLE PARALLEL DML;

      See Oracle Database VLDB and Partitioning Guide for more information on parallel DML operations.

    • If you create an index manually and specify the parallel_clause, the parallel attribute remains after the index is created. In this case, SQL statements can run in parallel unknown to the end-user. Change the parallel_clause value to NOPARALLEL or set the PARALLEL attribute to 1 to specify serial execution:
       ALTER INDEX index_name NOPARALLEL;

      or

       ALTER INDEX index_name PARALLEL 1; 

Latest Autonomous Database Features

Autonomous Database includes the latest Oracle Database features.

Autonomous Database includes features that:

  • Automate index management tasks, such as creating, rebuilding, and dropping indexes based on changes in the application workload. See Managing Auto Indexes in Oracle Database Administrator’s Guide for more information.

  • Gather real-time statistics automatically while a conventional DML workload is running. Because statistics can go stale between DBMS_STATS jobs, online statistics gathering for conventional DML helps the optimizer generate more optimal plans. Online statistics aim to reduce the possibility of the optimizer being misled by stale statistics. You can manage and access statistics for conventional DML through PL/SQL packages, data dictionary views, and hints. See Real-Time Statistics in Oracle Database SQL Tuning Guide for more information.

  • Gather statistics automatically on a more frequent basis. High-frequency automatic optimizer statistics collection complements the standard statistics collection job. By default, the collection occurs every 15 minutes, meaning that statistics have less time in which to be stale. See Configuring High-Frequency Automatic Optimizer Statistics Collection in Oracle Database SQL Tuning Guide for more information.

  • Quarantine execution plans for SQL statements that are terminated by the Resource Manager for consuming excessive system resources in an Oracle database. You can configure quarantine settings for a SQL statement by specifying limits on its resource consumption using procedures in the DBMS_SQLQ package. When the SQL statement crosses any of these resource consumption limits, it is terminated and the execution plan is quarantined. In this way, the database prevents high-resource SQL statements from executing repeatedly. See Quarantine for Execution Plans for SQL Statements Consuming Excessive System Resources in Oracle Database Administrator’s Guide for more information.

  • Optimize high-frequency single-row inserts for applications, such as Internet of Things (IoT) applications. See Enabling High Performance Data Streaming With the Memoptimized Rowstore in Oracle Database Performance Tuning Guide.

The ADMIN User and the SYS User

In Oracle Autonomous Database the predefined administrative user is ADMIN. In Oracle Database the predefined administrative user is SYS. While these two users serve the same purpose in their respective databases, they are not the same and do not have the same set of privileges.

Because Oracle Autonomous Database imposes security controls and performs administrative database tasks for you, the ADMIN user does not have as many privileges as the SYS user. Here is a list of the privileges that the ADMIN user does not have but that the SYS user in an Oracle Database does have:

ALTER LOCKDOWN PROFILE
BACKUP ANY TABLE
BECOME USER
CREATE ANY JOB
CREATE ANY LIBRARY
CREATE LIBRARY
CREATE LOCKDOWN PROFILE
CREATE PLUGGABLE DATABASE
DEQUEUE ANY QUEUE
DROP LOCKDOWN PROFILE
EM EXPRESS CONNECT
ENQUEUE ANY QUEUE
EXPORT FULL DATABASE
FLASHBACK ANY TABLE
FLASHBACK ARCHIVE ADMINISTER
GRANT ANY PRIVILEGE
GRANT ANY ROLE
IMPORT FULL DATABASE
INHERIT ANY PRIVILEGES
LOGMINING
MANAGE ANY FILE GROUP
MANAGE ANY QUEUE
MANAGE FILE GROUP
USE ANY JOB RESOURCE
USE ANY SQL TRANSLATION PROFILE

All system privileges with the ANY keyword (such as SELECT ANY TABLE, CREATE ANY PROCEDURE) honor the COMMON_SCHEMA_ACCESS lockdown, and an ADMIN user can not use it against the Common user schemas.

Unlike Oracle database on-premises, where the ANY keyword applies to all users except SYS, the ANY privilege only works against non-Common Users in Autonomous Database.

Tip:

To find a list of common users, you can run the following query as an ADMIN user:
select username 
from dba_users 
where common ='YES' 
order by username;

Tip:

To view a list of privileges that can be used with the ANY keyword, you can run the following query as an ADMIN user:
select distinct(privilege)
from dba_sys_privs 
where grantee like 'ADMIN' and privilege like '%ANY%' 
order by privilege;

Modifying Database Initialization Parameters

Autonomous Database configures database initialization parameters automatically when you provision a database. You do not need to set any initialization parameters to start using your service. However, you can modify some parameters if you need to.

List of Initialization Parameters that can be Modified

ALLOW_ROWID_COLUMN_TYPE
APPROX_FOR_AGGREGATION
APPROX_FOR_COUNT_DISTINCT
APPROX_FOR_PERCENTILE 
AWR_PDB_AUTOFLUSH_ENABLED
CURRENT_SCHEMA (Session only by using ALTER SESSION)
CURSOR_SHARING
DB_BLOCK_CHECKING
DDL_LOCK_TIMEOUT
FIXED_DATE
GLOBAL_NAMES
HEAT_MAP
IGNORE_SESSION_SET_PARAM_ERRORS
LDAP_DIRECTORY_ACCESS
MAX_IDLE_TIME
NLS_CALENDAR
NLS_COMP
NLS_CURRENCY
NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_DUAL_CURRENCY
NLS_ISO_CURRENCY
NLS_LANGUAGE
NLS_LENGTH_SEMANTICS
NLS_NCHAR_CONV_EXCP
NLS_NUMERIC_CHARACTERS 
NLS_SORT
NLS_TERRITORY
NLS_TIME_FORMAT
NLS_TIME_TZ_FORMAT
NLS_TIMESTAMP_FORMAT
NLS_TIMESTAMP_TZ_FORMAT
OPTIMIZER_CAPTURE_SQL_PLAN_BASELINES (Session only by using ALTER SESSION)
OPTIMIZER_IGNORE_HINTS
OPTIMIZER_IGNORE_PARALLEL_HINTS
OPTIMIZER_MODE
PARALLEL_DEGREE_POLICY
PLSCOPE_SETTINGS
PLSQL_CCFLAGS
PLSQL_DEBUG
PLSQL_OPTIMIZE_LEVEL
PLSQL_WARNINGS
QUERY_REWRITE_INTEGRITY
RECYCLEBIN
RESULT_CACHE_MODE
STATISTICS_LEVEL (Session only by using ALTER SESSION)
TIME_ZONE

For more information on initialization parameters see Oracle Database Reference. For more information on TIME_ZONE, see Oracle Database SQL Language Reference.

For more information on OPTIMIZER_IGNORE_HINTS and OPTIMIZER_IGNORE_PARALLEL_HINTS, see Manage Optimizer Statistics.