sqlplus: ข้อผิดพลาดขณะโหลดไลบรารีที่แชร์: libsqlplus.so: ไม่สามารถเปิดไฟล์วัตถุที่แชร์ได้: ไม่มีไฟล์หรือไดเรกทอรีดังกล่าว


15
  • echo $PATH ให้ผลลัพธ์ด้านล่าง:

/ home / mayank / bin: / usr / lib / lightdm / lightdm: / usr / local / sbin: / usr / local / bin: / usr / sbin: / usr / bin: / sbin: / bin: / usr / เกม : / 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 เรียก:

/usr/lib/oracle/12.1/client

  • echo LD_LIBRARY_PATHให้ ( ผ่าน/etc/bash.bashrcก่อนหน้านี้ แต่ตอนนี้มันแสดงดังด้านล่าง )

LD_LIBRARY_PATH

ทำvimเพื่อ.bash_profileแสดงสิ่งต่าง ๆ ด้านล่างตั้ง:

[[ -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

แม้จะมีการตั้งค่าld_library_pathในไฟล์ข้างต้นฉันยังไม่ได้รับเส้นทางที่ถูกต้องenvแม้จะมีการทำงานsudo ldconfigแล้วรีบูตเครื่องของฉัน !!

สิ่งที่ช่วยฉันกำลังมองหา:

  • ตั้งค่า env vars ให้ถูกต้อง

  • เรียกใช้ sqlplus

คำถามเดียวกันมีอยู่superuserแต่ไม่มีวิธีแก้ปัญหาที่นั่น


และมีไฟล์ libsqlplus.so อยู่หรือไม่ ลองค้นหาด้วย "sudo updatedb && หา libsqlplus.so" - โปรดบอกเราหากคุณพบ!
Wolfgang

@ WolfgangVogl: สวัสดี ... ขอบคุณสำหรับการตอบสนองของคุณในการดำเนินการคำสั่ง ur ฉันได้รับนี้:/usr/lib/oracle/12.1/client/lib/libsqlplus.so
246631

@WolfgangVogl: นี่คือผลการอนุญาต chekc ดังนั้น file =>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
ลองดูที่ลิงค์นี้สำหรับขั้นตอนอย่างละเอียดพร้อมภาพหน้าจอ
Aniket Thakur

คำตอบ:


17

เท่าที่เห็นในความคิดเห็นห้องสมุดของคุณตั้งอยู่ที่ /usr/lib/oracle/12.1/client/lib/ แต่เส้นทางของคุณมีเพียง /usr/lib/oracle/12.1/client/bin ... คุณจะเห็นว่าทำไมมันสามารถ ' หาห้องสมุดเหรอ?

คุณสามารถขยาย LD_LIBRARY_PATH ของคุณด้วยไดเร็กทอรี /usr/lib/oracle/12.1/client/lib/ (ใน. โปรไฟล์ของคุณหรือ. สิ่งแวดล้อมหรือ. bash_profile หรือ (หากคุณต้องการให้ผู้ใช้ทั้งหมด) ใน /etc/bash.bashrc ไฟล์) - ฉันไม่ทราบว่า sqlplus จะดูแล LD_LIBRARY_PATH - แค่ลองดู

หากต้องการดูว่า LD_LIBRARY_PATH ตั้งค่าอะไรคุณต้องพิมพ์:

echo $LD_LIBRARY_PATH

(สังเกต $ ถ้าคุณต้องการอ่านค่า!)

หวังว่านี่จะช่วยได้!


hi..i จริงๆขอบคุณที่คุณสละเวลานี้ฉันมีการปรับปรุง$LD_LIBRARY_PATHไป/usr/lib/oracle/12.1/client/lib/แล้ววิ่งsqlplusแต่ยังคงข้อผิดพลาดเดียวกัน !! :(
246631

1
มี lib ที่libaio1ขาดหายไปเช่นกัน ... มีการอัพเกรด sudo มากเกินไปหลังจากโซลูชันของคุณ ... ตอนนี้แก้ไข ... yeyeyeye !! : D
user246631

1

มีไฟล์บางไฟล์ภายใต้/usr/lib/oracle/12.1/client/lib/ไดเรกทอรีที่กลุ่มอื่นไม่สามารถอ่านได้

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

จากนั้นก็ใช้งานได้ในสภาพแวดล้อมของฉัน

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.