sqlplus: lỗi trong khi tải thư viện chia sẻ: libsqlplus.so: không thể mở tệp đối tượng chia sẻ: Không có tệp hoặc thư mục như vậy


15
  • echo $PATH cho tôi kết quả dưới đây:

/ home / mayank / bin: / usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / games : / usr / lib / jvm / java-7-oracle / bin: / usr / lib / jvm / java-7-oracle / db / bin: / usr / lib / jvm / java-7-oracle / jre / bin: /usr/lib/oracle/12.1/client/bin

  • echo $ORACLE_HOME lấy

/usr/lib/oracle/12.1/client

  • echo LD_LIBRARY_PATHđưa ra ( thiết lập /etc/bash.bashrctrước đó, nhưng bây giờ nó hiển thị như dưới đây )

LD_LIBRARY_PATH

làm vimcho các .bash_profilechương trình dưới đây những điều thiết lập:

[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" #
Load RVM into a shell session *as a function*

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
    export LD_LIBRARY_PATH

PATH=$PATH:/usr/local/bin
    export PATH

Mặc dù cài đặt ld_library_pathtệp ở trên nhưng tôi vẫn không nhận được đường dẫn chính xác envmặc dù đang chạy sudo ldconfigvà sau đó khởi động lại máy của mình !!

Điều gì giúp tôi đang tìm kiếm:

  • đặt env vars chính xác

  • chạy sqlplus

Cùng một câu hỏi tồn tại siêu người dùng , nhưng không có giải pháp nào được đưa ra ở đó.


và có tập tin libsqlplus.so nằm ở đâu không? hãy thử tìm nó với "sudo updateb && xác định vị trí libsqlplus.so" - sau đó vui lòng cho chúng tôi biết nếu bạn tìm thấy nó!
Wolfgang

@WolfgangVogl: hi ... thankx vì phản hồi của bạn, khi thực hiện lệnh ur tôi đã nhận được điều này:/usr/lib/oracle/12.1/client/lib/libsqlplus.so
user246631

@WolfgangVogl: đây là kết quả cho phép chekc trên tập tin vì vậy =>ls -l /usr/lib/oracle/12.1/client/lib/libsqlplus.so -rw-r--r-- 1 root root 1303050 May 27 2013 /usr/lib/oracle/12.1/client/lib/libsqlplus.so
user246631

1
Kiểm tra liên kết này để biết các bước chi tiết với ảnh chụp màn hình.
Aniket Thakur

Câu trả lời:


17

Như đã thấy trong các nhận xét Thư viện của bạn được đặt tại /usr/lib/oracle/12.1/client/lib/, nhưng đường dẫn của bạn chỉ bao gồm /usr/lib/oracle/12.1/client/bin ... bạn hiểu tại sao nó có thể ' Tìm thư viện?

Bạn có thể mở rộng LD_LIBRARY_PATH bằng thư mục /usr/lib/oracle/12.1/client/lib/ (trong .profile hoặc .en môi trường hoặc .bash_profile hoặc (nếu bạn muốn nó cho tất cả người dùng) trong /etc/bash.bash tệp) - tôi không biết nếu sqlplus chăm sóc LD_LIBRARY_PATH - hãy dùng thử.

Để xem LD_LIBRARY_PATH được đặt, bạn phải nhập:

echo $LD_LIBRARY_PATH

(lưu ý $ nếu bạn muốn đọc giá trị!)

Hi vọng điêu nay co ich!


hi..i thực sự đánh giá cao bạn dành ra thời gian cho việc này, tôi cập nhật $LD_LIBRARY_PATHđến /usr/lib/oracle/12.1/client/lib/và sau đó chạy sqlplusnhưng vẫn báo lỗi tương tự !! :(
user246631

1
có một lib libaio1thiếu quá ... đã nâng cấp quá sudo sau khi giải pháp của bạn ... giờ đã giải quyết ... yeyeyeye !! : D
user246631

1

Có một số tệp trong /usr/lib/oracle/12.1/client/lib/thư mục mà các nhóm khác không thể đọc được.

cd /usr/lib/oracle/12.1/client/lib/
chmod +r *

Sau đó, nó hoạt động trong môi trường của tôi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.