DEV Community

Cover image for SQL*Plus: Guia Completo para Gerenciamento de Banco de Dados Oracle
Kauê Matos
Kauê Matos

Posted on

SQL*Plus: Guia Completo para Gerenciamento de Banco de Dados Oracle

SQL*Plus é uma ferramenta interativa de linha de comando desenvolvida pela Oracle que permite aos usuários se conectarem a um banco de dados Oracle, executarem comandos SQL e scripts PL/SQL, além de realizar tarefas administrativas. Apesar de sua interface simples e aparência desatualizada, o SQL*Plus permanece como uma das ferramentas mais poderosas e confiáveis para trabalhar com bancos de dados Oracle em ambientes corporativos.

O que é SQL*Plus?

SQL*Plus é um cliente Oracle que funciona como intermediário entre o usuário e o servidor de banco de dados. Ele oferece um ambiente onde é possível:

  • Executar comandos SQL
  • Executar scripts PL/SQL
  • Gerenciar estruturas de banco de dados
  • Gerar relatórios
  • Testar e depurar stored procedures e functions
  • Administrar permissões e usuários

A ferramenta está disponível em diversas plataformas, incluindo Windows, Linux, Unix e macOS.

Conectando ao Banco de Dados

Sintaxe Básica

Para conectar ao SQL*Plus, utilize o comando:

sqlplus usuario/senha@banco_dados
Enter fullscreen mode Exit fullscreen mode

Exemplos práticos de conexão:

sqlplus scott/tiger@ORCL
sqlplus system/manager
sqlplus / as sysdba
Enter fullscreen mode Exit fullscreen mode

A última opção conecta como administrador do sistema usando autenticação do SO (Sistema Operacional).

Arquivo de Configuração de Conexão

Para simplificar conexões frequentes, você pode usar um arquivo tnsnames.ora que armazena informações de conexão. Isso permite conectar apenas usando:

sqlplus usuario/senha@alias_da_conexao
Enter fullscreen mode Exit fullscreen mode

Comandos Principais do SQL*Plus

Comandos SQL

Os comandos SQL padrão funcionam normalmente no SQL*Plus:

SELECT * FROM employees WHERE department_id = 10;
INSERT INTO employees (emp_id, name) VALUES (101, 'João Silva');
UPDATE employees SET salary = 5000 WHERE emp_id = 101;
DELETE FROM employees WHERE emp_id = 101;
Enter fullscreen mode Exit fullscreen mode

Comandos SQL*Plus Específicos

O SQL*Plus oferece seus próprios comandos para controlar o ambiente e formatar saídas:

DESCRIBE - Exibe a estrutura de uma tabela:

DESC employees;
Enter fullscreen mode Exit fullscreen mode

SET - Configura variáveis do ambiente:

SET PAGESIZE 30
SET LINESIZE 100
SET ECHO ON
Enter fullscreen mode Exit fullscreen mode

COLUMN - Formata a exibição de colunas:

COLUMN salary FORMAT $999,999.99
COLUMN hire_date FORMAT A10
Enter fullscreen mode Exit fullscreen mode

SPOOL - Redireciona saída para arquivo:

SPOOL relatorio.txt
SELECT * FROM employees;
SPOOL OFF
Enter fullscreen mode Exit fullscreen mode

EDIT - Abre o editor padrão:

EDIT
Enter fullscreen mode Exit fullscreen mode

RUN ou / - Executa o último comando:

/
Enter fullscreen mode Exit fullscreen mode

CLEAR BUFFER - Limpa o buffer:

CLEAR BUFFER
Enter fullscreen mode Exit fullscreen mode

Variáveis em SQL*Plus

Variáveis de Substituição

Você pode criar variáveis que serão substituídas durante a execução:

DEFINE nome = 'João Silva'
SELECT * FROM employees WHERE name = '&nome';
Enter fullscreen mode Exit fullscreen mode

Variáveis de Vinculação

Úteis em scripts PL/SQL:

VARIABLE salario NUMBER;
BEGIN
  :salario := 5000;
END;
/
SELECT :salario FROM dual;
Enter fullscreen mode Exit fullscreen mode

Executando Scripts

Script Simples

