Verbinden Sie Node.js und andere Skriptingsprachen (mTLS)
Sie können Programme in verschiedenen Sprachen verwenden, einschließlich Python, Node.js, PHP, Ruby, R, Go und Perl, um eine Verbindung zu einer Autonomous Database-Instanz mit mTLS (mit Wallets) herzustellen. Sicherheit wird mit Clientzugangsdaten durchgesetzt.
Diese Skriptsprachen verfügen über Datenbankzugriffs-APIs oder Treiber, die die Oracle Call Interface-Librarys verwenden.
Oracle Call Interface (OCI) Clients unterstützen die mTLS-Authentifizierung mit einem Wallet, wenn Sie eine Verbindung mit den folgenden Clientversionen herstellen:
-
Oracle Instant Client/Oracle Database Client: 18.19 (oder höher), 19.2 (oder höher) oder 21 (Basisrelease oder höher).
Einzelheiten zur Verbindung von Node.js oder anderen Skriptsprachen ohne Wallet finden Sie unter Node.js und andere Skriptsprachen ohne Wallet verbinden.
Weitere Informationen finden Sie im folgenden Video:
Sprachtreiber und Client-Librarys installieren
Um mit Ihrer Skriptssprache eine Verbindung zu Autonomous Database herzustellen, installieren Sie zunächst wie folgt den Sprachtreiber und die Client-Librarys:
-
Oracle Instant Client/Oracle Database Client installieren: 18.19 (oder höher), 19.2 (oder höher) oder 21 (Basisrelease oder höher).
Der Instant Client funktioniert bei den meisten Anwendungen gut. So installieren Sie den Instant Client:
-
Wählen Sie auf der Downloadseite für den Instant Client die gewünschte Architektur aus, und laden Sie ein Basispackage herunter (auf der Downloadseite verfügbar): Oracle Instant Client-Downloads.
Alternativ können Sie das Basic Light-Package für Ihre gewünschte Architektur von der Downloadseite herunterladen, wenn die Basic Light-Globalisierungseinschränkungen Ihrer Verwendung entsprechen.
-
Wenn Sie eine Sprach-API oder einen Treiber aus dem Quellcode erstellen, müssen Sie möglicherweise auch das Instant Client-SDK herunterladen: Oracle Instant Client
-
Dekomprimieren Sie das ausgewählte Basispackage. Beispiel: Dekomprimieren Sie die Datei in
C:\instantclient_12_2
oder/home/myuser/instantclient_18_5.
. Wenn Sie auch das SDK herunterladen, dekomprimieren Sie es im selben Verzeichnis. -
Fügen Sie unter Windows den Pfad zur Variablen
PATH
im Abschnitt "Systemvariablen" des Bereichs "Umgebungsvariablen" hinzu (Beispiel:C:\instantclient_12_2
). Rufen Sie unter Windows 8 den Einstellungsbereich der VariablenPATH
auf, indem Sie zu "Systemsteuerung > System > Erweiterte Systemeinstellungen > Umgebungsvariablen" navigieren. Wenn mehrere Versionen von Oracle-Librarys installiert sind, stellen Sie sicher, dass das neue Verzeichnis zuerst im Pfad enthalten ist. -
Erstellen Sie auf Nicht-Windows-Plattformen einen symbolischen Link, falls noch nicht vorhanden. Beispiele:
cd /home/myuser/instantclient_18_5 ln -s libclntsh.so.18.1 libclntsh.so
Wenn auf dem System keine andere Oracle-Software vorhanden ist, die betroffen sein kann, fügen Sie Instant Client zum Laufzeitlinkpfad hinzu. Beispiele:
sudo sh -c "echo /home/myuser/instantclient_18_5 > /etc/ld.so.conf.d/oic.conf" sudo ldconfig
Legen Sie alternativ den Library-Pfad in jeder Shell fest, in der die Anwendung ausgeführt wird. Beispiele:
export LD_LIBRARY_PATH=/home/myuser/instantclient_18_5:$LD_LIBRARY_PATH
Hinweis
Die Instant Client-Downloaddateien für Linux sind als.zip
- oder.rpm
-Dateien verfügbar. Sie können eine der beiden Versionen verwenden.
-
-
Installieren Sie den entsprechenden Sprachtreiber für Oracle Database:
-
Node.js: Um node-oracledb für Node.js zu installieren, verwenden Sie die Anweisungen auf der folgenden Seite: node-oracledb installieren.
-
ROracle: Um ROracle für R zu installieren, verwenden Sie die Anweisungen auf der folgenden Seite: ROracle.
-
PHP: Um PHP OCI8 für PHP zu installieren, verwenden Sie die Anweisungen auf der folgenden Seite: PHP mit OCI8 konfigurieren.
Windows-DLLs sind unter http://php.net/downloads.php und unter PECL oci8 verfügbar.
-
PHP PDO_OCI: Um PHP PDO_OCI für PHP zu installieren, verwenden Sie die Anweisungen auf der folgenden Seite: Oracle Functions (PDO_OCI).
Windows-DLLs sind unter http://php.net/downloads.php verfügbar und in PHP enthalten.
-
Ruby: Um ruby-oci8 für Ruby zu installieren, verwenden Sie die Anweisungen auf der folgenden Seite: Für Oracle Instant Client installieren.
-
DBD für Perl: Um DBD::Oracle für Perl zu installieren, setzen Sie
ORACLE_HOME
und den Library-Suchpfad wieLD_LIBRARY_PATH
oderPATH
auf das Instant Client-Verzeichnis, und verwenden Sie die Anweisungen auf der folgenden Seite: DBD-Oracle installieren. -
Python: Anweisungen zum Verbinden von Python-Anwendungen finden Sie unter Python-Anwendungen mit einem Wallet (mTLS) verbinden
-
Oracle-Netzwerkkonnektivität aktivieren und Sicherheitszugangsdaten abrufen (Oracle Wallet)
-
Rufen Sie die Clientsicherheitszugangsdaten ab, um eine Verbindung zu Autonomous Database herzustellen. Sie benötigen eine ZIP-Datei mit Clientsicherheitszugangsdaten und Netzwerkkonfigurationseinstellungen, die für den Zugriff auf die Datenbank erforderlich sind. Sie müssen diese Datei und ihren Inhalt schützen, um einen nicht autorisierten Datenbankzugriff zu verhindern. Rufen Sie die Datei mit den Sicherheitszugangsdaten des Clients wie folgt ab:
-
ADMIN-Benutzer: Klicken Sie auf Datenbankverbindung. Siehe Clientzugangsdaten (Wallets) herunterladen.
-
Sonstiger Benutzer (kein Administrator): Beziehen Sie das Oracle Wallet vom Administrator für die autonome Datenbank.
-
-
Extrahieren Sie die Clientzugangsdaten-(Wallet-)Dateien:
-
Dekomprimieren Sie die ZIP-Datei mit den Clientzugangsdaten.
-
Wenn Sie Instant Client verwenden, erstellen Sie gegebenenfalls eine Unterverzeichnishierarchie
network/admin
unter dem Instant Client-Verzeichnis. Verschieben Sie die Dateien dann in dieses Unterverzeichnis. Abhängig von der Architektur oder Ihrem Clientsystem und dem Ort, an dem Sie Instant Client installiert haben, sollten sich die Dateien im folgenden Verzeichnis befinden:C:\instantclient_12_2\network\admin
or
/home/myuser/instantclient_18_5/network/admin
or
/usr/lib/oracle/18.5/client64/lib/network/admin
-
Wenn Sie einen vollständigen Oracle-Client verwenden, verschieben Sie die Datei in
$ORACLE_HOME/network/admin
.
-
-
Alternativ können Sie die nicht komprimierten Wallet-Dateien in einem sicheren Verzeichnis ablegen und die Umgebungsvariable
TNS_ADMIN
auf diesen Verzeichnisnamen setzen.
Hinweis
In der ZIP-Datei sind nur die folgenden Dateien erforderlich:tnsnames.ora
,sqlnet.ora
,cwallet.sso
undewallet.p12
. -
-
Wenn Sie sich hinter einem Proxy befinden, gehen Sie wie unter "Verbindungen mit einem HTTP-Proxy" in Oracle Call Interface-, ODBC- und JDBC OCI-Verbindungen mit Wallets (mTLS) vorbereiten beschrieben vor.
Anwendung ausführen
-
Aktualisieren Sie die Anwendung so, dass die Verbindung mit Ihrem Datenbankbenutzernamen, Ihrem Kennwort und dem Oracle Net-Verbindungsnamen in der entpackten Datei
tnsnames.ora
hergestellt wird. Beispiel: Benutzeradb_user
, Kennwort unddb2022adb_low
als Verbindungszeichenfolge. -
Ändern Sie alternativ die Verbindungszeichenfolge in
tnsnames.ora
so, dass sie mit der von der Anwendung verwendeten Zeichenfolge übereinstimmt. -
Führen Sie die Anwendung aus.
Übergeordnetes Thema: Verbindung zu Autonomous Database mit einer Clientanwendung herstellen