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 file_system_location consiste em um FQDN (Nome de Domínio Totalmente Qualificado) e um caminho de arquivo no formato: FQDN:file_path.

Observação: Você pode usar um FQDN ou um endereço IP.

Por exemplo:

  • SEQUÊNCIA: myhost.sub000445.myvcn.oraclevcn.com

    Para o Oracle Cloud Infrastructure File Storage, defina o FQDN em Mostrar Opções Avançadas ao criar um sistema de arquivos. Consulte Criando Sistemas de Arquivos para mais informações.

  • Caminho do arquivo: /results

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.

nfs_version: Especifica a versão do NFS a ser usada quando o NFS está anexado (NFSv3 ou NFSv4). Valores válidos: 3, 4. de

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

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:

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 localhost para hostname como não é permitida.

Quando você especifica uma conexão com a conectividade heterogênea gerenciada pela Oracle fornecendo o parâmetro gateway_params, observe o seguinte:

  • Quando o valor db_type é google_bigquery, o hostname não é usado e você pode fornecer um valor como example.com.

  • Quando o valor db_type é snowflake, hostname é o identificador da conta do Snowflake. Para localizar o identificador da sua conta do Snowflake, consulte Formatos de Identificador de Conta por Plataforma e Região da Nuvem.

Use esse parâmetro ou rac_hostnames, não use ambos.

A entrada DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK deve mencionar o nome da verificação do Autonomous AI Database Dedicado de destino como o parâmetro 'hostname'.

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 ",". Por exemplo:

'["sales1-svr1.domain", "sales1-svr2.domain", "sales1-svr3.domain"]'

Quando o destino for um banco de dados Oracle RAC, use o parâmetro rac_hostnames para especificar um ou mais nomes de host com DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK. Isso permite que você aproveite os recursos de alta disponibilidade do Oracle RAC. O uso de um endereço IP, um IP SCAN ou um nome de host SCAN no valor rac_hostnames não é suportado.

Quando você especifica uma lista de nomes de host no parâmetro rac_hostnames, CREATE_DATABASE_LINK usa todos os nomes de host especificados como endereços na string de conexão. Se um dos hosts especificados não estiver disponível no banco de dados do Oracle RAC de destino, o Autonomous Database tentará estabelecer conexão automaticamente usando outro nome de host na lista.

Use esse parâmetro ou hostname, não use ambos.

Não é permitido especificar localhost para um valor rac_hostname.

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 gateway_params, defina a porta com base no valor db_type:

  • awsredshift: use a porta 5439
  • azure: use a porta 1433
  • db2: use a porta 2500 para versões do Db2 >= 11.5.6
  • db2: use a porta 5000 para versões do Db2 <= 11.5.5< li>
  • google_analytics: use a porta 443
  • google_bigquery: use a porta 443
  • hive: use a porta 433
  • mongodb: use a porta 27017
  • mysql: use a porta 3306
  • mysql_community: use a porta 3306
  • postgres: use a porta 5432
  • salesforce: use a porta 19937
  • servicenow: use a porta 443
  • snowflake: use a porta 443
service_name

O service_name para o qual o banco de dados será vinculado. Para um Autonomous AI Database de destino, localize o nome do serviço por um dos seguintes métodos:

  • Procure no arquivo tnsnames.ora no wallet.zip que você faz download de um Autonomous AI Database para sua conexão.

  • Clique em Conexão do banco de dados na Console do Oracle Cloud Infrastructure. Cada string de conexão listada na coluna String de conexão inclui uma entrada service_name com a string de conexão para o serviço correspondente. Consulte Exibir Strings de Conexão para um Autonomous AI Database para obter mais informações.

  • Consulte a exibição V$SERVICES. Por exemplo:

    SELECT name FROM V$SERVICES;

Quando você especifica uma conexão com a conectividade heterogênea gerenciada pela Oracle usando o parâmetro gateway_params, o service_name é o nome do banco de dados não Oracle.

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 ssl_server_cert_dn deve ser NULL quando você fornece o parâmetro gateway_params ou não inclui o parâmetro ssl_server_cert_dn (o valor padrão é NULL).

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):

  • O parâmetro directory_name deve ser NULL.
  • O parâmetro ssl_server_cert_dn deve ser NULL ou não incluir esse parâmetro (o valor padrão é NULL).

