MATERIAIS DE APOIO

📚 Recursos

Scripts SQL, diagramas e materiais complementares

📄

Você está no Conteúdo Compacto

Resumo dos recursos em uma única página

Ver Conteúdo Completo
💻

Scripts SQL Práticos

Prontos para executar em seu ambiente

M1 Fundamentos SQL

Criar Tabelas de Exemplo (Livraria)

CREATE TABLE AUTORES (
    AUTOR_ID NUMBER PRIMARY KEY,
    NOME_AUTOR VARCHAR2(100) NOT NULL,
    PAIS_ORIGEM VARCHAR2(50)
);

CREATE TABLE LIVROS (
    LIVRO_ID NUMBER PRIMARY KEY,
    TITULO VARCHAR2(200) NOT NULL,
    ANO_PUBLICACAO NUMBER(4),
    PRECO NUMBER(10, 2),
    AUTOR_ID NUMBER REFERENCES AUTORES(AUTOR_ID)
);

-- Inserir dados de exemplo
INSERT INTO AUTORES VALUES (1, 'J.K. Rowling', 'Reino Unido');
INSERT INTO AUTORES VALUES (2, 'George Orwell', 'Reino Unido');
INSERT INTO AUTORES VALUES (3, 'Machado de Assis', 'Brasil');

INSERT INTO LIVROS VALUES (101, 'Harry Potter e a Pedra Filosofal', 1997, 35.00, 1);
INSERT INTO LIVROS VALUES (102, '1984', 1949, 28.50, 2);
INSERT INTO LIVROS VALUES (103, 'Dom Casmurro', 1899, 22.00, 3);
INSERT INTO LIVROS VALUES (104, 'A Revolução dos Bichos', 1945, 25.00, 2);

COMMIT;

M2 Administração Básica

Gerenciamento de Usuários e Tablespaces

-- Criar usuário (execute como SYSTEM ou SYS)
CREATE USER analista IDENTIFIED BY Oracle123;

-- Conceder privilégios básicos
GRANT CREATE SESSION, CREATE TABLE TO analista;

-- Criar tablespace
CREATE TABLESPACE APP_DATA
DATAFILE '/u01/app/oracle/oradata/XE/app_data01.dbf' SIZE 50M;

-- Alterar usuário para usar novo tablespace
ALTER USER analista DEFAULT TABLESPACE APP_DATA QUOTA 40M ON APP_DATA;

-- Verificar usuários criados
SELECT USERNAME, CREATED, DEFAULT_TABLESPACE FROM DBA_USERS WHERE USERNAME = 'ANALISTA';

-- Verificar tablespaces
SELECT TABLESPACE_NAME, STATUS FROM DBA_TABLESPACES;

-- Verificar espaço livre em tablespaces
SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS FREE_MB
FROM DBA_FREE_SPACE
GROUP BY TABLESPACE_NAME;

-- Verificar sessões ativas
SELECT USERNAME, SID, SERIAL#, STATUS FROM V$SESSION;

M3 Administração Avançada

Comandos RMAN (executar no RMAN, não SQL*Plus)

# Conectar ao RMAN
$ rman target /

# Backup completo
RMAN> BACKUP DATABASE;

# Listar backups
RMAN> LIST BACKUP;

# Validar backup
RMAN> RESTORE DATABASE VALIDATE;

# Recuperar tablespace
RMAN> SQL 'ALTER TABLESPACE USERS OFFLINE';
RMAN> RESTORE TABLESPACE USERS;
RMAN> RECOVER TABLESPACE USERS;
RMAN> SQL 'ALTER TABLESPACE USERS ONLINE';

Auditoria

-- Criar política de auditoria
CREATE AUDIT POLICY auditoria_geral
ACTIONS LOGON FAILED, CREATE USER;
AUDIT POLICY auditoria_geral;

-- Verificar registros de auditoria
SELECT AUDIT_TYPE, ACTION_NAME, DBUSERNAME, EVENT_TIMESTAMP
FROM UNIFIED_AUDIT_TRAIL
WHERE UNIFIED_AUDIT_POLICIES = 'AUDITORIA_GERAL'
ORDER BY EVENT_TIMESTAMP DESC;

M4 Performance e Tuning

Plano de Execução e Índices

-- Gerar plano de execução
EXPLAIN PLAN FOR
SELECT L.TITULO, A.NOME_AUTOR
FROM LIVROS L
JOIN AUTORES A ON L.AUTOR_ID = A.AUTOR_ID
WHERE A.PAIS_ORIGEM = 'Reino Unido';

-- Ver o plano de execução
SELECT * FROM TABLE(DBMS_XPLAN.DISPLAY);

-- Criar um índice
CREATE INDEX idx_livros_autor_id ON LIVROS(AUTOR_ID);

-- Coletar estatísticas
EXEC DBMS_STATS.GATHER_TABLE_STATS('HR', 'EMPLOYEES');

-- Visualizar índices criados
SELECT INDEX_NAME, TABLE_NAME, COLUMN_NAME FROM DBA_IND_COLUMNS;

M5 Alta Disponibilidade

Verificações de Status

-- Verificar status do banco de dados
SELECT NAME, OPEN_MODE, DB_UNIQUE_NAME FROM V$DATABASE;

-- Verificar modo de arquivo (necessário para RMAN)
SELECT LOG_MODE FROM V$DATABASE;

-- Verificar instâncias em um RAC
SELECT INSTANCE_NUMBER, INSTANCE_NAME, STATUS FROM GV$INSTANCE;

-- Gerenciamento de PDB (se Multitenant)
SHOW PDBS;
ALTER PLUGGABLE DATABASE PDB1 CLOSE;
ALTER PLUGGABLE DATABASE PDB1 OPEN;
🖼️

Diagramas e Imagens

Visualizações da arquitetura Oracle

📊

Diagrama ER

Modelo Entidade-Relacionamento

diagrama_er.png

🏗️

Arquitetura Oracle

Instância e Banco de Dados

arquitetura_oracle_1.jpg

⚙️

Arquitetura DBA

Visão detalhada para o DBA

arquitetura_dba.png

💡

Conceitos DBA

Mapa conceitual

conceitos_dba.png

🧹

Scripts de Limpeza

Para remover dados de teste (use com cuidado!)

-- ATENÇÃO: Execute apenas se quiser remover os objetos de teste

-- Remover tabelas de teste
DROP TABLE LIVROS;
DROP TABLE AUTORES;

-- Remover usuário de teste
DROP USER analista CASCADE;

-- Remover tablespace
DROP TABLESPACE APP_DATA INCLUDING CONTENTS AND DATAFILES;

Continue Aprendendo!

Use esses recursos para praticar os conceitos aprendidos em cada módulo.