¿Cómo detener una base de datos Oracle?

Iniciar y Conectar en SQL*Plus de Oracle

Valoración: 4.09 (8268 votos)

SQL*Plus es una herramienta clásica y fundamental para interactuar con las bases de datos Oracle. Aunque hoy en día existen interfaces gráficas más amigables como SQL Developer, SQL*Plus sigue siendo indispensable en muchos escenarios, especialmente en entornos de servidor sin interfaz gráfica, para la ejecución de scripts por lotes o tareas de automatización. Comprender cómo iniciar esta herramienta y, crucialmente, cómo establecer una conexión con la base de datos es el primer paso para cualquier desarrollador o administrador de bases de datos Oracle que necesite trabajar con ella.

Esta herramienta de línea de comandos ha existido desde los inicios de Oracle y, a pesar de su antigüedad, sigue siendo utilizada por muchos profesionales. Su sencillez (una vez que te acostumbras) y su eficiencia para ejecutar comandos y scripts directos la mantienen relevante.

¿Cómo cambiar la contraseña del sistema de base de datos Oracle?
Una vez conectado a la cuenta SYS, obtendrá privilegios de administrador. Por lo tanto, puede usar el comando ALTER USER para cambiar la contraseña de la cuenta SYSTEM como se indica a continuación: SQL> ALTER USER system IDENTIFIED BY oracle ; El comando anterior cambia la contraseña de la cuenta SYSTEM a oracle.
Índice de Contenido

¿Qué es SQL*Plus?

SQL*Plus es una interfaz de línea de comandos que se instala automáticamente con el software de la base de datos Oracle o el cliente Oracle. Permite a los usuarios ejecutar sentencias SQL, comandos de PL/SQL y comandos propios de SQL*Plus para interactuar con la base de datos. Es una herramienta basada en texto, lo que significa que toda la interacción se realiza escribiendo comandos y leyendo la salida directamente en una consola o terminal.

¿Por qué usar SQL*Plus?

Aunque SQL Developer es a menudo más fácil de aprender y usar para tareas interactivas y desarrollo, hay situaciones específicas donde SQL*Plus es la herramienta preferida o necesaria:

  • Cuando se trabaja en un servidor donde solo está instalado SQL*Plus y no hay una instalación de SQL Developer o un entorno gráfico disponible.
  • Para crear y ejecutar archivos batch o scripts que automatizan tareas de base de datos, como cargas de datos, ejecuciones de mantenimiento o despliegues. SQL*Plus se puede invocar directamente desde scripts del sistema operativo.
  • Para algunos comandos de administración de base de datos que son tradicionalmente ejecutados a través de SQL*Plus o RMAN (otra herramienta de línea de comandos).

Por lo tanto, aunque no sea tu herramienta diaria principal, saber cómo iniciar y conectar con SQL*Plus es una habilidad valiosa.

Cómo Iniciar SQL*Plus

La forma más básica de iniciar la aplicación SQL*Plus es invocándola desde la línea de comandos o a través de la función 'Ejecutar' del sistema operativo (en Windows). Simplemente escribe sqlplus y presiona Enter.

sqlplus

Al ejecutar este comando sin argumentos de conexión, SQL*Plus se iniciará y te presentará un prompt para que ingreses tus credenciales de usuario y contraseña, y opcionalmente, la cadena de conexión a la base de datos.

SQL*Plus: Release X.X.X.X.X - Production on ...
Copyright (c) YYYY, Oracle. All rights reserved.

Introduzca nombre de usuario:

Aquí, deberás escribir el nombre de usuario de la base de datos (por ejemplo, system, sys, hr, o tu propio usuario de aplicación), presionar Enter, y luego ingresar la contraseña cuando se te solicite. La contraseña no se mostrará en la pantalla por seguridad mientras la escribes.

Introduzca nombre de usuario: system
Introduzca password:

Si las credenciales son correctas y la base de datos está accesible, verás un mensaje indicando que estás conectado y el prompt de SQL*Plus (SQL>), listo para recibir comandos.

Conectado a:
Oracle Database ...

SQL>

Este es el método interactivo más sencillo para empezar.

¿Cómo ingresar a una base de datos Oracle?
CONECTAR A UNA BASE DE DATOS ORACLE1Arrastra una herramienta Datos de entrada o una herramienta Datos de salida al lienzo y selecciónala.2En la ventana de Configuración, selecciona el menú desplegable Conectar un archivo o base de datos . ...3Alteryx Designer revisa tu sistema para localizar un controlador de Oracle.

