Auswahl  

 

Oracle
DBA
12.1
DBA, DBA ALLGEMEIN, ORACLE NEUERUNGEN
21.06.18
MP
21.06.18
MP

Body

Neue Online Operationen 

Ab Oracle 12c sind in der Enterprise Edition folgende Operationen bei DDL-Anweisungen auf Tabellen ONLINE (also im laufenden Betrieb) möglich.

Ein Index kann ONLINE gedropt werden:

DROP INDEX scott.pk_emp ONLINE;

Index kann ONLINE auf UNUSABLE gesetzt werden:

ALTER INDEX scott.pk_emp UNUSABLE ONLINE;

Spalten können ONLINE auf UNUSED gesetzt werden:

ALTER TABLE scott.emp SET UNUSED (mgr) ONLINE;

Constraints können ONLINE gedropt werden:

ALTER TABLE scott.emp DROP CONSTRAINT ck ONLINE;

Zur Wiederholung: Folgende Operationen gehen schon längere Zeit Online.

Index Online neu aufbauen:

CREATE INDEX scott.pk_emp REBUILD ONLINE;

Index Online prüfen:

ANALYZE INDEX scott.pk_emp VALIDATE STRUCTURE ONLINE;

Index erstellen und Tabellenveränderungen während des Aufbaus zulassen:

CREATE INDEX scott.emp_sal_ix ON scott.emp(sal) ONLINE;

Tabelle Online prüfen:

ANALYZE TABLE scott.emp VALIDATE STRUCTURE CASCADE ONLINE;

Und für alle DBAs der Knüller (!):

Ab 12c kann eine Datendatei im laufenden Betrieb verschoben/umbenannt werden.

Syntax:

ALTER DATABASE MOVE DATAFILE ( 'filename' | 'ASM_filename' | file_number ) [ TO ( 'filename' | 'ASM_filename' ) ] 
[ REUSE ] /* vorhandene Datei überschreiben */
[ KEEP ]; /* alte Version behalten */

Beispiel für UNIX:

ALTER DATABASE MOVE DATAFILE 4
  TO '/u01/app/oracle/oradata/user02.dbf' 
  KEEP;

Beispiel für Windows (derzeit noch nicht freigegeben - Stand 07/2013):

ALTER DATABASE MOVE DATAFILE 4
  TO 'D:\oracle\oradata\user02.dbf';

Für TEMP-Dateien ist ein Onlineverschieben nicht möglich. Legen Sie hierzu einen neuen temporären Tablespace an und löschen Sie dann den alten.