sql >> Databáze >  >> RDS >> Oracle

Odkaz na databázi Oracle - připojení k proxy se speciálními znaky v uživatelském jméně

To by mělo fungovat se speciálními znaky nebo bez nich; toto je v 11.2.0.3, první bez:

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

A s:

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

Ani jedno nefunguje na 11.2.0.4; se speciálním znakem nebo bez něj, chyby:

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

Pokud jste na verzi 11.2.0.4 nebo vyšší, možná narazíte na chybu 19191702, která zřejmě narušila funkci proxy prostřednictvím odkazu na databázi. Další informace naleznete v poznámce MOS 19191702.8. Zdá se však, že jde spíše o záměrné nové chování než o chybu, a staré chování – kde to fungovalo – je popisováno jako nesprávné.

K dispozici může být oprava, která umožní nastavit konkrétní událost, která vrátí chování zpět (a údajně je k dispozici ve verzi 12.2), ale jako „dočasné řešení, které umožní stávajícím aplikacím, které se spoléhají na [staré] nesprávné chování, pokračovat v práce". Pokud pro vaši platformu a verzi neexistuje oprava nebo událost nepomůže, budete muset vznést požadavek na službu; každopádně může stát za to si jednu vyzvednout.




  1. Konverze data MySQL

  2. MySQL Zkontrolujte, zda je časové období v rozsahu dat

  3. 100% bezpečný způsob ukládání html v MySQL

  4. tabulka nebo pohled neexistuje