Oracle Database Features in Autonomous Database on Dedicated Exadata Infrastructure
This article provides information on using Oracle Database features and options in Autonomous Database on Dedicated Exadata Infrastructure.
For equivalent information in Autonomous Database Serverless 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 an 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 AES256 (Advanced Encryption Standard 256-bit cipher key) algorithm.
Note
Autonomous Databases created before September 2021 use AES128 algorithm by default.If needed, you can change the encryption algorithm for a tablespace using theALTER 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 yourCREATE TABLE
orALTER 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 CPUs 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;
- You can modify the degree of parallelism for a table or an index using the
- Latest Autonomous Database Features
Autonomous Database includes the latest Oracle Database features. - The ADMIN User and the SYS User
In Oracle Autonomous Database on Dedicated Exadata Infrastructure 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. - 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. - SYSDATE_AT_DBTIMEZONE
SYSDATE_AT_DBTIMEZONE
enables special handling in a session for the date and time value returned in calls toSYSDATE
andSYSTIMESTAMP
.
Parent topic: Features for Experienced Database Users
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 on Dedicated Exadata Infrastructure 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 on Dedicated Exadata Infrastructure 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;
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
Click an initialization parameter in the following list to learn more about it. For the parameters that are not clickable below, see Oracle Database Reference for more information.
ALLOW_ROWID_COLUMN_TYPE
APPROX_FOR_AGGREGATION
APPROX_FOR_COUNT_DISTINCT
APPROX_FOR_PERCENTILE
AWR_PDB_AUTOFLUSH_ENABLED
CONTAINER_DATA
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
INMEMORY_OPTIMIZED_ARITHMETIC (Allowed only with ALTER SYSTEM)
INMEMORY_QUERY (Allowed with ALTER SYSTEM and ALTER SESSION)
JOB_QUEUE_PROCESSES (You can only lower its value or bring it back to the original value)
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_INMEMORY_AWARE (Allowed with ALTER SYSTEM and ALTER SESSION)
OPTIMIZER_MODE
PARALLEL_MIN_DEGREE
PARALLEL_DEGREE_LIMIT
PLSCOPE_SETTINGS
PLSQL_CCFLAGS
PLSQL_DEBUG
PLSQL_OPTIMIZE_LEVEL
PLSQL_WARNINGS
QUERY_REWRITE_INTEGRITY
RECYCLEBIN
RESULT_CACHE_MODE
SESSION_EXIT_ON_PACKAGE_STATE_ERROR
SQL_TRACE (Allowed only with ALTER SESSION)
STATISTICS_LEVEL (Session only by using ALTER SESSION)
SYSDATE_AT_DBTIMEZONE
TIME_ZONE
UNDO_RETENTION (min=300 and max=86400)
SYSDATE_AT_DBTIMEZONE
SYSDATE_AT_DBTIMEZONE
enables
special handling in a session for the date and time value returned in calls to
SYSDATE
and SYSTIMESTAMP
.
Depending on the value of SYSDATE_AT_DBTIMEZONE
, you see either the date
and time based on the default Autonomous Database time zone, Coordinated Universal Time (UTC), or based on the time
zone that you set in your database.
Property | Description |
---|---|
Parameter type | Boolean |
Default Value | FALSE |
Modifiable | ALTER SESSION , ALTER
SYSTEM |
Range of values | TRUE | FALSE |
Default Autonomous Database Time Zone
The default Autonomous Database time zone is Coordinated Universal Time (UTC) and by default
calls to SYSDATE
and SYSTIMESTAMP
return the date
and time in UTC.
In order to change database time zone, you can run the following statement. This
example sets the database time zone to UTC-5
.
ALTER DATABASE SET TIME_ZONE='-05:00';
You must restart the Autonomous Database instance for the change to take effect.
After you set the database time zone, by default
SYSDATE
and SYSTIMESTAMP
continue to return
date and time in UTC (SYSDATE_AT_DBTIMEZONE
is
FALSE
by default). If you set
SYSDATE_AT_DBTIMEZONE
to TRUE
in a session,
SYSDATE
and SYSTIMESTAMP
return the database
time zone.
See Setting the Database Time Zone
for more information on using the SET TIME_ZONE
clause with
ALTER DATABASE
.
Using SYSDATE_AT_DBTIMEZONE in a Session
When SYSDATE_AT_DBTIMEZONE
is FALSE
in
a session, calls to SYSDATE
and SYSTIMESTAMP
return values based on the default Autonomous Database time zone, Coordinated Universal Time (UTC).
When SYSDATE_AT_DBTIMEZONE
is TRUE
in a
session, calls to SYSDATE
or SYSTIMESTAMP
return
the date and time based on the database time zone.
Setting
SYSDATE_AT_DBTIMEZONE
to TRUE
only affects the
use of SYSDATE
and SYSTIMESTAMP
as operators in
application SQL (for example, in queries, DML, and CTAS operations). When using this
parameter, it is recommended that your client/session timezone matches your database
timezone.
Example
The following example returns dates and times for two different time
zones, based on the SYSDATE_AT_DBTIMEZONE
parameter value:
SQL> SELECT DBTIMEZONE FROM DUAL;
DBTIMEZONE
_____________
-05:00
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=FALSE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
______________________________________
27-JAN-22 06.59.45.708082000 PM GMT
SQL> ALTER SESSION SET SYSDATE_AT_DBTIMEZONE=TRUE;
Session altered.
SQL> SELECT SYSTIMESTAMP FROM DUAL;
SYSTIMESTAMP
_________________________________________
27-JAN-22 02.14.47.578946000 PM -05:00
When a SYSDATE
or SYSTIMESTAMP
query is
executed in SQL Worksheet of Database Actions, the time and date value that is
returned is in UTC (when SYSDATE_AT_DBTIMEZONE
parameter is set
to TRUE
or FALSE
). To obtain the database time
zone when working in Database Actions, use TO_CHAR()
as
follows:
SQL> SELECT TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SS TZH":"TZM') FROM DUAL;
TO_CHAR(SYSTIMESTAMP,'YYYY-MM-DD"T"HH24:MI:SSTZH":"TZM')
___________________________________________________________
2022-01-27T14:15:00 -05:00