Pacote DBMS_CLOUD_ADMIN
Esta seção abrange os subprogramas DBMS_CLOUD_ADMIN fornecidos com o Autonomous AI Database.
| Subprograma | Descrição |
|---|---|
|
Este procedimento anexa um sistema de arquivos em um diretório no banco de dados. |
|
|
Este 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 para outra instância do Autonomous AI Database, para um Oracle Database que não seja um Autonomous AI Database ou para 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 AI Database. |
|
|
Esse procedimento elimina um link de banco de dados. |
|
|
Este procedimento permite que um usuário faça log-on no Autonomous AI Database usando o esquema de autenticação externo 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
EXECUTEemDBMS_CLOUD_ADMIN. -
Você deve ter o privilégio
WRITEno 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_SYSTEMsó 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_SYSTEMprocura 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_SYSTEMe, em seguida,DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEM(usando o parâmetroparamscomnfs_versiondefinido como 4). Isso anexa o NFS ao protocolo correspondente para que o Autonomous AI 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 AI Database em um ponto final privado para um banco de dados Oracle RAC de destino. Nesse caso, você usa o parâmetrorac_hostnamespara 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 AI Database sem uma Wallet: Para estabelecer conexão com um destino do Autonomous AI 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 AI Database sem uma Wallet: Para estabelecer conexão com um Autonomous AI Database em um ponto final público sem uma wallet (TLS):
Além disso, para estabelecer conexão com um Autonomous AI 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_paramsadicionais:db_typeValores gateway_paramsAdicionaisgoogle_analyticsQuando
db_typeforgoogle_analytics, a credencial especificada deverá ser uma credencial OAuth do Google (gcp_oauth2)Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.google_bigqueryQuando
db_typeforgoogle_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_bigquerye é obrigatório.O nome da tabela especificado quando você usa
SELECTcom o Google BigQuery deve estar entre aspas. Por exemplo:SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINKhiveQuando
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.salesforceQuando
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_tokenpara 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.
servicenowPara estabelecer conexão com ServiceNow e obter dados, forneça os parâmetros de gateway
directory_nameefile_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_paramscomdb_typeservicenow, há duas opções suportadas:-
Autenticação Básica: você deve fornecer o parâmetro
gateway_paramsdb_typecom o valor'servicenow'e fornecer os parâmetrosdirectory_nameefile_namecom credenciais do tipo de nome de usuário/senha. -
Autenticação OAuth 2.0: você deve fornecer o parâmetro
gateway_paramsdb_typecom o valor'servicenow'e os parâmetrosdirectory_name,file_nameetoken_uri, juntamente com as credenciais do tipo OAuth.
O parâmetro
directory_nameespecifica 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_namecomo 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.
snowflakeQuando
db_typeéSNOWFLAKE, os parâmetros opcionais:role,schemaewarehousesã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' ) -
-
Quando você usa o parâmetro
private_target, observe que os links de banco de dados de um Autonomous AI Database para um serviço de banco de dados que está em um ponto final privado só são suportados em regiões comerciais e 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 AI 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 vinculação 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_LINKcom um usuário diferente de ADMIN, você precisa conceder privilégiosEXECUTEeCREATE DATABASE LINKa 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_userdeve 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.ssode cada vez para o diretório escolhido para arquivos de wallet. Isso significa que, com umcwallet.ssoem 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.ssocom links de banco de dados, crie diretórios adicionais e coloque cadacwallet.ssoem um diretório diferente.Consulte Criar Diretório no Autonomous AI Database para obter informações sobre como criar diretórios.
-
Para criar um link de banco de dados para um Autonomous AI Database, defina
GLOBAL_NAMEScomoFALSEno banco de dados de origem (não Autonomous AI 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âmetrohostnameespecifica 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
EXECUTEemDBMS_CLOUD_ADMIN. -
Você deve ter o privilégio
WRITEno 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_SYSTEMsó 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_SYSTEMprocura 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_FILEpara remover o arquivo de wallet do diretóriodata_pump_dirou 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
typeOCI_IAM, se o controlador de recursos não estiver ativado na instância do Autonomous AI Database, essa rotina ativará o controlador de recursos comDBMS_CLOUD_ADMIN.ENABLE_RESOURCE_PRINCIPAL. -
Este procedimento define os parâmetros de sistema
IDENTITY_PROVIDER_TYPEeIDENTITY_PROVIDER_CONFIGcomo 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;
/
Após a ativação do Kerberos na sua instância do Autonomous AI 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. |