Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

लिनक्स/उबंटू पर ओरेकल पुस्तकालयों के साथ स्थिर सीजीओ निष्पादन योग्य बनाने की कोशिश कर रहा है

  • libclntst.a नामक लाइब्रेरी बनाने के लिए $ORACLE_HOME/bin/relink टूल का उपयोग करें st स्थिर पुस्तकालय के लिए खड़ा है। Oracle क्लाइंट को आमतौर पर इस फ़ाइल के साथ शिप नहीं किया जाता है।
  • अपने ऐप को इस लाइब्रेरी से लिंक करने का प्रयास करें। आप शायद बहुत से प्रतीकों को गायब पाएंगे।
  • उन प्रतीकों के स्रोत को खोजने के लिए एनएम टूल का उपयोग करें।
  • 11gR2 के मामले में इस कमांड ने मेरे लिए काम किया:

    /usr/bin/c++ -Wall -ggdb3 -fPIC \
     CMakeFiles/opassgen.dir/opassgen.cpp.o \
     CMakeFiles/opassgen.dir/dbutils.cpp.o \
     CMakeFiles/opassgen.dir/common.cpp.o  \
     CMakeFiles/opassgen.dir/crypto.cpp.o  \
     n.o  -o opassgen                      \
     -rdynamic -static-libgcc -L. -Wl,-Bstatic -lstdc++ -Wl,-Bdynamic \
     /home/oracle/ivan/openssl-1.0.1t/libcrypto.a  \
     /oracle/u01/db/11.2.0.4/lib/libclntst11.a     \
     /oracle/u01/db/11.2.0.4/lib/libippdcmerged.a  \
     /oracle/u01/db/11.2.0.4/lib/libippsmerged.a   \
     -Wl,--whole-archive libtrotl.a -Wl,--no-whole-archive \
     -lpthread -ldl
    

स्टेटिक लिंकिंग की आवश्यकता है, कि आप सभी निर्भरताओं को मैन्युअल रूप से हल करें। इस उदाहरण में libclntst11.a libippdcmerged.a और libippsmerged.a के प्रतीकों पर निर्भर करता है।

पुराने Oracle संस्करण पर पूरे डेटाबेस को Intel के ICC कंपाइलर का उपयोग करके बनाया और जोड़ा गया था। इसलिए Oracle के क्लाइंट लिब को स्टेटिकली लिंक करते समय आपको ICC के रनटाइम से कुछ स्टैटिक लिब भी जोड़ने पड़े।




  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 में शाब्दिक तालिका कैसे लिखें?

  2. Oracle:रिकॉर्ड डेटाटाइप से चुनें

  3. Oracle AS उपनाम में काम नहीं कर रहा

  4. मैं किसी उपयोगकर्ता को EMP तालिका देखने की अनुमति देना चाहता/चाहती हूं

  5. एकाधिक माता-पिता द्वारा ओरेकल कनेक्ट