Sebagian besar organisasi akan mengalami downtime pada saat sistem Oracle mereka mengalami migrasi. Berikut adalah cara untuk migrasi database oracle RAC database ke node server baru dan tetap bertahan dan berjalan di cluster Oracle.

Lingkup ini bekerja dengan database Oracle RAC di mana beberapa server fisik mencapai akhir hidup mereka. Kita perlu mengganti perangkat keras dengan server baru, dan memindahkan database tanpa downtime untuk pengguna dan sebenarnya ini bisa dilakukan.

Migrasi Database Oracle RAC ke Server Baru dengan Zero Downtime

Untuk menunjukkan bagaimana caranya, tips ini akan memandu Anda melalui sebuah contoh di mana penggantian node server yang ada 1 dan 2 dengan node baru yang akan mendukung instance baru 3 dan 4 di lingkungan Oracle Real Application Clusters (RAC). Pada akhir tugas ini, contoh 1 dan 2 akan dihapus.

Langkah pertama adalah mengatur node baru dengan semua bandwidth jaringan dan ruang disk bersama yang dibutuhkan untuk mendukung dan mengakses database Oracle RAC. Selanjutnya, pengguna dan grup administratif yang dibutuhkan membuat simpul baru, serta kunci Secure Socket Shell sehingga kita bisa menggunakan SSH tanpa password untuk mengelola server.

Setelah server sepenuhnya disiapkan, saya menjalankan Oracle’s Cluster Verification Utility (CVU) dari salah satu node yang ada untuk memverifikasi bahwa kita tidak akan memiliki masalah, seperti konfigurasi interkoneksi cluster yang buruk atau perpustakaan sistem operasi yang salah salah.

Langkah Awal Migrasi Database ORACLE

cluvfy stage -pre nodeadd -n new_node1,new_node2 -verbose

Jika CVU menemukan masalah, anda perlu mengatasinya sebelum melanjutkan. Ketika semuanya selesai, anda harus menambahkan node baru ke cluster. Untuk melakukannya, anda dapat memasukkan perintah berikut:

CD $ GRID_HOME / addnode

./addnode.sh -silent “CLUSTER_NEW_NODES = {new_node1, new_node2}” “CLUSTER_NEW_VIRTUAL_HOSTNAMES = {new_node1-vip, new_node2-vip}”

Hal ini dapat mendorong untuk menjalankan beberapa skrip sebagai root setelah selesai. Setelah node baru adalah bagian dari cluster, anda memperluas manajemen perangkat lunak database ke mereka. Sekali lagi, anda masukan yang berikut dari node yang ada:

CD $ ORACLE_HOME / addnode

./addnode.sh -silent “CLUSTER_NEW_NODES = {new_node1, new_node2}”

Namun, sebelum anda dapat memulai contoh migrasi database Oracle RAC pada node baru. Anda perlu menambahkan trhread log re-do. Anda bisa melakukannya di embedded SQL *Plus dengan mengeluarkan perintah seperti:

alter database add logfile thread 3 group 30 ‘/directory/redo30a.log’ size 5g;

Perintah diatas akan menambahkan grup log re-do online untuk thread 3, yang dapat digunakan oleh salah satu node baru. Anda dapat membuat cukup banyak kelompok untuk thread itu, biasanya setidaknya tiga di antaranya, dan kemudian menambahkan kelompok serupa ke thread 4 untuk digunakan oleh node baru lainnya. Setelah semua grup redo log online dibuat, mereka harus diaktifkan.

alter database enable thread 3;

alter database enable thread 4;

Selanjutnya, anda membuat undo tablespace untuk node baru untuk menyimpan informasi yang dibutuhkan untuk mengembalikan perubahan database.

create undo tablespace undotbs03 datafile ‘/directory/undotbs03.dbf’ size 30g;

create undo tablespace undotbs04 datafile ‘/directory/undotbs03.dbf’ size 30g;

Kemudian, anda perlu menambahkan ke file parameter untuk mendukung masing-masing instance database baru. Pertama, masukan:

alter system set thread=3 sid=’orcl3′ scope=spfile;

