DBMS_CLOUD_ADMIN-Package
In diesem Abschnitt werden die DBMS_CLOUD_ADMIN-Unterprogramme behandelt, die mit Autonomous AI Database bereitgestellt werden.
| Unterprogramm | Beschreibung |
|---|---|
|
Diese Prozedur hängt ein Dateisystem in einem Verzeichnis in der Datenbank an. |
|
|
Mit dieser Prozedur wird ein Datenbanklink zu einer Zieldatenbank erstellt. Es gibt Optionen zum Erstellen eines Datenbanklinks zu einer anderen Autonomous AI Database-Instanz, zu einer Oracle Database, die keine autonome KI-Datenbank ist, oder zu einer Nicht-Oracle Database, die eine von Oracle verwaltete heterogene Konnektivität verwendet. |
|
|
Mit diesem Verfahren wird ein Dateisystem von einem Verzeichnis in der Datenbank getrennt. |
|
|
Mit dieser Prozedur wird die externe Authentifizierung für die Autonomous AI Database-Instanz deaktiviert. |
|
|
Diese Prozedur löscht einen Datenbanklink. |
|
|
Mit dieser Prozedur kann sich ein Benutzer mit dem angegebenen externen Authentifizierungsschema bei Autonomous AI 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
EXECUTEfürDBMS_CLOUD_ADMINbesitzen. -
Sie benötigen die Berechtigung
WRITEfür das Verzeichnisobjekt in der Datenbank, um ein Dateisystem mitDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEManzuhängen. -
Die Prozedur
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMkann 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_SYSTEMsucht 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 auf NFSv4 aktualisiert wird, müssen Sie
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMund dannDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMausführen (mit dem Parameterparams, wobeinfs_versionauf 4 gesetzt ist). Dadurch wird NFS mit dem Zuordnungsprotokoll verknüpft, sodass Autonomous AI Database auf den NFSv4-Server zugreifen kann. Ohne Trennen und erneutes Anhängen ist der Zugriff auf den NFS-Server nicht möglich. Möglicherweise wird ein Fehler wie"Protocol not supported"angezeigt.
Prozedur CREATE_DATABASE_LINK
Die überladenen Formulare unterstützen Folgendes:
-
Wenn Sie den Parameter
gateway_paramsverwenden, 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_hostnamesverwenden, können Sie einen Datenbanklink von einer autonomen KI-Datenbank auf einem privaten Endpunkt zu einer Oracle RAC-Zieldatenbank erstellen. In diesem Fall geben Sie mit dem Parameterrac_hostnamesdie 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 |
|
|
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
|
|
|
Die
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 autonomen KI-Datenbankziel ohne Wallet: So stellen Sie eine Verbindung zu einem autonomen KI-Datenbankziel 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 autonomen KI-Datenbankziel ohne Wallet: So stellen Sie eine Verbindung zu einer autonomen KI-Datenbank auf einem öffentlichen Endpunkt ohne Wallet (TLS) her:
Um eine Verbindung zu einer autonomen KI-Datenbank 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_paramsangeben, werden für einigedb_type-Werte zusätzlichegateway_params-Parameter unterstützt:db_typeZusätzliche gateway_params-Wertegoogle_analyticsWenn
db_typegoogle_analyticsist, müssen die angegebenen Zugangsdaten Google OAuth-Zugangsdaten sein (gcp_oauth2)Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL).google_bigqueryWenn
db_typegoogle_bigqueryist, müssen die angegebenen Zugangsdaten Google OAuth-Zugangsdaten sein (gcp_oauth2)Weitere Informationen finden Sie unter Prozedur CREATE_CREDENTIAL).Wenn
db_typegoogle_bigqueryist, ist der Parameterprojectgültig. Dieser Parameter gibt den Projektnamen fürgoogle_bigqueryan und ist erforderlich.Der Tabellenname, den Sie bei der Verwendung von
SELECTmit Google BigQuery angeben, muss in Anführungszeichen stehen. Beispiel:SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINKhiveWenn
db_typehiveist, ist der Parameterhttp_pathgültig. Dieser Parameter gibt den Wert HttpPath an, falls erforderlich, um eine Verbindung zur Hive-Instanz herzustellen.salesforceWenn
db_typesalesforceist, ist der Parametersecurity_tokengü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.
servicenowUm eine Verbindung zu ServiceNow herzustellen und Daten abzurufen, müssen Sie die Gatewayparameter
directory_nameundfile_nameangeben. 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_paramsmitdb_typeservicenowverwenden, gibt es zwei unterstützte Optionen:-
Basisauthentifizierung: Sie müssen den Parameter
gateway_paramsdb_typemit dem Wert'servicenow'angeben und die Parameterdirectory_nameundfile_namesowie Zugangsdaten für den Benutzernamen/Kennworttyp angeben. -
OAuth 2.0-Authentifizierung: Sie müssen den Parameter
gateway_paramsdb_typemit dem Wert'servicenow', die Parameterdirectory_name,file_nameundtoken_urizusammen mit den Zugangsdaten des Typs OAuth angeben.
Der Parameter
directory_namegibt 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_nameauf den Namen der heruntergeladenen REST-Konfigurationsdatei, "servicenow.rest".Anschließend können Sie die REST-Konfigurationsdatei ServiceNow mit der Basisauthentifizierung oder OAuth2.0 verwenden.
snowflakeWenn
db_typeSNOWFLAKEist, sind die optionalen Parameterrole,schemaundwarehousegü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_targetverwenden, beachten Sie, dass Datenbanklinks von einer autonomen KI-Datenbank zu einem Datenbankservice, der sich auf einem privaten Endpunkt befindet, nur in kommerziellen Regionen und US-Regierungsregionen 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 Datenbanklinks von einer autonomen KI-Datenbank zu einem Ziel in einer US-Regierungsregion erstellen möchten, reichen Sie für vorhandene US-Regierungsdatenbanken an einem privaten Endpunkt eine Serviceanfrage unter Oracle Cloud Support ein, und fordern Sie an, den privaten Endpunkt in der Datenbankverknüpfungsfunktion für Regierungsregionen zu aktivieren.
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_LINKmit 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_userBerechtigungen 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_userEigentümer der Zugangsdaten sein, die Sie mitDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKverwenden. -
Pro Verzeichnis, das mit dem Parameter
directory_nameangegeben 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 AI Database erstellen.
-
Um einen Datenbanklink zu einer autonomen KI-Datenbank zu erstellen, setzen Sie
GLOBAL_NAMESin der Quelldatenbank aufFALSE(nicht autonome KI-Datenbank).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-ParameterTRUElautet, gibt der Parameterhostnameeinen 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
EXECUTEfürDBMS_CLOUD_ADMINbesitzen. -
Sie benötigen die Berechtigung
WRITEfür das Verzeichnisobjekt in der Datenbank, um ein Dateisystem mit der ProzedurDBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMvon einem Verzeichnis zu trennen. -
Die Prozedur
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMkann 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_SYSTEMsucht 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_diroder 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 bei
typeOCI_IAMder Resource Principal in der Autonomous AI Database-Instanz nicht aktiviert ist, aktiviert diese Routine den Resource Principal mitDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL. -
Diese Prozedur setzt die Systemparameter
IDENTITY_PROVIDER_TYPEundIDENTITY_PROVIDER_CONFIGauf 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 in Ihrer Autonomous AI 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. |