Konfigurasi instance disimpan di file bertipe text yang dikenal dengan init file (initial file) atau
Di Unix family, init file ada di directory
Format nama file:
- Pfile:
initNAMAINSTANCE.ora
Di Unix, nama instance adalah case sensitive, instance dataku berbeda dengan DATAKU. Pfile untuk instance dataku adalahinitdataku.ora . Dan Pfile untuk instance DATAKU adalahinitDATAKU.ora Sedangkan di Windows, nama init file tidak case sensitive, instance dataku ya sama saja dengan DATAKU. Kalau kita membuat database dengan dbca, initfile yang terbentuk adalah
INITdataku.ORA . Kalau file ini diganti denganinitDATAKU.ora yang tidak apa-apa, Windows gitu lho! - Spfile:
spfileNAMAINSTANCE.ora
Sama seperti pfile, case sensitive di Unix dan tidak case sensitive di Windows.
Cara membuat initfile:
- pfile
Dibuat secara manual pakai text editor , contoh:notepad di Windows danvi di Unix. Bisa juga dibuat berdasarkan content spfile yang sudah ada.SQL> create pfile from spfile;
- spfile
Spfile tidak bisa dibuat dengan text editor sebagimana membuat pfile. Tentu saja, file binary tidak bisa dibuat (diedit) dengan text editor. Spfile hanya bisa dibuat dengan cara berikut ini (content-nya diambil dari pfile yang sudah ada):SQL> create spfile from pfile;
By default, kalau ada spfile maka ketika startup Oracle akan membaca parameter dari spfile. Kalau tidak ada spfile, Oracle membaca pfile. Kalau tidak ada kedua-duanya, instance tidak bisa di-startup. SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file
‘/mnt01/oracle/10.2.0.3/dbs/initDATAKU.ora’
Mengedit Init file (mengubah parameter instance)
Parameter instance ada dua tipe yaitu
Contoh parameter dinamik adalah
- Kalau instance sedang mati
Naikkan instance dulu, kemudian lakukan perubahan pakai SQLPlusSQL> startup
SQL> alter system set pga_aggregate_target=100m;
Perintah alter system di atas langsung mengubah parameter di instance (memory ) yang berjalan.- Kalau kita pakai spfile, perintah ini langsung mengupdate juga spfile. Sehingga ke depannya kalau kita merestart instance, Oracle membaca
pga_aggregate_target=100m dari spfile. - Kalau kita pakai pfile,
pga_aggregate_target=100m tidak di-update ke pfile sehingga ke depannya kalau kita merestart instance, pga_aggregate_target kembali ke nilai semula. Agar perubahan bersifat permanen, edit juga parameter pga_aggregate_target di pfile
- Kalau kita pakai spfile, perintah ini langsung mengupdate juga spfile. Sehingga ke depannya kalau kita merestart instance, Oracle membaca
- Kalau instance sedang jalan
Langsung lakukan perubahan di SQLPLusSQL> alter system set pga_aggregate_target=100m;
Sama seperti penjelasan sebelumnya, kalau pakai spfile maka spfile juga diupdate secara otomatis. Kalau pakai pfile, agar perubahan bersifat permanen maka pfile harus diedit secara manual pakai text editor.
Contoh parameter statik adalah
- Kalau instance sedang mati
Kalau pakai pfile, edit pfile pakai text editor, kemudian startup instance.Edit pfile
SQL> startupSpfile tidak bisa diedit pakai text editor, kalau tetep dipaksa edit pakai text edior maka spfile akan corrupt sehingga tidak dikenali oleh Oracle. Spfile hanya bisa diubah dengan SQLplus ketika instance naik. Jadi naikkan dulu instance, pakai nomount biar cepet toh kita tidak perlu instance mount atau open, yang penting startup dulu. Kemudian
alter system set db_writer_processes=2 scope=spfile . Perintah ini akan mengedit spfile saja, sementara parameter di instance sendiri masih belum berubah. Setelah itu, baru startupSQL> startup nomount
SQL> alter system set db_writer_processes=2 scope=spfile;
SQL> shutdown immediate
SQL> startup - Kalau instance sedang jalan
Kalau pakai pfile, database matiin dulu, edit pfile, kemudian restart instance
SQL> shutdown immediate
Edit pfile
SQL> startup
Kalau pakai spfile, alter system denganscope=spfile , kemudian restartSQL> alter system set db_writer_processes=2 scope=spfile;
SQL> shutdown immediate
SQL> startup
Catatan
- Perintah
alter system set pga_aggregate_target=100m by default kalau pakai spfile, makaalter system set pga_aggregate_target=100m scope=both
Dan kalau pakai pfile. makaalter system set pga_aggregate_target=100m scope=memory - Kita tidak bisa menjalankan
alter system set db_writer_processes=2 karena ini adalah parameter static. Kalau masih dipaksa akan muncul error:SQL> alter system set db_writer_processes=2;
ERROR at line 1:
ORA-02095: specified initialization parameter cannot be modified
Parameter static hanya bisa diubah di scope=spfileSQL> alter system set db_writer_processes=2 scope=spfile;
System altered. - Kalau dilihat pakai text editor, spfile berisi sama seperti pfile, hanya ada entry yang
"aneh-aneh" (yang bukan merupakan parameter instance) di baris pertama. - Contoh kasus.
Instance saya hanya punya spfile (
spfileDATAKU.ora ) dan tidak punya pfile (initDATAKU.ora )> Suatu ketika saya ingin mengubah parameter static (misalnya control_files). Karena ketidak tahuan, parameter control_files saya edit di spfileDATAKU.ora pakai text editor (notepad).Karena spfile adalah file binary, maka spfile menjadi rusak karena diedit pakai text editor, sebagian akibatnya Oracle tidak bisa membacanya. Karena spfile tidak bisa dibaca, maka Oracle mencari pfile. Karena saya tidak punya pfile sementara spfile-nya corrupt, ya akhirnya saya tidak bisa startup instance
SQL> startup
ORA-01078: failure in processing system parameters
LRM-00109: could not open parameter file
‘/mnt01/oracle/10.2.0.3/dbs/initDATAKU.ora’Waduh… gimana ini?!! Solusinya, buat pfile
initDATAKU.ora yang isinya sama persis denganspfileDATAKU.ora , dengan catatan: jangan ikut sertakan entryspfileDATAKU.ora yanganeh-aneh di baris pertama itu.Untuk melihat isi spfile spfileDATAKU.ora, di unix gunakan perintah
more . Di Windows, gunakanwordpad ; kalau pakainotepad biasanya tampilannya amburadul.
2 komentar:
weits..
lengkap bgt yaz..
mantap..mantap..
tp gw masih blum terlalu paham..
ribet bgt ya kayanya..
hehehehe...
waahh klo yg ini dah masuk administration di oracle sep..
klo yg bkal muncul di kuliah SBD tar,yang normalisasi ama ERD,,pcaya dah..hahaa
Posting Komentar