Observações do Pacote PL/SQL para o Autonomous Database
Observações sobre os pacotes PL/SQL do Oracle Database no Autonomous Database.
Pacotes PL/SQL Não Disponíveis
-
DBMS_DEBUG_JDWP
-
DBMS_DEBUG_JDWP_CUSTOM
DBMS_LDAP Observações do Pacote PL/SQL
Fornece notas para o pacote DBMS_LDAP
:
-
Não é permitido especificar um endereço IP no nome do host.
-
A única porta permitida é 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 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.A seguir estão as notas de uso e exemplos desses subprogramas modificados:
-
Os subprogramas
SIMPLE_BIND_S
eBIND_S
modificados permitem que você informe objetos de credencial para definir a autenticação do servidor de diretórios. Os objetos de credencial 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 acessar as credenciais. A aprovação de 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.Consulte FUNCTION simple_bind_s e FUNCTION bind_s para obter mais informações.
-
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 CREATE_CREDENTIAL Procedures para obter mais informações.
Consulte Especificando Credenciais do 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 handle de sessão LDAP eLDAP_CRED
é o nome das credenciais. -
O
function bind_s
executa uma 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 handle de 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
noDBMS_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 um esquema de usuário diferente 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. Consulte Visão Geral de Sinônimos para obter mais informações.
-
-
O SSL/TLS é imposto para todas as comunicações que ocorrem entre o servidor LDAP e o Autonomous Database.
-
Quando sua instância do Autonomous Database estiver configurada com um ponto final privado, defina o parâmetro do banco de dados
ROUTE_OUTBOUND_CONNECTIONS
como 'PRIVATE_ENDPOINT
' para especificar que todas as conexões LDAP de saída estão sujeitas às regras de saída da VCN do ponto final privado da instância do Autonomous Database. Consulte Segurança Aprimorada 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
nesta API. Consulte Segurança Aprimorada para Conexões de Saída com Pontos Finais Privados para obter mais informações. -
DBMS_LDAP
ErroMensagem de Erro Causa Potencial ORA-31400: Missing or invalid scheduler credential
As credenciais especificadas são NULAS 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 notas 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.
DBMS_SCHEDULER Notas do Pacote
Fornece notas para o pacote DBMS_SCHEDULER
.
No Autonomous Database, o procedimento DBMS_SCHEDULER.CREATE_JOB
suporta os tipos de job PLSQL_BLOCK
e STORED_PROCEDURE
para o parâmetro job_type
.
Usando um job_type
não suportado, você pode ver mensagens como as seguintes:
ORA-27399: job type EXECUTABLE requires the CREATE EXTERNAL JOB privilege
ORA-27369: JOB OF TYPE EXECUTABLE FAILED WITH EXIT CODE: OPERATION NOT PERMITTED
Consulte Classes de Job Predefinidas com o Oracle Scheduler e DBMS_SCHEDULER para obter mais informações.
UTL_HTTP Observações do Pacote PL/SQL
Fornece notas 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, são permitidas conexõesHTTPS
eHTTP_PROXY
(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 ao 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 é 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 raiz e intermediários mais confiáveis. O Oracle Wallet é gerenciado centralmente. Você pode configurar o
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 o UTL_HTTP para obter mais informações. -
O procedimento
SET_AUTHENTICATION_FROM_WALLET
não é permitido. -
Os argumentos
WALLET_PATH
eWALLET_PASSWORD
para os procedimentosCREATE_REQUEST_CONTEXT
,REQUEST
eREQUEST_PIECES
são ignorados. -
O argumento
CREDENTIAL
do procedimentoSET_CREDENTIAL
é usado para passar 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 especificadas 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 um esquema de usuário diferente 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. Consulte Visão Geral de Sinônimos para obter mais informações. -
A configuração do Oracle Wallet não pode ser alterada. Todos os argumentos para o procedimento
SET_WALLET
são ignorados. -
Quando sua instância do Autonomous Database estiver configurada com um ponto final privado, defina o parâmetro do 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 Aprimorada 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 possíveis causas para essas mensagens de erro ao usar
UTL_HTTP
:Mensagem de Erro Causa Potencial ORA-12545: Connect failed because target host or object does not exist
O host ou 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) do 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 notas 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 notas 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 é permitido e-mail com um endereço IP no nome do host.
-
Os únicos portos permitidos 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 passar o objeto de objetos de credencial como uma entrada para o procedimento. Consulte Especificando Credenciais do Job do Scheduler para obter mais informações. -
As credenciais especificadas 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 um esquema de usuário diferente 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. Consulte Visão Geral de Sinônimos para obter mais informações. -
Quando sua instância do Autonomous Database estiver configurada com um ponto final privado, defina o parâmetro do 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 Aprimorada para Conexões de Saída com Pontos Finais Privados para obter mais informações. -
UTL_SMTP
ErroMensagem de Erro Causa Potencial 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 notas 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 como a wallet usada porUTL_HTTP
eDBMS_CLOUD
para fazer solicitações Web de saída no Autonomous Database. -
O SSL/TLS é aplicado a todas as comunicações que acontecem em conexões TCP/IP.
-
Quando sua instância do Autonomous Database estiver configurada com um ponto final privado, defina o parâmetro do 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 Aprimorada 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 de Usuários Migrando de Outros Bancos de Dados da Oracle