¿Cómo conectarse a una base de datos Oracle mediante SQL*Plus, Python y una interfaz gráfica (GUI)?

Oracle Database impulsa muchos sistemas empresariales. Esta guía explica sus conceptos básicos y proporciona pasos claros para conectarse mediante SQL*Plus, scripts de Python o una herramienta gráfica (GUI). Aprenda las mejores prácticas para un acceso seguro.

download-icon
Descarga gratuita
para VM, SO, BD, archivos, NAS, etc.
alejandro

Updated by Alejandro on 2026/07/08

Tabla de contenidos
  • ¿Qué es Oracle Database?

  • ¿Por qué necesita conectarse a Oracle Database?

  • Método 1: Conectarse a Oracle mediante SQL*Plus

  • Método 2: Conexión a Oracle mediante Python

  • Método 3: Conexión a bases de datos Oracle mediante SQL Developer

  • Proteja sus datos con la solución empresarial de copia de seguridad de Vinchin

  • Cómo conectarse a una base de datos Oracle: preguntas frecuentes

  • Conclusión

Conectarse a una base de datos Oracle es una habilidad fundamental para cualquier administrador de TI o desarrollador. Ya sea que esté ejecutando consultas, creando aplicaciones o gestionando copias de seguridad, necesita un método fiable para acceder a sus datos de Oracle. En esta guía, explicaremos qué es Oracle Database —incluyendo su arquitectura—, por qué las conexiones son fundamentales en las operaciones diarias y cómo conectarse mediante SQL*Plus, Python (oracledb) y SQL Developer.

¿Qué es Oracle Database?

Oracle Database es un potente sistema de gestión de bases de datos relacionales (SGBDR) utilizado por organizaciones de todo el mundo. Almacena los datos en tablas, admite consultas complejas mediante bloques de código SQL o PL/SQL, y ofrece funciones avanzadas en materia de seguridad, escalabilidad, alta disponibilidad y rendimiento. Sectores como el financiero y el sanitario confían en él gracias a su sólida gestión de transacciones y sus garantías de tiempo de actividad.

Descripción general de la arquitectura de Oracle

Antes de conectarse a una instancia de base de datos Oracle como administrador o desarrollador, es útil comprender los conceptos arquitectónicos clave:

  • Instancia frente a base de datos: Una instancia consta de estructuras de memoria (SGA) y procesos en segundo plano que gestionan el acceso; una base de datos hace referencia a los archivos físicos que almacenan los datos del usuario.

  • Arquitectura multitenant: Las versiones modernas admiten la multitenencia: una única base de datos contenedora (CDB) puede alojar múltiples bases de datos conectables (PDB). Cada PDB actúa como una base de datos lógica independiente, pero comparte recursos con la CDB.

  • Archivos críticos: Los archivos clave incluyen SPFILE (archivo de parámetros del servidor), CONTROLFILE, REDO LOGS y los archivos de datos, todos esenciales para las operaciones de inicio y apagado.

    Comprender estos conceptos básicos le ayudará a elegir el método de conexión adecuado, especialmente al trabajar en entornos que cuentan tanto con SIDs heredados como con nombres de servicio modernos asociados a configuraciones de CDB/PDB.

¿Por qué necesita conectarse a Oracle Database?

Conectarse a Oracle Database le permite interactuar directamente con el activo más valioso de su organización: los datos. Pero ¿por qué es tan importante en las operaciones diarias?

Los administradores de TI se conectan a la base de datos por diversas razones:

  • Realizar copias de seguridad y verificar la integridad: Antes de realizar una copia de seguridad o restaurar una base de datos después de un incidente, los administradores suelen ejecutar consultas sobre vistas del sistema como V$DATABASE o utilizar scripts de RMAN.

  • Supervisar el rendimiento: El acceso a vistas dinámicas como V$SESSION permite supervisar las sesiones activas de los usuarios y solucionar problemas de rendimiento.

  • Automatizar tareas: Los trabajos programados mediante DBMS_SCHEDULER requieren una conexión directa para su configuración y supervisión.

  • Administrar usuarios y seguridad: La asignación de roles mediante sentencias SQL, como GRANT DBA TO user, requiere una sesión autenticada.

  • Realizar auditorías y comprobaciones de cumplimiento: Revisar las asignaciones de privilegios con consultas como SELECT * FROM DBA_ROLE_PRIVS ayuda a garantizar el cumplimiento de las políticas de seguridad.

