ctpm - Sie suchen einen Berater, einen Coach, ein Seminar? (Oracle,PL/SQL,DBA 9i/10g/11g,MYSQL,Linux,... ) Oder Sie suchen einen IT-Trainer? Dann sind Sie bei uns richtig. Denn hinter ctpm verbirgt sich jahrelange Berufserfahrung in Projekteinsätzen und Seminargeschäft. Die Erfahrungen wurden im In- und Ausland gesammelt. Ob Inhouse-Seminare, Offene-Seminare oder Firmen-Seminare, wir haben für jeden das Passende. © www.ctpm.de 2003-12 // 28-1251


ctpm - Oracle - Reorganisation (29-1408)

Online Reorganisation

9i macht es möglich...
...Reorganisation im Online-Modus... oder wie verhindere ich Ausfallzeiten...


für dieses Beispiel legen wir eine Kopie der Tabelle emp an:
connect scott/tiger
create table emp2 as select * from scott.emp;
alter table emp2 add constraint pk_emp2 primary key (empno);
alter table emp2 add (constraint emp2 foreign key (deptno) references dept (deptno));


kann diese Tabelle im Online-Modus reorganisiert werden?
exec dbms_redefinition.can_redef_table('SCOTT','EMP2')

...Hilfetabelle beschreiben...
create table vor_emp2 (
empno number primary key not null,
name varchar2(50),
job varchar2(9),
mgr number,
datum date,
verdienst number,
bonus number,
deptno number);

Reorganisation der Tabelle starten...
exec dbms_redefinition.start_redef_table('SCOTT','EMP2','VOR_EMP2','EMPNO EMPNO, ENAME NAME, job job, mgr mgr,
hiredate datum, SAL*1.5 VERDIENST, comm bonus, deptno deptno')


FOREIGN KEY erstellen und disablen...
alter table vor_emp2 add (constraint fk_voremp2 foreign key (deptno) references dept (deptno));
alter table vor_emp2 disable constraint fk_voremp2;

Synchronisation der Tabelle starten...
exec dbms_redefinition.sync_interim_table('SCOTT','EMP2','VOR_EMP2')

Änderungen können online durchgeführt werden...
update emp2 set sal = 15000 where empno = 7900;
commit;

Die Reorganisation wird beendet...und Sie konnten die ganze Zeit online arbeiten...
exec dbms_redefinition.finish_redef_table('SCOTT','EMP2','VOR_EMP2')


Druckbare Version