Link de Ponto Final Privado sem uma Wallet:

Para estabelecer conexão com um Oracle Database em um ponto final privado sem uma wallet:

  • O banco de dados de destino deve estar em um ponto final privado.
  • O parâmetro directory_name deve ser NULL.
  • O parâmetro ssl_server_cert_dn deve ser NULL ou não incluir esse parâmetro (o padrão é NULL).
  • O parâmetro private_target deve ser TRUE.
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 cwallet.sso. O valor padrão para esse parâmetro é 'data_pump_dir'.

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 directory_name não é obrigatório quando você fornece o parâmetro gateway_params.

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):

  • O parâmetro directory_name deve ser NULL.
  • O parâmetro ssl_server_cert_dn deve ser NULL ou não incluir esse parâmetro (o valor padrão é NULL).

Além disso, para estabelecer conexão com um Autonomous AI Database com TCP, o parâmetro ssl_server_cert_dn deve ser NULL ou não incluir esse parâmetro (o valor padrão é NULL).

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:

  • O banco de dados de destino deve estar em um ponto final privado.
  • O parâmetro directory_name deve ser NULL.
  • O parâmetro ssl_server_cert_dn deve ser NULL ou não incluir esse parâmetro (o valor padrão é NULL).
  • O parâmetro private_target deve ser TRUE.
gateway_link

Indica se o link do banco de dados é criado para outro Oracle Database ou para um Oracle Database Gateway.

Se gateway_link estiver definido como FALSE, isso especificará um link de banco de dados para outro Autonomous AI Database ou para outro Oracle Database.

Se gateway_link for definido como TRUE, isso especificará um link de banco de dados para um sistema não Oracle. Isso cria um descritor de conexão na definição de link de banco de dados que especifica (HS=OK).

Quando gateway_link é definido como TRUE e gateway_params é NULL, isso especifica um link de banco de dados para um gateway Oracle gerenciado pelo cliente.

O valor padrão para este parâmetro é FALSE.

public_link

Indica se o link de banco de dados é criado como um link de banco de dados público.

Para executar DBMS_CLOUD_ADMIN.CREATE_DATABASE_LINK com este parâmetro definido como TRUE, o usuário que está chamando o procedimento deve ter o privilégio EXECUTE na credencial associada ao link de banco de dados público e deve ter o privilégio de sistema CREATE PUBLIC DATABASE LINK. O privilégio EXECUTE na credencial pode ser concedido pelo usuário ADMIN ou pelo proprietário da credencial.

O valor padrão deste parâmetro é FALSE.

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 private_target com o valor TRUE.

Quando private_target é TRUE, o parâmetro hostname deve ser um único nome de host (em um ponto final privado, o uso de um endereço IP, um IP SCAN ou um nome de host SCAN não é suportado).

O valor padrão para este parâmetro é FALSE.

gateway_params

db_type Esse parâmetro especifica o tipo de banco de dados de destino para conectividade heterogênea gerenciada pela Oracle para estabelecer conexão com bancos de dados não Oracle. O valor db_type é um dos seguintes:

  • awsredshift
  • azure
  • db2
  • google_analytics
  • google_bigquery

    * Consulte as Notas de Uso para obter gateway_params com suporte adicional quando db_type for google_bigquery.

  • hive

    * Consulte as Notas de Uso para obter gateway_params com suporte adicional quando db_type for hive.

  • mongodb
  • mysql
  • postgres
  • salesforce

    * Consulte as Notas de Uso para obter gateway_params com suporte adicional quando db_type for salesforce.

  • servicenow

    * Consulte as Notas de Uso para obter gateway_params com suporte adicional quando db_type for servicenow.

  • snowflake

    * Consulte as Notas de Uso para obter gateway_params com suporte adicional quando db_type for snowflake.

  • NULL

    Quando gateway_params é NULL e gateway_link é definido como TRUE, isso especifica um link de banco de dados para um gateway Oracle gerenciado pelo cliente.

