Pacote DBMS_CLOUD_ADMIN
Esta seção abrange os subprogramas DBMS_CLOUD_ADMIN fornecidos com o Autonomous AI Database.
| Subprograma | Descrição |
|---|---|
| Procedimento ATTACH_FILE_SYSTEM | Este procedimento anexa um sistema de arquivos em um diretório do banco de dados. |
| Procedimento CREATE_DATABASE_LINK | 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 conectividade heterogênea gerenciada pela Oracle. |
| Procedimento DETACH_FILE_SYSTEM | Este procedimento desanexa um sistema de arquivos de um diretório no banco de dados. |
| Procedimento DISABLE_EXTERNAL_AUTHENTICATION | Este procedimento desativa a autenticação externa da instância do Autonomous AI Database. |
| Procedimento DROP_DATABASE_LINK | Este procedimento elimina um link de banco de dados. |
| Procedimento ENABLE_EXTERNAL_AUTHENTICATION | Este procedimento permite que um usuário faça log-on no Autonomous AI 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 exibição 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 |
|---|---|
file_system_name |
Especifica o nome do sistema de arquivos. Este parâmetro é obrigatório. |
file_system_location |
Especifica o local do sistema de arquivos. O valor que você fornece com Observação: Você pode usar um FQDN ou um endereço IP. Por exemplo:
Este parâmetro é obrigatório. |
directory_name |
Especifica o nome do diretório do sistema de arquivos anexado. O diretório deve existir. Este parâmetro é obrigatório. |
description |
(Opcional) Fornece uma descrição da tarefa. |
params |
Uma string JSON que fornece um parâmetro adicional para o sistema de arquivos.
Valor default: 3 |
Exemplos
Exemplo: Anexar 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;
/
Exemplo: Anexar 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 este procedimento, você deve estar conectado 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 File Storage Service privado em bancos de dados com Pontos Finais Privados ativados.Consulte OCI File Storage Service e Configure a Development System to Access the Database para obter mais informações.
-
O procedimento
DBMS_CLOUD_ADMIN.ATTACH_FILE_SYSTEMprocura o nome do host do Sistema de Arquivos de Rede na rede virtual na nuvem (VCN) 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 o NFSv3 para compartilhar
-
Se você anexar a sistemas que não sejam 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
Este procedimento cria um link de banco de dados para um banco de dados de destino no esquema que chama a API.
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 se encontra com 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 |
|---|---|
db_link_name |
O nome do link do banco de dados a ser criado. |
hostname |
O nome de host do banco de dados de destino. A especificação de Quando você especifica uma conexão com a conectividade heterogênea gerenciada pela Oracle fornecendo o parâmetro
Use esse parâmetro ou A entrada |
rac_hostnames |
Especifica os nomes de host do 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 especificados no 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 pelo sistema Oracle usando o parâmetro
|
service_name |
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 raiz e intermediários confiáveis comuns. 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 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 DBMS_CLOUD.CREATE_CREDENTIAL. Estas são as credenciais para acessar o banco de dados de destino. |
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 raiz e intermediários confiáveis comuns. 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 do banco de dados é criado para outro Oracle Database ou para um Oracle Database Gateway. Se Se Quando O valor padrão para este parâmetro é |
public_link |
Indica se o link de banco de dados é criado como um link de banco de dados público. Para executar O valor padrão deste 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 para este parâmetro é |
gateway_params |
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, são suportados parâmetrosgateway_paramsadicionais:db_typeValores Adicionais gateway_paramsgoogle_analyticsQuando o 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 o
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:sql SELECT * FROM "sales"@GOOGLE_BIGQUERY_LINKhiveQuando db_typeéhive, o parâmetrohttp_pathé válido. Este parâmetro especifica o valor HttpPath, se necessário, para estabelecer conexão com a instância do Hive.salesforceQuando o
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 se conectar ao ServiceNow e obter dados, você deve fornecer os parâmetros do 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 de arquivo de modelo e Arquivo de modelo de exemplo para obter mais informações.Quando você usa o parâmetro
gateway_paramscom o parâmetrodb_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_namejuntamente com as 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', 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 do 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 do ServiceNow no 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 do ServiceNow com autenticação básica ou OAuth2.0.
snowflakeQuando a
db_typeéSNOWFLAKE, os parâmetros opcionais:role,schemaewarehousesão válidos. Esses valores especificam um esquema, atribuição ou valor de depósito 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 é ativado em todas as regiões comerciais.
Esse recurso é ativado por padrão 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 o seguinte:
-
Ao estabelecer conexão com um banco de dados não Oracle, a vinculação do banco de dados só será suportada 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 o
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 usada 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.ssopor vez para o diretório escolhido para arquivos da wallet. Isso significa que, com umcwallet.ssoem um diretório, você só pode criar links de banco de dados para os bancos de dados para os quais a wallet nesse diretório é válida. Para usar vários arquivoscwallet.ssocom links de banco de dados, você precisa criar diretórios adicionais e colocar 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).ALTER SYSTEM SET GLOBAL_NAMES = FALSE;System altered.SHOW PARAMETER GLOBAL_NAMESNAME TYPE VALUE ---------------------- ----------- ----------- global_names boolean FALSE -
Quando o parâmetro
private_targetéTRUE, o parâmetrohostnameespecifica um host privado dentro da 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_i*',
'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 exibição DBA_CLOUD_FILE_SYSTEMS.
Sintaxe
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM(
file_system_name IN VARCHAR2
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
file_system_name |
Especifica o nome do sistema de arquivos. Este parâmetro é obrigatório. |
Exemplo
BEGIN
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEM (
file_system_name => 'FSS'
);
END;
/
Observações sobre Uso
-
Para executar este procedimento, você deve estar conectado 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 File Storage Service privado em bancos de dados com Pontos Finais Privados ativados.Consulte OCI File Storage Service e Configure a Development System to Access the Database para obter mais informações.
-
O procedimento
DBMS_CLOUD_ADMIN.DETACH_FILE_SYSTEMprocura o nome do host do Sistema de Arquivos de Rede na rede virtual na nuvem (VCN) 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
Este 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 |
|---|---|
db_link_name |
O nome do link do banco de dados a ser eliminado. |
public_link |
Para executar o O valor padrão para este parâmetro é |
Exemplo
BEGIN
DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK(
db_link_name => 'SALESLINK' );
END;
/
Observações sobre Uso
Depois de 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 da wallet armazenados. Por exemplo:
- Remova o arquivo da wallet no Object Store.
- Use
DBMS_CLOUD.DELETE_FILEpara remover o arquivo da wallet do diretóriodata_pump_dirou do diretório definido pelo usuário no qual o upload do arquivo da 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 externos.
Sintaxe
DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type IN VARCHAR2,
force IN BOOLEAN DEFAULT FALSE,
params IN CLOB DEFAULT NULL
);
Parâmetros
| Parâmetro | Descrição |
|---|---|
type |
Especifica o tipo de autenticação externa. Valores válidos: ou .
|
force |
(Opcional) Substitua um esquema de autenticação externa ativado no momento. Os valores válidos são O valor padrão é |
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 do sistema
IDENTITY_PROVIDER_TYPEeIDENTITY_PROVIDER_CONFIGpara que os usuários necessários acessem a instância com autenticação e autorização do Oracle Cloud Infrastructure Identity and Access Management.
Exemplos
Exemplo: Ativar Autenticação OCI_IAM
BEGIN DBMS_CLOUD_ADMIN.ENABLE_EXTERNAL_AUTHENTICATION(
type => 'OCI_IAM',
force=> TRUE );
END;
/
Exemplo: Ativar Autenticação CMU para o Microsoft Active Directory
Informe um nome de diretório que contenha 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;
/
Você informa um URI de local que aponta para um local do serviço Object Storage 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;
/
Exemplo: 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;
/
Exemplo: Ativar Autenticação do Kerberos
Informe um nome de diretório que contenha 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;
/
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 AI Database, use a seguinte consulta para exibir o nome do serviço Kerberos:
SELECT SYS_CONTEXT('USERENV','KERBEROS_SERVICE_NAME') FROM DUAL;
Exceções de DBMS_CLOUD_ADMI
A tabela a seguir descreve as exceções para DBMS_CLOUD_ADMIN.
| Exceção | Registro | Descrição |
|---|---|---|
invalid_service |
20.001 | Foi especificado um serviço inválido. |
service_not_exist |
20.002 | Um serviço especificado não existe. |
default_service |
20.003 | Não é possível modificar um serviço especificado. |
invalid_char_set |
20.029 | Pré-condição ausente ou conjunto de caracteres (nacional) inválido. |
invalid_enc_key_attr |
20.030 | Argumento ausente ou inválido para gerenciamento de chaves. |
Already Using Oracle Managed Key |
0 | O Banco de Dados já está usando uma chave Oracle gerenciada. 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. |