Observações do Pacote PL/SQL para o Autonomous Database
Observações sobre pacotes PL/SQL do Oracle Database no Autonomous Database.
Pacotes Não Disponíveis para PL/SQL
-
DBMS_DEBUG_JDWP
-
DBMS_DEBUG_JDWP_CUSTOM
DBMS_LDAP Observações do Pacote PL/SQL
Fornece observações para o pacote DBMS_LDAP
:
-
Não é permitido especificar um endereço IP no nome do host.
-
A única porta permitida é a 636.
-
Os argumentos
SSLWRL
eSSLWALLETPASSWD
para o procedimentoOPEN_SSL
são ignorados. O valor padrão da propriedadeSSLWRL
é definido como a wallet usada porUTL_HTTP
eDBMS_CLOUD
para fazer solicitações web de saída no Autonomous Database. -
Os subprogramas
DBMS_LDAP.SIMPLE_BIND_S
eDBMS_LDAP.BIND_S
executam a autenticação no servidor de diretórios.Os subprogramas
DBMS_LDAP.SIMPLE_BIND_S
eDBMS_LDAP.BIND_S
são modificados para aceitar objetos de credencial como argumento.Veja a seguir as notas de uso e exemplos desses subprogramas modificados:
-
Os subprogramas
SIMPLE_BIND_S
eBIND_S
modificados permitem que você passe objetos de credencial para definir a autenticação do servidor de diretórios. Os objetos de credenciais são objetos de esquema; portanto, eles só podem ser acessados por usuários privilegiados e permitem que você configure privilégios no nível do esquema para controlar as credenciais. Informar credenciais do scheduler é uma maneira apropriada e segura de armazenar e gerenciar nome de usuário/senha/chaves para autenticação. -
Os subprogramas
SIMPLE_BIND_S
eBIND_S
modificados são uma alternativa segura e conveniente para os subprogramasSIMPLE_BIND_S
eBIND_S
existentes anteriormente.Para obter mais informações, consulte FUNCTION simple_bind_s e FUNCTION bind_s.
-
O argumento
CREDENTIAL
das funçõesSIMPLE_BIND_S
eBIND_S
é usado para executar a autenticação baseada em credencial no servidor de diretórios. -
Por exemplo:
-
Crie um objeto de credencial:
BEGIN DBMS_CLOUD.CREATE_CREDENTIAL ( credential_name => 'LDAP_CRED', username => 'web_app_user', password => 'password' ); END;
Isso cria um objeto de credencial que cria um par de nome de usuário/senha armazenado.
Consulte Procedimento CREATE_CREDENTIAL para obter mais informações.
Consulte Especificando Credenciais de Job do Scheduler para obter mais informações.
-
Chame
DBMS_LDAP.SIMPLE_BIND_S
:DECLARE l_mail_conn DBMS_LDAP.INIT; BEGIN l_ldap_conn := DBMS_LDAP.INIT('ldap.example.com', 636); l_auth_result := DBMS_LDAP.SIMPLE_BIND_S(l_ldap_conn, 'LDAP_CRED'); ... END;
O código neste exemplo primeiro chama a função
DBMS_LDAP.INIT
, que inicializa uma sessão com um servidor LDAP e estabelece uma conexão com o servidor LDAPldap.example.com
na porta número636
. O valorl_ldap_conn
na funçãoSIMPLE_BIND_S
é o identificador da sessão LDAP eLDAP_CRED
é o nome das credenciais. -
O
function bind_s
executa autenticação complexa no servidor de diretórios. Por exemplo:DECLARE l_mail_conn DBMS_LDAP.INIT; BEGIN l_ldap_conn := DBMS_LDAP.INIT('ldap.example.com', 636); l_auth_result := DBMS_LDAP.BIND_S(l_ldap_conn, 'LDAP_CRED', METH => DBMS_LDAP.AUTH_SIMPLE); ... END;
O código neste exemplo primeiro chama a função
DBMS_LDAP.INIT
, que inicializa uma sessão com um servidor LDAP e estabelece uma conexão com o servidor LDAPldap.example.com
na porta número636
. O valorl_ldap_conn
na funçãoBIND_S
é o identificador da sessão LDAP eLDAP_CRED
é o nome das credenciais.METH
é o método de autenticação. O único valor válido éDBMS_LDAP_UTL.AUTH_SIMPLE
.
-
-
Os privilégios
EXECUTE
emDBMS_CLOUD
ouDWROLE
são necessários para criar credenciais do scheduler. -
A credencial informada deve estar presente no esquema atual ou ter um sinônimo apontando para uma credencial no esquema e estar no estado ativado.
-
Um sinônimo público ou privado que aponta para uma credencial em outro esquema de usuário pode ser fornecido como um valor para o parâmetro
CREDENTIAL
, desde que você tenha o privilégioEXECUTE
no objeto de credencial base apontado pelo sinônimo. Para obter mais informações, consulte Visão Geral de Sinônimos.
-
-
O SSL/TLS é obrigatório em toda a comunicação entre o servidor LDAP e o Autonomous Database.
-
Quando a instância do Autonomous Database estiver configurada com um ponto final privado, defina o parâmetro de banco de dados
ROUTE_OUTBOUND_CONNECTIONS
como 'PRIVATE_ENDPOINT
' para especificar que todas as conexões LDAP de saída estejam sujeitas às regras de saída da VCN do ponto final privado da instância do Autonomous Database. Consulte Segurança Avançada para Conexões de Saída com Pontos Finais Privados para obter mais informações. -
Para usar
DBMS_LDAP
para uma conexão em um ponto final privado, useDBMS_NETWORK_ACL_ADMIN.APPEND_HOST_ACE
e especifique o parâmetroprivate_target
com o valorTRUE
.Observação
Se você definirROUTE_OUTBOUND_CONNECTIONS
comoPRIVATE_ENDPOINT
, não será necessário definir o parâmetroprivate_target
comoTRUE
nessa API. Consulte Segurança Avançada para Conexões de Saída com Pontos Finais Privados para obter mais informações. -
DBMS_LDAP
ErroMensagem de Erro Possível Causa ORA-31400: Missing or invalid scheduler credential
As credenciais informadas são NULL ou inválidas.
Consulte DBMS_LDAP em Referência de Tipos e Pacotes PL/SQL para obter mais informações.
DBMS_NETWORK_ACL_ADMIN Observações do Pacote PL/SQL
Fornece observações para o pacote DBMS_NETWORK_ACL_ADMIN
:
-
Não é permitido conceder privilégios de ACL em endereços IP.
-
A ACL
HTTP_PROXY
é permitida em pontos finais privados.
Consulte DBMS_NETWORK_ACL_ADMIN em Referência de Tipos e Pacotes PL/SQL para obter mais informações.
UTL_HTTP Observações do Pacote PL/SQL
Fornece observações para o pacote UTL_HTTP
:
-
Não são permitidas conexões por meio de endereços IP.
-
Somente
HTTPS
é permitido quando a instância do Autonomous Database está em um ponto final público. Quando a instância do Autonomous Database está em um ponto final privado, as conexõesHTTPS
eHTTP_PROXY
são permitidas (as conexõesHTTP
não são permitidas para pontos finais públicos e privados). -
A API
UTL_HTTP.set_proxy
é permitida quando a instância do Autonomous Database está em um ponto final privado. -
Quando a instância do Autonomous Database está em um ponto final privado e você usa
HTTP_PROXY
ou a APIUTL_HTTP.SET_PROXY
:-
As solicitações
DBMS_CLOUD
não respeitam o servidor proxy definido comUTL_HTTP.SET_PROXY
. Isso incluiDBMS_CLOUD.SEND_REQUEST
e todo o acesso de armazenamento de objetos para tabelas externasDBMS_CLOUD
que você define comDBMS_CLOUD.CREATE_EXTERNAL_TABLE
,DBMS_CLOUD.CREATE_EXTERNAL_PART_TABLE
ouDBMS_CLOUD.CREATE_HYBRID_PART_TABLE
. -
As solicitações
APEX_WEB_SERVICE
não respeitam o servidor proxy definido comUTL_HTTP.SET_PROXY
.
-
-
Todos os web services devem ser protegidos. A única porta permitida é a 443 quando a instância do Autonomous Database está em um ponto final público. Quando a instância do Autonomous Database está em um ponto final privado, essa restrição não se aplica.
Sua instância do Autonomous Database é pré-configurada com uma Oracle Wallet que contém mais de 90 dos certificados SSL intermediários e raiz confiáveis mais comuns. O Oracle Wallet é gerenciado centralmente. Você pode configurar
UTL_HTTP
para usar uma wallet para um site protegido usando certificados SSL autoassinados. Consulte Usar uma Wallet Gerenciada pelo Cliente para Chamadas Externas com UTL_HTTP para obter mais informações. -
O procedimento
SET_AUTHENTICATION_FROM_WALLET
não é permitido. -
Os argumentos
WALLET_PATH
eWALLET_PASSWORD
dos procedimentosCREATE_REQUEST_CONTEXT
,REQUEST
eREQUEST_PIECES
são ignorados. -
O argumento
CREDENTIAL
do procedimentoSET_CREDENTIAL
é usado para informar o objeto de credencial como uma entrada para o procedimento. Consulte Especificando Credenciais do Job do Scheduler e Procedimento CREATE_CREDENTIAL para obter mais informações. -
Os privilégios
EXECUTE
emDBMS_CLOUD
ouDWROLE
são necessários para criar objetos de credencial. -
As credenciais informadas devem estar presentes no esquema do usuário atual e estar no estado ativado.
-
Um sinônimo público ou privado que aponta para uma credencial em outro esquema de usuário pode ser fornecido como um valor para o parâmetro
CREDENTIAL
, desde que você tenha o privilégioEXECUTE
no objeto de credencial base apontado pelo sinônimo. Para obter mais informações, consulte Visão Geral de Sinônimos. -
A configuração da Oracle Wallet não pode ser alterada. Todos os argumentos do procedimento
SET_WALLET
são ignorados. -
Quando a instância do Autonomous Database estiver configurada com um ponto final privado, defina o parâmetro de banco de dados
ROUTE_OUTBOUND_CONNECTIONS
como 'PRIVATE_ENDPOINT
' para especificar que todas as conexõesUTL_HTTP
de saída estejam sujeitas às regras de saída da VCN do ponto final privado da instância do Autonomous Database. Consulte Segurança Avançada para Conexões de Saída com Pontos Finais Privados para obter mais informações. -
UTL_HTTP
ErrosA tabela a seguir mostra mensagens de erro e as possíveis causas dessas mensagens ao usar
UTL_HTTP
:Mensagem de Erro Possível Causa ORA-12545: Connect failed because target host or object does not exist
O host ou o objeto de destino não existe ou é privado.
ORA-24247: network access denied by access control list (ACL)
Não foi possível encontrar a lista de controle de acesso (ACL) para o host especificado.
ORA-29024: Certificate validation failure
O certificado do host não existe ou não está entre os certificados suportados.
ORA-29261: Bad argument
As credenciais informadas são inválidas ou desativadas ou o usuário não tem privilégios suficientes na credencial.
Consulte UTL_HTTP em Referência de Tipos e Pacotes PL/SQL para obter mais informações.
UTL_INADDR Observações do Pacote PL/SQL
Fornece observações para o pacote UTL_INADDR
:
-
O pacote
UTL_INADDR
está disponível para uso em uma instância do Autonomous Database com um ponto final privado (PE). -
A função
GET_HOST_ADDRESS
está disponível. -
A função
GET_HOST_NAME
não está disponível.
Consulte UTL_INADDR em Referência de Tipos e Pacotes PL/SQL para obter mais informações.
UTL_SMTP Observações do Pacote PL/SQL
Fornece observações para o pacote UTL_SMTP
:
-
Os pontos finais SMTP públicos podem ser usados desde que o roteamento seja feito por meio do ponto final de conexão reversa (RCE) do cliente.
-
Não são permitidos e-mails com um endereço IP no nome do host.
-
As únicas portas permitidas são 25 e 587.
-
O argumento
CREDENTIAL
da funçãoSET_CREDENTIAL
é usado para informar o objeto de credenciais do scheduler como uma entrada para a função. Consulte Especificando Credenciais do Job do Scheduler e Procedimento CREATE_CREDENTIAL para obter mais informações. -
Os privilégios
EXECUTE
emDBMS_CLOUD
ouDWROLE
são necessários para criar objetos de credencial. -
O argumento
CREDENTIAL
do procedimentoSET_CREDENTIAL
é usado para transmitir o objeto de objetos de credencial como uma entrada para o procedimento. Consulte Especificando Credenciais de Job do Scheduler para obter mais informações. -
As credenciais informadas devem estar presentes no esquema do usuário atual e estar no estado ativado.
-
Um sinônimo público ou privado que aponta para uma credencial em outro esquema de usuário pode ser fornecido como um valor para o parâmetro
CREDENTIAL
, desde que você tenha o privilégioEXECUTE
no objeto de credencial base apontado pelo sinônimo. Para obter mais informações, consulte Visão Geral de Sinônimos. -
Quando a instância do Autonomous Database estiver configurada com um ponto final privado, defina o parâmetro de banco de dados
ROUTE_OUTBOUND_CONNECTIONS
como 'PRIVATE_ENDPOINT
' para especificar que todas as conexõesUTL_SMTP
de saída estejam sujeitas às regras de saída da VCN do ponto final privado da instância do Autonomous Database. Consulte Segurança Avançada para Conexões de Saída com Pontos Finais Privados para obter mais informações.
-
UTL_SMTP
ErroMensagem de Erro Possível Causa ORA-29261: Bad argument
As credenciais informadas são inválidas ou desativadas ou o usuário não tem privilégios suficientes na credencial.
Consulte UTL_SMTP em Referência de Tipos e Pacotes PL/SQL para obter mais informações.
UTL_TCP Observações do Pacote PL/SQL
Fornece observações para o pacote UTL_TCP
:
-
O endereço IP não é permitido no nome do host.
-
As únicas portas permitidas são: 443 (HTTP) 25 e 587 (SMTP).
-
Para a porta 443, somente URLs HTTPS são permitidos.
-
Os argumentos
WALLET_PATH
eWALLET_PASSWORD
do procedimentoOPEN_CONNECTION
são ignorados. O valor padrão da propriedadeWALLET_PATH
eWALLET_PASSWORD
é definido com a wallet usada porUTL_HTTP
eDBMS_CLOUD
para fazer solicitações web de saída no Autonomous Database. -
O SSL/TLS é obrigatório a toda comunicação que ocorre por meio de conexões TCP/IP.
-
Quando a instância do Autonomous Database estiver configurada com um ponto final privado, defina o parâmetro de banco de dados
ROUTE_OUTBOUND_CONNECTIONS
como 'PRIVATE_ENDPOINT
' para especificar que todas as conexõesUTL_TCP
de saída estejam sujeitas às regras de saída da VCN do ponto final privado da instância do Autonomous Database. Consulte Segurança Avançada para Conexões de Saída com Pontos Finais Privados para obter mais informações.
Consulte UTL_TCP em Referência de Tipos e Pacotes PL/SQL para obter mais informações.
Tópico principal: Observações para Usuários que Migram de Outros Bancos de Dados Oracle