alter system set instance_number=3 sid=’orcl3′ scope=spfile;

alter system set undo_tablespace=’UNDOTBS03′ sid=’orcl3′ scope=spfile;

Perintah di atas diulang untuk contoh keempat. Di setiap node baru, anda juga harus memastikan bahwa direktori $ ORACLE_HOME / dbs memiliki soft-link ke file parameter server database (yaitu, SPFILE) dan file kata sandi pada penyimpanan bersama.

Setelah semua itu selesai, anda sekarang siap untuk memulai kasus baru di node baru.

srvctl add instance -db orcl -instance orcl3 -node new_node1

srvctl start instance -db orcl -instance orcl3

Sekali lagi, anda ulangi perintah tersebut misalnya 4. Anda sekarang memiliki database Oracle RAC yang berjalan pada perangkat keras lama dan baru.

konsultan migrasi database

Anda dapat memilih untuk menggunakan fasilitas layanan Oracle untuk konektivitas aplikasi dan manajemen beban kerja. Langkah selanjutnya adalah memodifikasi layanan yang ada untuk berjalan di node baru, namun tidak berjalan di node yang lama.

srvctl modify service -db orcl -service service_name -modifyconfig -preferred “new_node1,new_node2”

srvctl start service -db orcl -service service_name -node new_node1

srvctl start service -db orcl -service service_name -node new_node2

Koneksi aplikasi sekarang dibuat ke node baru. Kemudian hentikan layanan agar tidak berjalan di node lama.

Srvctl stop service -db orcl-service service_name -node old_node1

Srvctl stop service -db orcl-service service_name -node old_node2

Namun, menghentikan layanan tidak akan mempengaruhi koneksi yang ada. Dengan demikian, anda sekarang harus menunggu semua pengguna untuk memutuskan hubungan mereka sendiri dari node lama. Begitu tidak ada koneksi aktif ke instance 1 dan 2, anda bisa mematikannya dan menghapusnya.

srvctl stop instance -db orcl -instance orcl1 -o immediate

srvctl remove instance -db orcl -instance orcl1

Menghapus Node Lama

Ulangi perintah di atas untuk instance 2. Selanjutnya, anda hapus node lama dari cluster dengan memasukkan perintah ini secara bergantian:

cd $ ORACLE_HOME / oui / bin

./runInstaller -updateNodeList ORACLE_HOME = $ ORACLE_HOME “CLUSTER_NODES = {old_node1}” -local

Selanjutnya, kita membiarkan direktori inventaris pada node baru tahu bahwa itu adalah satu-satunya yang tersisa di cluster untuk hosting perangkat lunak basis data. Pada salah satu node baru, masukan:

cd $ ORACLE_HOME / oui / bin

./runInstaller -updateNodeList ORACLE_HOME = $ ORACLE_HOME “CLUSTER_NODES = {new_node1, new_node2}” LOCAL_NODE = this_nodes_name

Dengan perangkat lunak database tidak lagi menjadi bagian dari direktori persediaan pada server yang ada, sekarang saatnya untuk menghapus perangkat lunak Oracle Grid Infrastructure. Pada node yang akan dihapus, masukkan yang berikut ini:

cd $ GRID_HOME / bin

./crsctl stop crs

cd $ GRID_HOME / oui / bin

./runInstaller -updateNodeList ORACLE_HOME = $ GRID_HOME “CLUSTER_NODES = {old_node1}” CRS = TRUE -silent -local

Sekali lagi, kita membiarkan invetory pada node baru agar mengetahui bahwa itu adalah satu-satunya yang tersisa di cluster untuk Oracle Grid Infrastructure. Masukan perintah ini pada node baru:

cd $ GRID_HOME / oui / bin

./runInstaller -updateNodeList ORACLE_HOME = $ GRID_HOME “CLUSTER_NODES = {new_node1, new_node2}” CRS = TRUE -silent

Cukup dengan cara tersebut. Anda dapat melakukan migrasi database Oracle RAC dengan zero downtime. Anda mungkin perlu menunggu beberapa saat sebelum semua sesi pengguna yang ada terputus, namun pengguna akhir tidak pernah memperhatikan apapun.