Oracle Database-Features in Autonomous Database on Dedicated Exadata Infrastructure

Dieser Artikel enthält Informationen zur Verwendung von Oracle Database-Features und -Optionen in Autonomous Database on Dedicated Exadata Infrastructure.

Äquivalente Informationen in Autonomous Database Serverless Deployments finden Sie unter Autonomous Database für erfahrene Datenbankbenutzer.

Sie können eine Autonomous Database mit Oracle Database 19c oder Oracle Database 23ai bereitstellen, je nach Datenbanksoftwareversion der übergeordneten autonomen Containerdatenbank (ACD). Beispiel: Um eine Autonomous Database mit Oracle Database 23ai zu erstellen, müssen Sie eine ACD auswählen, deren Oracle-Datenbanksoftwareversion 23ai ist. Eine umfassende Liste der Datenbankfeatures, die von jeder dieser Datenbankversionen unterstützt werden, finden Sie in Oracle Database 23ai oder Oracle Database 19c im Oracle Help Center.

Autonomous Database konfiguriert und optimiert die Datenbank für Sie. Sie müssen keine Administrationsvorgänge zur Konfiguration der Datenbank ausführen. SQL-Befehle, die ausschließlich für die Datenbankadministration verwendet werden, sind in diesem Service nicht verfügbar. Ebenso sind andere administrative Schnittstellen und Utilitys wie RMAN nicht verfügbar.

Besprechen wir, wie einige der wichtigsten Features der Oracle-Datenbank in einer Autonomous Database behandelt werden:

  • Data- und temporäre Tablespaces: Die standardmäßigen Data- und temporären Tablespaces für die Datenbank werden automatisch konfiguriert. Der Name des Standard-Data Tablespace lautet DATA.
  • Datenbankzeichensatz: Der Datenbankzeichensatz ist Unicode AL32UTF8.
  • Verschlüsselung gespeicherter Daten: Gespeicherte Daten werden mit dem Algorithmus AES256 (Erweiterter Verschlüsselungsstandard 256-Bit-Cipher-Schlüssel) verschlüsselt.

    Hinweis:

    Autonomous Databases, die vor September 2021 erstellt wurden, verwenden standardmäßig den Algorithmus AES128.
    Bei Bedarf können Sie den Algorithmus für die Verschlüsselung eines Tablespace mit dem Befehl ALTER TABLESPACE ändern. Beispiel: Um den Verschlüsselungsalgorithmus des DATA-Tablespace in AES256 zu ändern, geben Sie Folgendes ein:
    ALTER TABLESPACE data ENCRYPTION ONLINE USING 'AES256' REKEY;
  • Datenkomprimierung: Bei Autonomous Transaction Processing-Workloads ist die Komprimierung nicht standardmäßig aktiviert. Bei Autonomous Data Warehouse-Workloads ist die Hybridspaltenkomprimierung standardmäßig für alle Tabellen aktiviert.

    Um die Komprimierung zu aktivieren oder zu deaktivieren oder andere Komprimierungsmethoden für Tabellen anzugeben, verwenden Sie die Klausel table_compression im Befehl CREATE TABLE oder ALTER TABLE.

  • Datenbankzugriff: Sie haben keinen direkten Zugriff auf den Datenbankknoten oder das lokale Dateisystem sowie SYSTEM- oder SYSAUX-Tablespaces.
  • Parameterausführung: Standardmäßig ist die parallele Ausführung (Parallelität innerhalb einer SQL-Anweisung) für Autonomous Transaction Processing-Workloads nicht aktiviert. Für Autonomous Data Warehouse-Workloads ist die parallele Ausführung jedoch standardmäßig aktiviert. Der Parallelisierungsgrad für SQL-Anweisungen wird basierend auf der Anzahl der CPUs im System und dem Datenbankservice festgelegt, den Sie für die Verbindung mit der Datenbank verwenden.
    • Sie können den Parallelisierungsgrad für eine Tabelle oder einen Index mit parallel_clause oder mit einem Hinweis ändern. Beispiel: Sie können parallele DML-Anweisungen in der Session mit dem folgenden SQL-Befehl deaktivieren:
      ALTER SESSION DISABLE PARALLEL DML;

      Im Oracle Database 19c VLDB and Partitioning Guide oder im Oracle Database 23ai VLDB and Partitioning Guide finden Sie weitere Informationen zu parallelen DML-Vorgängen.

    • Wenn Sie einen Index manuell erstellen und parallel_clause angeben, wird das Attribut "Parallel" nach der Erstellung des Index beibehalten. In diesem Fall können SQL-Anweisungen parallel ausgeführt werden, ohne dass der Endbenutzer davon weiß. Ändern Sie den Wert parallel_clause in NOPARALLEL, oder setzen Sie das Attribut PARALLEL auf "1", um die serielle Ausführung anzugeben:
       ALTER INDEX index_name NOPARALLEL;

      oder

       ALTER INDEX index_name PARALLEL 1; 

Neueste Features von Autonomous Database

Autonomous Database umfasst die neuesten Oracle Database-Features.

