Rumah > Artikel > pangkalan data > Penjelasan terperinci tentang RAC kemahiran klasik Oracle
Artikel ini membawa anda pengetahuan yang berkaitan tentang Oracle, yang terutamanya memperkenalkan isu berkaitan RAC Oracle Real Application Cluster digunakan untuk melaksanakan pangkalan data kongsi berbilang mesin dalam persekitaran kluster untuk memastikan ketersediaan tinggi aplikasi. Saya harap ia akan membantu semua orang.
Tutorial yang disyorkan: "Tutorial Oracle"
Untuk menangani peningkatan volum perniagaan, biasanya terdapat dua arahan umum, satu adalah Ia adalah pengembangan menegak, iaitu untuk meningkatkan kuasa pengkomputeran CPU, kapasiti memori dan kapasiti membawa cakera pelayan tunggal yang lain adalah pengembangan mendatar, iaitu untuk meningkatkan kuasa pemprosesan dengan meningkatkan bilangan pelayan; Yang pertama mempunyai banyak masalah seperti gangguan perniagaan dan had pengembangan Terutama dengan perkembangan pesat perkhidmatan Internet, pelayan tunggal tidak dapat memenuhi keperluan beban perniagaan Oleh itu, pengembangan mendatar adalah kaedah yang lebih popular.
Kluster Aplikasi Nyata Oracle (RAC, kluster aplikasi masa nyata) digunakan untuk merealisasikan pangkalan data kongsi berbilang mesin dalam persekitaran kluster untuk memastikan ketersediaan aplikasi yang tinggi pada masa yang sama, ia boleh secara automatik; merealisasikan pemprosesan selari dan pengimbangan beban, dan Ia boleh mencapai toleransi kesalahan dan pemulihan pangkalan data tanpa titik putus apabila ia gagal. Ia adalah teknologi teras pangkalan data Oracle untuk menyokong persekitaran pengkomputeran rangkaian.
Dalam seni bina ini, berbilang nod dalam gugusan menjalankan contoh pangkalan data yang sama, dan data adalah konsisten sepenuhnya, dan tidak kira di mana pengguna mengaksesnya daripada capaian Node, data yang diperoleh adalah sama. Rajah di bawah ialah gambarajah skema Oracle RAC Satu kelompok dibentuk oleh 3 nod, dan mereka berkongsi data.
Ciri-ciri RAC boleh diringkaskan seperti berikut:
Perbezaan antara Oracle RAC dan pelayan pangkalan data tunggal
Seni bina perkakasan Oracle RAC
Tidak perlu diperkatakan banyak tentang akses luaran kepada rangkaian, saya percaya semua orang memahaminya. Rangkaian peribadi dalaman digunakan terutamanya untuk kegunaan dalaman kluster Oracle, termasuk penghantaran data, degupan jantung dan pengurusan kluster. Bahagian rangkaian ini memerlukan dwi suis dan dwi pautan fizikal semasa penggunaan untuk memastikan keabnormalan kelompok tidak akan disebabkan oleh kegagalan pautan. Di belakang ialah rangkaian storan, yang digunakan oleh kluster RAC untuk mengakses sumber storan Bahagian ini juga merupakan pautan yang berlebihan.
Untuk contoh lain, rajah di bawah ialah sistem RAC dua nod Ia boleh dilihat bahawa redundansi dilaksanakan daripada hos kepada suis Tidak kira peranti yang gagal, perniagaan tidak akan terjejas. Storan kongsi disertakan dengan lebihan RAID.
Antaranya, hos dipanggil nod (Nod) Mereka mesti mempunyai CPU, memori dan konfigurasi lain yang sama Setiap mesin mesti mempunyai sekurang-kurangnya dua kad rangkaian untuk mengakses rangkaian dalaman dan luaran. dan kad HBA untuk disambungkan ke storan kongsi, tetapi lebih banyak lagi Kebanyakan disambungkan kepada tatasusunan storan FC melalui suis FC. Storan kongsi ialah teras seni bina RAC Kebanyakan fail berada dalam storan kongsi, dan banyak fungsi dibangunkan untuk keselamatan storan dikongsi. Secara amnya, gentian optik disambungkan melalui antara muka FC dan menjalankan protokol SCSI.
Seni bina perisian Oracle RAC
Setiap nod mesti mempunyai sistem pengendalian yang sama dan versi mestilah konsisten, termasuk nombor tampung, dsb. Contohnya, sistem pengendalian: RHEL AS 4.8 64bit, versi kernel Linux: 2.6.9-89.EL.
Untuk memahami Oracle RAC dengan lebih mendalam, mari kita lihat komposisi modul perisian dalamannya. Tidak terdapat banyak perbezaan pada keseluruhan peringkat pangkalan data Penambahan utama adalah seperti berikut: IP maya (VIP), ASM, Clusterware dan cakera kuorum. Komponen baharu ini bekerjasama untuk melengkapkan fungsi kluster berbilang aktif Oracle.
IP maya ialah pintu masuk untuk aplikasi mengakses pangkalan data IP ini tidak terikat kepada mana-mana pelayan, tetapi boleh hanyut antara mana-mana pelayan dalam kelompok. Disebabkan oleh ciri ini, apabila ranap pelayan berlaku, kluster pangkalan data boleh memastikan perkhidmatan disediakan kepada dunia luar melalui antara muka yang sama.
ASM dan Clusterware melaksanakan fungsi pengurusan kluster untuk mengelakkan risiko ketidakkonsistenan data yang disebabkan oleh akses serentak kepada cakera, manakala Clusterware digunakan untuk mengurus proses perisian dan penjadualan sumber gugusan Oracle. .
Cakera kuorum digunakan untuk menentukan keabnormalan pelayan dalam kluster. Nod lain boleh menentukan sama ada nod itu turun berdasarkan data ini.
Rajah berikut ialah struktur logik Oracle RAC, dan setiap komponen akan diperkenalkan secara bergilir-gilir.
Setiap nod mempunyai hak yang sama untuk mengakses data disimpan yang dikongsi, Oracle RAC menggunakan Distribute Lock Management (DLM) untuk berbilang nod Kawalan akses serentak. Pengurus kunci yang diedarkan bertanggungjawab untuk menyelaraskan persaingan untuk sumber yang dikongsi antara nod Apabila nod mengakses data, ia mesti terlebih dahulu digunakan melalui DLM dan mengesahkan bahawa ia tidak akan bercanggah dengan nod lain sebelum ia boleh digunakan.
Amnesia: Jika setiap nod mempunyai salinan maklumat konfigurasi kelompok, maka ralat akan berlaku jika tiada penyegerakan selepas mengubah suai konfigurasi.
Jadi, kluster hanya boleh mempunyai satu maklumat konfigurasi, dikongsi oleh semua nod. Oracle RAC menggunakan fail OCR Disk untuk menyelesaikan amnesia.
OCR Disk hanya boleh diubah suai oleh nod Induk Setiap nod mempunyai salinan dalam memori OCR Cache. Apabila nod ingin mengubah suai Cakera OCR, ia meminta nod Induk, dan proses OCR pada nod ini mengemas kini kandungan Cache OCR nod tempatan dan lain-lain. Cakera OCR disandarkan dengan kerap setiap beberapa jam.
Otak Pisah: Nod dalam kluster menggunakan pengesanan degupan jantung untuk mengetahui sama ada pihak lain itu baik Jika terdapat masalah dengan degupan jantung, kedua-dua nod akan berfikir bahawa pihak lain adalah salah. Ia akan memerlukan data eksklusif, yang akan memusnahkan konsistensi data.
Cakera Pengundian digunakan untuk merekodkan status ahli antara nod Apabila otak berpecah berlaku, yang mempunyai bilangan undian tertinggi akan dipilih untuk mendapatkan kawalan dan nod lain akan ditendang keluar.
Pengasingan IO: Nod yang ditendang keluar tidak lagi boleh mengakses data, jadi pengasingan IO diperlukan. Mekanisme Oracle RAC adalah untuk memulakan semula nod yang gagal.
Fail pangkalan data dikongsi dan Cache Fusion Lock menyelesaikan perkongsian storan dan kawalan akses serentak di luar peringkat kelompok.
1 Rangkaian Awam: Gunakan IP Awam untuk menyediakan pertanyaan data luaran, penyelenggaraan pangkalan data dan penyelenggaraan pelayan.
2. Rangkaian maya: Gunakan IP Maya untuk menyediakan sambungan aplikasi dan aplikasi menggunakan IP ini.
Dalam protokol TCP/IP, Pengepala TCP mengandungi port sumber dan destinasi, pengepala IP mengandungi IP sumber dan destinasi, dan pemantauan pangkalan data lapisan aplikasi merekodkan IP dan port Apabila TCP masa tamat, diketahui bahawa terdapat masalah dengan pangkalan data atau pemantauan. Tamat masa tindanan protokol TCP/IP ditentukan oleh OS, dan setiap OS mempunyai takrifan yang berbeza. Untuk memendekkan masa untuk menangkap ralat, Oracle RAC menggunakan VIP. IP maya terapung dan tidak terikat pada kad rangkaian fizikal Jika nod gagal, VIP akan dipindahkan ke nod yang baik Walau bagaimanapun, VIP tidak boleh ditemui dalam pemantauan nod yang baik dan bertukar kepada VIP Lain menghantar permintaan sambungan.
3. Rangkaian peribadi: Gunakan IP Peribadi untuk pengesanan degupan jantung RAC dan Kunci Gabungan Cache, yang memerlukan kelajuan tinggi.
4. Rangkaian storan: terdiri daripada peranti storan, kad HBA dan rangkaian FC.
Pada satu mesin, hanya OS boleh mengendalikan permintaan lapisan atas, tetapi apabila terdapat berbilang mesin, perisian pengurusan cluster Oracle Clusterware akan memintas permintaan kepada nod lain sebelum Kernel OS, dan lain-lain Komunikasi Clusterware nod melengkapkan permintaan.
Lapisan aplikasi terdiri daripada beberapa Sumber CRS, dan setiap sumber ialah perkhidmatan lengkap yang terdiri daripada beberapa proses. LMON (Lock Monitor) memantau Sumber CRS dan memulakan semula serta menukar apabila keabnormalan berlaku untuk memastikan ketersediaan perkhidmatan Oracle RAC yang tinggi.
Cache Fusion boleh difahami secara literal - cache fusion sebenarnya menguruskan cache setiap nod dengan cara bersatu, mengelakkan keperluan untuk mengendalikan cakera setiap kali ia dibaca dan mempercepatkan prestasi IO. Kerana rangkaian Persendirian sangat pantas, ia lebih pantas daripada membaca cakera. Masa untuk membaca blok data dari lokasi berbeza:
Cache Fusion diuruskan melalui GCS (Global Cache Service), yang menganggap Cache anda sebagai satu Cache yang besar.
Apabila pengguna memulakan pelbagai permintaan seperti RAC, pengimbangan beban bertanggungjawab untuk menyebarkan tugas secara sama rata kepada mesin yang berbeza.
Adakah ia pilihan rawak daripada beberapa mesin? TIDAK! Itu terlalu rendah, RAC akan memperuntukkan tugas secara dinamik berdasarkan status setiap mesin. Apabila pangkalan data sedang berjalan, maklumat beban nod proses latar belakang PMON didaftarkan kepada Pendengar dan dikemas kini setiap 1-10 minit. Pendengar setiap nod mengetahui status beban semua nod dan menghantar permintaan klien ke nod yang paling sibuk.
Peruntukan oleh pengguna mempunyai kelemahan yang mungkin menjadikan Cache Fusion lebih sibuk. Oleh kerana data nod RAC dikongsi, semua orang menyegerakkan data melalui Cache Fusion Prestasi RAC sebahagian besarnya terhad oleh prestasi Cache Fusion. Sama ada menjadikan rangkaian Persendirian lebih berkuasa, seperti menggunakan InfiniBand yang mahal, atau yang lain adalah untuk mengurangkan trafik Cache Fusion, yang sebenarnya mengurangkan pergantungan antara kejadian nod. Mekanisme peruntukan mengikut pengguna tidak kondusif untuk penyelesaian kemudian.
Jadi RAC menyokong pengagihan nod mengikut perkhidmatan Sebagai contoh, nod yang berbeza digunakan untuk pengeluaran dan penjualan data anda sendiri dalam Cache anda sendiri, jadi anda tidak perlu mengakses nod lain. Prestasi dipertingkatkan.
Dua-mesin siap sedia panas
Biasanya terdapat satu siap sedia terbiar, dan jika yang berfungsi gagal, biar dia ganti ganti.
Sandaran dwi-mesin
Biasanya kedua-dua mesin melakukan kerja mereka sendiri, tetapi beberapa sumber mesti dikhaskan, kerana jika satu gagal, satu lagi akan gagal. kerja dua orang.
Dupleks mesin dua
Contohnya:
Bos dan abang kedua buka kedai bersama-sama roti kukus, dan bos Yang kedua terutamanya menjual susu soya Jika abang sulung ada masalah, yang kedua akan menjual roti kukus dan susu soya Jika yang kedua gagal, yang pertama akan menjual roti kukus dan susu soya.
Susu Soya Baozi ialah data Menjaga satu sama lain dipanggil pengesanan degupan jantung, dan menggantikan satu sama lain dipanggil failover. Jika dua saudara lelaki tiba-tiba buta dan pekak, dan mereka tidak tahu sama ada yang lain bekerja sekarang, dan kedua-duanya berfikir mereka perlu mengambil alih kerja yang lain, ini dipanggil otak berpecah, dan kemudian pihak ketiga, seperti bapa mereka , diperlukan untuk menyelesaikan masalah Ini dipanggil mengundi, atau meminta dua isteri mereka datang dan mengambil salah seorang daripada mereka Ini dipanggil pengasingan IO. Oracle RAC berada dalam kategori ini, dengan prestasi terbaik dan sistem yang paling kompleks.
Tutorial yang disyorkan: "Tutorial Pembelajaran Oracle"
Atas ialah kandungan terperinci Penjelasan terperinci tentang RAC kemahiran klasik Oracle. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!