Logging- und Diagnoseinformationen mit Cloud-Tabellen speichern
Sie können Cloud-Tabellen erstellen, in denen Tabellendaten im von Oracle verwalteten Cloud-Speicher gespeichert sind und die Tabellendaten keinen Datenbankspeicher belegen.
- Informationen zu Cloud-Tabellen
Sie können Cloud-Tabellen als ergänzende Alternative zu datenbankinternen Tabellen erstellen. Alle Cloud-Tabellendaten werden im von Oracle verwalteten Object Storage gespeichert. Von Oracle verwalteter Object Storage ist ein externer Speicher außerhalb der Datenbank, den Autonomous Database erstellt und verwaltet. - Cloud-Tabellen erstellen
Zeigt die Schritte zum Erstellen einer Cloud-Tabelle in Autonomous Database an. - Hinweise zu Cloud-Tabellen
Bietet Hinweise für Cloud-Tabellen:
Übergeordnetes Thema: Entwickeln
Cloud-Tabellen
Sie können Cloud-Tabellen als ergänzende Alternative zu datenbankinternen Tabellen erstellen. Alle Cloud-Tabellendaten werden im von Oracle verwalteten Object Storage gespeichert. Von Oracle verwalteter Object Storage ist ein externer Speicher außerhalb der Datenbank, den Autonomous Database erstellt und verwaltet.
Mit Cloud-Tabellen können Sie selten verwendete Anwendungsloggingdaten, Diagnoseinformationen oder andere Daten speichern. In einigen vorhandenen Anwendungen, die nicht auf Autonomous Database ausgeführt werden, können Sie diese Art von Informationen in Dateien in einem lokalen Dateisystem speichern (z.B. mit UTL_FILE
-APIs). Solche Protokollierungsmechanismen und die zugehörigen Dateien können sehr hilfreich sein, wenn Sie Anwendungsfehler diagnostizieren und beheben müssen. Das Speichern von Informationen in Datenbanktabellen kann jedoch große Mengen an Datenbankspeicher für Daten verwenden, die selten verwendet werden. Mithilfe von Cloud-Tabellen werden die persistenten Daten im von Oracle verwalteten Object Storage gespeichert, ohne dass der Datenbankspeicher belegt wird.
SELECT- und DML-Einschränkungen für Cloud-Tabellen
Cloud-Tabellen funktionieren wie normale Datenbanktabellen mit einigen Einschränkungen. Sie können SELECT- und DML-Anweisungen (Data Manipulation Statement) mit folgenden Ausnahmen verwenden:
MERGE
-Anweisungen werden nicht unterstützt.LOB
-Spalten sind auf 10 MB Daten begrenzt.- Die Kontrolle des gleichzeitigen DML-Zugriffs unterscheidet sich. Daher gilt Folgendes:
LOCK TABLE
verhindert möglicherweise nicht die gleichzeitige DML wie bei einer Datenbanktabelle.INSERT
fordert keine Sperre für die Tabelle an. Daher wird INSERT nie von gleichzeitigen DML-Vorgängen blockiert.- Die Vorgänge
UPDATE
undDELETE
fordern beide eine exklusive Sperre für eine Cloud-Tabelle an. Daher blockierenUPDATE
- oderDELETE
-Transaktionen nebenläufigeUPDATE
- oderDELETE
-Vorgänge in einer Cloud-Tabelle.
- Nur NOT NULL-Constraints werden durchgesetzt.
- DML ist in einer Read-Write-Autonomous Database wie für jede andere Tabelle zulässig. Cloud-Tabellen ermöglichen auch DML-Vorgänge in einem aktualisierbaren Klon.
Cloud-Tabellen unterstützen Folgendes nicht:
- Indizes
- Unsichtbare Spalte
- Virtuelle Säulen
- DML-Trigger
- Mehr als 996 Spalten
- Boolesche Datentypspalten
Lifecycle Management-Vorgänge und Cloud-Tabellen
Cloud-Tabellendaten werden im von Oracle verwalteten Object Storage gespeichert. Das bedeutet, dass bestimmte Vorgänge in Autonomous Database Cloud-Tabellen anders behandeln als datenbankinterne Tabellen, wie folgt:
-
Cloudtabellendaten werden aus dem Backup und Recovery einer Autonomous Database-Instanz ausgeschlossen (die Daten werden nicht gesichert, und Sie können Cloudtabellendaten nicht wiederherstellen).
-
Cloud-Tabellendaten werden über von Oracle verwalteten Object Storage geschützt.
-
Die Lebenszyklusmanagementvorgänge, die sich auf den Status einer Autonomous Database-Instanz auswirken, haben keine Auswirkungen auf die in Cloud-Tabellen gespeicherten Daten.
Die Benennung von Cloud-Tabellen in Object Storage wird für jede Autonomous Database-Instanz basierend auf ihrer OCID eindeutig definiert. Das bedeutet, dass jeder Vorgang, der eine neue OCID für eine vorhandene Datenbank ändert oder einführt, Auswirkungen auf Cloud-Tabellen hat. Im Folgenden werden die Auswirkungen von Lebenszyklusvorgängen auf Cloud-Tabellendaten dargestellt.
Lebenszyklusvorgang | Cloud-Tabellendatenverfügbarkeit |
---|---|
Gleicher Regionsdatenbankklon | Cloud-Tabelle ohne Cloud-Tabellendaten geklont |
Regionsübergreifender Datenbankklon | Cloud-Tabelle ohne Cloud-Tabellendaten geklont |
Gleiche Region (lokal) Autonomous Data Guard-Standbydatenbank | Auf Cloud-Tabellen- und Cloud-Tabellendaten kann zugegriffen werden |
Regionsübergreifende Autonomous Data Guard-Standbydatenbank | Cloud-Tabelle ist in der Standbydatenbank ohne die Cloud-Tabellendaten verfügbar |
Gleiche Region (lokal) Backup-basierter Disaster Recovery-Peer | Auf Cloud-Tabellen- und Cloud-Tabellendaten kann zugegriffen werden |
Regionsübergreifender Backup-basierter Disaster Recovery-Peer | Cloud-Tabelle ist in der Standbydatenbank ohne Cloud-Tabellendaten verfügbar |
Lebenszyklusmanagementvorgänge, die sich auf die SCN/den Zeitstempel einer Autonomous Database-Instanz auswirken. Dazu gehören:
|
Die Cloud-Tabelle wird weiterhin aktualisiert, und der alte Status der Cloud-Tabellendaten wird nicht beibehalten oder wiederhergestellt. Das bedeutet, dass nur die aktuellen Cloud-Tabellendaten verfügbar sind. |
Lebenszyklus-Managementvorgänge, einschließlich:
|
Keine Auswirkung auf Cloud-Tabellen oder Cloud-Tabellendaten |
Übergeordnetes Thema: Logging- und Diagnoseinformationen mit Cloud-Tabellen speichern
Cloud-Tabellen erstellen
Zeigt die Schritte zum Erstellen einer Cloud-Tabelle in Autonomous Database an.
So erstellen Sie eine Cloud-Tabelle:
Verwenden Sie DROP TABLE
, wenn Sie eine Cloud-Tabelle löschen möchten.
Beispiel:
DROP TABLE CLOUD_TABLE_TEST;
Cloud-Tabellen unterstützen den Papierkorb nicht.
Weitere Informationen finden Sie unter Cloud-Tabellenhinweise.
Übergeordnetes Thema: Logging- und Diagnoseinformationen mit Cloud-Tabellen speichern
Cloud-Tabellenhinweise
Enthält Hinweise zu Cloud-Tabellen:
-
Sie können
SELECT
-,INSERT
- undUPDATE
-Berechtigungen für eine Cloud-Tabelle erteilen. Einer Cloud-Tabelle können keine anderen Berechtigungen erteilt werden.Weitere Informationen finden Sie unter Konfigurieren von Berechtigungen und Rollenautorisierung.
-
Cloud-Tabellen-Constraints sind im Modus
RELY DISABLE NOVALIDATE
auf Constraints beschränkt. Das bedeutet, dass das Constraint nicht durchgesetzt wird. Die einzige Ausnahme ist fürNOT NULL
-Constraints.Cloud-Tabellen unterstützen alle Constraint-Modi
NOT NULL
, einschließlich des Standardmodus (ENABLE VALIDATE
). ConstraintsPRIMARY KEY
,UNIQUE
,FOREIGN KEY
undNOT NULL
werden unterstützt. ConstraintsCHECK
werden nicht unterstützt.Sie können Constraints inline als Teil von
COLUMN_LIST
deklarieren.Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CLOUD_TABLE
( table_name => 'CLOUD_TAB_WITH_CONSTRAINTS', column_list => 'PK INTEGER, DATE_ID INT REFERENCES DATE_DIM(DATE_ID) RELY DISABLE NOVALIDATE, VAL NUMBER NOT NULL, CONSTRAINT CLOUD_TAB_PK PRIMARY KEY(PK) RELY DISABLE NOVALIDATE'); END; /Weitere Einschränkungen für Cloud-Tabellen finden Sie unter Cloud-Tabellenhinweise.
-
Das Package
DBMS_CLOUD
ist ein Rechtepaket des ausführenden Benutzers. Mit der ProzedurDBMS_CLOUD.CREATE_CLOUD_TABLE
können Sie nur eine Tabelle im Schema des ausführenden Benutzers erstellen.Weitere Informationen finden Sie unter Invoker's Rights and Definer's Rights Clause.
-
Der Parameter
column_list
in einemDBMS_CLOUD.CREATE_CLOUD_TABLE
-Prozeduraufruf kann dieDEFAULT
-Klausel enthalten, die wie dieDEFAULT
-Klausel inCREATE TABLE
funktioniert. Weitere Informationen finden Sie unter CREATE TABLE.Beispiel:
BEGIN
DBMS_CLOUD.CREATE_CLOUD_TABLE
( table_name => 'CLOUD_TABLE_TEST_DEFAULT', column_list => 'I INTEGER, STR2 VARCHAR2(32) DEFAULT ''ABC'''); END; /Anschließend können Sie mit Standardwerten einfügen. Beispiel:
INSERT INTO cloud_table_test_default (i) VALUES (1); 1 row created. INSERT INTO cloud_table_test_default VALUES (2, default); 1 row created. INSERT INTO cloud_table_test_default VALUES (3, null); 1 row created. INSERT INTO cloud_table_test_default VALUES (4, 'xyz'); 1 row created. COMMIT; Commit complete. SELECT * FROM cloud_table_test_default ORDER BY i; I STR2 - ---- 1 ABC 2 ABC 3 null 4 xyz
Übergeordnetes Thema: Logging- und Diagnoseinformationen mit Cloud-Tabellen speichern