Paquete DBMS_CLOUD_ADMIN
En esta sección se tratan los subprogramas DBMS_CLOUD_ADMIN proporcionados con Autonomous AI Database.
| Subprograma | Descripción |
|---|---|
|
Este procedimiento adjunta un sistema de archivos en un directorio de la base de datos. |
|
|
Este procedimiento crea un enlace de base de datos a una base de datos destino. Hay opciones para crear un enlace de base de datos a otra instancia de Autonomous AI Database, a una instancia de Oracle Database que no sea una base de datos de IA autónoma o a una instancia que no sea de Oracle Database que utilice una conectividad heterogénea gestionada por Oracle. |
|
|
Este procedimiento desasocia un sistema de archivos de un directorio de la base de datos. |
|
|
Este procedimiento desactiva la autenticación externa para la instancia de Autonomous AI Database. |
|
|
Con este procedimiento se borra un enlace de base de datos. |
|
|
Este procedimiento permite a un usuario conectarse a Autonomous AI Database mediante el esquema de autenticación externa especificado. |
Procedimiento ATTACH_FILE_SYSTEM
Este procedimiento adjunta un sistema de archivos en la base de datos.
El procedimiento DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM adjunta un sistema de archivos en la base de datos y almacena información sobre el sistema de archivos en la vista DBA_CLOUD_FILE_SYSTEMS.
Sintaxis
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
);Parámetros
| parámetro | Descripción |
|---|---|
|
|
Especifica el nombre del sistema de archivos. Este parámetro es obligatorio. |
|
|
Especifica la ubicación del sistema de archivos. El valor que proporciona con Por ejemplo:
Este parámetro es obligatorio. |
|
|
Especifica el nombre del directorio para el sistema de archivos adjunto. El directorio debe existir. Este parámetro es obligatorio. |
|
|
(Opcional) Proporciona una descripción de la tarea. |
|
|
Cadena JSON que proporciona un parámetro adicional para el sistema de archivos.
|
Ejemplos:
Adjunte a un sistema de archivos NFSv3:
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;
/
Adjunte a un sistema de archivos NFSv4:
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;
/Notas de uso
-
Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio
EXECUTEenDBMS_CLOUD_ADMIN. -
Debe tener el privilegio
WRITEen el objeto de directorio de la base de datos para adjuntar un sistema de archivos medianteDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM. -
El procedimiento
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMsolo puede asociar un servicio de almacenamiento de archivos privado en bases de datos con puntos finales privados activados.Consulte Servicio de almacenamiento de archivos de OCI y Configuración de un sistema de desarrollo para acceder a la base de datos para obtener más información.
-
El procedimiento
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMbusca el nombre de host del sistema de archivos de red en la red virtual en la nube (VCN) del cliente. Se devuelve el error"ORA-20000: Mounting NFS fails"si no se puede localizar el nombre de host especificado en la ubicación. -
Oracle Cloud Infrastructure File Storage utiliza NFSv3 para compartir
-
Si se asocia a sistemas que no sean de Oracle Cloud Infrastructure File Storage, el procedimiento soporta NFSv3 y NFSv4
-
Si tiene un servidor NFS conectado que utiliza NFSv3 y la versión de NFS se actualiza a NFSv4 en el servidor NFS, debe ejecutar
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMy, a continuación,DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(mediante el parámetroparamsconnfs_versionestablecido en 4). Esto asocia NFS con el protocolo coincidente para que Autonomous AI Database pueda acceder al servidor NFSv4. Sin desconectar y volver a conectar, no se podrá acceder al servidor NFS y es posible que aparezca un error como:"Protocol not supported".
Procedimiento CREATE_DATABASE_LINK
Los formularios sobrecargados admiten lo siguiente:
-
Al utilizar el parámetro
gateway_params, esto permite crear un enlace de base de datos con conectividad heterogénea gestionada por Oracle donde el enlace está a una base de datos no Oracle soportada. -
Al utilizar el parámetro
rac_hostnames, esto permite crear un enlace de base de datos desde una base de datos de IA autónoma en un punto final privado a una base de datos Oracle RAC de destino. En este caso, utilice el parámetrorac_hostnamespara especificar los nombres de host de uno o más nodos individuales de la base de datos Oracle RAC de destino.
Sintaxis
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);
Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del enlace de base de datos que se va a crear. |
|
|
Nombre de host de la base de datos de destino. No se permite especificar Al especificar una conexión con conectividad heterogénea gestionada por Oracle proporcionando el parámetro
Utilice este parámetro o La entrada |
|
|
Especifica los nombres de host de la base de datos Oracle RAC de destino. El valor es una matriz de JSON que especifica uno o más nombres de host individuales para los nodos de la base de datos Oracle RAC de destino. Se pueden transferir varios nombres de host en JSON, separados por un "
Cuando el destino es una base de datos Oracle RAC, utilice el parámetro Al especificar una lista de nombres de host en el parámetro Utilice este parámetro o No se permite especificar |
port |
Especifica el puerto para las conexiones a la base de datos de destino. Al especificar una conexión con conectividad heterogénea gestionada por Oracle mediante el parámetro
|
|
|
Al especificar una conexión con conectividad heterogénea gestionada por Oracle mediante el parámetro |
ssl_server_cert_dn |
Valor de DN encontrado en el certificado del servidor. La conectividad heterogénea gestionada por Oracle viene preconfigurada con una cartera que contiene la mayoría de los certificados SSL intermedios y de raíz de confianza comunes. Enlace de punto final público a un destino de base de datos de IA autónoma sin cartera: Para conectarse a un destino de base de datos de IA autónoma en un punto final público sin cartera (TLS):
Enlace de punto final privado sin cartera: Para conectarse a una instancia de Oracle Database en un punto final privado sin una cartera:
|
credential_name |
Nombre de una credencial almacenada creada con |
directory_name |
Directorio para el archivo La conectividad heterogénea gestionada por Oracle viene preconfigurada con una cartera que contiene la mayoría de los certificados SSL intermedios y de raíz de confianza comunes. El parámetro Enlace de punto final público a un destino de base de datos de IA autónoma sin cartera: Para conectarse a una base de datos de IA autónoma en un punto final público sin cartera (TLS):
Además, para conectarse a una base de datos de IA autónoma con TCP, el parámetro Enlace de punto final privado sin cartera: Para conectarse a una instancia de Oracle Database de destino en un punto final privado sin una cartera:
|
gateway_link |
Indica si el enlace de base de datos se crea en otra instancia de Oracle Database o en una instancia de Oracle Database Gateway. Si Si Cuando El valor por defecto de este parámetro es |
public_link |
Indica si el enlace de base de datos se ha creado como un enlace de base de datos pública. Para ejecutar El valor por defecto de este parámetro es |
private_target |
Cuando un enlace de base de datos accede a un nombre de host que se debe resolver en un servidor DNS de VCN, especifique el parámetro Cuando El valor por defecto de este parámetro es |
|
|
Especifique el parámetro con el formulario Por ejemplo:
Cuando Cuando |
Notas de uso
-
Al especificar el parámetro
gateway_params, para algunos valoresdb_type, se soportan parámetrosgateway_paramsadicionales:db_typeValores gateway_paramsAdicionalesgoogle_analyticsCuando
db_typeesgoogle_analytics, la credencial que especifique debe ser una credencial OAuth de Google (gcp_oauth2)Consulte Procedimiento CREATE_CREDENTIAL para obtener más información.google_bigqueryCuando
db_typeesgoogle_bigquery, la credencial que especifique debe ser una credencial OAuth de Google (gcp_oauth2)Consulte Procedimiento CREATE_CREDENTIAL para obtener más información.Cuando
db_typeesgoogle_bigquery, el parámetroprojectes válido. Este parámetro especifica el nombre del proyecto paragoogle_bigqueryy es necesario.El nombre de tabla que especifique al utilizar
SELECTcon Google BigQuery debe estar entre comillas. Por ejemplo:SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINKhiveCuando
db_typeeshive, el parámetrohttp_pathes válido. Este parámetro especifica el valor HttpPath, si es necesario, para conectarse a la instancia de Hive.salesforceCuando
db_typeessalesforce, el parámetro:security_tokenes válido. Un token de seguridad es un código alfanumérico sensible a mayúsculas/minúsculas. Se necesita proporcionar un valorsecurity_tokenpara acceder a Salesforce. Por ejemplo:gateway_params => JSON_OBJECT( 'db_type' value 'salesforce', 'security_token' value 'security_token_value' )Consulte Restablecimiento del token de seguridad para obtener más información.
servicenowPara conectarse a ServiceNow y obtener datos, debe proporcionar los parámetros de gateway
directory_nameyfile_name. Estos parámetros especifican un archivo de modelo (archivo de configuración REST) que asigna la respuesta JSON al modelo relacional. El archivo de modelo especifica los puntos finales, la asignación de tablas y el código de respuesta HTTP para procesar la respuesta JSON. Consulte Sintaxis de archivo de modelo y Archivo de modelo de ejemplo para obtener más información.Al utilizar el parámetro
gateway_paramscondb_typeservicenow, hay dos opciones soportadas:-
Autenticación básica: debe proporcionar el parámetro
gateway_paramsdb_typecon el valor'servicenow'y proporcionar los parámetrosdirectory_nameyfile_namejunto con las credenciales de tipo de nombre de usuario/contraseña. -
Autenticación OAuth 2.0: debe proporcionar el parámetro
gateway_paramsdb_typecon el valor'servicenow'y los parámetrosdirectory_name,file_nameytoken_uri, junto con las credenciales de tipo OAuth.
El parámetro
directory_nameespecifica el directorio con el archivo de configuración REST ServiceNow. Puede crear este directorio de la siguiente manera:create or replace directory servicenow_dir as 'SERVICENOW_DIR';Obtenga y descargue el archivo de configuración REST ServiceNow en el directorio especificado. Por ejemplo:
exec DBMS_CLOUD.get_object('servicenow_dir_cred', 'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');Defina el valor
file_nameen el nombre del archivo de configuración de REST que ha descargado, "servicenow.rest".A continuación, puede utilizar el archivo de configuración REST ServiceNow con autenticación básica u OAuth2.0.
snowflakeCuando
db_typeesSNOWFLAKE, los parámetros opcionales:role,schemaywarehouseson válidos. Estos valores especifican un valor de esquema, rol o almacén diferente al valor por defecto. Por ejemplo:gateway_params => JSON_OBJECT( 'db_type' value 'snowflake', 'role' value 'ADMIN', 'schema' value 'PUBLIC', 'warehouse' value 'TEST' ) -
-
Al utilizar el parámetro
private_target, tenga en cuenta que los enlaces de base de datos de una base de datos de IA autónoma a un servicio de base de datos que está en un punto final privado solo están soportados en regiones comerciales y regiones del Gobierno de EE. UU.Esta función está activada por defecto en todas las regiones comerciales.
Esta función está activada por defecto en las regiones del Gobierno de EE. UU. para bases de datos aprovisionadas recientemente.
Para las bases de datos existentes del Gobierno de EE. UU. en un punto final privado, si desea crear enlaces de base de datos desde una base de datos de IA autónoma a un destino en una región del Gobierno de EE. UU., presente una solicitud de servicio en Oracle Cloud Support y solicite activar el punto final privado en la función de enlace de base de datos de regiones gubernamentales.
Las regiones del Gobierno de EE. UU. incluyen lo siguiente:
- Al conectarse a una base de datos no Oracle, el enlace de base de datos solo está soportado si se puede acceder a la base de datos de destino a través de una IP pública o un nombre de host público.
-
Para ejecutar
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINKcon un usuario que no sea ADMIN, debe otorgar privilegiosEXECUTEyCREATE DATABASE LINKa ese usuario.Por ejemplo, ejecute el siguiente comando como ADMIN para otorgar privilegios aatpc_user:GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO atpc_user; GRANT CREATE DATABASE LINK TO atpc_user;Además, al crear un enlace de base de datos en un esquema que no sea el esquema ADMIN, por ejemplo, en un esquema denominado
atpc_user, el esquemaatpc_userdebe ser propietario de la credencial que utilice conDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. -
Solo es válido un archivo de cartera por directorio especificado con el parámetro
directory_name. Solo puede cargar uncwallet.ssoa la vez en el directorio que seleccione para los archivos de cartera. Esto significa que concwallet.ssoen un directorio, solo puede crear enlaces de base de datos a las bases de datos para las que la cartera de ese directorio sea válida. Para utilizar varios archivoscwallet.ssocon enlaces de base de datos, debe crear directorios adicionales y colocar cada archivocwallet.ssoen un directorio diferente.Consulte Creación de directorio en Autonomous AI Database para obtener información sobre la creación de directorios.
-
Para crear un enlace de base de datos a una base de datos de IA autónoma, defina
GLOBAL_NAMESenFALSEen la base de datos de origen (no base de datos de IA autónoma).SQL> ALTER SYSTEM SET GLOBAL_NAMES = FALSE; System altered. SQL> SHOW PARAMETER GLOBAL_NAMES NAME TYPE VALUE ---------------------- ----------- ----------- global_names boolean FALSE -
Cuando el parámetro
private_targetesTRUE, el parámetrohostnameespecifica un host privado dentro de la VCN.
Ejemplos
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;
/
El nombre de tabla que especifique al utilizar SELECT con Google BigQuery o Google Analytics debe estar entre comillas. Por ejemplo:
SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
Utilice el parámetro rac_hostnames con una base de datos Oracle RAC de destino en un punto final privado.
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;
/
Procedimiento DETACH_FILE_SYSTEM
Este procedimiento desasocia un sistema de archivos de la base de datos.
El procedimiento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM desasocia un sistema de archivos de la base de datos. Además, el procedimiento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM también elimina la información sobre el sistema de archivos de la vista DBA_CLOUD_FILE_SYSTEMS.
Sintaxis
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM(
file_system_name IN VARCHAR2
);Parámetros
| parámetro | Descripción |
|---|---|
|
|
Especifica el nombre del sistema de archivos. Este parámetro es obligatorio. |
Por ejemplo:
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'FSS'
);
END;
/ Notas de uso
-
Para ejecutar este procedimiento, debe estar conectado como usuario ADMIN o tener el privilegio
EXECUTEenDBMS_CLOUD_ADMIN. -
Debe tener el privilegio
WRITEen el objeto de directorio de la base de datos para desasociar un sistema de archivos de un directorio mediante el procedimientoDBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM. -
El procedimiento
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMsolo puede desasociar un servicio de almacenamiento de archivos privado en bases de datos con puntos finales privados activados.Consulte Servicio de almacenamiento de archivos de OCI y Configuración de un sistema de desarrollo para acceder a la base de datos para obtener más información.
-
El procedimiento
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMbusca el nombre de host del sistema de archivos de red en la red virtual en la nube (VCN) del cliente. Se devuelve el error"ORA-20000: Mounting NFS fails"si no se puede localizar el nombre de host especificado en la ubicación.
Procedimiento DISABLE_EXTERNAL_AUTHENTICATION
Desactiva la autenticación de usuario con esquemas de autenticación externos para la base de datos.
Sintaxis
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
Excepciones
| Excepción | Error | Descripción |
|---|---|---|
invalid_ext_auth |
ORA-20004 |
Consulte el mensaje adjunto para obtener una explicación detallada. |
Ejemplo
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION;
END;
/
PL/SQL procedure successfully completed.
Procedimiento DROP_DATABASE_LINK
Con este procedimiento se borra un enlace de base de datos.
Sintaxis
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
db_link_name IN VARCHAR2,
public_link IN BOOLEAN DEFAULT);
Parámetros
| parámetro | Descripción |
|---|---|
|
|
Nombre del enlace de base de datos que se va a borrar. |
|
|
Para ejecutar El valor por defecto de este parámetro es |
Ejemplo
BEGIN
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
db_link_name => 'SALESLINK' );
END;
/Notas de uso
Después de utilizar un enlace de base de datos y ejecutar DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK, para garantizar la seguridad de la base de datos Oracle, elimine los archivos de cartera almacenados. Por ejemplo:
-
Elimine el archivo de cartera del almacén de objetos.
-
Utilice
DBMS_CLOUD.DELETE_FILEpara eliminar el archivo de cartera del directoriodata_pump_diro del directorio definido por el usuario en el que se ha cargado el archivo de cartera.
Procedimiento ENABLE_EXTERNAL_AUTHENTICATION
Permite a los usuarios conectarse a la base de datos con esquemas de autenticación externos.
Sintaxis
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE,
params IN CLOB DEFAULT NULL
);
parámetro
| parámetro | Descripción |
|---|---|
|
|
Especifica el tipo de autenticación externa. Valores válidos: o .
|
|
|
(Opcional) Sustituya un esquema de autenticación externa activado actualmente. Los valores válidos son El valor por defecto es |
params |
Cadena JSON que proporciona parámetros adicionales para la autenticación externa. Parámetros
Parámetros de
Parámetros de
|
Excepciones
| Excepción | Error | Descripción |
|---|---|---|
invalid_ext_auth |
ORA-20004 |
Consulte el mensaje adjunto para obtener una explicación detallada. |
Notas de uso
-
Con
typeOCI_IAM, si la entidad de recurso no está activada en la instancia de Autonomous AI Database, esta rutina activa la entidad de recurso conDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL. -
Con este procedimiento se definen los parámetros del sistema
IDENTITY_PROVIDER_TYPEeIDENTITY_PROVIDER_CONFIGen los usuarios necesarios para acceder a la instancia con autenticación y autorización de Oracle Cloud Infrastructure Identity and Access Management.
Ejemplos
Activar la autenticación OCI_IAM
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'OCI_IAM',
force=> TRUE );
END;
/
PL/SQL procedure successfully completed.
Activar la autenticación CMU para Microsoft Active Directory
Debe transferir un nombre de directorio que contenga los archivos de configuración de CMU mediante el argumento JSON 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.
Debe transferir un URI de ubicación que apunte a una ubicación de Object Storage que contenga archivos de configuración de CMU mediante el argumento JSON 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.
Activar la autenticación de Azure AD
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.
Activación de autenticación de Kerberos
Debe transferir un nombre de directorio que contenga archivos de configuración de Kerberos mediante el argumento JSON 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.
Transfiere un URI de ubicación que apunta a una ubicación de Object Storage que contiene archivos de configuración de Kerberos mediante el argumento JSON 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;
/
Transfiere un nombre de servicio con kerberos_service_name en el argumento JSON 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;
/
Una vez que Kerberos esté activado en la instancia de Autonomous AI Database, utilice la siguiente consulta para ver el nombre del servicio Kerberos:
SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;
DBMS_CLOUD_ADMIN Excepciones
En la siguiente tabla se describen las excepciones para DBMS_CLOUD_ADMIN.
| Excepción | Código | Descripción |
|---|---|---|
invalid_service |
20.001 | Se ha especificado un servicio no válido. |
service_not_exist |
20.002 | Un servicio especificado no existe. |
default_service |
20.003 | Un servicio especificado no se puede modificar. |
invalid_char_set |
20.029 | Falta la condición previa o juego de caracteres (nacional) no válido. |
invalid_enc_key_attr |
20.030 | El argumento para la gestión de claves falta o no es válido. |
Already Using Oracle Managed Key |
0 |
La base de datos ya está utilizando una clave gestionada de Oracle. Está intentando llamar al procedimiento mientras ya utiliza una clave gestionada por Oracle. |
Argument Provided for the procedure |
ORA-0000 |
Se proporciona un argumento para el procedimiento. Mensaje de error esperado: No se necesitan argumentos para este procedimiento. |