

# Conectar-se a uma instância de banco de dados Oracle
<a name="USER_ConnectToOracleInstance"></a>

Depois que o Amazon RDS provisiona a instância de banco de dados do Oracle, você pode usar qualquer aplicação cliente padrão SQL para fazer login na instância de banco de dados. Como o RDS é um serviço gerenciado, você não pode fazer login como SYS nem SYSTEM. Para ter mais informações, consulte [Usuários e privilégios do RDS para Oracle](Oracle.Concepts.Privileges.md).

Neste tópico, você aprenderá a usar o Oracle SQL Developer ou o SQL\$1Plus para se conectar a uma instância de banco de dados do RDS para Oracle. Consulte e veja um exemplo do processo de criação e conexão com uma instância de banco de dados de amostr [Criar uma instância de banco de dados Oracle e conectar-se a ela](CHAP_GettingStarted.CreatingConnecting.Oracle.md). 

**Topics**
+ [

# Encontrar o endpoint da instância de banco de dados do RDS para Oracle
](USER_Endpoint.md)
+ [

# Conectar-se à sua instância de banco de dados usando o Oracle SQL Developer
](USER_ConnectToOracleInstance.SQLDeveloper.md)
+ [

# Conectar-se à sua instância de banco de dados do Linux usando o SQL\$1Plus
](USER_ConnectToOracleInstance.SQLPlus.md)
+ [

# Considerações para grupos de segurança
](USER_ConnectToOracleInstance.Security.md)
+ [

# Considerações para arquitetura de processo
](USER_ConnectToOracleInstance.SharedServer.md)
+ [

# Solução de problema de conexão com a instância de banco de dados Oracle
](USER_ConnectToOracleInstance.Troubleshooting.md)
+ [

# Modificação das propriedades de conexão usando parâmetros sqlnet.ora
](USER_ModifyInstance.Oracle.sqlnet.md)

# Encontrar o endpoint da instância de banco de dados do RDS para Oracle
<a name="USER_Endpoint"></a>

Cada instância de banco de dados do Amazon RDS tem um endpoint, e cada ponto final possui o nome DNS e o número da porta para a instância de banco de dados. Para se conectar à sua instância de banco de dados usando um aplicativo cliente SQL, você precisa do nome DNS e do número da porta para sua instância de banco de dados. 

Você pode encontrar o endpoint de uma instância de banco de dados usando o console do Amazon RDS ou a AWS CLI.

**nota**  
Se você estiver usando a autenticação Kerberos, consulte [Conectar-se ao Oracle com a autenticação Kerberos](oracle-kerberos-connecting.md).

## Console
<a name="USER_Endpoint.Console"></a>

**Para localizar o endpoint usando o console**

