Pacote DBMS_CLOUD_ADMIN
Esta seção abrange os subprogramas DBMS_CLOUD_ADMIN
fornecidos com o Autonomous Database.
Subprograma | Descrição |
---|---|
Este procedimento anexa um sistema de arquivos em um diretório no banco de dados. |
|
Esse procedimento cria um link de banco de dados para um banco de dados de destino. Há opções para criar um link de banco de dados com outra instância do Autonomous Database, com um Oracle Database que não seja um Autonomous Database ou com um não Oracle Database usando a conectividade heterogênea gerenciada pela Oracle. |
|
Este procedimento desanexa um sistema de arquivos de um diretório no banco de dados. |
|
Este procedimento desativa a autenticação externa da instância do Autonomous Database. |
|
Esse procedimento elimina um link de banco de dados. |
|
Este procedimento permite que um usuário faça log-on no Autonomous Database usando o esquema de autenticação externa especificado. |
Procedimento ATTACH_FILE_SYSTEM
Este procedimento anexa um sistema de arquivos no banco de dados.
O procedimento DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
anexa um sistema de arquivos em seu banco de dados e armazena informações sobre o sistema de arquivos na view DBA_CLOUD_FILE_SYSTEMS
.
Sintaxe
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 | Descrição |
---|---|
|
Especifica o nome do sistema de arquivos. Esse parâmetro é obrigatório. |
|
Especifica o local do sistema de arquivos. O valor fornecido com Por exemplo:
Esse parâmetro é obrigatório. |
|
Especifica o nome do diretório do sistema de arquivos anexado. O diretório deve existir. Esse parâmetro é obrigatório. |
|
(Opcional) Fornece uma descrição da tarefa. |
|
Uma string JSON que fornece um parâmetro adicional para o sistema de arquivos.
|
Exemplos de:
Anexe a um sistema de arquivos 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;
/
Anexe a um sistema de arquivos 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;
/
Observações sobre Uso
-
Para executar esse procedimento, você deve fazer log-in como usuário ADMIN ou ter o privilégio
EXECUTE
emDBMS_CLOUD_ADMIN
. -
Você deve ter o privilégio
WRITE
no objeto de diretório no banco de dados para anexar um sistema de arquivos usandoDBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
. -
O procedimento
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
só pode anexar um Serviço de Armazenamento de Arquivos privado em bancos de dados com Pontos Finais Privados ativados.Consulte OCI File Storage Service e Configurar um Sistema de Desenvolvimento para Acessar o Banco de Dados para obter mais informações.
-
O procedimento
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
procura o nome do host do Sistema de Arquivos de Rede na VCN (rede virtual na nuvem) do cliente. O erro"ORA-20000: Mounting NFS fails"
será retornado se o nome do host especificado no local não puder ser localizado. -
O Oracle Cloud Infrastructure File Storage usa NFSv3 para compartilhar
-
Se você anexar a sistemas que não são do Oracle Cloud Infrastructure File Storage, o procedimento suportará NFSv3 e NFSv4
-
Se você tiver um servidor NFS anexado que use NFSv3 e a versão do NFS for atualizada para NFSv4 no servidor NFS, execute
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
e, em seguida,DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM
(usando o parâmetroparams
comnfs_version
definido como 4). Isso anexa NFS ao protocolo de correspondência para que o Autonomous Database possa acessar o Servidor NFSv4. Sem desanexar e depois reanexar, o servidor NFS ficará inacessível e você poderá ver um erro como:"Protocol not supported"
.
Procedimento CREATE_DATABASE_LINK
Os formulários sobrecarregados suportam o seguinte:
-
Quando você usa o parâmetro
gateway_params
, isso permite criar um link de banco de dados com conectividade heterogênea gerenciada pela Oracle em que o link é para um banco de dados não Oracle suportado. -
Quando você usa o parâmetro
rac_hostnames
, isso permite criar um link de banco de dados de um Autonomous Database em um ponto final privado para um banco de dados Oracle RAC de destino. Nesse caso, você usa o parâmetrorac_hostnames
para especificar os nomes de host de um ou mais nós individuais do banco de dados Oracle RAC de destino.
Sintaxe
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 | Descrição |
---|---|
|
O nome do link de banco de dados a ser criado. |
|
O nome do host do banco de dados de destino. A especificação de Quando você especificar uma conexão com conectividade heterogênea gerenciada pela Oracle fornecendo o parâmetro
Use esse parâmetro ou A entrada |
|
Especifica nomes de host para o banco de dados Oracle RAC de destino. O valor é um array JSON que especifica um ou mais nomes de host individuais para os nós do banco de dados Oracle RAC de destino. Vários nomes de host podem ser informados em JSON, separados por um "
Quando o destino for um banco de dados Oracle RAC, use o parâmetro Quando você especifica uma lista de nomes de host no parâmetro Use esse parâmetro ou Não é permitido especificar |
port |
Especifica a porta das conexões com o banco de dados de destino. Quando você especificar uma conexão com conectividade heterogênea gerenciada pela Oracle usando o parâmetro
|
|
O
Quando você especifica uma conexão com a conectividade heterogênea gerenciada pela Oracle usando o parâmetro |
ssl_server_cert_dn |
O valor DN encontrado no certificado do servidor. A conectividade heterogênea gerenciada pela Oracle é pré-configurada com uma wallet que contém a maioria dos certificados SSL comuns de raiz confiável e intermediários. O Link de Ponto Final Público para um Destino do Autonomous Database sem uma Wallet: Para estabelecer conexão com um destino do Autonomous Database em um ponto final público sem uma wallet (TLS):
Link de Ponto Final Privado sem uma Wallet: Para estabelecer conexão com um Oracle Database em um ponto final privado sem uma wallet:
|
credential_name |
O nome de uma credencial armazenada criada com |
directory_name |
O diretório do arquivo A conectividade heterogênea gerenciada pela Oracle é pré-configurada com uma wallet que contém a maioria dos certificados SSL comuns de raiz confiável e intermediários. O parâmetro Link de Ponto Final Público para um Destino do Autonomous Database sem uma Wallet: Para estabelecer conexão com um Autonomous Database em um ponto final público sem uma wallet (TLS):
Além disso, para estabelecer conexão com um Autonomous Database com TCP, o parâmetro Link de Ponto Final Privado sem uma Wallet: Para estabelecer conexão com um Oracle Database de destino em um ponto final privado sem uma wallet:
|
gateway_link |
Indica se o link de banco de dados foi criado para outro Oracle Database ou para um Oracle Database Gateway. Se Se Quando O valor padrão desse parâmetro é |
public_link |
Indica se o link de banco de dados é criado como link público. Para executar O valor padrão desse parâmetro é |
private_target |
Quando um link de banco de dados acessar um nome de host que precisa ser resolvido em um servidor DNS da VCN, especifique o parâmetro Quando O valor padrão desse parâmetro é |
|
Especifique o parâmetro com o form Por exemplo:
Quando Quando |
Observações sobre Uso
-
Quando você especifica o parâmetro
gateway_params
, para alguns valoresdb_type
, há suporte para parâmetrosgateway_params
adicionais:db_type
Valores gateway_params
Adicionaisgoogle_analytics
Quando
db_type
forgoogle_analytics
, a credencial especificada deverá ser uma credencial OAuth do Google (gcp_oauth2)
Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.google_bigquery
Quando
db_type
forgoogle_bigquery
, a credencial especificada deverá ser uma credencial OAuth do Google (gcp_oauth2)
Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.Quando
db_type
égoogle_bigquery
, o parâmetroproject
é válido. Este parâmetro especifica o nome do projeto paragoogle_bigquery
e é obrigatório.O nome da tabela especificado quando você usa
SELECT
com o Google BigQuery deve estar entre aspas. Por exemplo:SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
hive
Quando
db_type
éhive
, o parâmetrohttp_path
é válido. Esse parâmetro especifica o valor HttpPath, se necessário, para estabelecer conexão com a instância do Hive.salesforce
Quando
db_type
ésalesforce
, o parâmetro:security_token
é válido. Um token de segurança é um código alfanumérico que faz distinção entre maiúsculas e minúsculas. É necessário fornecer um valorsecurity_token
para acessar o Salesforce. Por exemplo:gateway_params => JSON_OBJECT( 'db_type' value 'salesforce', 'security_token' value 'security_token_value' )
Consulte Redefinir Seu Token de Segurança para obter mais informações.
servicenow
Para estabelecer conexão com ServiceNow e obter dados, forneça os parâmetros de gateway
directory_name
efile_name
. Esses parâmetros especificam um arquivo de modelo (arquivo de configuração REST) que mapeia a resposta JSON para o modelo relacional. O arquivo de modelo especifica os pontos finais, o mapeamento de tabela e o código de resposta HTTP para processar a resposta JSON. Consulte Sintaxe do arquivo de modelo e Arquivo de modelo de exemplo para obter mais informações.Quando você usa o parâmetro
gateway_params
comdb_type
servicenow
, há duas opções suportadas:-
Autenticação Básica: você deve fornecer o parâmetro
gateway_params
db_type
com o valor'servicenow'
e fornecer os parâmetrosdirectory_name
efile_name
com credenciais do tipo de nome de usuário/senha. -
Autenticação OAuth 2.0: você deve fornecer o parâmetro
gateway_params
db_type
com o valor'servicenow'
e os parâmetrosdirectory_name
,file_name
etoken_uri
, juntamente com as credenciais do tipo OAuth.
O parâmetro
directory_name
especifica o diretório com o arquivo de configuração REST ServiceNow. Você poderia criar esse diretório da seguinte forma:create or replace directory servicenow_dir as 'SERVICENOW_DIR';
Obtenha e faça download do arquivo de configuração REST ServiceNow para o diretório especificado. Por exemplo:
exec DBMS_CLOUD.get_object('servicenow_dir_cred', 'https://objectstorage.<...>/servicenow.rest','SERVICENOW_DIR');
Defina o valor
file_name
como o nome do arquivo de configuração REST que você baixou, "servicenow.rest
".Em seguida, você pode usar o arquivo de configuração REST ServiceNow com autenticação básica ou OAuth2.0.
snowflake
Quando
db_type
éSNOWFLAKE
, os parâmetros opcionais:role
,schema
ewarehouse
são válidos. Esses valores especificam um esquema, função ou valor de warehouse diferente do padrão. Por exemplo:gateway_params => JSON_OBJECT( 'db_type' value 'snowflake', 'role' value 'ADMIN', 'schema' value 'PUBLIC', 'warehouse' value 'TEST' )
-
-
Ao usar o parâmetro
private_target
, observe que os links de banco de dados de um Autonomous Database para um serviço de banco de dados que esteja em um ponto final privado só são suportados em regiões comerciais e em regiões do Governo dos EUA.Por padrão, esse recurso está ativado em todas as regiões comerciais.
Por padrão, esse recurso está ativado nas regiões do Governo dos EUA para bancos de dados recém-provisionados.
Para bancos de dados existentes do Governo dos EUA em um ponto final privado, se você quiser criar links de banco de dados de um Autonomous Database para um destino em uma região do Governo dos EUA, registre uma Solicitação de Serviço no Suporte do Oracle Cloud e solicite a ativação do ponto final privado no recurso de link de banco de dados das regiões do governo.
As regiões do governo dos EUA incluem:
- Ao estabelecer conexão com um banco de dados não Oracle, o link de banco de dados só será suportado se o banco de dados de destino estiver acessível por meio de um IP público ou de um nome de host público.
-
Para executar
DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
com um usuário diferente de ADMIN, você precisa conceder privilégiosEXECUTE
eCREATE DATABASE LINK
a esse usuário.Por exemplo, execute o seguinte comando como ADMIN para conceder privilégios aatpc_user
:GRANT EXECUTE ON DBMS_CLOUD_ADMIN TO atpc_user; GRANT CREATE DATABASE LINK TO atpc_user;
Além disso, quando você cria um Link de Banco de Dados em um esquema diferente do esquema ADMIN, por exemplo, em um esquema chamado
atpc_user
, o esquemaatpc_user
deve possuir a credencial que você usa comDBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK
. -
Somente um arquivo de wallet é válido por diretório especificado com o parâmetro
directory_name
. Você só pode fazer upload de umcwallet.sso
de cada vez para o diretório escolhido para arquivos de wallet. Isso significa que, com umcwallet.sso
em um diretório, você só pode criar links de banco de dados para os bancos de dados cuja wallet nesse diretório é válida. Para usar vários arquivoscwallet.sso
com links de banco de dados, crie diretórios adicionais e coloque cadacwallet.sso
em um diretório diferente.Consulte Criar Diretório no Autonomous Database para obter informações sobre a criação de diretórios.
-
Para criar um link de banco de dados para um Autonomous Database, defina
GLOBAL_NAMES
comoFALSE
no banco de dados de origem (não Autonomous Database).SQL> ALTER SYSTEM SET GLOBAL_NAMES = FALSE; System altered. SQL> SHOW PARAMETER GLOBAL_NAMES NAME TYPE VALUE ---------------------- ----------- ----------- global_names boolean FALSE
-
Quando o parâmetro
private_target
éTRUE
, o parâmetrohostname
especifica um host privado na VCN.
Exemplos
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;
/
O nome da tabela especificado quando você usa SELECT
com o Google BigQuery ou o Google Analytics deve estar entre aspas. Por exemplo:
SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINK
Use o parâmetro rac_hostnames
com um banco de dados Oracle RAC de destino em um ponto 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;
/
Procedimento DETACH_FILE_SYSTEM
Este procedimento desanexa um sistema de arquivos do banco de dados.
O procedimento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
desanexa um sistema de arquivos do banco de dados. Além disso, o procedimento DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
também remove as informações sobre o sistema de arquivos da view DBA_CLOUD_FILE_SYSTEMS
.
Sintaxe
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
(
file_system_name IN VARCHAR2
);
Parâmetros
Parâmetro | Descrição |
---|---|
|
Especifica o nome do sistema de arquivos. Esse parâmetro é obrigatório. |
Exemplo:
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
(
file_system_name => 'FSS'
);
END;
/
Observações sobre Uso
-
Para executar esse procedimento, você deve fazer log-in como usuário ADMIN ou ter o privilégio
EXECUTE
emDBMS_CLOUD_ADMIN
. -
Você deve ter o privilégio
WRITE
no objeto de diretório no banco de dados para desanexar um sistema de arquivos de um diretório usando o procedimentoDBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
. -
O procedimento
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
só pode desanexar um Serviço de Armazenamento de Arquivos privado em bancos de dados com Pontos Finais Privados ativados.Consulte OCI File Storage Service e Configurar um Sistema de Desenvolvimento para Acessar o Banco de Dados para obter mais informações.
-
O procedimento
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM
procura o nome do host do Sistema de Arquivos de Rede na VCN (rede virtual na nuvem) do cliente. O erro"ORA-20000: Mounting NFS fails"
será retornado se o nome do host especificado no local não puder ser localizado.
Procedimento DISABLE_EXTERNAL_AUTHENTICATION
Desativa a autenticação do usuário com esquemas de autenticação externos para o banco de dados.
Sintaxe
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
;
Exceções
Exceção | Erro | Descrição |
---|---|---|
invalid_ext_auth |
ORA-20004 |
Consulte a mensagem de acompanhamento para obter uma explicação detalhada. |
Exemplo
BEGIN
DBMS_CLOUD_ADMIN.DISABLE_EXTERNAL_AUTHENTICATION
;
END;
/
PL/SQL procedure successfully completed.
Procedimento DROP_DATABASE_LINK
Esse procedimento elimina um link de banco de dados.
Sintaxe
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
(
db_link_name IN VARCHAR2,
public_link IN BOOLEAN DEFAULT);
Parâmetros
Parâmetro | Descrição |
---|---|
|
O nome do link de banco de dados a ser eliminado. |
|
Para executar O valor padrão desse parâmetro é |
Exemplo
BEGIN
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
(
db_link_name => 'SALESLINK' );
END;
/
Observações sobre Uso
Depois que terminar de usar um link de banco de dados e executar DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK
, para garantir a segurança do seu banco de dados Oracle, remova todos os arquivos de wallet armazenados. Por exemplo:
-
Remova o arquivo da wallet no Armazenamento de Objetos.
-
Use
DBMS_CLOUD.DELETE_FILE
para remover o arquivo de wallet do diretóriodata_pump_dir
ou do diretório definido pelo usuário no qual o upload do arquivo de wallet foi feito.
Procedimento ENABLE_EXTERNAL_AUTHENTICATION
Permite que os usuários façam log-in no banco de dados com esquemas de autenticação externa.
Sintaxe
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE,
params IN CLOB DEFAULT NULL
);
Parâmetro
Parâmetro | Descrição |
---|---|
|
Especifica o tipo de autenticação externa. Valores válidos: ou .
|
|
(Opcional) Substitua um esquema de autenticação externa ativado no momento. Os valores válidos são O valor default é |
params |
Uma string JSON que fornece parâmetros adicionais para a autenticação externa. Parâmetros
Parâmetros
Parâmetros
|
Exceções
Exceção | Erro | Descrição |
---|---|---|
invalid_ext_auth |
ORA-20004 |
Consulte a mensagem de acompanhamento para obter uma explicação detalhada. |
Observações sobre Uso
-
Com
type
OCI_IAM
, se o controlador de recursos não estiver ativado na instância do Autonomous Database, essa rotina o ativará comDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL
. -
Este procedimento define os parâmetros de sistema
IDENTITY_PROVIDER_TYPE
eIDENTITY_PROVIDER_CONFIG
como obrigatórios para que os usuários acessem a instância com autenticação e autorização do Oracle Cloud Infrastructure Identity and Access Management.
Exemplos
Ativar Autenticação OCI_IAM
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION
(
type => 'OCI_IAM',
force=> TRUE );
END;
/
PL/SQL procedure successfully completed.
Ativar Autenticação CMU
para o Microsoft Active Directory
Você informa um nome de diretório que contém os arquivos de configuração de CMU por meio do 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.
Você informa um URI de localização apontando para um local de Armazenamento de Objetos que contém arquivos de configuração de CMU por meio do 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.
Ativar Autenticação do 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.
Ativar Autenticação do Kerberos
Você informa um nome de diretório que contém arquivos de configuração do Kerberos por meio do 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.
Você informa um URI de local que aponta para um local do serviço Object Storage que contém arquivos de configuração do Kerberos por meio do 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;
/
Você informa um nome de serviço com o kerberos_service_name
no 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;
/
Depois que o Kerberos for ativado na sua instância do Autonomous Database, use a seguinte consulta para exibir o nome do serviço Kerberos:
SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;
DBMS_CLOUD_ADMIN Exceções
A tabela abaixo descreve exceções para DBMS_CLOUD_ADMIN
.
Exceção | Registro | Descrição |
---|---|---|
invalid_service |
20,001 | Um serviço inválido foi especificado. |
service_not_exist |
20,002 | Não existe um serviço especificado. |
default_service |
20,003 | Não é possível modificar um serviço especificado. |
invalid_char_set |
20,029 | Pré-requisito ausente ou conjunto de caracteres (nacional) inválido. |
invalid_enc_key_attr |
20,030 | Argumento inválido ou ausente para gerenciamento de chaves. |
Already Using Oracle Managed Key |
0 |
O banco de dados já está usando uma chave gerenciada pela Oracle. Você está tentando chamar o procedimento enquanto já está usando uma chave gerenciada pela Oracle. |
Argument Provided for the procedure |
ORA-0000 |
Um argumento é fornecido para o procedimento. Mensagem de erro esperada: Nenhum argumento é necessário para este procedimento. |