Autonomous Database umfasst folgende Features:

  • Automatisierung von Indexverwaltungsaufgaben, wie das Erstellen, Neuerstellen und Löschen von Indizes basierend auf Änderungen in der Anwendungs-Workload. Weitere Informationen finden Sie unter Automatische Indizes verwalten im Administratorhandbuch für Oracle Database 19c oder im Administratorhandbuch für Oracle Database 23ai.

  • Automatische Erfassung von Echtzeitstatistiken, während eine herkömmliche DML-Workload ausgeführt wird. Da Statistiken zwischen DBMS_STATS-Jobs veraltet werden können, unterstützt die Erfassung von Onlinestatistiken für konventionelle DML den Optimizer bei der Generierung besserer Pläne. Onlinestatistiken sollen die Möglichkeit verringern, dass der Optimizer durch veraltete Statistiken falsche Angaben macht. Sie können Statistiken für konventionelle DML über PL/SQL-Packages, Data Dictionary Views und Hinweise verwalten und aufrufen. Weitere Informationen finden Sie unter Echtzeitstatistiken im Handbuch zum SQL Tuning für Oracle Database 19c oder im Handbuch zum SQL Tuning für Oracle Database 23ai.

  • Automatische, häufigere Erfassung von Statistiken. Die häufige automatische Erfassung von Optimizer-Statistiken ergänzt den Standardjob zur Erfassung von Statistiken. Standardmäßig erfolgt die Erfassung alle 15 Minuten. Das bedeutet, dass Statistiken weniger lange veraltet sein können. Weitere Informationen finden Sie unter Häufige automatische Erfassung von Optimizer-Statistiken konfigurieren im Leitfaden zum SQL Tuning für Oracle Database 19c oder im Leitfaden zum SQL Tuning für Oracle Database 23ai.

  • Quarantäne von Ausführungsplänen für SQL-Anweisungen, die vom Ressourcenmanager beendet werden, da sie übermäßige Systemressourcen in einer Oracle-Datenbank verbrauchen. Sie können Quarantäneeinstellungen für eine SQL-Anweisung konfigurieren, indem Sie Grenzwerte für die Ressourcennutzung mit Prozeduren im Package DBMS_SQLQ angeben. Wenn die SQL-Anweisung einen dieser Grenzwerte für die Ressourcennutzung überschreitet, wird sie beendet, und der Ausführungsplan wird unter Quarantäne gestellt. Auf diese Weise verhindert die Datenbank, dass SQL-Anweisungen mit hoher Ressourcennutzung wiederholt ausgeführt werden. Weitere Informationen finden Sie unter Quarantäne für Ausführungspläne für SQL-Anweisungen, die übermäßige Systemressourcen nutzen im Administratorhandbuch für Oracle Database 19c oder im Administratorhandbuch für Oracle Database 23ai.

  • Optimierung hochfrequenter Einzelzeileneinfügungen für Anwendungen wie Internet of Things-(IoT-)Anwendungen. Siehe Enabling High Performance Data Streaming With the Memoptimized Rowstore im Oracle Database 19c Performance Tuning Guide oder Oracle Database 23ai Performance Tuning Guide.

ADMIN-Benutzer und SYS-Benutzer

In Oracle Autonomous Database on Dedicated Exadata Infrastructure ist der vordefinierte administrative Benutzer ADMIN. In Oracle Database ist der vordefinierte administrative Benutzer SYS. Diese beiden Benutzer dienen zwar demselben Zweck in ihren jeweiligen Datenbanken, sind aber nicht identisch und verfügen nicht über dieselben Berechtigungen.

Da Oracle Autonomous Database on Dedicated Exadata Infrastructure Sicherheitskontrollen vorschreibt und administrative Datenbankaufgaben für Sie ausführt, hat der ADMIN-Benutzer weniger Berechtigungen als der SYS-Benutzer. Im Folgenden finden Sie eine Liste der Berechtigungen, die der ADMIN-Benutzer nicht hat, der SYS-Benutzer in einer Oracle Database jedoch über folgende Berechtigungen verfügt:

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

Alle Systemberechtigungen mit dem Schlüsselwort ANY (wie SELECT ANY TABLE, CREATE ANY PROCEDURE) berücksichtigen die COMMON_SCHEMA_ACCESS-Sperre, und ein ADMIN-Benutzer kann sie nicht für die allgemeinen Benutzerschemas verwenden.

Im Gegensatz zu On-Premise-Datenbanken von Oracle, bei denen das Schlüsselwort ANY für alle Benutzer mit Ausnahme von SYS gilt, funktioniert die Berechtigung ANY nur bei nicht allgemeinen Benutzern in Autonomous Database.

Tipp:

Um eine Liste allgemeiner Benutzer anzuzeigen, können Sie als ADMIN-Benutzer die folgende Abfrage ausführen:
select username 
from dba_users 
where common ='YES' 
order by username;

Tipp:

Um eine Liste der Berechtigungen anzuzeigen, die mit dem Schlüsselwort ANY verwendet werden können, können Sie als ADMIN-Benutzer die folgende Abfrage ausführen:
select distinct(privilege)
from dba_sys_privs 
where grantee like 'ADMIN' and privilege like '%ANY%' 
order by privilege;

