Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Không thể biên dịch GI 12.1.0.2 và lỗi phân đoạn

Vì vậy, gần đây tôi gặp khó khăn về những điều mà tôi nên biết rõ hơn. Tất cả chúng ta đã ở đó trước đây.

Tôi đang cố gắng tạo lại thử nghiệm RAC 2 nút trên máy tính xách tay của mình. Đây sẽ là Oracle 12.1.0.2 trên Oracle Linux 6.5 với VirtualBox 5.0. Nên khá đơn giản, phải không? Tôi thậm chí đã viết hướng dẫn về cách tôi đã làm điều này vào tháng 4 năm nay. Tôi đang làm theo các bước chính xác tương tự trong tài liệu của mình trên cùng một máy tính xách tay chính xác nhưng tôi vẫn gặp sự cố. Hai điều duy nhất đã thay đổi là tôi sẽ chuyển trực tiếp đến 12.1.0.2 (tôi tin rằng tài liệu của tôi là 12.1.0.1) và bây giờ tôi có VB 5.0 trên máy tính xách tay của mình.

Tôi đã tạo 2 nút ảo của mình và sẵn sàng hoạt động. Tôi kích hoạt OUI để bắt đầu cài đặt Cơ sở hạ tầng lưới. Khi OUI chuyển sang giai đoạn liên kết, tôi nhận được thông báo lỗi.

Lỗi khi gọi đích ‘irman ioracle’ của makefile.

Tất cả chúng ta đều đã từng ở ngã ba đường trong cuộc đời. Bạn có một sự lựa chọn để thực hiện. Tôi đi bên trái hay tôi đi bên phải? Thật không may cho tôi, tôi đã rẽ sai hướng và lãng phí vài tuần rảnh rỗi của mình. Tại thời điểm này, tôi đã có một quyết định để thực hiện. Tôi có làm đúng như lỗi đã nói hay tôi dựa vào kinh nghiệm của mình? Tôi mù quáng bỏ qua lỗi và dựa vào kinh nghiệm của mình. Ngớ ngẩn tôi.

Chỉ hai tháng trước, tôi cũng gặp phải lỗi tương tự khi không thể biên dịch GI 12.1.0.2 trên testbed. Thử nghiệm đó đang chạy trên máy chủ VMWare ESX. Tôi đã đệ trình SR với Bộ phận hỗ trợ của Oracle và họ cho tôi biết rằng vấn đề biên dịch của tôi là do tôi không có đủ RAM dành cho mỗi máy ảo. Là một môi trường ảo, điều này đủ dễ dàng để sửa chữa. Tôi đã có SysAdmin của mình tăng RAM và hoán đổi không gian trên các máy ảo và GI 12.1.0.2 được biên dịch chính xác như đã hứa. Vì vậy, tôi tự nhiên cho rằng tôi đang gặp phải vấn đề tương tự ở đây. Trên máy tính xách tay của tôi, tôi liên tục tăng RAM. Tôi đã mở rộng không gian hoán đổi. Tôi thậm chí đã đi xa đến mức xây dựng lại các nút từ đầu. Tôi đã trải qua hai tuần cuối cùng trên con đường trải nghiệm và tôi thấy nó gập ghềnh, trầy xước, bụi bặm và rất khó chịu.

Con đường đáng lẽ tôi phải làm là thực hiện một cách rõ ràng như hộp bật lên cho biết… hãy đọc tệp nhật ký để biết thêm chi tiết. Cuối cùng, khi tôi vượt qua được sự bướng bỉnh của mình trong việc nghĩ rằng tôi đã biết câu trả lời, tôi đã đọc tệp nhật ký. Tôi đã tìm thấy các thông báo sau ở cuối.

INFO: - Linking Oracle
INFO: rm -f /u01/app/crs12.1.0.2/rdbms/lib/oracle
INFO: /usr/bin/ld: cannot find -ljavavm12
collect2: ld returned 1 exit status
INFO: make: *** [/u01/app/crs12.1.0.2/rdbms/lib/oracle] Error 1

Vâng, nó hoàn toàn rõ ràng bây giờ! Tệp thư viện bị thiếu. Kiểm tra nhanh trên Internet dễ dàng đưa tôi đến giải pháp. Tôi không đơn độc trong vấn đề này, nhưng vì một số lý do mà OUI không sao chép libjavavm12.a sang $ GRID_HOME / lib như bình thường. Với hộp bật lên vẫn còn ở đó, tôi đưa ra thông tin sau trên nút.

[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

Sau đó, tôi quay lại hộp bật lên và nhấn nút QUAY LẠI. Chắc chắn rồi, cái thứ chết tiệt đã được biên dịch và OUI đã hoàn thành công việc của nó.

CẬP NHẬT:Tôi gặp sự cố tương tự khi cài đặt phần mềm RDBMS 12.1.0.2 trên cụm. Tôi đã sử dụng cùng một bản sửa lỗi chính xác để oracle cũng biên dịch chính xác cho phần mềm cơ sở dữ liệu.

Nhưng tôi đã không xong. Như bất kỳ ai đã cài đặt Cơ sở hạ tầng lưới đều biết, họ cần chạy tập lệnh $ GRID_HOME / root.sh trên tất cả các nút sau này trong quá trình này. Khi tôi thực hiện việc này trên nút đầu tiên, tôi đã nhận được lỗi "lỗi phân đoạn". Hóa ra, có một vấn đề (và một lần nữa, tôi không đơn độc ở đây) với perl trong các bản cài đặt GI 12.1.0.2. Ngay cả phần sau sẽ nhận được lỗi phân đoạn:

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

Giải pháp là cài đặt lại Perl trong $ GRID_HOME. Tôi tìm thấy một mục blog của Laurent Leturgez mô tả chính xác cách thực hiện điều này. Tôi không bao giờ có thể tự mình tìm ra điều này. Sau khi cài đặt lại Perl trên tất cả các nút của tôi, tập lệnh root.sh vẫn chạy tốt.

CẬP NHẬT:Tôi gặp sự cố tương tự khi cài đặt phần mềm RDBMS 12.1.0.2 trên cụm. Tôi đã sử dụng cùng một bản sửa lỗi chính xác để perl chạy mà không bị lỗi phân đoạn.

Giống như tất cả chúng ta, tôi dựa vào kinh nghiệm của mình để tiết kiệm rất nhiều thời gian. Những điều tôi học được một tháng hoặc một năm trước được áp dụng vào ngày hôm nay. Đôi khi, kinh nghiệm cản đường chúng ta và đưa chúng ta xuống con đường mà chúng ta mong muốn vẫn chưa được làm sáng tỏ.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle động Pivot_In_Clause

  2. Tên vai trò hoặc người dùng thông thường không hợp lệ

  3. Giới thiệu về SQL động gốc trong cơ sở dữ liệu Oracle

  4. Gọi thủ tục Java được lưu trữ trong chương trình java

  5. DBCA Tạo cơ sở dữ liệu không hợp lệ REMOTE_LISTENER