Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Tidak Dapat Mengkompilasi GI 12.1.0.2 dan Kesalahan Segmentasi

Jadi saya mengalami masa-masa sulit akhir-akhir ini tentang hal-hal yang seharusnya saya ketahui lebih baik. Kita semua pernah ke sana sebelumnya.

Saya mencoba membuat ulang testbed RAC 2-simpul di laptop saya. Ini akan menjadi Oracle 12.1.0.2 di Oracle Linux 6.5 dengan VirtualBox 5.0. Seharusnya cukup sederhana, bukan? Saya bahkan menulis instruksi tentang bagaimana saya melakukan ini pada bulan April tahun ini. Saya mengikuti langkah-langkah yang sama persis di dokumen saya di laptop yang sama persis, tetapi saya masih memiliki masalah. Hanya dua hal yang berubah adalah saya akan langsung ke 12.1.0.2 (dok saya adalah 12.1.0.1 saya percaya) dan saya sekarang memiliki VB 5.0 di laptop saya.

Saya telah membuat 2 node virtual dan siap digunakan. Saya menjalankan OUI untuk memulai instalasi Infrastruktur Grid saya. Saat OUI mencapai fase penautan, saya mendapatkan pesan kesalahan.

Kesalahan dalam menjalankan target 'irman ioracle' dari makefile.

Kita semua pernah berada di persimpangan jalan dalam hidup. Anda punya pilihan untuk dibuat. Apakah saya ke kiri atau ke kanan? Sayangnya bagi saya, saya berbelok ke arah yang salah dan menyia-nyiakan beberapa minggu waktu luang saya. Pada titik ini, saya harus membuat keputusan. Apakah saya melakukan persis seperti yang dikatakan kesalahan atau apakah saya mengandalkan pengalaman saya? Saya secara membabi buta mengabaikan kesalahan dan mengandalkan pengalaman saya. Bodohnya aku.

Hanya dua bulan yang lalu saya mengalami kesalahan yang sama persis ketika saya tidak bisa mendapatkan GI 12.1.0.2 untuk dikompilasi di testbed. Testbed itu berjalan di host VMWare ESX. Saya mengajukan SR dengan Dukungan Oracle dan mereka memberi tahu saya bahwa masalah kompilasi saya adalah karena saya tidak memiliki cukup RAM yang dikhususkan untuk setiap mesin virtual. Menjadi lingkungan virtual, ini cukup mudah untuk diperbaiki. SysAdmin saya meningkatkan RAM dan ruang swap pada mesin virtual dan GI 12.1.0.2 dikompilasi persis seperti yang dijanjikan. Jadi saya secara alami berasumsi bahwa saya mengalami masalah yang sama di sini. Di laptop saya, saya terus menaikkan RAM. Saya memperluas ruang swap. Saya bahkan melangkah lebih jauh dengan membangun kembali node dari awal. Saya menghabiskan dua minggu terakhir di jalan pengalaman dan saya menemukan itu menjadi bergelombang, gatal, berdebu dan sangat tidak menyenangkan.

Jalan yang seharusnya saya ambil adalah melakukan secara eksplisit seperti yang tertulis di kotak pop-up…baca file log untuk detail lebih lanjut. Ketika saya akhirnya berhasil mengatasi kekeraskepalaan saya dalam berpikir bahwa saya tahu jawabannya, saya membaca file log. Saya menemukan pesan berikut menjelang akhir.

INFO:- Menautkan Oracle
INFO:rm -f /u01/app/crs12.1.0.2/rdbms/lib/Oracle
INFO:/usr/bin/ld:tidak dapat menemukan -ljavavm12collect2:ld mengembalikan 1 status keluar
INFO:make:*** [/u01/app/crs12.1.0.2/rdbms/lib/Oracle] Kesalahan 1

Yah itu benar-benar jelas sekarang! File perpustakaan tidak ada. Pemeriksaan cepat di Internet dengan mudah membawa saya ke solusi. Saya tidak sendirian dalam masalah ini, tetapi untuk beberapa alasan OUI tidak menyalin libjavavm12.a ke $GRID_HOME/lib sebagaimana mestinya. Dengan kotak pop-up yang masih ada di sana, saya mengeluarkan yang berikut ini di node.

[Oracle@host01 ~]$ export GRID_HOME=/u01/app/crs12.1.0.2[Oracle@host01 ~]$ cp $GRID_HOME/javavm/jdk/jdk7/lib/libjavavm12.a $GRID_HOME/lib 

Saya kemudian kembali ke kotak pop-up dan menekan tombol RETRY. Benar saja, benda sialan itu telah dikompilasi dan OUI menyelesaikan pekerjaannya.

UPDATE:Saya memiliki masalah yang sama saat menginstal perangkat lunak RDBMS 12.1.0.2 di cluster. Saya menggunakan perbaikan yang sama persis untuk membuat Oracle mengompilasi dengan benar untuk perangkat lunak database juga.

Tapi saya tidak selesai. Seperti yang diketahui oleh siapa pun yang telah menginstal Grid Infrastructure, mereka perlu menjalankan skrip $GRID_HOME/root.sh pada semua node nanti dalam prosesnya. Ketika saya mencoba ini pada simpul pertama, saya menerima kesalahan "kesalahan segmentasi". Ternyata, ada masalah (dan sekali lagi, saya tidak sendirian di sini) dengan perl di instalasi GI 12.1.0.2. Bahkan yang berikut ini akan menerima kesalahan segmentasi:

cd $GRID_HOME/perl/bin
./perl -v

Solusinya adalah menginstal ulang Perl di $GRID_HOME. Saya menemukan entri blog oleh Laurent Leturgez yang menjelaskan dengan tepat bagaimana ini dilakukan. Saya tidak akan pernah memikirkan ini sendiri. Setelah menginstal ulang Perl di semua node saya, skrip root.sh berjalan dengan baik.

UPDATE:Saya memiliki masalah yang sama saat menginstal perangkat lunak RDBMS 12.1.0.2 di cluster. Saya menggunakan perbaikan yang sama persis untuk menjalankan perl tanpa kesalahan segmentasi.

Seperti kita semua, saya mengandalkan pengalaman saya untuk menghemat banyak waktu. Hal-hal yang saya pelajari sebulan atau setahun yang lalu diterapkan hari ini. Terkadang, pengalaman menghalangi kita dan membawa kita ke jalan yang kita harap tetap tidak dilalui.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Impor File CSV di Tabel Oracle Menggunakan Prosedur Tersimpan

  2. Cara mengkonfigurasi Server Glassfish di Eclipse secara manual

  3. Bagaimana cara menghapus kumpulan koneksi ODP.NET pada kesalahan koneksi?

  4. Bagaimana cara menambahkan angka nol di depan dalam kueri Oracle SQL?

  5. 2 Cara Mendapatkan Jumlah Hari dalam Sebulan di Oracle