Parameter zur Datenbankinitialisierung

Autonomous Database konfiguriert Datenbank-Initialisierungsparameter automatisch, wenn Sie eine Datenbank bereitstellen. Sie müssen keine Initialisierungsparameter festlegen, um den Service zu verwenden. Sie können jedoch einige Parameter bei Bedarf ändern.

Liste der Initialisierungsparameter, die geändert werden können

Hinweis:

Klicken Sie in der folgenden Liste auf einen Initialisierungsparameter, um mehr darüber zu erfahren. Die Parameter, auf die unten nicht geklickt werden kann, finden Sie in der Oracle Database 19c Reference oder in der Oracle Database 23ai-Referenz.
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
OPEN_CURSORS (Allowed range of values are 1000 to 4000)
OPEN_LINKS (You must set SCOPE=SPFILE and restart the Autonomous Database after modifying this parameter)
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 Select a Time Zone for SYSDATE on Autonomous Database
TIME_ZONE
UNDO_RETENTION (min=300 and max=86400)

SYSDATE_AT_DBTIMEZONE Wählen Sie eine Zeitzone für SYSDATE in Autonomous Database aus

SYSDATE_AT_DBTIMEZONE ermöglicht ein spezielles Handling des Datums- und Uhrzeitwertes in einer Session, der in Aufrufen von SYSDATE und SYSTIMESTAMP zurückgegeben wird.

Je nach Wert von SYSDATE_AT_DBTIMEZONE werden Datum und Uhrzeit basierend auf der Standardzeitzone von Autonomous Database, der Coordinated Universal Time (UTC) oder basierend auf der Zeitzone angezeigt, die Sie in der Datenbank festgelegt haben.

Attribut Beschreibung
Parametertyp Boolescher Wert
Standardwert FALSE
Kann geändert werden ALTER SESSION, ALTER SYSTEM
Wertebereich TRUE | FALSE

Standardzeitzone für Autonomous Database

Die Autonomous Database-Standardzeitzone ist die koordinierte Weltzeit (UTC). Standardmäßig geben Aufrufe von SYSDATE und SYSTIMESTAMP das Datum und die Uhrzeit in UTC zurück.

Um die Zeitzone der Datenbank zu ändern, können Sie die folgende Anweisung ausführen. In diesem Beispiel wird die Datenbankzeitzone auf UTC-5 gesetzt.

ALTER DATABASE SET TIME_ZONE='-05:00';

Hinweis:

Sie müssen die Autonomous Database-Instanz neu starten, damit die Änderungen wirksam werden.

Nachdem Sie die Zeitzone der Datenbank festgelegt haben, geben SYSDATE und SYSTIMESTAMP standardmäßig weiterhin Datum und Uhrzeit in UTC zurück (SYSDATE_AT_DBTIMEZONE ist standardmäßig FALSE). Wenn Sie SYSDATE_AT_DBTIMEZONE in einer Session auf TRUE setzen, geben SYSDATE und SYSTIMESTAMP die Datenbankzeitzone zurück.

See Setting the Database Time Zone in Oracle Database 19c or Setting the Database Time Zone in Oracle Database 23ai for more information on using the SET TIME_ZONE clause with ALTER DATABASE.

SYSDATE_AT_DBTIMEZONE in einer Session verwenden

Wenn SYSDATE_AT_DBTIMEZONE in einer Session FALSE lautet, geben Aufrufe von SYSDATE und SYSTIMESTAMP Werte basierend auf der Standardzeitzone von Autonomous Database (koordinierte Weltzeit, UTC) zurück.

Wenn SYSDATE_AT_DBTIMEZONE in einer Session TRUE lautet, geben Aufrufe von SYSDATE oder SYSTIMESTAMP das Datum und die Uhrzeit basierend auf der Datenbankzeitzone zurück.

Hinweis:

Wenn Sie SYSDATE_AT_DBTIMEZONE auf TRUE setzen, wirkt sich dies nur auf die Verwendung von SYSDATE und SYSTIMESTAMP als Operatoren in Anwendungs-SQL aus (z.B. in Abfragen, DML- und CTAS-Vorgängen). Bei Verwendung dieses Parameters wird empfohlen, dass die Zeitzone Ihres Clients/Ihrer Sitzung mit der Zeitzone Ihrer Datenbank übereinstimmt.

Beispiel

Das folgende Beispiel gibt Datums- und Uhrzeitwerte für zwei verschiedene Zeitzonen zurück, basierend auf dem Parameterwert SYSDATE_AT_DBTIMEZONE:

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 

Hinweis:

Wenn eine SYSDATE- oder SYSTIMESTAMP-Abfrage im SQL-Arbeitsblatt von Database Actions ausgeführt wird, wird der zurückgegebene Zeit- und Datumswert in UTC angegeben (wenn der Parameter SYSDATE_AT_DBTIMEZONE auf TRUE oder FALSE gesetzt ist). Um die Datenbankzeitzone beim Arbeiten in Database Actions abzurufen, verwenden Sie TO_CHAR() wie folgt:

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