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

Oracle डेटाबेस लिंक - उपयोगकर्ता नाम में विशेष वर्णों के साथ प्रॉक्सी से कनेक्ट करें

यह विशेष पात्रों के साथ या उनके बिना काम करना चाहिए; यह 11.2.0.3 में है, पहले बिना:

CREATE USER "AUSER" IDENTIFIED BY "a";
CREATE USER bar IDENTIFIED BY "random-trash";
ALTER USER bar GRANT CONNECT THROUGH "AUSER";
GRANT CREATE SESSION TO "AUSER";
GRANT CREATE SESSION TO "BAR";

CREATE PUBLIC DATABASE LINK dbl CONNECT TO "AUSER[BAR]" IDENTIFIED BY "a" using 'MYDB';
SELECT * FROM [email protected];

D
-
X

और इसके साथ:

CREATE USER "A-USER" IDENTIFIED BY "a";
CREATE USER foo IDENTIFIED BY "random-trash";
ALTER USER foo GRANT CONNECT THROUGH "A-USER";
GRANT CREATE SESSION TO "A-USER";
GRANT CREATE SESSION TO "FOO";

DROP PUBLIC DATABASE LINK dbl;
CREATE PUBLIC DATABASE LINK dbl CONNECT TO "A-USER[FOO]" IDENTIFIED BY "a" using 'MYDB';
SELECT * FROM [email protected];

D
-
X

न तो 11.2.0.4 पर काम करता है; विशेष वर्ण के साथ या उसके बिना यह त्रुटियाँ करता है:

select * from [email protected]
                   *
ERROR at line 1:
ORA-01017: invalid username/password; logon denied
ORA-02063: preceding line from DBL

यदि आप 11.2.0.4 या उच्चतर पर हैं तो आप 19191702 बग मार रहे होंगे, जो एक डेटाबेस लिंक के माध्यम से प्रॉक्सी क्षमता को तोड़ता हुआ प्रतीत होता है। अधिक जानकारी के लिए एमओएस नोट 19191702.8 देखें। हालांकि यह एक बग के बजाय जानबूझकर नया व्यवहार लगता है, और पुराने व्यवहार - जहां यह काम करता है - को गलत बताया जा रहा है।

एक विशिष्ट घटना को सेट करने की अनुमति देने के लिए एक पैच उपलब्ध हो सकता है जो व्यवहार को बदल देता है (और यह 12.2 में माना जाता है), लेकिन "मौजूदा अनुप्रयोगों को अनुमति देने के लिए एक अंतरिम समाधान के रूप में, [पुराने] गलत व्यवहार पर निर्भर, जारी रखने के लिए काम"। यदि आपके प्लेटफ़ॉर्म और संस्करण के लिए कोई पैच नहीं है या ईवेंट मदद नहीं करता है, तो आपको एक सेवा अनुरोध करने की आवश्यकता होगी; बेशक यह किसी एक को बढ़ाने लायक हो सकता है।




  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. SQL:दिए गए मान वाले स्तंभों की सूची खोजें (एक पंक्ति के भीतर)

  3. NUMBER कॉलम के लिए IN क्लॉज के अंदर अल्पविराम से अलग किए गए मानों का उपयोग करना

  4. SQL 'कहाँ' खंड में शर्तों का निष्पादन क्रम

  5. टेबलस्पेस 'उपयोगकर्ता' पर कोई विशेषाधिकार नहीं