Sin conexiones seguras disponibles a través de distintos métodos — herramientas de línea de comandos como SQL*Plus para automatización y scripts, interfaces gráficas como SQL Developer para la administración visual y API como la biblioteca oracledb de Python para el desarrollo de aplicaciones — su equipo puede sufrir retrasos durante las ventanas de mantenimiento o en caso de interrupciones del servicio.

Método 1: Conectarse a Oracle mediante SQL*Plus

SQL*Plus es la herramienta clásica de línea de comandos de Oracle, incluida en todas las instalaciones de Oracle Database. Sigue siendo muy utilizada porque funciona en cualquier entorno, desde servidores locales hasta hosts remotos accesibles mediante SSH, y admite la automatización mediante scripts y procesos por lotes.

Antes de comenzar:

  • Asegúrese de tener su nombre de usuario y contraseña.

  • Para conexiones remotas, obtenga de su DBA la siguiente información:

la dirección del host o IP; el número de puerto (el valor predeterminado es 1521); el Service Name o el SID de la base de datos.

Para conectarse mediante SQL*Plus:

1. Abra una ventana de símbolo del sistema (Windows) o una terminal (Linux).

2. Escriba sqlplus y luego presione Entrar.

3. En el mensaje Nombre de usuario, introduzca su nombre de usuario y luego pulse Entrar.

4. En el mensaje Contraseña, introduzca su contraseña y luego pulse Entrar.

Para bases de datos remotas que utilizan la sintaxis Easy Connect:

sqlplus nombredeusuario/contraseña@nombredehost:puerto/nombre_de_servicio

Ejemplo:

sqlplus hr/yourpassword@dbserver.example.com:1521/XEPDB1

Si la conexión es exitosa, verá el indicador SQL>, donde podrá ejecutar comandos como:

SELECT * FROM employees;

Escriba exit y luego presione Entrar cuando haya terminado.

En sistemas Linux, establezca variables de entorno como ORACLE_HOME y actualice su PATH antes de iniciar SQL*Plus, si aún no están configuradas.

Comprensión de los identificadores de conexión: SID frente a nombre de servicio

Al conectarse mediante herramientas de línea de comandos o al configurar aplicaciones, encontrará dos identificadores principales:

La cadena Easy Connect siempre espera un nombre de servicio, no un SID, ¡incluso si cierta documentación los usa indistintamente! Si no está seguro de qué identificador corresponde, consulte a su administrador de bases de datos (DBA).

Uso de TNSNAMES.ORA para simplificar las conexiones

¡Escribir nombres de host largos cada vez resulta rápidamente tedioso! En su lugar, utilice los alias definidos en el archivo local denominado TNSNAMES.ORA, que normalmente se encuentra en $ORACLE_HOME/network/admin.

Entrada de ejemplo:

hr_alias =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = dbserver.example.com)(PORT = 1521))
    (CONNECT_DATA =
      (SERVICE_NAME = XEPDB1)
    )
  )

Ahora simplemente escriba:

sqlplus hr/yourpassword@hr_alias

Este enfoque hace que los scripts sean portátiles entre entornos, ya que únicamente es necesario actualizar el archivo TNSNAMES y no cada script individualmente.

Método 2: Conexión a Oracle mediante Python

Python impulsa la automatización, desde scripts sencillos hasta aplicaciones web completas, y permite una conexión sencilla, gracias principalmente al controlador oficial oracledb mantenido por Oracle.

Instalación de las bibliotecas necesarias

Instale el controlador más reciente:

pip install oracledb

Las guías antiguas mencionan cx_Oracle; a partir de la versión 8+, este paquete se ha integrado en el presente.

Modo grueso frente a modo delgado