1. Faça login no Console de gerenciamento da AWS e abra o console do Amazon RDS em [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. No canto superior direito do console do, escolha a região AWS para a instância de banco de dados. 

1. Encontre o nome DNS e o número da porta da instância de banco de dados. 

   1. Escolha **Databases (Bancos de dados)** para exibir a lista das instâncias de banco de dados. 

   1. Escolha o nome da instância de banco de dados Oracle para exibir os detalhes da instância. 

   1. Na guia **Connectivity & security (Conectividade e segurança)**, copie o endpoint. Além disso, anote o número da porta. Você precisará do endpoint e do número da porta para conectar-se à instância de banco de dados.  
![\[Localizar o endpoint e a porta da instância de banco de dados\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/OracleConnect1.png)

## AWS CLI
<a name="USER_Endpoint.CLI"></a>

Para encontrar o endpoint de uma instância de banco de dados Oracle usando a AWS CLI, chame o comando [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). 

**Example Para localizar o endpoint usando a AWS CLI**  

```
1. aws rds describe-db-instances
```
Procure o `Endpoint` na saída para encontrar o nome DNS e o número da porta da sua instância de banco de dados. A linha `Address` na saída contém o nome DNS. Este é um exemplo da saída de endpoint JSON.  

```
"Endpoint": {
    "HostedZoneId": "Z1PVIF0B656C1W",
    "Port": 3306,
    "Address": "myinstance.123456789012.us-west-2.rds.amazonaws.com"
},
```

**nota**  
A saída pode conter informações de várias instâncias de banco de dados.

# Conectar-se à sua instância de banco de dados usando o Oracle SQL Developer
<a name="USER_ConnectToOracleInstance.SQLDeveloper"></a>

Neste procedimento, você se conectará à sua instância de banco de dados usando o Oracle SQL Developer. Para fazer download de uma versão independente desse utilitário, consulte a [página de downloads do Oracle SQL Developer](https://www.oracle.com/tools/downloads/sqldev-downloads.html).

Para se conectar à sua instância de banco de dados, você precisa do nome DNS e do número da porta. Para obter informações sobre como encontrar o nome DNS e o número da porta de uma instância de banco de dados, consulte [Encontrar o endpoint da instância de banco de dados do RDS para Oracle](USER_Endpoint.md).

**Como conectar-se a uma instância de banco de dados usando o SQL Developer**

1. Inicie o Oracle SQL Developer.

1. Na guia **Connections (Conexões)**, escolha o ícone **add (\$1) (adicionar (\$1))**.  
![\[Oracle SQL Developer com ícone de adição em destaque\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/oracle-sqldev-plus.png)

1. Na caixa de diálogo **New/Select Database Connection (Nova/selecionar conexão de banco de dados)**, forneça as informações da sua instância de banco de dados:
   + Em **Connection Name (Nome da conexão)**, digite um nome que descreva a conexão, como `Oracle-RDS`.
   + Em **Username (Nome do usuário)**, digite o nome do administrador do banco de dados da instância de banco de dados.
   + Em **Password (Senha)**, digite a senha do administrador do banco de dados.
   + Em **Hostname (Nome do host)**, digite o nome DNS da instância de banco de dados.
   + Em **Port (Porta)**, digite o número da porta.
   + Em **SID**, insira o nome do banco de dados. Você pode encontrar o nome do banco de dados na guia **Configuration** (Configuração) da página de detalhes do banco de dados.

   A caixa de diálogo preenchida deve ser semelhante à seguinte.  
![\[Criar uma nova conexão no Oracle SQL Developer\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/oracle-sqldev-newcon.png)

1. Selecione **Conectar**.

1. Agora, você pode começar a criar seus próprios bancos de dados e executar consultas em instâncias de banco de dados e bancos de dados como de costume. Para executar uma consulta de teste na sua instância de banco de dados, faça o seguinte:

   1. Na guia **Worksheet (Planilha)** da conexão, digite a consulta SQL a seguir.

      ```
      SELECT NAME FROM V$DATABASE;
      ```

   1. Escolha o ícone **execute (execução)** para executar a consulta.  
![\[Executar uma consulta no Oracle SQL Developer usando o ícone de execução\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/oracle-sqldev-run.png)

      O SQL Developer retorna o nome do banco de dados.  
![\[Resultados da consulta no Oracle SQL Developer\]](http://docs.aws.amazon.com/pt_br/AmazonRDS/latest/UserGuide/images/oracle-sqldev-results.png)

# Conectar-se à sua instância de banco de dados do Linux usando o SQL\$1Plus
<a name="USER_ConnectToOracleInstance.SQLPlus"></a>

Você pode usar um utilitário como SQL\$1Plus para se conectar a uma instância de banco de dados do Amazon RDS executando o Oracle. Para fazer o download do Oracle Instant Client, que inclui uma versão independente do SQL\$1Plus, consulte [ Downloads do Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client/downloads.html). 

Para se conectar à sua instância de banco de dados, você precisa do nome DNS e do número da porta. Para obter informações sobre como encontrar o nome DNS e o número da porta de uma instância de banco de dados, consulte [Encontrar o endpoint da instância de banco de dados do RDS para Oracle](USER_Endpoint.md).

**Example Para conectar-se a uma instância de banco de dados Oracle usando o SQL\$1Plus**  
Nos exemplos a seguir, substitua o nome de usuário do administrador de sua instância de banco de dados. Além disso, substitua o nome do DNS da instância de banco de dados e inclua o número da porta e o Oracle SID. O valor de SID é o nome do banco de dados da instância de banco de dados que você especificou quando a criou, e não o nome da instância de banco de dados.   
Para Linux, macOS ou Unix:  

```
1. sqlplus 'user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))'
```
Para Windows:  

```
1. sqlplus user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))
```
Você deve ver saída semelhante ao seguinte:  

```
SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 21 09:42:20 2017
```
Depois que você inserir a senha de usuário, o prompt do SQL será exibido.  

```
SQL>
```

**nota**  
Visto que a string de conexão de formato mais curto (EZ Connect), como `sqlplus USER/PASSWORD@longer-than-63-chars-rds-endpoint-here:1521/database-identifier`, pode encontrar um limite máximo de caracteres, recomendamos que não a use para conexão.

# Considerações para grupos de segurança
<a name="USER_ConnectToOracleInstance.Security"></a>

Para se conectar à sua instância de banco de dados, ela deve estar associada a um grupo de segurança que contenha os endereços IP e a configuração de rede que você usa para acessá-la. Sua instância de banco de dados pode usar o grupo de segurança padrão. Se você atribuiu um grupo de segurança padrão não configurado quando criou a instância de banco de dados, o firewall dessa instância impedirá conexões. Para obter informações sobre como criar um novo security group, consulte [Controlar acesso com grupos de segurança](Overview.RDSSecurityGroups.md). 

Depois de criar o novo security group, você modifica sua instância de banco de dados para associá-la a esse security group. Para obter mais informações, consulte [Modificar uma instância de banco de dados do Amazon RDS](Overview.DBInstance.Modifying.md). 

Você pode aprimorar a segurança usando o SSL para criptografar conexões com sua a instância de banco de dados. Para mais informações, consulte [Oracle Secure Sockets Layer](Appendix.Oracle.Options.SSL.md). 

# Considerações para arquitetura de processo
<a name="USER_ConnectToOracleInstance.SharedServer"></a>

Os processos do servidor lidam com as conexões do usuário em uma instância de banco de dados Oracle. Por padrão, a instância de banco de dados Oracle usa processos de servidores dedicados. Com os processos de servidores dedicados, cada processo de servidor lida somente com um processo de usuário. Se preferir, você pode configurar processos de servidores compartilhados. Com os processos de servidores compartilhados, cada processo de servidor lida com vários processos de usuário.

Você pode considerar processos de servidores compartilhados quando uma quantidade elevada de sessões de usuários estiver consumindo muita memória no servidor. Você também pode considerar os processos do servidores compartilhados quando as sessões se conectarem e desconectarem com muita frequência, resultando em problemas de performance. Há também desvantagens na utilização de processos de servidores compartilhados. Por exemplo, eles podem prejudicar os recursos da CPU e são mais complexos para configurar e administrar.

Para obter mais informações sobre processos de servidores dedicados e compartilhados, consulte [Sobre os processos de servidores dedicados e compartilhados](https://docs.oracle.com/database/121/ADMIN/manproc.htm#ADMIN11166) na documentação do Oracle. Para obter mais informações sobre como configurar processos de servidores compartilhados em uma instância de banco de dados Oracle, consulte [How do I configure Amazon RDS for Oracle database to work with shared servers?](https://aws.amazon.com/premiumsupport/knowledge-center/oracle-db-shared/) na Central de Conhecimento.

# Solução de problema de conexão com a instância de banco de dados Oracle
<a name="USER_ConnectToOracleInstance.Troubleshooting"></a>

Veja a seguir os problemas que você pode encontrar ao tentar se conectar à sua instância de banco de dados Oracle. 


****  

| Problema | Sugestões de solução de problemas | 
| --- | --- | 
|  Não é possível conectar-se à sua instância de banco de dados.   |  Uma instância de banco de dados recém-criada fica com o status **creating (criando)** até que ela esteja pronta para uso. Quando o status muda para **available (disponível)**, você pode se conectar à instância de banco de dados. Dependendo da classe da instância de banco de dados e da quantidade de armazenamento, pode levar até 20 minutos para que a nova instância de banco de dados esteja disponível.   | 
|  Não é possível conectar-se à sua instância de banco de dados.   |  Se você não pode enviar ou receber comunicações através da porta que especificou quando criou a instância de banco de dados, não poderá se conectar à instância de banco de dados. Verifique com o administrador da rede para verificar se a porta que você especificou para a sua instância de banco de dados permite comunicação de entrada e saída.   | 
|  Não é possível conectar-se à sua instância de banco de dados.   |  As regras de acesso aplicadas pelo seu firewall local e os endereços IP autorizados para acessar sua instância de banco de dados no security group para a instância de banco de dados podem não corresponder. O problema está provavelmente com as regras de saída ou de entrada no seu firewall. É possível adicionar ou editar uma regra de entrada no grupo de segurança. Em **Source (Origem)**, selecione **My IP (Meu IP)**. Isso concede acesso à instância de banco de dados do endereço IP detectado no navegador. Para obter mais informações, consulte [Amazon VPC e Amazon RDS](USER_VPC.md). Para obter mais informações sobre security groups, consulte [Controlar acesso com grupos de segurança](Overview.RDSSecurityGroups.md).  Para orientação pelo processo de configuração de regras para o seu security group, consulte [Tutorial: Criar uma VPC para usar com uma instância de banco de dados (somente IPv4)](CHAP_Tutorials.WebServerDB.CreateVPC.md).   | 
|  **Connect failed because target host or object does not exist – Oracle, Error: ORA-12545 (A conexão falhou pois o host de destino ou o objeto não existe – Oracle, erro: ORA-12545 **   |  Verifique se você especificou o nome do servidor e o número da porta corretamente. Em **Server name (Nome do servidor)**, digite o nome DNS no console.  Para obter informações sobre como encontrar o nome DNS e o número da porta de uma instância de banco de dados, consulte [Encontrar o endpoint da instância de banco de dados do RDS para Oracle](USER_Endpoint.md).  | 
|  **Invalid username/password; logon denied – Oracle, Error: ORA-01017 (Nome de usuário/senha inválidos; login negado – Oracle, erro: ORA-01017**   |  Você conseguiu acessar a instância de banco de dados, mas a conexão foi recusada. Isso geralmente é causado pelo fornecimento de nome de usuário ou senha incorretos. Verifique o nome do usuário e a senha e tente novamente.   | 
|  **No momento, TNS:listener não conhece o SID fornecido no descritor de conexão - Oracle, ERRO: ORA-12505**   |  Certifique-se de que o SID correto esteja inserido. O SID equivale ao nome do seu banco de dados. Encontre o nome do banco de dados na guia **Configuration** (Configuração) da página **Databases** (Bancos de dados) para sua instância. Você também pode encontrar o nome do banco de dados usando a AWS CLI:  <pre>aws rds describe-db-instances --query 'DBInstances[*].[DBInstanceIdentifier,DBName]' --output text</pre>  | 

Para ter mais informações sobre problemas de conexão, consulte [Não é possível conectar-se à instância de banco de dados do Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting).

# Modificação das propriedades de conexão usando parâmetros sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet"></a>

O arquivo sqlnet.ora inclui os parâmetros que configuram os recursos do Oracle Net em servidores e clientes de banco de dados Oracle. Usando os parâmetros no arquivo sqlnet.ora, você pode modificar propriedades para conexões dentro e fora do banco de dados. 

Para obter mais informações sobre por que convém definir parâmetros do sqlnet.ora, consulte [Configurar parâmetros do perfil](https://docs.oracle.com/database/121/NETAG/profile.htm#NETAG009) na documentação da Oracle.

## Configurar parâmetros do sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet.Setting"></a>

Os grupos de parâmetros do Amazon RDS for Oracle incluem um subconjunto de parâmetros sqlnet.ora. Você os configura da mesma forma que configura outros parâmetros do Oracle. O prefixo `sqlnetora.` identifica quais parâmetros são parâmetros do sqlnet.ora. Por exemplo, em um parameter group Oracle no Amazon RDS, o parâmetro `default_sdu_size` do sqlnet.ora é `sqlnetora.default_sdu_size`.

Para obter informações sobre como gerenciar parameter groups e definir valores de parâmetros, consulte [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md).

## Parâmetros do sqlnet.ora compatíveis
<a name="USER_ModifyInstance.Oracle.sqlnet.Supported"></a>

O Amazon RDS oferece suporte aos seguintes parâmetros do sqlnet.ora. As alterações nos parâmetros dinâmicos do sqlnet.ora entram em vigor imediatamente.


****  

| Parâmetro | Valores válidos | Estático/dinâmico | Descrição | 
| --- | --- | --- | --- | 
|  `sqlnetora.default_sdu_size`  |  `512` para `2097152`   |  Dinâmico  |  O tamanho da unidade de dados da sessão (SDU), em bytes.  A SDU é a quantidade de dados que são armazenados em um buffer e enviados pela rede ao mesmo tempo.  | 
|  `sqlnetora.diag_adr_enabled`  |  `ON`, `OFF`   |  Dinâmico  |  Um valor que ativa e desativa o rastreamento do Repositório de Diagnóstico Automático (ADR).  `ON` especifica que é usado o rastreamento de arquivos de ADR. `OFF` especifica que é usado o rastreamento de arquivos que não são de ADR.  | 
|  `sqlnetora.recv_buf_size`  |  `8192` para `268435456`   |  Dinâmico  |  O limite de espaço de buffer para receber operações de sessões, compatíveis com os protocolos TCP/IP, TCP/IP com SSL e SDP.   | 
|  `sqlnetora.send_buf_size`  |  `8192` para `268435456`   |  Dinâmico  |  O limite de espaço de buffer para enviar operações de sessões, compatíveis com os protocolos TCP/IP, TCP/IP com SSL e SDP.   | 
|  `sqlnetora.sqlnet.allowed_logon_version_client`  |  `8`, `10`, `11`, `12`   |  Dinâmico  |  A versão mínima do protocolo de autenticação permite que clientes e servidores atuando como clientes estabeleçam uma conexão com instâncias de bancos de dados Oracle.  | 
|  `sqlnetora.sqlnet.allowed_logon_version_server`  |  `8`, `9`, `10`, `11`, `12`, `12a`   |  Dinâmico  |  A versão mínima do protocolo de autenticação permite estabelecer uma conexão com instâncias de bancos de dados Oracle.  | 
|  `sqlnetora.sqlnet.expire_time`  |  `0` para `1440`   |  Dinâmico  |  Intervalo de tempo, em minutos, para enviar uma verificação para conferir se as conexões cliente/servidor estão ativas.   | 
|  `sqlnetora.sqlnet.inbound_connect_timeout`  |  `0` ou `10` a `7200`   |  Dinâmico  |  Tempo, em segundos, para um cliente se conectar ao servidor de banco de dados e fornecer as informações de autenticação necessárias.   | 
|  `sqlnetora.sqlnet.outbound_connect_timeout`  |  `0` ou `10` a `7200`   |  Dinâmico  |  Tempo, em segundos, para um cliente estabelecer uma conexão do Oracle Net com a instância de banco de dados.   | 
|  `sqlnetora.sqlnet.recv_timeout`  |  `0` ou `10` a `7200`   |  Dinâmico  |  Tempo, em segundos, para um servidor de banco de dados aguardar os dados do cliente depois de estabelecer uma conexão.   | 
|  `sqlnetora.sqlnet.send_timeout`  |  `0` ou `10` a `7200`   |  Dinâmico  |  Tempo, em segundos, para um servidor de banco de dados concluir uma operação de envio para os clientes depois de estabelecer uma conexão.   | 
|  `sqlnetora.tcp.connect_timeout`  |  `0` ou `10` a `7200`   |  Dinâmico  |  Tempo, em segundos, para um cliente estabelecer uma conexão TCP com o servidor de banco de dados.   | 
|  `sqlnetora.trace_level_server`  |  `0`, `4`, `10`, `16`, `OFF`, `USER`, `ADMIN`, `SUPPORT`  |  Dinâmico  | Para rastreamento que não abrange arquivos de ADR, ativa o rastreamento do servidor em um nível especificado ou o desativa. | 

O valor padrão para cada parâmetro do sqlnet.ora compatível é o padrão do Oracle Database para a versão.

## Exibir parâmetros do sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing"></a>

Você pode exibir os parâmetros do sqlnet.ora e suas configurações usando o Console de gerenciamento da AWS, a AWS CLI ou um cliente SQL.

### Exibir parâmetros do sqlnet.ora usando o console
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.Console"></a>

Para obter informações sobre como exibir parâmetros em um parameter group, consulte [Grupos de parâmetros para Amazon RDS](USER_WorkingWithParamGroups.md).

Nos parameter groups do Oracle, o prefixo `sqlnetora.` identifica quais parâmetros são parâmetros do sqlnet.ora.

### Exibir parâmetros do sqlnet.ora usando a AWS CLI
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.CLI"></a>

Para exibir os parâmetros do sqlnet.ora que foram configurados em um parameter group do Oracle, use o comando [describe-db-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) da AWS CLI.

Para exibir todos os parâmetros do sqlnet.ora para uma instância de banco de dados Oracle, chame o comando [download-db-log-file-portion](https://docs.aws.amazon.com/cli/latest/reference/rds/download-db-log-file-portion.html) da AWS CLI. Especifique o DB instance identifier, o nome do arquivo de log e o tipo de saída. 

**Example**  
O código a seguir lista todos os parâmetros do sqlnet.ora par `mydbinstance`.   
Para Linux, macOS ou Unix:  

```
aws rds download-db-log-file-portion \
    --db-instance-identifier mydbinstance \
    --log-file-name trace/sqlnet-parameters \
    --output text
```
Para Windows:  

```
aws rds download-db-log-file-portion ^
    --db-instance-identifier mydbinstance ^
    --log-file-name trace/sqlnet-parameters ^
    --output text
```

### Exibir parâmetros do sqlnet.ora usando um cliente SQL
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.SQL"></a>

Depois de se conectar à instância de banco de dados Oracle em um cliente SQL, a consulta a seguir lista os parâmetros do sqlnet.ora.

```
1. SELECT * FROM TABLE
2.    (rdsadmin.rds_file_util.read_text_file(
3.         p_directory => 'BDUMP',
4.         p_filename  => 'sqlnet-parameters'));
```

Para obter informações sobre como se conectar a uma instância de banco de dados Oracle em um cliente SQL, consulte [Conectar-se a uma instância de banco de dados Oracle](USER_ConnectToOracleInstance.md).