

# Conexión a una instancia de base de datos de Oracle
<a name="USER_ConnectToOracleInstance"></a>

Después de que Amazon RDS aprovisione su instancia de base de datos Oracle, puede usar cualquier aplicación cliente de SQL estándar para iniciar sesión en la instancia de base de datos. Como RDS es un servicio administrado, no puede iniciar sesión como SYS o SYSTEM. Para obtener más información, consulte [Usuarios y privilegios de RDS para Oracle](Oracle.Concepts.Privileges.md).

En este tema, aprenderá a usar Oracle SQL Developer o SQL\$1Plus para conectarse a una instancia de base de datos de RDS para Oracle. Para ver un ejemplo que le enseña los procesos para crear y conectarse a una instancia de base de datos de muestra, consulte [Creación y conexión a una instancia de base de datos de Oracle](CHAP_GettingStarted.CreatingConnecting.Oracle.md). 

**Topics**
+ [Búsqueda del punto de conexión de la instancia de base de datos de RDS para Oracle](USER_Endpoint.md)
+ [Conexión a la instancia de base de datos mediante Oracle SQL Developer](USER_ConnectToOracleInstance.SQLDeveloper.md)
+ [Conexión a la instancia de base de datos mediante SQL\$1Plus](USER_ConnectToOracleInstance.SQLPlus.md)
+ [Consideraciones para grupos de seguridad](USER_ConnectToOracleInstance.Security.md)
+ [Consideraciones para la arquitectura de procesos](USER_ConnectToOracleInstance.SharedServer.md)
+ [Solución de problemas de conexiones a la instancia de base de datos de Oracle](USER_ConnectToOracleInstance.Troubleshooting.md)
+ [Modificación de propiedades de conexión utilizando parámetros sqlnet.ora](USER_ModifyInstance.Oracle.sqlnet.md)

# Búsqueda del punto de conexión de la instancia de base de datos de RDS para Oracle
<a name="USER_Endpoint"></a>

Cada instancia de base de datos de Amazon RDS contiene un punto de enlace y cada punto de enlace contiene el nombre DNS y el número de puerto para la instancia de base de datos. Para conectarse a su instancia de base de datos mediante una aplicación cliente SQL, necesita el nombre DNS y el número de puerto para la instancia de base de datos. 

Puede encontrar los puntos de enlace para una instancia de base de datos mediante la consola de Amazon RDS o la AWS CLI.

**nota**  
Si está utilizando autenticación Kerberos, consulte [Conexión a Oracle con autenticación Kerberos](oracle-kerberos-connecting.md).

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

**Para buscar el punto de enlace mediante la consola**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En la esquina superior derecha de la consola, elija la AWS región de la instancia de base de datos. 

1. Busque el nombre DNS y el número de puerto para su instancia de base de datos. 

   1. Elija **Databases (Bases de datos)** para ver una lista de las instancias de base de datos. 

   1. Seleccione el nombre de la instancia de base de datos Oracle para mostrar los detalles de la instancia. 

   1. En la pestaña **Connectivity & security (Conectividad y seguridad)**, copie el punto de enlace. También anote el número de puerto. Necesita el punto de enlace y el número de puerto para conectarse a la instancia de base de datos.  