Conectándose a la Base de Datos Directamente al Iniciar

Una forma más eficiente, especialmente útil en scripts o cuando conoces tus credenciales de antemano, es proporcionar la información de conexión directamente como argumentos al comando sqlplus al iniciarlo.

La sintaxis general para conectar al iniciar es:

sqlplus [opciones] [usuario/contraseña][@cadena_bd] [AS rol]

Veamos las partes clave:

Conexión con Usuario y Contraseña

La forma más común es especificar el usuario y la contraseña separados por una barra (/):

sqlplus nombre_usuario/contraseña

Ejemplo: sqlplus hr/hr

Si utilizas esta sintaxis, SQL*Plus intentará conectarse inmediatamente al iniciar usando las credenciales proporcionadas a la base de datos por defecto configurada en tu entorno (usualmente definida por variables de entorno como ORACLE_SID o configuraciones de red).

Conexión a una Base de Datos Específica (usando cadena_bd)

Si necesitas conectarte a una base de datos que no es la por defecto o que está en una ubicación remota, puedes especificar una cadena de conexión (cadena_bd) después de la contraseña, precedida por un @:

sqlplus nombre_usuario/contraseña@cadena_bd

La cadena_bd puede ser un nombre de servicio o un identificador de sistema (SID) definido en tu archivo tnsnames.ora (si usas Oracle Net Services/SQL*Net) o puede ser una cadena de conexión Easy Connect (por ejemplo, nombrehost:puerto/nombre_servicio).

Ejemplo (usando TNSNames): sqlplus system/manager@orclpdb1

Ejemplo (usando Easy Connect): sqlplus system/manager@localhost:1521/pdb1

Esta sintaxis es muy flexible y te permite dirigir tu conexión a la instancia de base de datos exacta que necesitas.

Conexión usando Autenticación del Sistema Operativo

Oracle permite la autenticación externa, donde la base de datos confía en el sistema operativo para verificar la identidad del usuario. Si tu base de datos está configurada para esto (a menudo usando usuarios con prefijo OPS$), puedes conectarte simplemente usando una barra (/):

sqlplus /

Esta sintaxis asume que estás conectándote a la base de datos por defecto y que tu usuario del sistema operativo está mapeado a un usuario de base de datos Oracle.

También puedes combinar esto con la especificación de la base de datos:

sqlplus /@cadena_bd

Iniciando SQL*Plus sin Conexión Inicial (/NOLOG)

Hay escenarios, particularmente en scripts complejos, donde quizás no quieras conectarte inmediatamente al iniciar SQL*Plus. Puedes lograr esto usando la opción /NOLOG:

sqlplus /NOLOG

Esto iniciará la aplicación SQL*Plus, pero el prompt cambiará a IDLE>, indicando que no hay una conexión activa a la base de datos. Para conectarte posteriormente, deberás usar el comando interno CONNECT dentro de SQL*Plus.

El Comando CONNECT dentro de SQL*Plus

Una vez que SQL*Plus está corriendo (ya sea que te hayas conectado inicialmente o hayas usado /NOLOG), puedes usar el comando CONNECT para establecer una nueva conexión o cambiar a un usuario diferente o a una base de datos distinta sin salir de SQL*Plus.

La sintaxis del comando CONNECT es similar a la de la conexión al iniciar:

CONNECT usuario/contraseña[@cadena_bd] [AS rol]

Ejemplos:

  • CONNECT hr/hr (Conecta como hr al SID por defecto)
  • CONNECT system/manager@proddb (Conecta como system a la base de datos 'proddb')
  • CONNECT / AS SYSDBA (Conecta usando autenticación del SO con rol de DBA)

Si omites el usuario y la contraseña al usar CONNECT (es decir, solo escribes CONNECT), SQL*Plus te pedirá las credenciales de forma interactiva, similar a como lo hace al iniciar sin argumentos.

Tabla Resumen de Métodos de Conexión en SQL*Plus

Aquí tienes un resumen de las formas más comunes de conectar a una base de datos usando SQL*Plus:

