Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Vorbereiten der Aktualisierung der Zeitzonendatei
Ein Upgrade der Zeitzonendatei besteht aus zwei separaten Phasen: Vorbereiten und Aktualisieren. Er ist zwar nicht zwingend erforderlich, wir empfehlen Ihnen jedoch nachdrücklich, den Vorbereitungsschritt auszuführen. In diesem Schritt erfahren Sie, welche Daten von der Ausführung des PL/ SQL -Verfahrens DBMS_DST.FIND_AFFECTED_TABLES
betroffen sind. Weitere Informationen zum Vorbereitungsfenster finden Sie unter Aktualisieren der Zeitzonendatei und des Zeitstempels mit Zeitzonendaten
So bereiten Sie die Aktualisierung der Zeitzonendatei vor
-
Stellen Sie über einen SQL Client eine Connect zu Ihrer Oracle-Datenbank her.
-
Bestimmen Sie die aktuelle Version der verwendeten Zeitzonendatei.
SELECT * FROM V$TIMEZONE_FILE;
-
Bestimmen Sie die neueste Version der Zeitzonendatei, die auf Ihrer DB-Instance verfügbar ist.
SELECT DBMS_DST.GET_LATEST_TIMEZONE_VERSION FROM DUAL;
-
Bestimmen Sie die Gesamtgröße von Tabellen, die Spalten vom Typ
TIMESTAMP WITH LOCAL TIME ZONE
oderTIMESTAMP WITH TIME ZONE
enthalten.SELECT SUM(BYTES)/1024/1024/1024 "Total_size_w_TSTZ_columns_GB" FROM DBA_SEGMENTS WHERE SEGMENT_TYPE LIKE 'TABLE%' AND (OWNER, SEGMENT_NAME) IN (SELECT OWNER, TABLE_NAME FROM DBA_TAB_COLUMNS WHERE DATA_TYPE LIKE 'TIMESTAMP%TIME ZONE');
-
Bestimmen Sie die Namen und Größen von Segmenten, die Spalten vom Typ
TIMESTAMP WITH LOCAL TIME ZONE
oderTIMESTAMP WITH TIME ZONE
enthalten.SELECT OWNER, SEGMENT_NAME, SUM(BYTES)/1024/1024/1024 "SEGMENT_SIZE_W_TSTZ_COLUMNS_GB" FROM DBA_SEGMENTS WHERE SEGMENT_TYPE LIKE 'TABLE%' AND (OWNER, SEGMENT_NAME) IN (SELECT OWNER, TABLE_NAME FROM DBA_TAB_COLUMNS WHERE DATA_TYPE LIKE 'TIMESTAMP%TIME ZONE') GROUP BY OWNER, SEGMENT_NAME;
-
Starten Sie den Vorbereitungsschritt.
-
Die Prozedur
DBMS_DST.CREATE_AFFECTED_TABLE
erstellt eine Tabelle zum Speichern aller betroffenen Daten. Sie übergeben den Namen dieser Tabelle an das VerfahrenDBMS_DST.FIND_AFFECTED_TABLES
. Weitere Informationen finden Sie unter CREATE_ AFFECTED _ TABLE Procedurein der Oracle Database-Dokumentation. -
Mit dem Verfahren
CREATE_ERROR_TABLE
wird eine Tabelle zum Protokollieren von Fehlern erstellt. Weitere Informationen finden Sie unter CREATE_ ERROR _ TABLE Procedurein der Oracle Database-Dokumentation.
Im folgenden Beispiel werden die betroffenen Daten und Fehlertabellen erstellt und alle betroffenen Tabellen gefunden.
EXEC DBMS_DST.CREATE_ERROR_TABLE('
my_error_table
') EXEC DBMS_DST.CREATE_AFFECTED_TABLE('my_affected_table
') EXEC DBMS_DST.BEGIN_PREPARE(new_version
); EXEC DBMS_DST.FIND_AFFECTED_TABLES('my_affected_table
', TRUE, 'my_error_table
'); EXEC DBMS_DST.END_PREPARE; SELECT * FROMmy_affected_table
; SELECT * FROMmy_error_table
; -
-
Fragen Sie die betroffenen und Fehlertabellen ab.
SELECT * FROM
my_affected_table
; SELECT * FROMmy_error_table
;