2014-12-31 21 views
5

Vui lòng đề xuất giải pháp để giải quyết vấn đề này ?? Trong khi đưa ra các lệnh sqlplus /nolog xảy ra lỗi làsqlplus: lỗi khi tải thư viện được chia sẻ: libsqlplus.so: không thể mở tệp đối tượng được chia sẻ: Không có tệp hoặc thư mục nào như vậy

sqlplus: error while loading shared libraries: libsqlplus.so: cannot open shared object file: No such file or directory ..

+0

Làm thế nào để bạn nguồn môi trường của bạn? Cho chúng tôi thấy. – tvCa

+0

Kiểm tra [liên kết này] (http://opensourceforgeeks.blogspot.in/2015/09/installing-oracle-instant-database.html) để biết các bước chi tiết với ảnh chụp màn hình. –

Trả lời

0

Nó có nghĩa là bạn không thiết lập các biến ORACLE_HOME và ORACLE_SID. Vui lòng thiết lập thích hợp làm việc $ ORACLE_HOME và $ ORACLE_SID và sau đó thực hiện lệnh sqlplus/nolog. Nó sẽ hoạt động.

0

Ông có thể xin vui lòng kiểm tra xem điểm LD_LIBRARY_PATH để libs oracle

5

Cấu hình tối thiểu để chạy đúng sqlplus từ vỏ là để thiết lập ORACLE_HOMELD_LIBRARY_PATH. Để dễ sử dụng, bạn có thể muốn đặt PATH tương ứng.

Giả sử bạn đã giải nén tài liệu lưu trữ cần thiết trong /opt/oracle/instantclient_11_1:

sh$ export ORACLE_HOME=/opt/oracle/instantclient_11_1 
sh$ export LD_LIBRARY_PATH="$ORACLE_HOME" 
sh$ export PATH="$ORACLE_HOME:$PATH" 

sh$ sqlplus 

SQL*Plus: Release 11.1.0.7.0 - Production on Wed Dec 31 14:06:06 2014 
... 
+0

có, nhưng chỉ khi thực thi và thư viện đều có giá trị $ ORACLE_HOME/chứ không phải khi chúng được cài đặt trong thư mục riêng của chúng như $ ORACLE_HOME/bin/và $ ORACLE_HOME/lib/ –

+1

@ik_zelf Đúng. Nhưng đối với một số lý do tôi giả định OP đã sử dụng SQL * Plus như được cung cấp như một phần của gói [instantclient] (http://www.oracle.com/technetwork/topics/linuxx86-64soft-092277.html). Đó là hầu hết các lưu trữ _flat_ với tất cả các thư viện và tệp nhị phân trong thư mục cơ sở. Tất nhiên, nếu bạn di chuyển các tập tin sau khi đã giải nén chúng như được giải thích [ở đây] (http://ronr.blogspot.fr/2014/10/how-to-install-oracle-instant-client-on.html) (;)), bạn phải điều chỉnh các biến môi trường khác nhau cho phù hợp. –

2

tôi đã giải quyết lỗi này bằng cách thiết lập

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:$ORACLE_HOME 

có, không chỉ có $ ORACLE_HOME/lib nhưng $ ORACLE_HOME quá.

2

PERMISSIONS: Tôi muốn nhấn mạnh tầm quan trọng của quyền đối với "sqlplus".

  1. Đối với bất kỳ "Khác" UNIX người sử dụng khác hơn là Chủ đầu tư/Nhóm để có thể chạy sqlplus và truy cập vào một cơ sở dữ liệu ORACLE, đọc/thực thi quyền được yêu cầu (rx) cho những 4 thư mục:

    $ ORACLE_HOME/bin, $ ORACLE_HOME/lib, $ ORACLE_HOME/oracore, $ ORACLE_HOME/sqlplus

  2. Môi trường. Đặt những đúng:

    A. ORACLE_HOME (ví dụ: ORACLE_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/)

    B. LD_LIBRARY_PATH (ví dụ: ORACLE_HOME=/u01/app/oranpgm/product/12.1.0/PRMNRDEV/lib)

    C. ORACLE_SID

    D. PATH

    export PATH="$ORACLE_HOME/bin:$PATH" 
    
-1

Đừng quên

apt-get install libaio1 libaio-dev 

hoặc

yum install libaio 
0

Tôi biết đó là một chủ đề cũ, nhưng tôi đã vào đây một lần nữa với Oracle 12c và LD_LIBRARY_PATH đã được thiết lập một cách chính xác. Tôi đã sử dụng strace để xem chính xác những gì nó đang tìm kiếm và tại sao nó thất bại:

strace sqlplus /nolog 

sqlplus cố gắng để tải lib này từ dirs khác nhau, một số không tồn tại trong cài đặt của tôi. Sau đó, nó đã cố gắng một trong tôi đã có trên LD_LIBRARY_PATH tôi:

mở ("/ oracle/product/12.1.0/db_1/lib/libsqlplus.so", O_RDONLY) = -1 EACCES (Permission denied)

Vì vậy, trong trường hợp của tôi, lib có 740 quyền và vì người dùng của tôi không phải là chủ sở hữu hoặc không có nhóm oracle được giao, tôi không thể đọc nó. Vì vậy, đơn giản chmod +r đã giúp.

Các vấn đề liên quan

 Các vấn đề liên quan