DBMS_CLOUD_ADMIN-Package
In diesem Abschnitt werden die DBMS_CLOUD_ADMIN
-Unterprogramme beschrieben, die mit Autonomous Database bereitgestellt werden.
Unterprogramm | Beschreibung |
---|---|
Diese Prozedur hängt ein Dateisystem in einem Verzeichnis in der Datenbank an. |
|
Diese Prozedur erstellt einen Datenbanklink zu einer Zieldatenbank. Es gibt Optionen zum Erstellen eines Datenbanklinks zu einer anderen Autonomous Database-Instanz, zu einer Oracle Database, die kein Autonomous Database ist, oder zu einer Nicht-Oracle Database mit von Oracle verwalteter heterogener Konnektivität. |
|
Mit diesem Verfahren wird ein Dateisystem von einem Verzeichnis in der Datenbank getrennt. |
|
Diese Prozedur deaktiviert die externe Authentifizierung für die Autonomous Database-Instanz. |
|
Diese Prozedur löscht einen Datenbanklink. |
|
Mit dieser Prozedur kann sich ein Benutzer mit dem angegebenen externen Authentifizierungsschema bei Autonomous Database anmelden. |
ATTACH_FILE_SYSTEM-Prozedur
Dieses Verfahren hängt ein Dateisystem in der Datenbank an.
Die Prozedur DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
hängt ein Dateisystem in der Datenbank an und speichert Informationen zum Dateisystem in der Ansicht DBA_CLOUD_FILE_SYSTEMS
.
Syntax
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(
file_system_name IN VARCHAR2,
file_system_location IN VARCHAR2,
directory_name IN VARCHAR2,
description IN VARCHAR2 DEFAULT NULL,
params IN CLOB DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name des Dateisystems. Dieser Parameter ist erforderlich. |
|
Gibt den Speicherort des Dateisystems an. Der Wert, den Sie mit Beispiel:
Dieser Parameter ist erforderlich. |
|
Gibt den Verzeichnisnamen für das angehängte Dateisystem an. Das Verzeichnis muss vorhanden sein. Dieser Parameter ist erforderlich. |
|
(Optional) Gibt eine Beschreibung der Aufgabe an. |
|
Eine JSON-Zeichenfolge, die einen zusätzlichen Parameter für das Dateisystem bereitstellt.
|
Beispiele:
An ein NFSv3-Dateisystem anhängen:
BEGIN
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(
file_system_name => 'FSS',
file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
directory_name => 'FSS_DIR',
description => 'Source NFS for sales data'
);
END;
/
An ein NFSv4-Dateisystem anhängen:
BEGIN
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(
file_system_name => 'FSS',
file_system_location => 'myhost.sub000445.myvcn.oraclevcn.com:/results',
directory_name => 'FSS_DIR',
description => 'Source NFS for sales data',
params => JSON_OBJECT('nfs_version' value 4)
);
END;
/
Verwendungshinweise
-
Um diese Prozedur auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung
EXECUTE
fürDBMS_CLOUD_ADMIN
besitzen. -
Sie benötigen die Berechtigung
WRITE
für das Verzeichnisobjekt in der Datenbank, um ein Dateisystem mitDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
anzuhängen. -
Die Prozedur
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
kann nur einen privaten File Storage-Service in Datenbanken mit aktivierten privaten Endpunkten anhängen.Weitere Informationen finden Sie unter OCI File Storage Service und Entwicklungssystem für den Zugriff auf die Datenbank konfigurieren.
-
Die Prozedur
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
sucht den Hostnamen des Netzwerkdateisystems im virtuellen Cloud-Netzwerk (VCN) des Kunden. Der Fehler"ORA-20000: Mounting NFS fails"
wird zurückgegeben, wenn der im Speicherort angegebene Hostname nicht gefunden werden kann. -
Oracle Cloud Infrastructure File Storage verwendet NFSv3 zum Teilen
-
Wenn Sie an Nicht-Oracle Cloud Infrastructure File Storage-Systeme anhängen, unterstützt die Prozedur NFSv3 und NFSv4
-
Wenn ein NFS-Server angehängt ist, der NFSv3 verwendet und die NFS-Version auf dem NFS-Server in NFSv4 aktualisiert wird, müssen Sie
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
und dannDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
ausführen (mit dem Parameterparams
, bei demnfs_version
auf 4 gesetzt ist). Dadurch wird NFS mit dem übereinstimmenden Protokoll angehängt, sodass Autonomous Database auf den NFSv4-Server zugreifen kann. Ohne Trennen und erneutes Anhängen ist der NFS-Server nicht zugänglich, und es kann zu einem Fehler wie"Protocol not supported"
kommen.
Prozedur CREATE_DATABASE_LINK
Die überladenen Formulare unterstützen Folgendes:
-
Wenn Sie den Parameter
gateway_params
verwenden, können Sie damit einen Datenbanklink mit einer von Oracle verwalteten heterogenen Verbindung erstellen, wobei der Link zu einer unterstützten nicht von Oracle unterstützten Datenbank ist. -
Wenn Sie den Parameter
rac_hostnames
verwenden, können Sie damit einen Datenbanklink von einer Autonomous Database-Instanz auf einem privaten Endpunkt zu einer Oracle RAC-Zieldatenbank erstellen. In diesem Fall geben Sie mit dem Parameterrac_hostnames
die Hostnamen eines oder mehrerer einzelner Knoten der Oracle RAC-Zieldatenbank an.
Syntax
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
(
db_link_name IN VARCHAR2,
hostname IN VARCHAR2,
port IN NUMBER,
service_name IN VARCHAR2,
ssl_server_cert_dn IN VARCHAR2 DEFAULT,
credential_name IN VARCHAR2 DEFAULT,
directory_name IN VARCHAR2 DEFAULT,
gateway_link IN BOOLEAN DEFAULT,
public_link IN BOOLEAN DEFAULT,
private_target IN BOOLEAN DEFAULT
gateway_params IN CLOB DEFAULT);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
(
db_link_name IN VARCHAR2,
rac_hostnames IN CLOB,
port IN NUMBER,
service_name IN VARCHAR2,
ssl_server_cert_dn IN VARCHAR2 DEFAULT,
credential_name IN VARCHAR2 DEFAULT,
directory_name IN VARCHAR2 DEFAULT,
gateway_link IN BOOLEAN DEFAULT,
public_link IN BOOLEAN DEFAULT,
private_target IN BOOLEAN DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Name des zu erstellenden Datenbanklinks. |
|
Der Hostname der Zieldatenbank. Die Angabe von Wenn Sie eine Verbindung mit von Oracle verwalteter heterogener Konnektivität durch Angabe des Parameters
Verwenden Sie diesen Parameter oder In der Eingabe von |
|
Gibt Hostnamen für die Oracle RAC-Zieldatenbank an. Der Wert ist ein JSON-Array, das einen oder mehrere individuelle Hostnamen für die Knoten der Oracle RAC-Zieldatenbank angibt. Mehrere Hostnamen können in JSON übergeben werden, getrennt durch ein "
Wenn das Ziel eine Oracle RAC-Datenbank ist, geben Sie mit dem Parameter Wenn Sie eine Liste der Hostnamen im Parameter Verwenden Sie diesen Parameter oder Die Angabe von |
port |
Gibt den Port für die Verbindungen zur Zieldatenbank an. Wenn Sie eine Verbindung mit von Oracle verwalteter heterogener Konnektivität mit dem Parameter
|
|
Wenn Sie eine Verbindung mit von Oracle verwalteter heterogener Konnektivität mit dem Parameter |
ssl_server_cert_dn |
Der im Serverzertifikat gefundene DN-Wert. Von Oracle verwaltete heterogene Konnektivität ist mit einem Wallet vorkonfiguriert, das die meisten allgemeinen vertrauenswürdigen Root- und SSL-Zwischenzertifikate enthält. Link zum öffentlichen Endpunkt zu einem Autonomous Database-Ziel ohne Wallet: So stellen Sie eine Verbindung zu einem Autonomous Database-Ziel auf einem öffentlichen Endpunkt ohne Wallet (TLS) her:
Privater Endpunktlink ohne Wallet: So stellen Sie eine Verbindung zu einer Oracle Database auf einem privaten Endpunkt ohne Wallet her:
|
credential_name |
Der Name der mit |
directory_name |
Das Verzeichnis für die Von Oracle verwaltete heterogene Konnektivität ist mit einem Wallet vorkonfiguriert, das die meisten allgemeinen vertrauenswürdigen Root- und SSL-Zwischenzertifikate enthält. Der Parameter Link zum öffentlichen Endpunkt zu einem Autonomous Database-Ziel ohne Wallet: So stellen Sie eine Verbindung zu einer Autonomous Database auf einem öffentlichen Endpunkt ohne Wallet (TLS) her:
Um eine Verbindung zu einer Autonomous Database-Instanz mit TCP herzustellen, muss der Parameter Privater Endpunktlink ohne Wallet: So stellen Sie eine Verbindung zu einer Ziel-Oracle Database auf einem privaten Endpunkt ohne Wallet her:
|
gateway_link |
Gibt an, ob der Datenbanklink zu einer anderen Oracle-Datenbank oder zu Oracle Database Gateway erstellt wurde. Wenn Wenn Wenn Der Standardwert für diesen Parameter lautet |
public_link |
Gibt an, ob der Datenbanklink als öffentlicher Datenbanklink erstellt wurde. Um Der Standardwert für diesen Parameter lautet |
private_target |
Wenn ein Datenbanklink auf einen Hostnamen zugreift, der in einem VCN-DNS-Server aufgelöst werden muss, geben Sie den Parameter Wenn Der Standardwert für diesen Parameter lautet |
|
Geben Sie den Parameter mit dem Formular Beispiel:
Wenn Wenn |
Verwendungshinweise
-
Wenn Sie den Parameter
gateway_params
angeben, werden für einigedb_type
-Werte zusätzlichegateway_params
-Parameter unterstützt:db_type
Zusätzliche gateway_params
-Wertegoogle_analytics
Wenn
db_type
google_analytics
ist, müssen die angegebenen Zugangsdaten Google OAuth-Zugangsdaten sein (gcp_oauth2)
Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL).google_bigquery
Wenn
db_type
google_bigquery
ist, müssen die angegebenen Zugangsdaten Google OAuth-Zugangsdaten sein (gcp_oauth2)
Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL).Wenn
db_type
google_bigquery
ist, ist der Parameterproject
gültig. Dieser Parameter gibt den Projektnamen fürgoogle_bigquery
an und ist erforderlich.Der Tabellenname, den Sie bei der Verwendung von
SELECT
mit Google BigQuery angeben, muss in Anführungszeichen stehen. Beispiel:SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
hive
Wenn
db_type
hive
ist, ist der Parameterhttp_path
gültig. Dieser Parameter gibt den Wert HttpPath an, falls erforderlich, um eine Verbindung zur Hive-Instanz herzustellen.salesforce
Wenn
db_type
salesforce
ist, ist der Parametersecurity_token
gültig. Ein Sicherheitstoken ist ein alphanumerischer Code, bei dem die Groß-/Kleinschreibung beachtet wird. Für den Zugriff auf Salesforce ist die Angabe einessecurity_token
-Wertes erforderlich. Beispiel:gateway_params => JSON_OBJECT( 'db_type' value 'salesforce', 'security_token' value 'security_token_value' )
Weitere Informationen finden Sie unter Sicherheitstoken zurücksetzen.
servicenow
Um eine Verbindung zu ServiceNow herzustellen und Daten abzurufen, müssen Sie die Gatewayparameter
directory_name
undfile_name
angeben. Diese Parameter geben eine Modelldatei (REST-Konfigurationsdatei) an, mit der die JSON-Antwort dem relationalen Modell zugeordnet wird. Die Modelldatei gibt die Endpunkte, die Tabellenzuordnung und den HTTP-Antwortcode für die Verarbeitung der JSON-Antwort an. Weitere Informationen finden Sie unter Syntax für Modelldateien und Beispielmodelldatei.Wenn Sie den Parameter
gateway_params
mitdb_type
servicenow
verwenden, gibt es zwei unterstützte Optionen:-
Basisauthentifizierung: Sie müssen den Parameter
gateway_params
db_type
mit dem Wert'servicenow'
angeben und die Parameterdirectory_name
undfile_name
sowie Zugangsdaten für den Benutzernamen/Kennworttyp angeben. -
OAuth 2.0-Authentifizierung: Sie müssen den Parameter
gateway_params
db_type
mit dem Wert'servicenow'
, die Parameterdirectory_name
,file_name
undtoken_uri
zusammen mit den Zugangsdaten des Typs OAuth angeben.
Der Parameter
directory_name
gibt das Verzeichnis mit der REST-Konfigurationsdatei ServiceNow an. Sie können dieses Verzeichnis wie folgt erstellen:create or replace directory servicenow_dir as 'SERVICENOW_DIR';
Rufen Sie die REST-Konfigurationsdatei ServiceNow ab, und laden Sie sie in das angegebene Verzeichnis herunter. Beispiel:
exec DBMS_CLOUD.get_object('servicenow_dir_cred', 'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');
Setzen Sie den Wert
file_name
auf den Namen der heruntergeladenen REST-Konfigurationsdatei, "servicenow.rest
".Anschließend können Sie die REST-Konfigurationsdatei ServiceNow mit der Basisauthentifizierung oder OAuth2.0 verwenden.
snowflake
Wenn
db_type
SNOWFLAKE
ist, sind die optionalen Parameterrole
,schema
undwarehouse
gültig. Diese Werte geben ein anderes Schema, eine andere Rolle oder einen anderen Warehouse-Wert als den Standardwert an. Beispiel:gateway_params => JSON_OBJECT( 'db_type' value 'snowflake', 'role' value 'ADMIN', 'schema' value 'PUBLIC', 'warehouse' value 'TEST' )
-
-
Wenn Sie den Parameter
private_target
verwenden, beachten Sie, dass Datenbanklinks von einer Autonomous Database zu einem Datenbankservice, der sich auf einem privaten Endpunkt befindet, nur in kommerziellen Regionen und US Government-Regionen unterstützt werden.Dieses Feature ist standardmäßig in allen kommerziellen Regionen aktiviert.
Dieses Feature ist in US Government-Regionen für neu bereitgestellte Datenbanken standardmäßig aktiviert.
Wenn Sie für vorhandene US Government-Datenbanken auf einem privaten Endpunkt Datenbanklinks von einer autonomen Datenbank zu einem Ziel in einer US Government-Region erstellen möchten, stellen Sie eine Serviceanfrage bei Oracle Cloud Support, und fordern Sie die Aktivierung des privaten Endpunkts im Datenbanklinkfeature für US Government-Regionen an.
US Government-Regionen umfassen:
- Bei der Verbindung zu einer Nicht-Oracle-Datenbank werden Datenbanklinks nur unterstützt, wenn über eine öffentliche IP oder einen öffentlichen Hostnamen auf die Zieldatenbank zugegriffen werden kann.
-
Um
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
mit einem anderen Benutzer als ADMIN auszuführen, müssen Sie diesem BenutzerEXECUTE
- undCREATE DATABASE LINK
-Berechtigungen erteilen.Beispiel: Führen Sie den folgenden Befehl als ADMIN aus, umatpc_user
Berechtigungen zu erteilen:GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO atpc_user; GRANT CREATE DATABASE LINK TO atpc_user;
Wenn Sie außerdem einen Datenbanklink in einem anderen Schema als dem ADMIN-Schema erstellen, z.B. in einem Schema mit dem Namen
atpc_user
, muss das Schemaatpc_user
Eigentümer der Zugangsdaten sein, die Sie mitDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
verwenden. -
Pro Verzeichnis, das mit dem Parameter
directory_name
angegeben wird, ist nur eine Wallet-Datei gültig. Sie können jeweils nur einecwallet.sso
-Datei in das Verzeichnis hochladen, das Sie für Wallet-Dateien ausgewählt haben. Das bedeutet, dass Sie mit einercwallet.sso
-Datei in einem Verzeichnis nur Datenbanklinks zu den Datenbanken erstellen können, für die das Wallet in diesem Verzeichnis gültig ist. Um mehrerecwallet.sso
-Dateien mit Datenbanklinks zu verwenden, müssen Sie zusätzliche Verzeichnisse erstellen und jedecwallet.sso
-Datei in einem anderen Verzeichnis ablegen.Informationen zum Erstellen von Verzeichnissen finden Sie unter Verzeichnis in Autonomous Database erstellen.
-
Um einen Datenbanklink zu einer autonomen Datenbank zu erstellen, setzen Sie
GLOBAL_NAMES
in der Quelldatenbank (Nicht-Autonomous Database) aufFALSE
.SQL> ALTER SYSTEM SET GLOBAL_NAMES = FALSE; System altered. SQL> SHOW PARAMETER GLOBAL_NAMES NAME TYPE VALUE ---------------------- ----------- ----------- global_names boolean FALSE
-
Wenn der
private_target
-ParameterTRUE
lautet, gibt der Parameterhostname
einen privaten Host innerhalb des VCN an.
Beispiele
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'DB_LINK_CRED',
username => 'adb_user',
password => 'password');
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
(
db_link_name => 'SALESLINK',
hostname => 'adb.eu-frankfurt-1.oraclecloud.com',
port => '1522',
service_name => 'example_medium.atpc.example.oraclecloud.com',
ssl_server_cert_dn => 'CN=atpc.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
credential_name => 'DB_LINK_CRED');
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'AWS_REDSHIFT_LINK_CRED',
username => 'NICK',
password => 'password'
);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
(
db_link_name => 'AWSREDSHIFT_LINK',
hostname => 'example.com',
port => '5439',
service_name => 'example_service_name',
ssl_server_cert_dn => NULL,
credential_name => 'AWS_REDSHIFT_LINK_CRED',
gateway_params => JSON_OBJECT('db_type' value 'awsredshift'));
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'PRIVATE_ENDPOINT_CRED',
username => 'db_user',
password => 'password'
);
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
(
db_link_name => 'PRIVATE_ENDPOINT_DB_LINK',
hostname => 'exampleHostname',
port => '1521',
service_name => 'exampleServiceName',
credential_name => 'PRIVATE_ENDPOINT_CRED',
ssl_server_cert_dn => NULL,
directory_name => NULL,
private_target => TRUE);
END;
/
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'GOOGLE_BIGQUERY_CRED',
params => JSON_OBJECT( 'gcp_oauth2' value JSON_OBJECT(
'client_id' value 'client_id',
'client_secret' value 'client_secret',
'refresh_token' value 'refresh_token' )));
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
(
db_link_name => 'GOOGLE_BIGQUERY_LINK',
hostname => 'example.com',
port => '443',
service_name => 'example_service_name',
credential_name => 'GOOGLE_BIGQUERY_CRED',
gateway_params => JSON_OBJECT(
'db_type' value 'google_bigquery',
'project' value 'project_name1' ));
END;
/
Der Tabellenname, den Sie bei der Verwendung von SELECT
mit Google BigQuery oder Google Analytics angeben, muss in Anführungszeichen stehen. Beispiel:
SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
Verwenden Sie den Parameter rac_hostnames
mit einer Oracle RAC-Zieldatenbank auf einem privaten Endpunkt.
BEGIN
DBMS_CLOUD.CREATE_CREDENTIAL
(
credential_name => 'DB_LINK_CRED1',
username => 'adb_user',
password => 'password');
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
(
db_link_name => 'SALESLINK',
rac_hostnames => '["sales1-svr1.example.adb.us-ashburn-1.oraclecloud.com",
"sales1-svr2.example.adb.us-ashburn-1.oraclecloud.com",
"sales1-svr3.example.adb.us-ashburn-1.oraclecloud.com"]',
port => '1522',
service_name => 'example_high.adb.oraclecloud.com',
ssl_server_cert_dn => 'CN=adb.example.oraclecloud.com,OU=Oracle BMCS FRANKFURT,O=Oracle Corporation,L=Redwood City,ST=California,C=US',
credential_name => 'DB_LINK_CRED1',
directory_name => 'EXAMPLE_WALLET_DIR',
private_target => TRUE);
END;
/
DETACH_FILE_SYSTEM-Prozedur
Mit diesem Verfahren wird die Zuordnung eines Dateisystems zur Datenbank aufgehoben.
Die Prozedur DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
trennt ein Dateisystem von der Datenbank. Darüber hinaus entfernt die Prozedur DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
auch die Informationen zum Dateisystem aus der Ansicht DBA_CLOUD_FILE_SYSTEMS
.
Syntax
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
(
file_system_name IN VARCHAR2
);
Parameter
Parameter | Beschreibung |
---|---|
|
Der Name des Dateisystems. Dieser Parameter ist erforderlich. |
Beispiel:
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
(
file_system_name => 'FSS'
);
END;
/
Verwendungshinweise
-
Um diese Prozedur auszuführen, müssen Sie als ADMIN-Benutzer angemeldet sein oder die Berechtigung
EXECUTE
fürDBMS_CLOUD_ADMIN
besitzen. -
Sie benötigen die Berechtigung
WRITE
für das Verzeichnisobjekt in der Datenbank, um ein Dateisystem mit der ProzedurDBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
von einem Verzeichnis zu trennen. -
Die Prozedur
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
kann einen privaten File Storage-Service nur in Datenbanken trennen, in denen private Endpunkte aktiviert sind.Weitere Informationen finden Sie unter OCI File Storage Service und Entwicklungssystem für den Zugriff auf die Datenbank konfigurieren.
-
Die Prozedur
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
sucht den Hostnamen des Netzwerkdateisystems im virtuellen Cloud-Netzwerk (VCN) des Kunden. Der Fehler"ORA-20000: Mounting NFS fails"
wird zurückgegeben, wenn der im Speicherort angegebene Hostname nicht gefunden werden kann.
Prozedur DISABLE_EXTERNAL_AUTHENTICATION
Deaktiviert die Benutzerauthentifizierung mit externen Authentifizierungsschemas für die Datenbank.
Syntax
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
;
Exceptions
Ausnahme | Fehler | Beschreibung |
---|---|---|
invalid_ext_auth |
ORA-20004 |
Eine ausführliche Erläuterung finden Sie in der zugehörigen Meldung. |
Beispiel
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
;
END;
/
PL/SQL procedure successfully completed.
Prozedur DROP_DATABASE_LINK
Diese Prozedur löscht einen Datenbanklink.
Syntax
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
(
db_link_name IN VARCHAR2,
public_link IN BOOLEAN DEFAULT);
Parameter
Parameter | Beschreibung |
---|---|
|
Name des zu löschenden Datenbanklinks. |
|
Um Der Standardwert für diesen Parameter lautet |
Beispiel
BEGIN
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
(
db_link_name => 'SALESLINK' );
END;
/
Verwendungshinweise
Wenn Sie mit der Verwendung eines Datenbanklinks fertig sind und DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
ausführen, entfernen Sie alle gespeicherten Wallet-Dateien, um die Sicherheit der Oracle-Datenbank zu gewährleisten. Beispiel:
-
Entfernen Sie die Wallet-Datei im Objektspeicher.
-
Verwenden Sie
DBMS_CLOUD.DELETE_FILE
, um die Wallet-Datei aus dem Verzeichnisdata_pump_dir
oder aus dem benutzerdefinierten Verzeichnis zu entfernen, in dem die Wallet-Datei hochgeladen wurde.
Prozedur ENABLE_EXTERNAL_AUTHENTICATION
Ermöglichen Sie Benutzern die Anmeldung bei der Datenbank mit externen Authentifizierungsschemas.
Syntax
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE,
params IN CLOB DEFAULT NULL
);
Parameter
Parameter | Beschreibung |
---|---|
|
Gibt den externen Authentifizierungstyp an. Gültige Werte: oder .
|
|
(Optional) Setzen Sie ein aktuell aktiviertes externes Authentifizierungsschema außer Kraft. Gültige Werte sind Der Standardwert ist |
params |
Eine JSON-Zeichenfolge, die zusätzliche Parameter für die externe Authentifizierung bereitstellt.
|
Exceptions
Ausnahme | Fehler | Beschreibung |
---|---|---|
invalid_ext_auth |
ORA-20004 |
Eine ausführliche Erläuterung finden Sie in der zugehörigen Meldung. |
Verwendungshinweise
-
Wenn der
type
OCI_IAM
lautet und der Resource Principal in der Autonomous Database-Instanz nicht aktiviert ist, aktiviert diese Routine den Resource Principal mitDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL
. -
Diese Prozedur setzt die Systemparameter
IDENTITY_PROVIDER_TYPE
undIDENTITY_PROVIDER_CONFIG
auf die erforderlichen Benutzer für den Zugriff auf die Instanz mit Oracle Cloud Infrastructure Identity and Access Management-Authentifizierung und -Autorisierung.
Beispiele
OCI_IAM
-Authentifizierung aktivieren
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'OCI_IAM',
force=> TRUE );
END;
/
PL/SQL procedure successfully completed.
CMU
-Authentifizierung für Microsoft Active Directory aktivieren
Sie übergeben den Namen eines Verzeichnisses, das die CMU-Konfigurationsdateien enthält, über das JSON-Argument params
.
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'CMU',
force => TRUE,
params => JSON_OBJECT('directory_name' value 'CMU_DIR'); // CMU_DIR directory object already exists
END;
/
PL/SQL procedure successfully completed.
Sie übergeben eine Speicherort-URI, die auf einen Object Storage-Speicherort mit CMU-Konfigurationsdateien verweist, über das JSON-Argument params
.
BEGIN
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'CMU',
params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
'credential_name' value 'my_credential_name')
);
END;
/
PL/SQL procedure successfully completed.
Azure AD-Authentifizierung aktivieren
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'AZURE_AD',
force => TRUE,
params => JSON_OBJECT( 'tenant_id' VALUE '....',
'application_id' VALUE '...',
'application_id_uri' VALUE '.....' ));
END;
/
PL/SQL procedure successfully completed.
Kerberos-Authentifizierung aktivieren
Sie übergeben den Namen eines Verzeichnisses, das Kerberos-Konfigurationsdateien enthält, über das JSON-Argument params
.
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'KERBEROS',
force => TRUE,
params => JSON_OBJECT('directory_name' value 'KERBEROS_DIR'); // KERBEROS_DIR directory object already exists
END;
/
PL/SQL procedure successfully completed.
Sie übergeben eine Standort-URI, die auf einen Object Storage-Speicherort verweist, der Kerberos-Konfigurationsdateien enthält, über das JSON-Argument params
:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'KERBEROS',
force => TRUE,
params => JSON_OBJECT('location_uri' value 'https://objectstorage.us-phoenix-1.oraclecloud.com/n/namespace-string/b/bucketname/o',
'credential_name' value 'my_credential_name');
END;
/
Sie übergeben einen Servicenamen mit dem kerberos_service_name
im JSON-Argument params
:
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'KERBEROS',
force => TRUE,
params => JSON_OBJECT('directory_name' value 'KERBEROS_DIR', // KERBEROS_DIR directory object already exists
'kerberos_service_name' value 'oracle' ));
END;
/
Nachdem Kerberos auf der Autonomous Database-Instanz aktiviert wurde, zeigen Sie den Kerberos-Servicenamen mit der folgenden Abfrage an:
SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;
DBMS_CLOUD_ADMIN-Ausnahmen
In der folgenden Tabelle werden Ausnahmen für DBMS_CLOUD_ADMIN
beschrieben.
Ausnahme | Code | Beschreibung |
---|---|---|
invalid_service |
20.001 | Ein ungültiger Service wurde angegeben. |
service_not_exist |
20.002 | Ein angegebener Service ist nicht vorhanden. |
default_service |
20.003 | Ein angegebener Service kann nicht geändert werden. |
invalid_char_set |
20.029 | Fehlende Vorbedingung oder ungültiger (nationaler) Zeichensatz. |
invalid_enc_key_attr |
20.030 | Fehlendes oder ungültiges Argument für die Schlüsselverwaltung. |
Already Using Oracle Managed Key |
0 |
Die Datenbank verwendet bereits einen von Oracle verwalteten Schlüssel. Sie versuchen, die Prozedur aufzurufen, verwenden jedoch bereits einen von Oracle verwalteten Schlüssel. |
Argument Provided for the procedure |
ORA-0000 |
Ein Argument wurde für die Prozedur angegeben. Erwartete Fehlermeldung: Für diese Prozedur sind keine Argumente erforderlich. |