Python puede comunicarse con Oracle de dos maneras:

De forma predeterminada, el modo delgado se activa a menos que llame a funciones especiales de inicialización.

Conexión únicamente en modo ligero (sin necesidad del cliente instantáneo)

A continuación se explica cómo conectar sin instalar nada más que los paquetes de Python:

importar oracledb

# ¡No es necesario usar init_oracle_client() a menos que se cambie de modo!
conexión = oracledb.connect(
    usuario="hr",
    contraseña="yourpassword",
    dsn="dbserver.example.com:1521/XEPDB1"
)

cursor = conexión.cursor()
cursor.execute("SELECT employee_id FROM employees")
para fila en cursor:
    imprimir(fila)
cursor.close()
conexión.close()

Si las credenciales son correctas, verá los resultados de la consulta impresos.

Administración segura de credenciales

¡Nunca codifique contraseñas directamente en los scripts! En su lugar, utilice variables de entorno:

import os
usuario = os.getenv("ORACLE_USER")
contraseña = os.getenv("ORACLE_PASS")
dsn = "dbserver.example.com:1521/XEPDB1"
conexión = oracledb.connect(usuario=usuario, contraseña=contraseña, dsn=dsn)

Agrupación de conexiones y mejores prácticas

Para cargas de trabajo en producción —o incluso para scripts administrativos intensivos— resulta muy beneficioso agrupar las conexiones en lugar de abrirlas y cerrarlas cada vez:

pool = oracledb.create_pool(
    user=os.getenv("ORACLE_USER"),
    password=os.getenv("ORACLE_PASS"),
    dsn="dbserver.example.com:1521/XEPDB1",
    min=2,
    max=5,
    increment=1
)
with pool.acquire() as conn:
    cur = conn.cursor()
    cur.execute("SELECT status FROM v$instance")
    print(cur.fetchone())
cur.close()
pool.close()

La agrupación de conexiones mejora el rendimiento y reduce la carga de recursos tanto en el lado del cliente como en el del servidor.

Método 3: Conexión a bases de datos Oracle mediante SQL Developer

SQL Developer proporciona una interfaz gráfica ideal para explorar esquemas de forma visual o ejecutar consultas ad hoc sin necesidad de memorizar la sintaxis de la línea de comandos.

Comience iniciando SQL Developer desde el menú de aplicaciones de su sistema (Windows, Linux o macOS).

En el panel izquierdo, haga clic en el icono verde con el signo más (+) denominado "New Connection".

Complete los siguientes campos:

  • Connection Name: cualquier nombre que desee (por ejemplo, "HR_PDB").

  • Username: por ejemplo, HR.

  • Password: introduzca su contraseña de forma segura.

En Connection Type, seleccione Basic. A continuación, proporcione la siguiente información:

  • Hostname: por ejemplo, dbserver.example.com.

  • Port: normalmente 1521.

  • Service Name: por ejemplo, XEPDB1.

Haga clic en Test. Si el estado muestra "Success", haga clic en Connect. La nueva conexión aparecerá en el panel Connections, desde donde podrá explorar tablas, vistas y ejecutar sentencias SQL.

Para desconectarse más tarde, simplemente haga clic con el botón derecho sobre la conexión y seleccione Disconnect, o cierre SQL Developer por completo.

Conexión a bases de datos conectables (PDB)

En entornos multitenant, cada PDB tiene su propio nombre de servicio único, que suele coincidir exactamente con su nombre asignado («XEPDB1», «SALES_PDB»). ¡Asegúrese siempre de identificar el destino correcto antes de conectar para evitar que los cambios afecten al contenedor equivocado!

Uso de opciones avanzadas de conexión

¿Necesita mayor seguridad? Muchas empresas exigen túneles cifrados entre estaciones de trabajo/servidores intermedios/bases de datos:

Ejemplo de túnel SSH

Supongamos que el puerto directo de la base de datos no está expuesto externamente, pero la caja de salto permite conexiones SSH:

En la máquina local, ejecute:

ssh -L 1522:dbserver.internal.net:1521 jumpbox.company.net

