Belum lama ini, saya perlu mengupgrade Oracle Clusterware dan RDBMS dari 11.1.0.7 ke 11.2.0.2. Saya memiliki banyak pengalaman dengan perangkat lunak Oracle RDBMS, tetapi saya menduga bahwa saya seperti kebanyakan DBA karena pengalaman Clusterware saya tidak pada tingkat yang sama dengan pengalaman RDBMS saya. Jadi sementara saya tidak takut untuk mengupgrade perangkat lunak RDBMS, saya mendekati upgrade Clusterware dengan beberapa derajat kegugupan. Diakui, kegelisahan ini lahir dari tingkat pengalaman yang lebih rendah dengan produk. Jadi sebelum mencoba dalam produksi, saya menguji, menguji, dan menguji sebanyak yang saya bisa.
Upgrade Clusterware berjalan lancar berkat banyak perencanaan dan pengujian.
Setelah peningkatan, saya merenungkan apa yang benar dan apa yang salah, dan apa yang dapat saya lakukan secara berbeda di masa depan. Terpikir oleh saya bahwa saya dapat benar-benar mengacaukan upgrade Clusterware, menghancurkan perangkat lunak Clusterware, dan masih dapat menginstal Clusterware dari awal dan dapat membuat database RAC saya aktif dan berjalan. Posting ini akan menunjukkan langkah-langkah yang saya ambil di lingkungan pengujian untuk melakukan tugas ini. Jadi, jika Anda mendapati diri Anda dengan upgrade atau instalasi Clusterware yang benar-benar kacau, tidak perlu takut karena selama Anda masih memiliki file database, Anda akan dapat menjalankan dan menjalankan semuanya. Jika pemutakhiran Clusterware Anda gagal, Anda harus memperbaiki akar penyebab kegagalan sebelum melanjutkan. Jadi, jika Anda memiliki konfigurasi interkoneksi cluster yang buruk atau penyimpanan yang tidak valid untuk disk voting Anda, Anda perlu mengatasi masalah tersebut dan kemudian Anda dapat mengikuti langkah-langkah ini.
Saya memiliki database yang valid dengan semua file data saya di penyimpanan bersama yang dapat diakses oleh semua node di cluster. Pengujian saya memiliki dua node untuk cluster. Juga diasumsikan bahwa database dimatikan dengan bersih. Makalah ini mengasumsikan nama database adalah ORCL.
Catatan:Jika database yang Anda tambahkan ke RAC sudah menjadi bagian dari RAC, Anda dapat melewati langkah 9-11 di bawah. Langkah 9-11 diperlukan jika Anda juga mengonversi database dari database instance tunggal ke database Oracle RAC sambil menambahkannya ke Clusterware.
Langkah
1. Ambil cadangan dingin dari file data database Anda. Jika terjadi sesuatu, Anda selalu dapat memulihkan dari cadangan hanya dengan menyalin file dari media.
2. Pastikan node dibersihkan dari instalasi/upgrade Clusterware. Lihat Metalink Note 239998.1 untuk petunjuk detail jika diperlukan.
3. Instal Oracle Clusterware dengan benar. Anda seharusnya sudah memperbaiki masalah yang menyebabkan langkah ini gagal sejak awal.
a. Pastikan cluster aktif dan berjalan.
i. Server status $CRS_HOME/bin/crsctl
1. Semua node dalam cluster harus ONLINE.
4. Instal Oracle RDBMS pada cluster.
a. OUI harus mendeteksi Clusterware dan menawarkan untuk melakukan instalasi RAC.
5. Jalankan DBCA untuk membuat database shell. Kami akan menggunakan DBCA untuk menyiapkan semuanya di CRS untuk kami.
a. Pilih opsi untuk membuat database RAC.
b. Gunakan nama yang sama dengan database yang ada.
c. Membuat database shell pada semua node dalam cluster.
d. Gunakan lokasi umum untuk file database, tetapi jangan menimpa file data yang ada.
6. Matikan database shell
a. srvctl stop database –d orcl
7. Siapkan SPFILE Anda
a. Jika Anda memiliki SPFILE database lama Anda:
i. Tempatkan file pada disk bersama.
ii. Perbarui $ORACLE_HOME/dbs/initorcl.ora untuk menunjuk ke lokasi SPFILE yang benar. Lakukan ini pada semua node
b. Jika Anda tidak memiliki SPFILE, buat PFILE dari awal lalu gunakan perintah CREATE SPFILE FROM PFILE untuk membuat SPFILE.
i. Pastikan parameter CONTROL_FILES menunjuk ke lokasi yang benar, bukan file kontrol database shell.
c. (Opsional) Jika Anda memiliki file kata sandi, salin ke penyimpanan bersama dan kemudian perbarui tautan lunak di $ORACLE_HOME/dbs (di semua node) untuk menunjuk ke file kata sandi. Jika Anda tidak memiliki file kata sandi, Anda dapat membuatnya nanti jika diinginkan.
8. Update CRS dengan lokasi SPFILE (sebagai root)
a. cd $CRS_HOME/bin
b. ./srvctl config database –d orcl
i. Outputnya akan memberitahu Anda bahwa SPFILE berada di lokasi database shell
c. ./srvctl memodifikasi database –d orcl –p /correct_path/spfileorcl.ora
i. Lakukan langkah 8b untuk memverifikasi bahwa perubahan telah terjadi.
ii. Verifikasi perubahan pada node lain juga. Anda hanya perlu menjalankan perintah modifikasi ini sekali untuk semua node.
9. Ubah isi SPFILE.
a. sqlplus /nolog
b. menghubungkan / sebagai sysdba
c. buat pfile='/home/Oracle/pfile.txt' dari spfile='/path_to_spfile/spfileorcl.ora';
d. Buka pfile di editor teks dan buat perubahan berikut:
i. Tambahkan:
1. *.cluster_database=true
2. *.cluster_database_instances=2
3. orcl1.instance_number=1
4. orcl2.instance_number=2
5. orcl1.thread=1
6. orcl2.thread=2
ii. Ubah parameter *.undo_tablespace menjadi orcl1.undo_tablespace
e. Gunakan pfile untuk mengubah spfile
i. buat spfile='/path_to_spfile/spfileorcl.ora' dari pfile='/home/Oracle/pfile.txt';
10. Buat tablespace UNDO baru untuk instance lainnya.
a. ekspor ORACLE_SID=orcl1
b. sqlplus / sebagai sysdba
c. memulai
d. buat undo tablespace undotbs2 datafile ‘/path/undotbs02.dbf’ ukuran 30m;
e. ubah set sistem undo_tablespace=undotbs2 scope=spfile sid='orcl2′;
11. Membuat log ulang untuk utas baru
a. ubah database tambahkan logfile thread 2 grup 10 ‘/path/redo10.log’ ukuran 50m;
b. ubah database tambahkan logfile thread 2 grup 11 ‘/path/redo11.log’ ukuran 50m;
c. ubah database tambahkan logfile thread 2 grup 12 ‘/path/redo12.log’ ukuran 50m;
d. ubah database aktifkan utas publik 2;
12. srvctl start database –d orcl
Pada titik ini, Anda sekarang telah menginstal Clusterware dari awal dan menambahkan database yang ada ke dalamnya. Sekarang saya memiliki metode yang terbukti untuk mengambil kumpulan file database dan menambahkannya ke instalasi clusterware, saya telah menurunkan tingkat kegugupan saya saat melakukan upgrade Clusterware pada sistem produksi. Bahkan jika saya membuat kekacauan total, saya dapat menerbangkan Clusterware, menginstalnya kembali, dan kemudian menambahkan database ke Clusterware dan membuat database RAC saya aktif dan berjalan dalam waktu singkat.