Paquete DBMS_CLOUD_ADMIN
En esta sección se tratan los subprogramas DBMS_CLOUD_ADMIN
que proporciona Autonomous Database.
Subprograma | Descripción |
---|---|
Este procedimiento adjunta un sistema de archivos en un directorio de la base de datos. |
|
Con este procedimiento se crea un enlace de base de datos a una base de datos de destino. Hay opciones para crear un enlace de base de datos a otra instancia de Autonomous Database, a una instancia de Oracle Database que no sea una instancia de Autonomous Database o a una instancia que no sea de Oracle Database mediante la conectividad heterogénea gestionada por Oracle. |
|
Este procedimiento desasocia un sistema de archivos de un directorio de la base de datos. |
|
Con este procedimiento se desactiva la autenticación externa para la instancia de Autonomous Database. |
|
Con este procedimiento se borra un enlace de base de datos. |
|
Este procedimiento permite a un usuario conectarse a Autonomous Database mediante el esquema de autenticación externo 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
EXECUTE
enDBMS_CLOUD_ADMIN
. -
Debe tener el privilegio
WRITE
en 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_SYSTEM
solo 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_SYSTEM
busca 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_SYSTEM
y, a continuación,DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(mediante el parámetroparams
connfs_version
establecido en 4). Con ello se asocia NFS con el protocolo coincidente para que Autonomous Database pueda acceder al servidor NFSv4. Sin desconectar y volver a conectar, no se podrá acceder al servidor NFS y puede 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 Autonomous Database en un punto final privado a una base de datos Oracle RAC de destino. En este caso, utilice el parámetrorac_hostnames
para 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
|
|
Valor
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 Autonomous Database sin una cartera: Para conectarse a un destino de Autonomous Database en un punto final público sin una 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 Autonomous Database sin una cartera: Para conectarse a una instancia de Autonomous Database en un punto final público sin una cartera (TLS):
Además, para conectarse a una instancia de Autonomous Database 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_params
adicionales:db_type
Valores gateway_params
Adicionalesgoogle_analytics
Cuando
db_type
esgoogle_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_bigquery
Cuando
db_type
esgoogle_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_type
esgoogle_bigquery
, el parámetroproject
es válido. Este parámetro especifica el nombre del proyecto paragoogle_bigquery
y es necesario.El nombre de tabla que especifique al utilizar
SELECT
con Google BigQuery debe estar entre comillas. Por ejemplo:SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
hive
Cuando
db_type
eshive
, el parámetrohttp_path
es válido. Este parámetro especifica el valor HttpPath, si es necesario, para conectarse a la instancia de Hive.salesforce
Cuando
db_type
essalesforce
, el parámetro:security_token
es válido. Un token de seguridad es un código alfanumérico sensible a mayúsculas/minúsculas. Se necesita proporcionar un valorsecurity_token
para 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.
servicenow
Para conectarse a ServiceNow y obtener datos, debe proporcionar los parámetros de gateway
directory_name
yfile_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_params
condb_type
servicenow
, hay dos opciones soportadas:-
Autenticación básica: debe proporcionar el parámetro
gateway_params
db_type
con el valor'servicenow'
y proporcionar los parámetrosdirectory_name
yfile_name
junto con las credenciales de tipo de nombre de usuario/contraseña. -
Autenticación OAuth 2.0: debe proporcionar el parámetro
gateway_params
db_type
con el valor'servicenow'
y los parámetrosdirectory_name
,file_name
ytoken_uri
, junto con las credenciales de tipo OAuth.
El parámetro
directory_name
especifica 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_name
en 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.
snowflake
Cuando
db_type
esSNOWFLAKE
, los parámetros opcionales:role
,schema
ywarehouse
son 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 instancia de Autonomous Database 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 Estados Unidos.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 bases de datos del Gobierno de EE. UU. existentes en un punto final privado, si desea crear enlaces de base de datos desde una instancia de Autonomous Database a un destino en una región del Gobierno de EE. UU., registre una solicitud de servicio en Soporte de Oracle Cloud y solicite activar la función de enlace de base de datos del punto final privado en regiones del Gobierno.
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_LINK
con un usuario que no sea ADMIN, debe otorgar privilegiosEXECUTE
yCREATE DATABASE LINK
a 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_user
debe 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.sso
a la vez en el directorio que seleccione para los archivos de cartera. Esto significa que concwallet.sso
en 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.sso
con enlaces de base de datos, debe crear directorios adicionales y colocar cada archivocwallet.sso
en un directorio diferente.Consulte Creación de directorios en Autonomous Database para obtener información sobre la creación de directorios.
-
Para crear un enlace de base de datos a una instancia de Autonomous Database, defina
GLOBAL_NAMES
enFALSE
en la base de datos de origen (no Autonomous Database).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_target
esTRUE
, el parámetrohostname
especifica 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
EXECUTE
enDBMS_CLOUD_ADMIN
. -
Debe tener el privilegio
WRITE
en 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_SYSTEM
solo 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_SYSTEM
busca 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_FILE
para eliminar el archivo de cartera del directoriodata_pump_dir
o 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
type
OCI_IAM
, si la entidad de recurso no está activado en la instancia de Autonomous 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_TYPE
eIDENTITY_PROVIDER_CONFIG
en 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 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. |