Especifique o parâmetro com o form json_object.

Por exemplo:

gateway_params => json_object('db_type' value 'awsredshift')

Quando gateway_params é NULL e private_target é TRUE, se directory_name é NULL, um link de banco de dados baseado em TCP é criado.

Quando gateway_params é NULL e private_target é TRUE, se directory_name é NULL, um link de banco de dados baseado em TCPS é criado.

Observações sobre Uso

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

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 DBMS_CLOUD_ADMIN.DROP_DATABASE_LINK com public_link definido como TRUE, você deve ter o privilégio de sistema DROP PUBLIC DATABASE LINK.

O valor padrão para este parâmetro é FALSE.

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:

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 .

  • 'OCI_IAM'
  • 'AZURE_AD'
  • 'CMU'
  • 'KERBEROS'
force

(Opcional) Substitua um esquema de autenticação externa ativado no momento. Os valores válidos são TRUE ou FALSE.

O valor padrão é FALSE.

params

Uma string JSON que fornece parâmetros adicionais para a autenticação externa.

Parâmetros CMU:

  • location_uri: especifica o URI de armazenamento na nuvem do bucket no qual os arquivos necessários para o CMU são armazenados.

    Se você especificar location_uri, haverá um objeto de diretório de nome fixo CMU_WALLET_DIR criado no banco de dados no caminho 'cmu_wallet' para salvar os arquivos de configuração de CMU. Nesse caso, você não precisa fornecer o parâmetro directory_name.

  • credential_name: especifica as credenciais usadas para fazer download dos arquivos de configuração do CMU do Object Store para o objeto de diretório.

    O valor padrão é NULL, que permite fornecer um URL Público, Pré-autenticado ou pré-assinado para o bucket ou a subpasta do Object Store.

  • directory_name: especifica o nome do diretório no qual os arquivos de configuração necessários para o CMU são armazenados. Se directory_name for fornecido, você deverá copiar os arquivos de configuração do CMU dsi.ora e cwallet.sso para este objeto de diretório.

Parâmetros KERBEROS:

  • location_uri: especifica o URI de armazenamento na nuvem do bucket no qual os arquivos necessários para o Kerberos são armazenados.

    Se você especificar location_uri, haverá um objeto de diretório de nome fixo KERBEROS_DIR criado no banco de dados para salvar os arquivos de configuração do Kerberos. Nesse caso, você não precisa fornecer o parâmetro directory_name.

  • credential_name: especifica a credencial usada para fazer download dos arquivos de configuração do Kerberos do local do Object Store para o objeto de diretório.

    O valor padrão é NULL, que permite fornecer um URL Público, Pré-autenticado ou pré-assinado para o bucket ou a subpasta do Object Store.

  • directory_name: especifica o nome do diretório no qual os arquivos necessários para o Kerberos são armazenados. Se directory_name for fornecido, você deverá copiar os arquivos de configuração do Kerberos para este objeto de diretório.
  • kerberos_service_name: especifica um nome a ser usado como o nome do serviço Kerberos. Este parâmetro é opcional.

    Valor padrão: Quando não especificado, o valor kerberos_service_name é definido como o GUID da instância do Autonomous AI Database.

Parâmetros AZURE_AD:

  • tenant_id: ID do Tenant da Conta do Azure. O Id do Tenant especifica o registro do aplicativo Azure AD da instância do Autonomous AI Database.
  • application_id: ID do Aplicativo do Azure criado no Azure AD para designar mapeamentos de atribuições/esquema para autenticação externa na instância do Autonomous AI Database.
  • application_id_uri: URI exclusivo designado ao Aplicativo do Azure.

    Este é o identificador da instância do Autonomous AI Database. O nome deve ser qualificado para o domínio (suporta acesso a recursos entre tenancies).

    O tamanho máximo para este parâmetro é de 256 caracteres.

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

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.

Conteúdo Relacionado