⚙️ Administração Oracle I
Instalação, arquitetura e gerenciamento básico
Você está no Conteúdo Compacto
Resumo da trilha em uma única página
Introdução
Com os fundamentos de SQL estabelecidos, é hora de mergulhar no mundo da administração de bancos de dados Oracle. Este módulo aborda as tarefas essenciais que todo DBA iniciante precisa dominar: desde a instalação do software até o gerenciamento da estrutura interna do banco de dados.
2.1 Instalação e Configuração
Instalando o Oracle Database
A primeira tarefa de um DBA é instalar o banco de dados. O Oracle Database pode ser instalado em diversas plataformas (Linux, Windows, etc.). O processo de instalação, embora guiado por um assistente gráfico (Oracle Universal Installer - OUI), exige atenção a detalhes importantes.
Pontos Importantes
A Oracle oferece diferentes edições (Enterprise, Standard, Express).
Para estudos, a Express Edition (XE) é gratuita e ideal.
Diretório raiz da instalação Oracle.
Diretório específico da versão do software instalado.
System Identifier - identificador único da instância do banco.
2.2 Arquitetura Interna do Oracle
Instância e Banco de Dados
Para administrar um banco de dados Oracle, é fundamental entender sua arquitetura. Ela é dividida em duas partes principais: a Instância e o Banco de Dados.
Instância (Instance)
Conjunto de processos em segundo plano e área de memória alocada na RAM. É volátil - existe enquanto o banco está "no ar".
SGA (System Global Area)
Memória compartilhada: Buffer Cache, Shared Pool, Redo Log Buffer
PGA (Program Global Area)
Memória privada para cada processo de servidor
Banco de Dados (Database)
Conjunto de arquivos físicos armazenados em disco. É persistente.
Data Files
Contêm os dados reais das tabelas e índices
Control Files
Metadados sobre a estrutura do banco
Redo Log Files
Registram todas as alterações feitas no banco
📷 Diagrama: Veja as imagens arquitetura_oracle_1.jpg e arquitetura_dba.png na seção de Recursos.
2.3 Gerenciamento de Usuários
Usuários, Perfis e Permissões
Um dos papéis centrais do DBA é controlar quem acessa o banco de dados e o que cada um pode fazer.
Criando um Usuário
Para se conectar ao Oracle, é preciso ter uma conta de usuário. Cada usuário é dono de um schema.
-- Criar um novo usuário
CREATE USER carlos IDENTIFIED BY SuaSenha123;
Tipos de Privilégios
Privilégios de Sistema
Ações no nível do banco
CREATE SESSION, CREATE TABLE
Privilégios de Objeto
Manipular objetos de outro usuário
SELECT ON empregados
-- Conceder permissão para o usuário se conectar
GRANT CREATE SESSION TO carlos;
-- Conceder permissão para criar tabelas
GRANT CREATE TABLE TO carlos;
Perfis (Profiles)
Conjuntos de limites para recursos do banco (sessões simultâneas, tempo de CPU, políticas de senha). Garantem que um usuário não consuma recursos excessivos.
2.4 Tablespaces e Arquivos de Dados
Estrutura lógica de armazenamento
No Oracle, os dados não são armazenados diretamente em "arquivos de tabela". A estrutura é mais abstrata e flexível.
Tablespace
Unidade lógica de armazenamento. O banco é dividido em tablespaces (tabelas, índices, etc.).
Data File
Arquivo físico no sistema operacional. Um tablespace pode ter vários data files.
-- Criar um novo tablespace 'DADOS_APP' com arquivo de 100MB
CREATE TABLESPACE DADOS_APP
DATAFILE '/u01/app/oracle/oradata/XE/dados_app01.dbf' SIZE 100M;
-- Alterar o tablespace padrão de um usuário
ALTER USER carlos DEFAULT TABLESPACE DADOS_APP;
2.5 Monitoramento Básico
Mantendo a saúde do banco
Um DBA proativo monitora constantemente a saúde do banco de dados. As principais áreas são:
Alert Log
O "diário de bordo" do banco. Primeiro lugar a olhar quando algo está errado.
Uso de Tablespaces
Monitorar espaço livre para evitar erros nas aplicações.
Sessões Ativas
Verificar quais usuários estão conectados e o que executam.
Data Dictionary
Views DBA_, ALL_, USER_ são a principal ferramenta do DBA.
Exercícios Práticos
Administração básica do Oracle
Pré-requisito: Execute esses exercícios conectado como um usuário com privilégios de DBA (como SYSTEM).
1. Criação de Usuário
Crie um novo usuário chamado analista com a senha Oracle123.
2. Concessão de Privilégios
Conceda ao usuário analista os privilégios para se conectar e criar tabelas.
3. Criação de Tablespace
Crie um tablespace APP_DATA com tamanho inicial de 50MB.
4. Alteração de Usuário
Altere o usuário analista para usar o tablespace APP_DATA como padrão. Defina quota de 40MB.
5. Criação de Tabela
Conecte-se como analista e crie uma tabela PROJETOS (PROJETO_ID, NOME_PROJETO, DATA_INICIO).
6. Monitoramento de Tablespaces
Consulte DBA_FREE_SPACE para verificar o espaço livre no tablespace APP_DATA.
7. Monitoramento de Usuários
Verifique em DBA_USERS a data de criação e tablespace padrão do usuário analista.
8. Remoção de Usuário
Remova o usuário analista e todos os seus objetos.
9. Remoção de Tablespace
Remova o tablespace APP_DATA incluindo seus datafiles.
📋 Ver Gabarito dos Exercícios
1. Criação de Usuário
CREATE USER analista IDENTIFIED BY Oracle123;
2. Concessão de Privilégios
GRANT CREATE SESSION, CREATE TABLE TO analista;
3. Criação de Tablespace
CREATE TABLESPACE APP_DATA
DATAFILE '/u01/app/oracle/oradata/XE/app_data01.dbf' SIZE 50M;
4. Alteração de Usuário
ALTER USER analista DEFAULT TABLESPACE APP_DATA QUOTA 40M ON APP_DATA;
5. Criação de Tabela
-- Conecte-se como analista primeiro
CREATE TABLE PROJETOS (
PROJETO_ID NUMBER PRIMARY KEY,
NOME_PROJETO VARCHAR2(100),
DATA_INICIO DATE
);
6. Monitoramento de Tablespaces
SELECT TABLESPACE_NAME, SUM(BYTES)/1024/1024 AS FREE_MB
FROM DBA_FREE_SPACE
WHERE TABLESPACE_NAME = 'APP_DATA'
GROUP BY TABLESPACE_NAME;
7. Monitoramento de Usuários
SELECT USERNAME, CREATED, DEFAULT_TABLESPACE
FROM DBA_USERS
WHERE USERNAME = 'ANALISTA';
8. Remoção de Usuário
DROP USER analista CASCADE;
9. Remoção de Tablespace
DROP TABLESPACE APP_DATA INCLUDING CONTENTS AND DATAFILES;
🎉 Módulo 2 Concluído!
Você aprendeu os fundamentos de administração Oracle. No próximo módulo, vamos avançar para RMAN, backup/recovery e segurança!