Januar 10, 2022

Dilli’s Oracle / MySQL Linux Blog

Wir können ALTER DATABASE LINK verwenden, um den Datenbanklink zu ändern, wann immer wir das Passwort ändern müssen. Im Falle einer Änderung des Benutzernamens und des Hosts müssen wir den Datenbanklink neu erstellen.


Erstellen und überprüfen Sie den Link zur öffentlichen Datenbank mit dem folgenden Befehl.
ÖFFENTLICHEN DATENBANKLINK dblink_test ERSTELLEN
MIT ‚TESTDB‘ EINE VERBINDUNG ZU EINER VON oracle IDENTIFIZIERTEN DATENBANK HERSTELLEN
;
WÄHLEN SIE property_value
AUS database_properties@dblink_test
WHERE property_name=’GLOBAL_DB_NAME‘;

Im Falle einer Passwortänderung für den Benutzer dilli tritt der folgende Fehler auf.

AUS database_properties@dblink_test
*
FEHLER in Zeile 2:
ORA-01017: ungültiger Benutzername / Passwort; Anmeldung verweigert

ORA-02063: vorherige Zeile von DBLINK_TEST

Wir können den Befehl alter verwenden, um das für dblink verwendete Kennwort zu ändern. Führen Sie den folgenden Befehl als Benutzer sys aus.

ALTER PUBLIC DATABASE LINK dblink_test
VERBINDUNG ZU dilli HERSTELLEN, IDENTIFIZIERT DURCH oracle_1;

Wenn Sie den Benutzernamen oder Hostnamen ändern müssen, müssen Sie den dblink neu erstellen. Generieren Sie vor der Neuerstellung die DDL der Datenbankverbindung mit dem Paket DBMS_METADATA. Wir werden die Funktion get_ddl verwenden, um die DDL der Datenbankverbindung zu generieren. Der Rückgabewert hat den Datentyp CLOB, setzen Sie also long vor der Ausführung des Befehls auf 1000 Zeichen, da sonst eine unvollständige DDL generiert wird. Führen Sie den folgenden Befehl als Benutzer sys aus.

set long 1000
WÄHLEN SIE dbms_metadata.get_ddl(‚DB_LINK‘,’DBLINK_TEST‘,’PUBLIC‘)
VON dual;

Jetzt können wir die Datenbankverknüpfung löschen und sofort mit der SQL-Datenbank erstellen. Stellen Sie sicher, dass der Wert keine neue Zeile enthält und der Wert in einer Zeile wie unten angegeben intakt ist.

Um den Benutzernamen zu ändern, verwenden Sie den folgenden Befehl. In unserem Fall haben wir den Benutzernamen RAJIV mit genau demselben Passwort wie Benutzer DILLI geändert.

ÖFFENTLICHEN DATENBANKLINK LÖSCHEN dblink_test;
CREATE PUBLIC DATABASE LINK „DBLINK_TEST“
CONNECT TO „RAJIV“ IDENTIFIED BY VALUES ‚0677433333EA295E225C0B92B30170664D756DA1C83756F6720A0E40DF81A0B0329BC3CF628AEE972A9E262984B1E1F26E09505A801B51EBF7372A8E79990112935DC1DECB60940B2469089A2237438C87FF97092153396834506130DA8AA8ECEEF4B61A9320688675D83B8C93860821FCFB678FA6C49827C40215D683CD6E0B‘
USING ‚TESTDB‘;

To modify host, execute command below as user sys.

DROP PUBLIC DATABASE LINK dblink_test;
CREATE PUBLIC DATABASE LINK „DBLINK_TEST“

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.