![\[Punto de enlace y puerto de la instancia de base de datos\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/OracleConnect1.png)

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

Para crear un punto de enlace para una instancia de base de datos de Oracle mediante la AWS CLI, llame al comando [describe-db-instances](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-instances.html). 

**Example Para buscar el punto de enlace mediante la AWS CLI**  

```
1. aws rds describe-db-instances
```
Busque `Endpoint` en la salida para encontrar el nombre DNS y el número de puerto para la instancia de base de datos. La línea `Address` en la salida contiene el nombre DNS. Véase a continuación un ejemplo de la salida del punto de enlace JSON.  

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

**nota**  
La salida puede contener información acerca de varias instancias de base de datos.

# Conexión a la instancia de base de datos mediante Oracle SQL Developer
<a name="USER_ConnectToOracleInstance.SQLDeveloper"></a>

En este procedimiento, puede conectarse a la instancia de base de datos mediante Oracle SQL Developer. Para descargar una versión independiente de esta utilidad, consulte la página [Oracle SQL Developer Downloads](https://www.oracle.com/tools/downloads/sqldev-downloads.html).

Para conectarse a una instancia de base de datos, necesita su nombre DNS y el número de puerto. Para obtener información sobre cómo buscar el nombre DNS y el número de puerto para una instancia de base de datos, consulte [Búsqueda del punto de conexión de la instancia de base de datos de RDS para Oracle](USER_Endpoint.md).

**Para conectarse a una instancia de base de datos mediante SQL Developer**

1. Inicie Oracle SQL Developer.

1. En la pestaña **Connections**, seleccione el icono **add (\$1)**.  
![\[Oracle SQL Developer con el icono de agregar resaltado\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-sqldev-plus.png)

1. En el cuadro de diálogo **New/Select Database Connection**, proporcione la información de la instancia de base de datos:
   + En **Connection Name (Nombre de la conexión)**, escriba un nombre que describa la conexión, como `Oracle-RDS`.
   + En **Username (Nombre de usuario)**, escriba el nombre del administrador de base de datos para la instancia de base de datos.
   + En **Password (Contraseña)**, escriba la contraseña del administrador de base de datos.
   + En **Hostname (Nombre del host)**, escriba el nombre DNS de la instancia de base de datos.
   + En **Port (Puerto)**, escriba el número de puerto.
   + Para **SID**, introduzca el nombre de la base de datos. Puede encontrar el nombre de la base de datos en la pestaña **Configuration** (Configuración) de la página de detalles de la base de datos.

   El cuadro de diálogo completo debería tener un aspecto similar al siguiente.  
![\[Creación de una nueva conexión en Oracle SQL Developer\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-sqldev-newcon.png)

1. Elija **Connect**.

1. Ahora, puede comenzar a crear sus propias bases de datos y realizar consultas en la instancia de base de datos y bases de datos como siempre. Para ejecutar una consulta de prueba en la instancia de base de datos, haga lo siguiente:

   1. En la pestaña **Worksheet (Hoja de trabajo)** de su conexión, escriba la siguiente consulta SQL.

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

   1. Seleccione el icono **execute (ejecutar)** para ejecutar la consulta.  
![\[Ejecución de una consulta en Oracle SQL Developer mediante el icono de ejecutar\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-sqldev-run.png)

      SQL Developer devuelve el nombre de base de datos.  
![\[Resultados de la consulta en Oracle SQL Developer\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/oracle-sqldev-results.png)

# Conexión a la instancia de base de datos mediante SQL\$1Plus
<a name="USER_ConnectToOracleInstance.SQLPlus"></a>

Puede usar una utilidad como SQL\$1Plus para conectarse a una instancia de base de datos de Amazon RDS que ejecuta Oracle. Para descargar Oracle Instant Client, que incluye una versión independiente de SQL\$1Plus, consulte [Oracle Instant Client Downloads](https://www.oracle.com/database/technologies/instant-client/downloads.html). 

Para conectarse a una instancia de base de datos, necesita su nombre DNS y el número de puerto. Para obtener información sobre cómo buscar el nombre DNS y el número de puerto para una instancia de base de datos, consulte [Búsqueda del punto de conexión de la instancia de base de datos de RDS para Oracle](USER_Endpoint.md).

**Example Para conectarse a una instancia de base de datos de Oracle mediante SQL\$1Plus**  
En los siguientes ejemplos, sustituya el nombre de usuario de su administrador de instancia de base de datos. Además, sustituya el nombre de DNS de su instancia de base de datos y, a continuación, incluya el número de puerto y el SID de Oracle. El valor del SID es el nombre de la base de datos de la instancia de base de datos que especificó cuándo creó la instancia de base de datos y no el nombre de la instancia de base de datos.   
Para Linux, macOS o:Unix  

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

```
1. sqlplus user_name@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=dns_name)(PORT=port))(CONNECT_DATA=(SID=database_name)))
```
Debería ver un resultado similar a este.  

```
SQL*Plus: Release 12.1.0.2.0 Production on Mon Aug 21 09:42:20 2017
```
Tras introducir la contraseña para el usuario, aparece la pregunta de SQL.  

```
SQL>
```

**nota**  
La cadena de conexión de formato más corto (EZ Connect), como `sqlplus USER/PASSWORD@longer-than-63-chars-rds-endpoint-here:1521/database-identifier`, podría tener un límite de máximo caracteres, así que le recomendamos que no la use para conectarse.

# Consideraciones para grupos de seguridad
<a name="USER_ConnectToOracleInstance.Security"></a>

Para poder conectarse a la instancia de base de datos, esta debe estar asociada a un grupo de seguridad que contenga las direcciones IP y la configuración de red necesarias. La instancia de base de datos puede utilizar el grupo de seguridad predeterminado. Si se asignó un grupo de seguridad no configurado predeterminado cuando se creó la instancia de base de datos, el firewall evitará las conexiones. Para obtener información acerca de la creación de grupos de seguridad nuevos, consulte [Control de acceso con grupos de seguridad](Overview.RDSSecurityGroups.md). 

Después de crear el nuevo grupo de seguridad, modifique la instancia de base de datos para asociarla al grupo. Para obtener más información, consulte [Modificación de una instancia de base de datos de Amazon RDS](Overview.DBInstance.Modifying.md). 

Puede mejorar la seguridad utilizando SSL para cifrar conexiones a su instancia de base de datos. Para obtener más información, consulte [Capa de conexión segura de Oracle](Appendix.Oracle.Options.SSL.md). 

# Consideraciones para la arquitectura de procesos
<a name="USER_ConnectToOracleInstance.SharedServer"></a>

Los procesos del servidor se encargan de las conexiones del usuario a una instancia de base de datos de Oracle. De manera predeterminada, los procesos del servidor se encargan de las conexiones del usuario a una instancia de base de datos de Oracle. Con los procesos del servidor dedicados, cada proceso del servidor presta servicio a un solo proceso del usuario. Si lo prefiere, puede configurar procesos del servidor compartidos. Con los procesos del servidor compartidos, cada proceso del servidor presta servicio a varios procesos del usuario.

Puede considerar la posibilidad de usar los procesos del servidor compartidos cuando un número elevado de sesiones del usuario esté usando demasiada memoria en el servidor. También puede considerar dicha posibilidad, cuando las sesiones se conectan y desconectan con frecuencia dando como resultado problemas de desempeño. Asimismo, el uso de los procesos del servidor compartidos implica ciertos inconvenientes. Por ejemplo, puede agotar los recursos de CPU y resulta más complicado a la hora de configurarse y administrarse.

Para obtener más información acerca de los procesos del servidor dedicados y compartidos, consulte [About Dedicated and Shared Server Processes](https://docs.oracle.com/database/121/ADMIN/manproc.htm#ADMIN11166) en la documentación de Oracle. Para obtener más información acerca de la configuración de los procesos de servidor compartidos en una instancia de base de datos de RDS for Oracle, consulte [¿Cómo configuro Amazon RDS for Oracle Database para trabajar con servidores compartidos?](https://aws.amazon.com/premiumsupport/knowledge-center/oracle-db-shared/) en el Knowledge Center.

# Solución de problemas de conexiones a la instancia de base de datos de Oracle
<a name="USER_ConnectToOracleInstance.Troubleshooting"></a>

A continuación, aparecen problemas que pueden aparecer al tratar de conectarse a la instancia de base de datos de Oracle. 


****  

| Problema | Sugerencias para la solución de problemas | 
| --- | --- | 
|  No es posible conectarse a su instancia de base de datos.   |  En el caso de una instancia de base de datos recién creada, esta tendrá el estado **creating** hasta que esté lista para el uso. Cuando el estado cambie a **available**, podrá conectarse a la instancia de base de datos. Dependiendo de la clase de instancia de base de datos y de la cantidad de almacenamiento, es posible que la nueva instancia de base de datos tarde hasta 20 minutos en estar disponible.   | 
|  No es posible conectarse a su instancia de base de datos.   |  Si no puede enviar o recibir comunicaciones a través del puerto que especificó al crear la instancia de base de datos, no puede conectarse a ella. Consulte al administrador de red para comprobar que el puerto que especificó para su instancia de base de datos permite comunicación de entrada y salida.   | 
|  No es posible conectarse a su instancia de base de datos.   |  Las reglas de acceso impuestas por el firewall local y las direcciones IP a las que autorizó el acceso a la instancia de base de datos en el grupo de seguridad para la instancia de base de datos podrían no coincidir. El problema muy probablemente se encuentra en las reglas entrantes o salientes de su firewall. Puede añadir o editar una regla de entrada en el grupo de seguridad. Para **Source (Origen)**, elija **My IP (Mi IP)**. Esto permite el acceso a la instancia de base de datos desde la dirección IP detectada en su navegador. Para obtener más información, consulte [VPC de Amazon y Amazon RDS](USER_VPC.md). Para obtener más información acerca de los grupos de seguridad, consulte [Control de acceso con grupos de seguridad](Overview.RDSSecurityGroups.md).  Si desea conocer el proceso de configuración de reglas para su grupo de seguridad, consulte [Tutorial: Creación de una VPC para utilizarla con una instancia de base de datos (solo IPv4)](CHAP_Tutorials.WebServerDB.CreateVPC.md).   | 
|  **Error de Connect porque el anfitrión o el objeto de destino no existe: Oracle, Error: ORA-12545 **   |  Asegúrese de especificar correctamente el nombre del servidor y el número de puerto. En **Server name (Nombre del servidor)**, escriba el nombre DNS desde la consola.  Para obtener información sobre cómo buscar el nombre DNS y el número de puerto para una instancia de base de datos, consulte [Búsqueda del punto de conexión de la instancia de base de datos de RDS para Oracle](USER_Endpoint.md).  | 
|  **Nombre de usuario/contraseña no válidos; conexión denegada: Oracle, Error: ORA-01017**   |  Ha podido alcanzar la instancia de base de datos, pero se rechazó la conexión. Esto suele deberse a que se ha proporcionado un nombre de usuario o contraseña incorrectos. Compruebe el nombre de usuario y la contraseña y, a continuación, vuelva a intentarlo.   | 
|  **TNS:listener does not currently know of SID given in connect descriptor - Oracle, ERROR: ORA-12505 (TNS:listener no conoce actualmente el SID indicado en el descriptor de conexión - Oracle, ERROR: ORA-12505**   |  Asegúrese de que se ha ingresado el SID correcto. El SID es el mismo que el nombre de su base de datos. Busque el nombre de la base de datos en la pestaña **Configuration** (Configuración) de la página **Databases** (Bases de datos) de la instancia. También puede encontrar el nombre de la base de datos utilizando la AWS CLI:  <pre>aws rds describe-db-instances --query 'DBInstances[*].[DBInstanceIdentifier,DBName]' --output text</pre>  | 

Para obtener más información sobre problemas de conexión, consulte [No puede conectarse a la instancia de base de datos de Amazon RDS](CHAP_Troubleshooting.md#CHAP_Troubleshooting.Connecting).

# Modificación de propiedades de conexión utilizando parámetros sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet"></a>

El archivo sqlnet.ora incluye parámetros que configuran características de Oracle Net en servidores de base de datos y clientes de Oracle. Utilizando los parámetros en el archivo sqlnet.ora, puede modificar propiedades de conexiones dentro y fuera de la base de datos. 

Para obtener más información acerca de porqué debería configurar los parámetros sqlnet.ora, consulte [Configuring Profile Parameters](https://docs.oracle.com/database/121/NETAG/profile.htm#NETAG009) en la documentación de Oracle.

## Configuración de parámetros sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet.Setting"></a>

Los grupos de parámetros de Amazon RDS for Oracle incluyen un subconjunto de parámetros sqlnet.ora. Los configura de la misma manera que configura otros parámetros de Oracle. El prefijo `sqlnetora.` identifica qué parámetros son parámetros sqlnet.ora. Por ejemplo, en un grupo de parámetros de Oracle en Amazon RDS, el parámetro `default_sdu_size` de sqlnet.ora es `sqlnetora.default_sdu_size`.

Para obtener información acerca de cómo administrar grupos de parámetros y configurar valores de parámetros, consulte [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md).

## Parámetros sqlnet.ora admitidos
<a name="USER_ModifyInstance.Oracle.sqlnet.Supported"></a>

Amazon RDS admite los siguientes parámetros sqlnet.ora. Los cambios en parámetros sqlnet.ora dinámicos surten efecto de inmediato.


****  

| Parámetro | Valores válidos | Estático/dinámico | Descripción | 
| --- | --- | --- | --- | 
|  `sqlnetora.default_sdu_size`  |  `512` De a `2097152`   |  Dinámico  |  El tamaño de la unidad de datos de sesión (SDU), en bytes.  La SDU es la cantidad de datos que se coloca en un búfer y se envía a la red a la vez.  | 
|  `sqlnetora.diag_adr_enabled`  |  `ON`, `OFF`   |  Dinámico  |  Un valor que habilita o inhabilita el rastreo de Repositorio de diagnóstico automático (ADR).  `ON` especifica qué rastreo de archivo ADR se utiliza. `OFF` especifica que se utiliza el rastreo de archivo no ADR.  | 
|  `sqlnetora.recv_buf_size`  |  `8192` De a `268435456`   |  Dinámico  |  El límite de espacio de búfer para operaciones de recepción de sesiones, admitido por los protocolos TCP/IP, TCP/IP con SSL y SDP.   | 
|  `sqlnetora.send_buf_size`  |  `8192` De a `268435456`   |  Dinámico  |  El límite de espacio de búfer para operaciones de envío de sesiones, admitido por los protocolos TCP/IP, TCP/IP con SSL y SDP.   | 
|  `sqlnetora.sqlnet.allowed_logon_version_client`  |  `8`, `10`, `11`, `12`   |  Dinámico  |  Se permite la versión del protocolo de autenticación mínima para los clientes y los servidores que actúan como clientes, para establecer una conexión con instancias de base de datos de Oracle.  | 
|  `sqlnetora.sqlnet.allowed_logon_version_server`  |  `8`, `9`, `10`, `11`, `12`, `12a`   |  Dinámico  |  Se permite la versión del protocolo de autenticación mínima para establecer una conexión con instancias de base de datos de Oracle.  | 
|  `sqlnetora.sqlnet.expire_time`  |  `0` De a `1440`   |  Dinámico  |  Intervalo de tiempo, en minutos, para enviar una comprobación de estado para verificar que las conexiones cliente-servidor están activas.   | 
|  `sqlnetora.sqlnet.inbound_connect_timeout`  |  `0` o `10` a `7200`   |  Dinámico  |  Tiempo, en segundos, para que un cliente conecte con el servidor de base de datos y proporcione la información de autenticación necesaria.   | 
|  `sqlnetora.sqlnet.outbound_connect_timeout`  |  `0` o `10` a `7200`   |  Dinámico  |  Tiempo, en segundos, para que un cliente establezca una conexión de Oracle Net con la instancia de base de datos.   | 
|  `sqlnetora.sqlnet.recv_timeout`  |  `0` o `10` a `7200`   |  Dinámico  |  Tiempo, en segundos, que un servidor de base de datos espera los datos del cliente después de establecer una conexión.   | 
|  `sqlnetora.sqlnet.send_timeout`  |  `0` o `10` a `7200`   |  Dinámico  |  Tiempo, en segundos, para que un servidor de base de datos complete una operación de envío a los clientes después de establecer una conexión.   | 
|  `sqlnetora.tcp.connect_timeout`  |  `0` o `10` a `7200`   |  Dinámico  |  Tiempo, en segundos, para que un cliente establezca una conexión TCP al servidor de base de datos.   | 
|  `sqlnetora.trace_level_server`  |  `0`, `4`, `10`, `16`, `OFF`, `USER`, `ADMIN`, `SUPPORT`  |  Dinámico  | Para un rastreo no ADR, activa el rastreo del servidor a un nivel especificado o lo desactiva. | 

El valor predeterminado para cada parámetro sqlnet.ora admitido es el valor predeterminado de Oracle Dabatase para la versión.

## Ver parámetros sqlnet.ora
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing"></a>

Puede ver parámetros sqlnet.ora y su configuración utilizando la Consola de administración de AWS, la AWS CLI o un cliente SQL.

### Ver parámetros sqlnet.ora utilizando la consola
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.Console"></a>

Para obtener información acerca de cómo ver parámetros en un grupo de parámetros, consulte [Grupos de parámetros para Amazon RDS](USER_WorkingWithParamGroups.md).

En grupos de parámetros de Oracle, el prefijo `sqlnetora.` identifica qué parámetros son parámetros sqlnet.ora.

### Ver parámetros sqlnet.ora utilizando la AWS CLI
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.CLI"></a>

Para ver los parámetros sqlnet.ora que se configuraron en un grupo de parámetros de Oracle, utilice el comando [describe-db-parameters](https://docs.aws.amazon.com/cli/latest/reference/rds/describe-db-parameters.html) de la AWS CLI.

Para ver todos los parámetros sqlnet.ora para una instancia de base de datos de Oracle, llame al comando [download-db-log-file-portion](https://docs.aws.amazon.com/cli/latest/reference/rds/download-db-log-file-portion.html) de la AWS CLI. Especifique el identificador de instancias de bases de datos, el nombre de archivo de registro y el tipo de salida. 

**Example**  
El código siguiente muestra todos los parámetros sqlnet.ora para `mydbinstance`.   
Para Linux, macOS o 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
```

### Ver parámetros sqlnet.ora utilizando un cliente SQL
<a name="USER_ModifyInstance.Oracle.sqlnet.Viewing.SQL"></a>

Después de conectar a la instancia de base de datos de Oracle en un cliente SQL, la siguiente consulta muestra los parámetros sqlnet.ora.

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

Para obtener información acerca de la conexión a su instancia de base de datos de Oracle en un cliente SQL, consulte [Conexión a una instancia de base de datos de Oracle](USER_ConnectToOracleInstance.md).