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 BefehlALTER 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 BefehlCREATE TABLE
oderALTER 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;
- Sie können den Parallelisierungsgrad für eine Tabelle oder einen Index mit
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 SieSYSDATE_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