In unserem heutigen Tipp wollen wir uns mit dem Umbenennen von Objekten beschäftigen. Leider geht das nicht bei allen Objekten. Folgende Objekte können nicht direkt umbenannt werden:
- Schema/Benutzer
- Trigger
- Sequences
- Proceduren/Funktionen/Packages/Types
Tabellen (Hinweis: Schema kann dabei nicht geändert werden)
ALTER TABLE scott.emp RENAME TO emp_neu;
Tabellenpartition umbenennen:
ALTER TABLE emp_part RENAME PARTITION abt_10 TO dept_10;
Spalten umbenennen:
ALTER TABLE scott.emp RENAME COLUMN sal TO gehalt;
Constraints umbenennen:
ALTER TABLE scott.emp RENAME CONSTRAINT SYS_C00171 TO emp_nn;
Indizes umbenennen:
ALTER INDEX scott.pk_emp RENAME TO pk_emp_empno;
Trigger umbenennen:
ALTER TRIGGER scott.emp_trig RENAME TO emp_trig_neu;
Tablespace umbenennen:
ALTER TABLESPACE users RENAME TO user_data;
Datendatei verschieben (bis 12.1)
1. Tablespace Offline setzen:
ALTER TABLESPACE users OFFLINE;
2. Datei im Betriebssystem verschieben
ALTER DATABASE RENAME FILE 'C:\oracle\oradata\o19c\users01.dbf' TO 'C:\oracle\oradata\o19c\users02.dbf';
3. Tablespace wieder Online setzen:
ALTER TABLESPACE users ONLINE;
Ab 12c kann das in einer EE auch Online erfolgen:
ALTER DATABASE MOVE DATAFILE <nr> TO '<new>';
Diese Tricks entstammen dem Oracle Reorg und Wartungskurs. Schauen Sie doch mal bei uns in Unterhaching vorbei.