Método de ConexiónSintaxis de Inicio (Comando)Sintaxis dentro de SQL*Plus (CONNECT)Notas
Interactivo (pide credenciales)sqlplusCONNECTMás sencillo para interacción manual.
Usuario/Contraseña Directosqlplus usuario/contraseñaCONNECT usuario/contraseñaConecta a la BD por defecto.
Usuario/Contraseña a BD Específicasqlplus usuario/contraseña@cadena_bdCONNECT usuario/contraseña@cadena_bdEspecifica la BD de destino.
Autenticación por SOsqlplus /
sqlplus /@cadena_bd
CONNECT /
CONNECT /@cadena_bd
Requiere configuración en la BD y SO.
Iniciar sin Conexiónsqlplus /NOLOGN/A (es el estado inicial)Útil para scripts donde la conexión se maneja después.

Ejecutando Sentencias SQL

Una vez que estés conectado, el prompt de SQL*Plus (SQL>) te indicará que está listo para recibir comandos. Para ejecutar una sentencia SQL, simplemente escríbela y termínala con un punto y coma (;) o una barra (/) en una nueva línea para bloques PL/SQL, y presiona Enter.

Ejemplo:

SQL> SELECT vendor_name FROM vendors WHERE vendor_id = 11;

SQL*Plus procesará la sentencia y mostrará el resultado directamente en la consola.

SQL*Plus vs SQL Developer

Como se mencionó, SQL Developer es una herramienta más moderna y con interfaz gráfica que ofrece una experiencia de usuario más intuitiva para muchas tareas, como navegar por objetos de la base de datos, escribir y depurar código, y visualizar datos. Sin embargo, SQL*Plus sobresale en entornos de automatización y donde una interfaz gráfica no es viable.

La elección entre uno y otro depende de la tarea. Para desarrollo interactivo y exploración, SQL Developer es generalmente superior. Para scripts, automatización y trabajo en servidores sin GUI, SQL*Plus es la herramienta a elegir.

Preguntas Frecuentes sobre SQL*Plus

Aquí respondemos algunas dudas comunes sobre el inicio y la conexión en SQL*Plus:

¿Necesito instalar algo especial para usar SQL*Plus?

No, SQL*Plus viene incluido con la instalación del software de la base de datos Oracle o con el cliente Oracle. Si tienes uno de estos instalados, ya tienes SQL*Plus.

¿Puedo ejecutar archivos de script SQL completos con SQL*Plus?

Sí, de hecho, es una de las fortalezas principales de SQL*Plus. Puedes ejecutar un script guardado en un archivo (por ejemplo, mi_script.sql) usando el comando @ seguido del nombre del archivo (@mi_script.sql) después de conectarte.

¿Qué significa el prompt IDLE>?

El prompt IDLE> en lugar de SQL> significa que has iniciado SQL*Plus (posiblemente usando /NOLOG) pero aún no te has conectado a ninguna base de datos. Debes usar el comando CONNECT para establecer una conexión.

¿Cómo salgo de SQL*Plus?

Puedes salir de SQL*Plus usando el comando EXIT o QUIT en el prompt SQL> (o IDLE>).

¿La contraseña se muestra al escribirla?

No, cuando SQL*Plus te pide la contraseña de forma interactiva (ya sea al inicio o con el comando CONNECT sin argumentos), no se muestra en la pantalla mientras la escribes por razones de seguridad.

¿Puedo usar SQL*Plus para conectarme a bases de datos que no sean Oracle?

No, SQL*Plus es una herramienta específica de Oracle diseñada para interactuar con bases de datos Oracle.

Conclusión

Dominar el inicio y la conexión en SQL*Plus es un paso esencial para cualquier profesional que trabaje con Oracle Database, incluso si SQL Developer es su herramienta principal. Ya sea que necesites realizar tareas de administración en un servidor remoto, ejecutar scripts automatizados o simplemente prefieras la velocidad de una interfaz de línea de comandos, SQL*Plus ofrece las capacidades necesarias. Conocer las diferentes sintaxis para conectar te permitirá adaptarte a diversas situaciones y trabajar de manera eficiente con tu base de datos** Oracle.

Si quieres conocer otros artículos parecidos a Iniciar y Conectar en SQL*Plus de Oracle puedes visitar la categoría Bases de datos.

Ivan

Soy un entusiasta de la tecnología con especialización en bases de datos, particularmente en MySQL. A través de mis tutoriales detallados, busco desmitificar los conceptos complejos y proporcionar soluciones prácticas a los desafíos cotidianos relacionados con la gestión de datos

Aprende mas sobre MySQL

Subir