Luego configure el nombre de host de SQL Developer como «localhost», el puerto como «1522» y el nombre del servicio de forma habitual: ¡el túnel reenvía el tráfico de manera segura!

Sesiones cifradas SSL/TLS

Algunos sitios exigen enlaces cifrados de extremo a extremo mediante el protocolo TCPS, en lugar de sockets TCP/IP simples; en tal caso, consulte con los administradores de bases de datos acerca de los certificados y configuraciones requeridos.

Proteja sus datos con la solución empresarial de copia de seguridad de Vinchin

Tras garantizar que se aplican prácticas seguras de conectividad, resulta fundamental proteger el contenido real de su base de datos, especialmente ante los riesgos cibernéticos actuales y los requisitos de cumplimiento normativo.

Vinchin se destaca como una solución profesional de copia de seguridad a nivel empresarial, diseñada específicamente para entornos virtuales y bases de datos principales, incluidas Oracle, MySQL, SQL Server, MariaDB, PostgreSQL y PostgresPro.

Vinchin Backup & Recovery ofrece capacidades integrales de protección, como la integración de copias de seguridad en la nube y opciones de archivado en cinta; soporte para copias de seguridad completas, incrementales y de registros (logs), incluida la copia de seguridad de registros archivados especialmente adaptada a entornos Oracle y PostgreSQL; automatización programada de copias de seguridad junto con tecnologías de compresión y desduplicación que ahorran espacio; funcionalidad de restauración instantánea en un nuevo servidor, además de opciones de recuperación en cualquier punto temporal, cuando estén disponibles; mecanismos robustos de defensa contra ransomware, y mucho más.

Su consola web intuitiva simplifica la gestión de copias de seguridad en cuatro sencillos pasos, adaptados específicamente a cada plataforma compatible:

1. Seleccione su(s) base(s) de datos Oracle de destino,

Seleccione su base de datos Oracle de destino

2. Elija la ubicación(es) de almacenamiento

Seleccionar ubicación de almacenamiento

3. Configure estrategias de copia de seguridad,

Seleccionar ubicación de almacenamiento

4. Envíe el trabajo.

Seleccionar ubicación de almacenamiento

Únase a miles de clientes globales que confían diariamente en las soluciones altamente valoradas de Vinchin: ¡comience a proteger sus cargas de trabajo críticas ahora con nuestra versión de prueba gratuita y completa de 60 días haciendo clic a continuación para descargar el programa de instalación!

Cómo conectarse a una base de datos Oracle: preguntas frecuentes

P1: ¿Qué debo hacer si recibo un error ORA‑12514 al conectarme?

A1: Compruebe nuevamente que está utilizando el nombre de servicio correcto en su cadena de conexión y verifique que el proceso del agente de escucha se esté ejecutando en el servidor de destino.

P2: ¿Puedo conectarme sin instalar el software cliente completo?

A2: Sí, puede utilizar soluciones ligeras como los paquetes Instant Client (o el modo ligero puramente en Python mediante «oracledb») sin necesidad de instalaciones extensas.

P3: ¿Cómo me conecto desde Linux mediante la autenticación del sistema operativo?

A3: Sudo/ cambie a la cuenta del sistema operativo Oracle y luego ejecute sqlplus /as sysdba en el símbolo del sistema (no se requiere contraseña).

P4: ¿Existe alguna diferencia al conectarse a una base de datos portable (PDB)?

A4: Debe usar el nombre del servicio de la PDB (no de la CDB) en su cadena de conexión; normalmente, el nombre del servicio coincide con el nombre de la PDB.

Conclusión

Conectarse de forma segura a Oracle Database es fundamental para gestionar, analizar y proteger datos críticos. Ya sea que utilice la línea de comandos, las API de Python o herramientas con interfaz gráfica, cada método ofrece ventajas únicas para sus operaciones diarias. Para una protección de copias de seguridad robusta, Vinchin ofrece funciones de nivel empresarial confiables por organizaciones globales: pruébelo gratuitamente y lleve la seguridad al siguiente nivel.

Compartir en:

Categories: Database Tips