sql >> Databasteknik >  >> RDS >> Oracle

Oracle-databaslänk - anslut till proxy med specialtecken i användarnamnet

Detta bör fungera, med eller utan specialtecken; detta är i 11.2.0.3, först utan:

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

Och med:

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

Ingen av dem fungerar på 11.2.0.4; med eller utan specialtecknet det fel:

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

Om du är på 11.2.0.4 eller högre kan det hända att du stöter på bugg 19191702, som verkar ha brutit proxykapaciteten genom en databaslänk. Se MOS-anteckning 19191702.8 för mer information. Detta verkar dock vara avsiktligt nytt beteende snarare än en bugg, och det gamla beteendet - där detta fungerade - beskrivs som felaktigt.

Det kan finnas en patch tillgänglig för att tillåta att en specifik händelse ställs in som återställer beteendet (och det är förmodligen tillgängligt i 12.2), men som "en tillfällig lösning för att tillåta befintliga applikationer, beroende på det [gamla] felaktiga beteendet, att fortsätta att arbete". Om det inte finns en patch för din plattform och version eller om evenemanget inte hjälper måste du göra en serviceförfrågan; det kan vara värt att uppfostra en ändå såklart.




  1. MariaDB JSON_DEPTH() Förklarad

  2. API-servern returnerar ett 404-fel

  3. Skapar ny databas i DataGrip JetBrains

  4. Varning:Steget efter installationen slutfördes inte framgångsrikt, när jag försökte installera mysql med brew i Mac OS High Sierra