1. Install Oracle 10g
a. Pada level OS membuat user baru untuk install oracle 10g, misalnya oracle10
b. Buat direktori baru khusus untuk oracle base dari oracle 10g
c. Ikuti langkah-langkah instalasi oracle 10g.
d. install juga oracle 10g companion untuk meng-install oracle ultra search.
2. Berikan permission 775 / 777 secara recursive kepada:
a. direktori oracle base oracle 9i
b. direktori oracle base oracle 10g
c. direktory yang menyimpan data-data file, redo log, control files dan
undo tablespace database di oracle 9i
3. Aktifkan database dalam oracle 9i (startup open).
4. Copy script utlu102i.sql ke direktory yang dapat dikases baik dari user oracle untuk
oracle 9i dan user untuk oracle 10g (dalam level OS).
5. Masuk ke SQL plus di oracle 9i.
SQL> spool info.log
SQL> @utlu102i.sql
SQL> spool off
6. Periksa hasil spool dan lakukan perbaikan sesuai dengan saran yang diberikan oleh
hasil verifikasi dari script yang baru saja dijalankan.
7. Sysaux tablespace dan setting initial parameter streams_pool_size akan dilakukan
secara otomatis oleh dbua.
8. Jalankan query berikut ini:
SELECT grantee FROM dba_role_privs
WHERE granted_role = 'CONNECT' and
grantee NOT IN (
'SYS', 'OUTLN', 'SYSTEM', 'CTXSYS', 'DBSNMP',
'LOGSTDBY_ADMINISTRATOR', 'ORDSYS',
'ORDPLUGINS', 'OEM_MONITOR', 'WKSYS', 'WKPROXY',
'WK_TEST', 'WKUSER', 'MDSYS', 'LBACSYS', 'DMSYS',
'WMSYS', 'OLAPDBA', 'OLAPSVR', 'OLAP_USER',
'OLAPSYS', 'EXFSYS', 'SYSMAN', 'MDDATA',
'SI_INFORMTN_SCHEMA', 'XDB', 'ODM');
9. Query diatas digunakan untuk melihat user-user mana saja dalam database yang mempunyai
role connect. Role connect di oracle 10g hanya mempunyai create session privilege.
10.Setelah upgrade selesai, user-user dari query diatas perlu di periksa apakah masih
memerlukan privilege lain dalam role connect.
11.Supaya proses migrasi cepat, lakukan
grant analyze any to sys;
exec dbms_stats.gather_schema_stats('WMSYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('MDSYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('CTXSYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('XDB',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('WKSYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('LBACSYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('OLAPSYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('DMSYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('ODM',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('ORDSYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('ORDPLUGINS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('SI_INFORMTN_SCHEMA',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('OUTLN',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('DBSNMP',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('SYSTEM',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
exec dbms_stats.gather_schema_stats('SYS',options=>'GATHER', estimate_percent => DBMS_STATS.AUTO_SAMPLE_SIZE, method_opt => 'FOR ALL COLUMNS SIZE AUTO', cascade => TRUE);
12.Hal ini dilakukan karena selama upgrade, oracle 10g akan menghitung statistik dari optimizer oracle 9i. agar proses migrasi cepat, perhitungan statistik
optimizer dilakukan sebelum proses migrasi.
13.Jalankan dbua.
14.Pilih option backup, jika belum dilakukan full backup physical.
15.Bila tidak muncul direktory database yang akan di migrasi, periksa list /etc/oratab
SID:direkri_database=N
16.Setelah proses migrasi selesai, buat tnsname di oracle10g.
Tidak ada komentar:
Posting Komentar