Crie um arquivo com extensão .sql:

-- arquivo: consulta.sql
SELECT employee_id, last_name, salary
FROM employees
WHERE department_id = 20
ORDER BY salary DESC;
Enter fullscreen mode Exit fullscreen mode

Execute com:

sqlplus scott/tiger@ORCL @consulta.sql
Enter fullscreen mode Exit fullscreen mode

Script com Parâmetros

-- arquivo: consulta_dept.sql
SELECT employee_id, last_name, salary
FROM employees
WHERE department_id = &1
ORDER BY &2;
Enter fullscreen mode Exit fullscreen mode

Execute com:

sqlplus scott/tiger @consulta_dept.sql 20 salary
Enter fullscreen mode Exit fullscreen mode

Formatação de Saída

Configurações Úteis

SET PAGESIZE 50          -- Linhas por página
SET LINESIZE 120         -- Caracteres por linha
SET COLSEP '|'          -- Separador de colunas
SET NUMFORMAT 99999.99   -- Formato de números
SET HEADING ON          -- Exibir cabeçalhos
SET FEEDBACK ON         -- Mostrar número de linhas processadas
Enter fullscreen mode Exit fullscreen mode

Exemplo de Formatação de Relatório

SET PAGESIZE 50
SET LINESIZE 100
COLUMN emp_name FORMAT A25
COLUMN salary FORMAT $999,999.99
COLUMN hire_date FORMAT DD/MM/YYYY

SELECT employee_id, last_name AS emp_name, salary, hire_date
FROM employees
WHERE salary > 3000;
Enter fullscreen mode Exit fullscreen mode

Usando SQL*Plus para Administração

Verificar Espaço em Disco

SELECT tablespace_name, sum(bytes)/1024/1024 AS MB_USED
FROM dba_segments
GROUP BY tablespace_name;
Enter fullscreen mode Exit fullscreen mode

Verificar Usuários Conectados

SELECT username, status, osuser
FROM v$session;
Enter fullscreen mode Exit fullscreen mode

Criar Usuário

CREATE USER novo_usuario IDENTIFIED BY senha123;
GRANT CONNECT, RESOURCE TO novo_usuario;
Enter fullscreen mode Exit fullscreen mode

Boas Práticas com SQL*Plus

1. Use scripts para tarefas repetitivas - Automatize operações comuns salvando-as em arquivos .sql.

2. Implemente tratamento de erros - Use WHENEVER SQLERROR para capturar erros em scripts.

3. Documente seus scripts - Adicione comentários explicando o propósito e uso.

4. Crie um arquivo de inicialização - O arquivo login.sql é executado automaticamente ao abrir SQL*Plus.

5. Use spool para logs - Mantenha registro de execuções importantes.

6. Valide dados antes de operações - Sempre verifique dados antes de updates ou deletes em massa.

Atalhos e Dicas Produtivas

  • L - Lista o último comando executado
  • CL - Limpa a tela
  • EXIT ou QUIT - Fecha SQL*Plus
  • HELP - Exibe ajuda sobre tópicos (requer arquivo de ajuda)
  • Seta para cima/baixo - Navega no histórico de comandos

SQL*Plus vs. Ferramentas Modernas

Embora existam ferramentas mais modernas como SQL Developer, DBeaver e Toad, o SQL*Plus continua relevante porque:

  • Funciona em qualquer máquina com cliente Oracle instalado
  • Requer menos recursos computacionais
  • É totalmente confiável e estável
  • Ideal para trabalhos em servidores remotos via SSH
  • Não há dependência de interfaces gráficas

Conclusão

SQL*Plus permanece como uma ferramenta essencial para profissionais que trabalham com Oracle. Sua simplicidade, confiabilidade e poder a tornam indispensável para administradores de banco de dados e desenvolvedores. Ao dominar SQL*Plus, você ganha a capacidade de trabalhar eficientemente com bancos de dados Oracle em qualquer ambiente, desde máquinas locais até servidores corporativos.

Apesar de sua aparência modesta, SQL*Plus é um exemplo de ferramenta bem projetada que prioriza funcionalidade e eficiência, tornando-a tão relevante hoje quanto era quando foi lançada.

Top comments (0)