Buscar

Oracle Database 10g Workshop de Administração I - Apresentação Eletrônica

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 410 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 410 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 410 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

Copyright © 2004, Oracle. Todos os direitos reservados.
Banco de Dados Oracle 10g: 
Workshop de Administração I
Apresentação Eletrônica
D17090BP10
Produção 1.0
Junho 2004
D39461
®
Copyright © 2004, Oracle. Todos os direitos reservados.
Copyright © 2004, Oracle. Todos os direitos reservados.
Esta documentação contém informações de propriedade da Oracle Corporation. Ela é fornecida sob 
um contrato de licença que contém restrições quanto ao uso e à divulgação, além de ser protegida 
pela legislação de direitos autorais. É proibida a engenharia reversa do software. Se esta 
documentação for distribuída a uma Agência Governamental subordinada ao Departamento de 
Defesa dos EUA, ela terá direitos restritos e o seguinte aviso deverá ser aplicado:
Aviso de Direitos Restritos
A utilização, a duplicação ou a divulgação pelo governo estará sujeita às restrições impostas a um 
software comercial e deverão ser aplicadas as leis federais relativas a um software com direitos 
restritos, como definidos no subparágrafo (c)(1)(ii) de DFARS 252.227-7013, Rights in Technical 
Data and Computer Software (Direitos sobre Dados Técnicos e Software de Computadores) 
(outubro de 1988).
Este material, ou parte dele, não poderá ser copiado de qualquer forma ou por qualquer meio sem a 
prévia permissão expressa por escrito da Oracle Corporation. Qualquer outra cópia constituirá uma 
violação da legislação de direitos autorais e poderá resultar em indenizações civis e/ou criminais.
Se esta documentação for distribuída a uma Agência Governamental que não pertença ao 
Departamento de Defesa dos EUA, ela terá "direitos restritos", conforme definido no FAR 52.227-14, 
Rights in Data-General (Direitos Gerais sobre Dados), incluindo Alternate III (Alternativa III) (junho de 
1987).
As informações contidas neste documento estão sujeitas a alterações sem aviso prévio. Se você 
encontrar algum problema na documentação, envie ao departamento Worldwide Education Services 
uma descrição de tal problema por escrito. Oracle Corporation, 500 Oracle Parkway, Box SB-6, 
Redwood Shores, CA 94065 - USA. Distribuidor no Brasil: Oracle do Brasil Sistemas Ltda. Rua José 
Guerra, 127, São Paulo, SP - 04719-030 - Brasil - CNPJ: 59.456.277/0001-76. A Oracle Corporation 
não garante que esta documentação esteja isenta de erros.
Oracle e todas as referências a produtos da Oracle são marcas comerciais ou registradas da Oracle 
Corporation.
Todos os outros nomes de empresas e produtos são usados com o único propósito de identificação 
e podem ser marcas comerciais dos respectivos proprietários.
Autor
Ric Van Dyke
Russ Lowenthal
Revisores e Colaboradores 
Técnicos
Donna Keesling 
S. Matt Taylor
Jean-Francois Verrier
Craig Hollister
Bob Bungenstock
Tony Woodell
Joel Goodman
John Watson
Dairy Chan
Martin Jensen
Janet Stern
Dr. Sabine Teuber
Kyle Hailey
Christopher Lawless
Dominique Laugraud
Isabelle Marchand
Yi Lu
Editores
Elizabeth Treacy
Jobi Varghese
Copyright © 2004, Oracle. Todos os direitos reservados.
Introdução
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Explicar os objetivos do curso
• Identificar a linha de produtos Oracle
• Descrever os conceitos básicos de um banco
de dados relacional
• Listar as principais tarefas de um administrador
de banco de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos do Curso
Neste curso, você irá adquirir experiência prática 
para executar as seguintes tarefas:
• Instalar, criar e administrar um banco de dados 
Oracle Database 10g Enterprise Edition.
• Configurar o banco de dados para uma aplicação
• Implementar uma estratégia de backup
e recuperação
• Utilizar procedimentos básicos
de monitoração
 Copyright © 2004, Oracle. Todos os direitos reservados.
Produtos Oracle
• Banco de Dados Oracle
• Oracle Application Server
• Oracle Applications
• Oracle Collaboration Suite
• Oracle Development Suite
• Oracle Services
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sistemas de Banco de Dados Relacional
Tabela
Campo ou célulaLinha Coluna
 Copyright © 2004, Oracle. Todos os direitos reservados.
Modo de Organização dos Dados
EMPLOYEES DEPARTMENTS
 Copyright © 2004, Oracle. Todos os direitos reservados.
Constraints de Integridade
 Copyright © 2004, Oracle. Todos os direitos reservados.
SQL (Structured Query Language)
• SQL (Structured query language): uma linguagem
de programação padrão interativa usada para obter 
informações de um banco de dados e atualizar suas 
informações
• A linguagem SQL fornece instruções para diversas 
tarefas, incluindo: 
– Consulta a dados 
– Inserção, atualização e deleção das linhas de uma tabela
– Criação, substituição, alteração e eliminação de objetos
– Controle de acesso ao banco de dados e a seus objetos 
– Garantia de consistência e integridade do banco de dados 
 Copyright © 2004, Oracle. Todos os direitos reservados.
Tarefas de um Administrador
de Bancos de Dados Oracle
Abordagem priorizada para elaboração, implementação 
e manutenção de um banco de dados Oracle: 
1. Avaliar o hardware do servidor de banco de dados.
2. Instalar o software Oracle.
3. Planejar o banco de dados.
4. Criar e abrir o banco de dados.
5. Fazer backup do banco de dados.
6. Inscrever os usuários do sistema.
7. Implementar o design do banco de dados.
8. Efetuar a recuperação após uma falha
do banco de dados.
9. Monitorar o desempenho do banco de dados.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a:
• Explicar os objetivos do curso
• Descrever a linha de produtos Oracle
• Identificar os conceitos básicos de um banco
de dados relacional
• Listar as principais tarefas do Administrador
de Bancos de Dados
Copyright © 2004, Oracle. Todos os direitos reservados.
Instalando o Software
do Banco de Dados Oracle 10g
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Identificar os requisitos de sistema 
• Utilizar a Optimal Flexible Architecture
• Instalar o software com o Oracle Universal Installer
 Copyright © 2004, Oracle. Todos os direitos reservados.
Requisitos de Sistema
Hardware:
• 512 MB de RAM (random access memory, memória
de acesso aleatório) física
• 1 GB de espaço de swap (ou o dobro do tamanho
de RAM)
• 400 MB de espaço em disco no diretório temporário 
(/tmp ou \Temp)
• 1,5 GB de espaço em disco para o software Oracle
• 1,5 GB de espaço em disco para o banco de dados
pré-configurado
Sistema operacional: Consulte a documentação
 Copyright © 2004, Oracle. Todos os direitos reservados.
OFA (Optimal Flexible Architecture)
A OFA foi projetada para:
• Organizar grandes volumes de softwares
• Facilitar as tarefas administrativas rotineiras
• Facilitar a alternância entre vários bancos
de dados Oracle
• Gerenciar e administrar adequadamente
o crescimento do banco de dados
• Ajudar a eliminar a fragmentação do espaço livre
 Copyright © 2004, Oracle. Todos os direitos reservados.
Usando a Optimal Flexible Architecture
Nomeando pontos de montagem:
• /u01
• /disk01
Nomeando diretórios:
• /u01/app/oracle
• /u01/app/applmgr
Nomeando arquivos:
• Arquivos de controle: controln.ctl
• Arquivos de redo log: redon.log
• Arquivos de dados: tn.dbf
 Copyright © 2004, Oracle. Todos os direitos reservados.
Definindo Variáveis do Ambiente
• ORACLE_BASE: A base da estrutura de diretórios 
Oracle para a OFA
• ORACLE_HOME: O diretório que contém o software 
Oracle.
• ORACLE_SID: O nome inicial da instância (ORCL, 
por default)
• NLS_LANG: As definições do conjunto de 
caracteres de idioma, território e cliente
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que Deve Ser Verificado Antes da Instalação
 Copyright © 2004, Oracle. Todos os direitos reservados.
Oracle Universal Installer
 Copyright © 2004, Oracle. Todos os direitos reservados.
Nome do Inventário e do Grupo UNIX
 Copyright © 2004,Oracle. Todos os direitos reservados.
orainstRoot.sh
# sh /u01/app/oracle/oraInventory/orainstRoot.sh
Criando o arquivo de ponteiro de inventário do Oracle 
(/etc/oraInst.loc)
Alterando o nome de grupo /u01/app/oracle/oraInventory para 
oinstall.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Localização dos Arquivos
 Copyright © 2004, Oracle. Todos os direitos reservados.
Tipo de Instalação
 Copyright © 2004, Oracle. Todos os direitos reservados.
Verificação de Pré-requisitos
 Copyright © 2004, Oracle. Todos os direitos reservados.
Banco de Dados Inicial
 Copyright © 2004, Oracle. Todos os direitos reservados.
Configuração e Gerenciamento
 Copyright © 2004, Oracle. Todos os direitos reservados.
Armazenamento de Arquivos
e Recuperação de Backup
 Copyright © 2004, Oracle. Todos os direitos reservados.
Senhas e Sumário
 Copyright © 2004, Oracle. Todos os direitos reservados.
Instalação
 Copyright © 2004, Oracle. Todos os direitos reservados.
Assistentes de Configuração
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a:
• Identificar os requisitos do sistema 
• Utilizar a Optimal Flexible Architecture
• Instalar o software com o Oracle Universal Installer
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exercício 2: 
Instalando o Software Oracle
Este exercício aborda a instalação do software Oracle.
Copyright © 2004, Oracle. Todos os direitos reservados.
Criando um Banco de Dados Oracle
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Descrever a arquitetura do banco de dados Oracle
• Compreender a arquitetura de instâncias
• Usar a estrutura de gerenciamento
• Usar o DBCA para
– Criar um banco de dados
– Configurar um banco de dados
– Eliminar um banco de dados
– Gerenciar gabaritos
 Copyright © 2004, Oracle. Todos os direitos reservados.
Arquitetura do Banco de Dados
Arquivos 
de dados
Arquivos de redo
log on-line
Arquivo
de senha
Arquivo de 
parâmetros
Arquivos de log 
arquivados
Arquivos
de controle
 Copyright © 2004, Oracle. Todos os direitos reservados.
Explorando a Estrutura de Armazenamento 
Clique nos links para 
exibir informações 
detalhadas
 Copyright © 2004, Oracle. Todos os direitos reservados.
Arquivos de Controle.
• Contêm informações sobre a estrutura física
do banco de dados
• São multiplexados para proteger contra perdas
• Necessários para iniciar a instância.
Arquivos
de controle
 Copyright © 2004, Oracle. Todos os direitos reservados.
Arquivos de Redo Log
• Registram alterações no banco de dados
• São multiplexados para proteger contra perdas
Buffer de
redo log
Log
writer
LGWR
Grupo 1 Grupo 2 Grupo 3
 Copyright © 2004, Oracle. Todos os direitos reservados.
Tablespaces e Arquivos de Dados
• Os tablespaces consistem em um ou mais 
arquivos de dados
• Os arquivos de dados pertencem a apenas
um tablespace
Tablespace USERS
Arquivo de
dados 1
Arquivo de
dados 2
 Copyright © 2004, Oracle. Todos os direitos reservados.
Segmentos, Extensões e Blocos
• Existem segmentos em um tablespace.
• Os segmentos são compostos de um conjunto
de extensões.
• As extensões são um conjunto de blocos de dados.
• Os blocos de dados são mapeados para blocos
do sistema operacional.
Segmento Extensões Blocos de 
dados
Blocos do 
sistema 
operacional
 Copyright © 2004, Oracle. Todos os direitos reservados.
Oracle Instance Management
System
Monitor
SMON.
Database
Writer
DBW0.
Log
Writer
LGWR
Process
Monitor
PMON.
Archiver
ARC0
SGA
Java Pool.
Shared Pool. Large Pool.Streams Pool
Cache de
Buffer do Banco
de Dados
Buffer de
Redo Log
Check-
point
CKPT
 Copyright © 2004, Oracle. Todos os direitos reservados.
Estruturas de Memória Oracle
Java Pool
Cache de buffer
do Banco
de Dados
Buffer de
Redo Log
Shared Pool. Large Pool
SGA
Streams Pool
Processo
do
Servidor
1
PGA
Processo
do
Servidor
2
PGA
Processo
de
Back-
ground
PGA
 Copyright © 2004, Oracle. Todos os direitos reservados.
Processos Oracle
System
Monitor
SMON.
Database
Writer
DBWn
Check-
point
CKPT
Log
Writer
LGWR
Process
Monitor
PMON
Archiver
ARCn
Processo
do
Servidor
Processo
do
Servidor
Processo 
do
Servidor
Processo 
do
Servidor
Área Global do Sistema
SGA
Processos de Background
 Copyright © 2004, Oracle. Todos os direitos reservados.
Dicionário de Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Database Control
Database 
control
 Copyright © 2004, Oracle. Todos os direitos reservados.
Controle de Grade
Controle 
de grade
Servidor de 
gerenciamento
Repositório de 
gerenciamento
Controle
do banco
de dados
Banco
de
dados
Sistema 
operacional/
aplicação de
terceiros
Servidor
de 
aplicações
Controle
do servidor
de aplicações
Alvos 
gerenciados
Agente AgenteAgente
 Copyright © 2004, Oracle. Todos os direitos reservados.
Visão Geral do DBCA
(Database Configuration Assistant)
 Copyright © 2004, Oracle. Todos os direitos reservados.
Criando um Banco de Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Database Identification
 Copyright © 2004, Oracle. Todos os direitos reservados.
Management Options
 Copyright © 2004, Oracle. Todos os direitos reservados.
Senhas e Armazenamento
 Copyright © 2004, Oracle. Todos os direitos reservados.
Localização dos Arquivos
e Recuperação de Backup
 Copyright © 2004, Oracle. Todos os direitos reservados.
Variáveis de Localização de Arquivos
 Copyright © 2004, Oracle. Todos os direitos reservados.
Conteúdo e Parâmetros de Inicialização
 Copyright © 2004, Oracle. Todos os direitos reservados.
Database Storage
 Copyright © 2004, Oracle. Todos os direitos reservados.
Opções de Criação
 Copyright © 2004, Oracle. Todos os direitos reservados.
Outras Ações com o DBCA
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a:
• Descrever a arquitetura do banco de dados Oracle
• Compreender a arquitetura de instâncias
• Usar o framework de gerenciamento
• Usar o DBCA para
– Criar um banco de dados
– Configurar um banco de dados
– Eliminar um banco de dados
– Gerenciar gabaritos
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exercício 3: 
Criando um Banco de Dados Oracle
Este exercício aborda a criação de um banco de dados 
Oracle usando o DBCA.
Copyright © 2004, Oracle. Todos os direitos reservados.
Interfaces de Banco de Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Usar o SQL*Plus e o iSQL*Plus para acessar
o Banco de Dados Oracle 10g
• Descrever a estrutura lógica das tabelas
• Usar a linguagem SQL para consultar, manipular
e definir dados
• Identificar interfaces de banco de dados comuns
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É SQL?
O SQL fornece instruções para diversas tarefas, 
incluindo:
• Consulta a dados 
• Inserção, atualização e deleção das linhas
de uma tabela
• Criação, substituição, alteração e eliminação
de objetos
• Controle de acesso ao banco de dados
e a seus objetos 
A linguagem SQL unifica todas as tarefas 
precedentes em uma linguagem consistente.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Usando SQL
Várias ferramentas são usadas para fazer interface 
com o banco de dados que utiliza SQL:
• Oracle SQL*Plus e iSQL*Plus 
• Oracle Forms, Reports e Discoverer
• Oracle Enterprise Manager
• Ferramentas de terceiros
 Copyright © 2004, Oracle. Todos os direitos reservados.
Enterprise Manager: Exibindo o Código SQL
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É SQL*Plus?
• Ferramenta da linha de comandos
• Usado interativamente ou no modo batch
$ sqlplus /nolog
SQL*Plus: Release 10.1.0.2.0 - Production on Tue Feb 
17 06:17:14 2004
Copyright (c) 1982, 2004, Oracle. All rights 
reserved.
SQL> connect ric
Enter password:
Connected.
SQL>SELECT * FROM dual;
D
-
X
SQL>
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É iSQL*Plus?
 Copyright © 2004, Oracle. Todos os direitos reservados.
Usando o iSQL*Plus
 Copyright © 2004, Oracle. Todos os direitos reservados.
Descrevendo Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Consultando Dados
A instrução SELECT possui três partes básicas:
• A Lista SELECT
• Cláusula FROM
• A condição WHERE (opcional)
 Copyright © 2004, Oracle. Todos os direitos reservados.
Classificando os Dados
SQL> SELECT last_name, department_id, phone_number
2 FROM employees
3 ORDER BY last_name;
LAST_NAME DEPARTMENT_ID PHONE_NUMBER
--------------- ------------- --------------------
Abel 80 011.44.1644.429267
Ande 80 011.44.1346.629268
Atkinson 50 650.124.6234
Austin 60 590.423.4569
Baer 70 515.123.8888
Baida 30 515.127.4563
Banda 80 011.44.1346.729268
 Copyright © 2004, Oracle. Todos os direitos reservados.
Unindo Tabelas
Obtendo dados de mais de uma tabela
 Copyright © 2004, Oracle. Todos os direitos reservados.
Manipulando Dados
SQL> INSERT INTO employees
2 (EMPLOYEE_ID,FIRST_NAME,LAST_NAME,EMAIL,PHONE_NUMBER,
3 HIRE_DATE,JOB_ID,SALARY,COMMISSION_PCT,
4 MANAGER_ID,DEPARTMENT_ID)
5 VALUES
6 (9999,'Bob','Builder','bob@abc.com',NULL,sysdate,
7 'IT_PROG’,NULL,NULL,100,90);
1 row created.
SQL> UPDATE employees SET SALARY=6000
2 WHERE EMPLOYEE_ID = 9999;
1 row updated.
SQL> DELETE from employees
2 WHERE EMPLOYEE_ID = 9999;
1 row deleted.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Definindo Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Visão Geral de Transações
Transação 1 Transação 2COMMIT;
 Copyright © 2004, Oracle. Todos os direitos reservados.
Instruções de Controle de Transações
SQL> SELECT * FROM local_temp;
no rows selected
SQL> INSERT INTO local_temp VALUES
2 (SYSDATE, 76, 58);
1 row created.
SQL> SELECT * from local_temp;
TEMP_DATE HI_TEMP LO_TEMP
--------- ---------- ----------
27-OCT-03 76 58
SQL> ROLLBACK;
Rollback complete.
SQL> SELECT * FROM local_temp;
no rows selected
 Copyright © 2004, Oracle. Todos os direitos reservados.
Bloqueando Dados
O Banco de Dados Oracle 10g bloqueia dados 
automaticamente, de modo que apenas um usuário 
possa fazer alterações de cada vez.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Outras Categorias de Instrução
• Instruções de controle de sessões: Gerenciam
as propriedades de uma sessão de usuário
• Instrução de controle do sistema: Gerencia
as propriedades de uma instância Oracle
• Instruções SQL incorporadas: Instruções SQL
em um programa de linguagem procedural
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É PL/SQL?
PL/SQL é uma linguagem estruturada em blocos,
que estende o SQL com:
• Declarações:
– Variáveis
– Constantes
– Cursores
• Estruturas de controle:
– Controle condicional
– Controle iterativo
– Controle seqüencial
• Tratamento de erros
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exemplo de Bloco PL/SQL
DECLARE
qty_on_hand NUMBER(5);
BEGIN
SELECT quantity INTO qty_on_hand FROM
inventory
WHERE product = 'TENNIS RACKET'
FOR UPDATE OF quantity;
IF qty_on_hand > 0 THEN -- check quantity
UPDATE inventory SET quantity = quantity - 1
WHERE product = 'TENNIS RACKET';
INSERT INTO purchase_record
VALUES ('Tennis racket purchased', SYSDATE);
ELSE
INSERT INTO purchase_record
VALUES ('Out of tennis rackets', SYSDATE);
END IF;
COMMIT;
END;
 Copyright © 2004, Oracle. Todos os direitos reservados.
Usos de PL/SQL
Os blocos de PL/SQL são usados em:
• Blocos anônimos
• Functions
• Procedures
• Packages
• Triggers
• Tipos de objetos
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É Java?
Java é uma linguagem de programação orientada
a objeto considerada padrão do setor. Ela inclui
os seguintes conceitos:
• Uma JVM (Java Virtual Machine), que permite
uma independência de plataforma
• Técnicas automatizadas de gerenciamento
de armazenamento
• Sintaxe emprestada da linguagem C e que
impõe um uso muito rígido de tipos de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Oracle e Java
Uma function PL/SQL:
CallableStatement 
cstmt = conn.prepareCall("{? = CALL balance(?)}");
cstmt.registerOutParameter(1, Types.FLOAT);
cstmt.setInt(2, acctNo);
cstmt.executeUpdate();
float acctBal = cstmt.getFloat(1);
FUNCTION balance (acct_id NUMBER) RETURN NUMBER IS
acct_bal NUMBER;
BEGIN
SELECT bal INTO acct_bal FROM accts
WHERE acct_no = acct_id;
RETURN acct_bal;
END;
Chamando a function com Java:
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É OCI?
A OCI permite:
• A OCI (Oracle Call Interface) é a forma como todos 
os recursos do banco de dados tornam-se 
acessíveis aos desenvolvedores de aplicação.
• Ela viabiliza as aplicações escalonáveis e de alto 
desempenho.
• As ferramentas e as APIs de nível superior utilizam 
a OCI indiretamente para acessar o banco de 
dados.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Outras APIs
• JDBC (Java Database Connectivity)
• Pro*C/C++
• Pro*COBOL
• OCCI (Oracle C++ Interface)
• ODBC (Open Database Connectivity)
• ODP.NET (Oracle Data Provider for .NET)
• OO4O (Oracle Objects for OLE)
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a: 
• Usar o SQL*Plus e o iSQL*Plus para acessar
o Banco de Dados Oracle 10g
• Descrever a estrutura lógica das tabelas
• Usar código SQL para consultar, manipular
e definir dados
• Identificar interfaces de banco de dados comuns
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exercício 4: Usando SQL
Este exercício aborda o uso do iSQL*Plus para:
• Descrever tabelas
• Fazer seleções em tabelas
• Atualizar uma tabela
• Fazer deleções em uma tabela
• Desfazer alterações
Copyright © 2004, Oracle. Todos os direitos reservados.
Controlando o Banco de Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Iniciar e interromper o iSQL*Plus
• Iniciar e interromper o Database Control
do Enterprise Manager
• Iniciar e interromper o Oracle Listener
• Inicializar e fazer shutdown do Banco de Dados 
Oracle 10g
 Copyright © 2004, Oracle. Todos os direitos reservados.
Iniciando e Interrompendo o iSQL*Plus
$ isqlplusctl start
iSQL*Plus 10.1.0.2.0
Copyright (c) 2004 Oracle. All rights reserved.
Starting iSQL*Plus ...
iSQL*Plus started.
$ isqlplusctl stop
iSQL*Plus 10.1.0.2.0
Copyright (c) 2004 Oracle. All rights reserved.
Stopping iSQL*Plus ...
iSQL*Plus stopped.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Framework de Gerenciamento
Os três componentes do framework de gerenciamento 
do Banco de Dados Oracle 10g são:
• Instância de banco de dados
• Listener
• Interface de gerenciamento
– Controle do Banco de Dados
– Agente de gerenciamento (quando o controle
de grade é utilizado)
ListenerControle do 
Banco de Dados
Agente de
gerenciamento
Interface de gerenciamento
-ou-
 Copyright © 2004, Oracle. Todos os direitos reservados.
Iniciando e Interrompendo
o Controle do Banco de Dados
$ emctl start dbconsole
TZ set to US/Pacific
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation. All rights reserved.
http://edrsr9p1.us.oracle.com:5500/em/console/aboutApplication
Starting Oracle Enterprise Manager 10g Database Control 
...................... started.
------------------------------------------------------------------
Logs are generated in directory 
/u01/app/oracle/product/10.1.0/db_1/edrsr9p1.us.oracle.com_orcl/sy
sman/log
$ emctl stop dbconsole
TZ set to US/Pacific
Oracle Enterprise Manager 10g Database Control Release 10.1.0.2.0
Copyright (c) 1996, 2004 Oracle Corporation.All rights reserved.
http://edrsr9p1.us.oracle.com:5500/em/console/aboutApplication
Stopping Oracle Enterprise Manager 10g Database Control ...
... Stopped.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Acessando o Controle do Banco de Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
SYSOPER e SYSDBA 
 Copyright © 2004, Oracle. Todos os direitos reservados.
Home Page Database
 Copyright © 2004, Oracle. Todos os direitos reservados.
Alterando o Status do Listener
 Copyright © 2004, Oracle. Todos os direitos reservados.
Inicialização e Shutdown
Clique em Advanced 
Options para selecionar
as opções de inicialização
e o modo de shutdown
 Copyright © 2004, Oracle. Todos os direitos reservados.
Iniciando um Banco de Dados
NOMOUNT
OPEN
MOUNT
NOMOUNT
SHUTDOWN
Instância inicializada
STARTUP
 Copyright © 2004, Oracle. Todos os direitos reservados.
Iniciando um Banco de Dados
MOUNT
OPEN
MOUNT
NOMOUNT
SHUTDOWN
Arquivo de 
controle aberto 
para esta 
instância
STARTUP
SHUTDOWN
Instância 
inicializada
 Copyright © 2004, Oracle. Todos os direitos reservados.
Iniciando um Banco de Dados
OPEN
OPEN
MOUNT
NOMOUNT
SHUTDOWN
Todos os arquivos são 
abertos conforme 
descrito pelo arquivo de 
controle desta instância
Arquivo de 
controle aberto 
para esta 
instância
Instância 
inicializada
STARTUP
SHUTDOWN
 Copyright © 2004, Oracle. Todos os direitos reservados.
Fazendo Shutdown do Banco de Dados 
Modo de shutdown:
• A = ABORT
• I = IMMEDIATE
• T = TRANSACTIONAL
• N = NORMAL
A
Não
Não
Não
Não
T
Não
Não
Sim
Sim
I
Não
Não
Não
Sim
Modo de Shutdown
Permite novas conexões
Aguarda o fim das sessões atuais
Aguarda o fim das transações atuais
Impõe um checkpoint e fecha os arquivos
N
Não
Sim
Sim
Sim
 Copyright © 2004, Oracle. Todos os direitos reservados.
Opções de SHUTDOWN
Durante o shutdown:
• Cache de buffer de 
banco de dados 
gravado para os
arquivos de dados
• Rollback das 
alterações não 
submetidas
a commit
• Os recursos
são liberados
Durante o 
shutdown:
• Não há 
recuperação 
da instância
Durante
SHUTDOWN 
NORMAL
ou
SHUTDOWN 
TRANSACTIONAL
ou
SHUTDOWN 
IMMEDIATE
Banco de dados consistente
(banco de dados limpo)
 Copyright © 2004, Oracle. Todos os direitos reservados.
Opções de SHUTDOWN
Durante o shutdown:
• Os buffers 
modificados
não são gravados 
nos arquivos de 
dados
• Não é efetuado 
rollback das 
alterações não 
submetidas
a commit
Na inicialização:
• Os arquivos de 
redo log on-line
são usados para 
reaplicar alterações
• Os segmentos de 
undo são usados 
para efetuar 
rollback das 
alterações não 
submetidas
a commit
• Os recursos
são liberados
Durante
SHUTDOWN ABORT
ou
Falha de Instância
ou
STARTUP FORCE
Banco de dados inconsistente
(banco de dados sujo)
 Copyright © 2004, Oracle. Todos os direitos reservados.
spfiledb01.ora
Arquivos de Parâmetros de Inicialização
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exibindo Parâmetros de Inicialização
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exibindo o Log de Alerta
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a:
• Iniciar e interromper o iSQL*Plus
• Iniciar e interromper a Console de Banco de Dados 
do Enterprise Manager
• Iniciar e interromper o listener
• Inicializar e fazer shutdown do banco de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exercício 5: 
Controlando o Banco de Dados
Este exercício aborda os seguintes tópicos:
• Estabelecendo conexão com o banco de dados 
usando o SQL*Plus e o iSQL*Plus
• Interrompendo e iniciando o Database Control
do Enterprise Manager 
• Interrompendo e iniciando o banco de dados 
• Interrompendo e iniciando o iSQL*Plus
Copyright © 2004, Oracle. Todos os direitos reservados.
Estruturas de Armazenamento
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Definir o objetivo de tablespaces e arquivos
de dados
• Criar tablespaces
• Gerenciar tablespaces
• Obter informações sobre tablespaces
 Copyright © 2004, Oracle. Todos os direitos reservados.
Tablespaces e Arquivos de Dados
O Oracle armazena dados logicamente em 
tablespaces e fisicamente em arquivos de dados.
• Tablespaces:
– Só podem pertencer a um banco de dados por vez
– Consistem em um ou mais arquivos de dados
– São divididos posteriormente em unidades lógicas 
de armazenamento
• Arquivos de dados:
– Podem pertencer a apenas um
tablespace e um banco de dados
– São um repositório para dados
de objetos do esquema
Banco de dados
Tablespace
Arquivos de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Gerenciamento de Espaço em Tablespaces
• Tablespace gerenciado localmente:
– As extensões livres são gerenciadas no tablespace.
– Um bitmap é usado para registrar extensões livres. 
– Cada bit corresponde a um bloco ou grupo de blocos.
– O valor do bit indica bloco livre ou utilizado.
• Tablespace gerenciado por dicionário:
– As extensões livres são gerenciadas pelo dicionário 
de dados.
– As tabelas apropriadas são atualizadas quando
as extensões são alocadas ou desalocadas.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Criando um Novo Tablespace
 Copyright © 2004, Oracle. Todos os direitos reservados.
Armazenamento para Tablespaces 
Gerenciados Localmente
 Copyright © 2004, Oracle. Todos os direitos reservados.
Tablespaces no 
Banco de Dados Pré-configurado
• SYSTEM
• SYSAUX
• TEMP
• UNDOTBS1
• USERS
• EXAMPLE
 Copyright © 2004, Oracle. Todos os direitos reservados.
Alterando um Tablespace
 Copyright © 2004, Oracle. Todos os direitos reservados.
Ações com Tablespaces
 Copyright © 2004, Oracle. Todos os direitos reservados.
Eliminando Tablespaces
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exibindo Informações sobre o Tablespace
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a:
• Usar tablespaces para separar dados
• Criar vários tipos de tablespaces
• Gerenciar tablespaces
• Obter informações sobre tablespaces
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exercício 6: 
Trabalhando com Tablespaces
Este exercício aborda os seguintes tópicos:
• Criação de tablespaces
• Reunindo informações sobre tablespaces
Copyright © 2004, Oracle. Todos os direitos reservados.
Administrando Usuários
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Criar e gerenciar contas de usuário do banco
de dados
• Criar e gerenciar atribuições
• Conceder e revogar privilégios com os comandos 
Grant e Revoke
• Controlar o uso de recursos pelos usuários
 Copyright © 2004, Oracle. Todos os direitos reservados.
Contas de Usuário do Banco de Dados
Cada conta de usuário do banco de dados possui:
• Um nome de usuário exclusivo
• Um método de autenticação
• Tablespace default
• Tablespace temporário
• Perfil de usuário
 Copyright © 2004, Oracle. Todos os direitos reservados.
Criando um Usuário
Selecione Users na página de propriedades 
Administration. Clique no botão Create.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Perfis e Usuários
Os usuários 
recebem apenas 
um perfil em 
qualquer 
momento.
Perfis:
• Controlar
o consumo
de recursos
• Gerenciar 
senhas
 Copyright © 2004, Oracle. Todos os direitos reservados.
Autenticando Usuários
• Senha
• External
• Global
 Copyright © 2004, Oracle. Todos os direitos reservados.
Bloqueio e Tablespaces Default 
e Temporários
• Default: Local default dos objetos de banco
de dados
• Temporário: Usado para a classificação
 Copyright © 2004, Oracle. Todos os direitos reservados.
Esquemas e Usuários de Banco de Dados
Objetos do Esquema
Tabelas
Triggers
Índices
Views
Seqüências
Unidades de programa 
armazenadas
Sinônimos
Tipos de dados definidos 
pelo usuário
Vínculos de bancos
de dados• Esquema é o conjunto 
de objetos pertencentes 
a um usuário.
• Só é possível associar 
um usuário a um 
esquema.
• O nome de usuário e o 
esquema são, em geral, 
usados alternadamente.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Lista de Verificação para Criar Usuários
• Selecione um perfil.
• Selecione uma técnica de autenticação.
• Designe um tablespace default e um tablespace 
temporário.
• Conceda privilégios e atribuições ao usuário.
• Defina as cotas de cada tablespace.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Há dois tipos de privilégios de usuário:
• System: Permite que os usuários executem 
determinadas ações no banco de dados
• Objeto: Permite que os usuários acessem
e manipulem um objeto específico
Privilégios
 Copyright © 2004, Oracle. Todos os direitos reservados.
Privilégios de Sistema
 Copyright © 2004, Oracle. Todos os direitos reservados.
Privilégios de Objeto
Para conceder privilégios 
de objeto:
• Escolha o tipo de objeto
• Selecione os objetos
• Privilégios Select
 Copyright © 2004, Oracle. Todos os direitos reservados.
Atribuindo uma Cota aos Usuários
Os usuários que não tiverem o privilégio de sistema 
de tablespace unlimited deverão receber uma cota 
antes de criarem objetos em um tablespace. As cotas 
podem ser:
• Ilimitado
• Um valor específico em megabytes ou em kilobytes
 Copyright © 2004, Oracle. Todos os direitos reservados.
Designando Atribuições aos Usuários
 Copyright © 2004, Oracle. Todos os direitos reservados.
Usuários
Privilégios
Atribuições HR_CLERKHR_MGR
Atribuições
Neena Girard Vance
Delete
employees
Selecione
employees
Atualizar
employees
Inserir
employees
 Copyright © 2004, Oracle. Todos os direitos reservados.
• Gerenciamento mais fácil de privilégios
• Gerenciamento dinâmico de privilégios
• Disponibilidade seletiva dos privilégios
• Podem ser concedidas pelo sistema operacional
Vantagens das Atribuições
 Copyright © 2004, Oracle. Todos os direitos reservados.
Atribuições Predefinidas
CREATE ANY JOB, CREATE JOB, EXECUTE ANY 
CLASS, EXECUTE ANY PROGRAM, MANAGE 
SCHEDULER
SCHEDULER_ 
ADMIN
Não contêm privilégios de sistema, porém, contêm 
mais de 1600 privilégios de objeto no dicionário de 
dados
SELECT_
CATALOG_
ROLE
Inclui a maioria dos privilégios de sistema, várias 
outras atribuições Não deve ser concedida a 
usuários que não são administradores.
DBA
CREATE TABLE, CREATE PROCEDURE, CREATE 
SEQUENCE, CREATE TRIGGER, CREATE TYPE, 
CREATE CLUSTER, CREATE INDEXTYPE, CREATE 
OPERATOR
RESOURCE
CREATE SESSION, CREATE TABLE, CREATE VIEW, 
CREATE SYNONYM, CREATE SEQUENCE, CREATE 
DATABASE LINK, CREATE CLUSTER, ALTER 
SESSION
CONNECT
 Copyright © 2004, Oracle. Todos os direitos reservados.
As atribuições podem ser protegidas através
de autenticação.
CREATE ROLE secure_application_role
IDENTIFIED USING <security_procedure_name>;
Atribuições Seguras
As atribuições também podem ser protegidas através 
de programa.
As atribuições podem ser não-default.
SET ROLE vacationdba;
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você deverá ter aprendido a:
• Criar e gerenciar contas de usuário
• Criar e gerenciar atribuições
• Conceder e revogar privilégios com os comandos 
Grant e Revoke
• Controlar o uso de recursos pelos usuários
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exercício 7: 
Administrando Usuários
Este exercício aborda o seguinte:
• Criação de um perfil para limitar o consumo
de recursos
• Criação de duas atribuições:
a. HRCLERK
b. HRMANAGER
• Criação de três novos usuários, um gerente
e dois funcionários
Copyright © 2004, Oracle. Todos os direitos reservados.
Gerenciando Objetos de Esquema
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Criar e modificar tabelas
• Definir constraints
• Exibir os atributos de uma tabela
• Exibir o conteúdo de uma tabela
• Criar índices e views
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É um Esquema?
Esquema HR
Usuário HR
possui
 Copyright © 2004, Oracle. Todos os direitos reservados.
Esquemas
Esquemas criados como parte do processo
de criação de bancos de dados:
• SYS
• SYSTEM
• Amostras de esquemas
 Copyright © 2004, Oracle. Todos os direitos reservados.
Acessando Objetos de Esquema
Clique em um link para 
acessar os objetos de 
esquema.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Nomeando Objetos de Banco de Dados
• Os nomes devem conter de 1 a 30 bytes,
com estas exceções:
– Os nomes de bancos de dados estão limitados
a 8 bytes
– Os nomes de links de banco de dados podem
ter 128 bytes
• Os nomes sem aspas não podem ser palavras 
reservadas do Oracle.
• Esses nomes devem começar com um caractere 
alfabético do conjunto de caracteres do banco de 
dados.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Nomeando Objetos de Banco de Dados
• Os nomes sem aspas só podem conter
– Caracteres alfanuméricos do conjunto de caracteres 
do banco de dados
– Sublinhado (_)
– Cifrão ($)
– Cerquilha (#)
• Dois objetos não podem ter o mesmo nome
no mesmo namespace
 Copyright © 2004, Oracle. Todos os direitos reservados.
Namespaces de Objetos de Esquema
Os seguintes itens têm 
seu próprio namespace:
• Índices
• Constraints
• Clusters
• Triggers de banco
de dados.
• Links para bancos
de dados particulares
• Dimensões
Os seguintes itens estão
no mesmo namespace:
• Tabelas
• Views
• Seqüências
• Sinônimos particulares
• Procedures stand-alone
• Funções stand-alone 
armazenadas
• Packages
• Views materializadas
• Tipos definidos
pelo usuário
 Copyright © 2004, Oracle. Todos os direitos reservados.
Especificando Tipos de Dados em Tabelas
Tipos de dados comuns:
• CHAR(size): Dados de caracteres de tamanho fixo 
em bytes
• VARCHAR2(size): String de caracteres de 
tamanho variável com bytes de tamanho máximo
• DATE: A faixa de datas válida é 1o de janeiro
de 4712 AC a 31 de dezembro de 9999 DC
• NUMBER(p,s) Número que tem a precisão p
e a escala s
 Copyright © 2004, Oracle. Todos os direitos reservados.
Outros Tipos de Dados
• FLOAT
• INTEGER
• NCHAR
• NVARCHAR2
• LONG
• LONG RAW
• RAW
• ROWID
• UROWID
• BLOB
• CLOB
• NCLOB
• BFILE
• TIMESTAMP
 Copyright © 2004, Oracle. Todos os direitos reservados.
Criando e Modificando Tabelas
Especifique o 
nome da tabela
e o esquema.
Especifique os nomes das 
colunas, os tipos de dados 
e os tamanhos.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Noções Básicas sobre Integridade de Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Definindo Constraints
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exibindo os Atributos de uma Tabela
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exibindo o Conteúdo de uma Tabela
 Copyright © 2004, Oracle. Todos os direitos reservados.
Ações e Tabelas
 Copyright © 2004, Oracle. Todos os direitos reservados.
Criando Índices
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É uma View?
• Uma representação adaptada dos dados
em uma tabela ou view
• As views não contêm dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Criando Views
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Que É uma Seqüência?
 Copyright © 2004, Oracle. Todos os direitos reservados.
Usando uma Seqüência
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a:
• Criar e modificar tabelas
• Definir constraints
• Exibir os atributos de uma tabela
• Exibir o conteúdo de uma tabela
• Criar índices e views
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exercício 8: 
Trabalhando com Tabelas
Este exercício aborda o seguinte:
• Criando tabelas e índices
• Modificando tabelas
• Eliminando uma tabela
• Criando uma view
Copyright © 2004, Oracle. Todos os direitos reservados.
Gerenciando Dados
 Copyright© 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Manipular dados por meio de instruções SQL
• Usar Data Pump para exportar dados
• Usar Data Pump para importar dados
• Carregar dados com o SQL Loader
 Copyright © 2004, Oracle. Todos os direitos reservados.
Manipulando Dados por Meio de Instruções 
SQLSQL> INSERT INTO employees VALUES
2 (9999,'Bob','Builder','bob@abc.net',NULL,SYSDATE,
3 'IT_PROG',NULL,NULL,100,90);
1 row created.
SQL> UPDATE employees SET SALARY=6000
2 WHERE EMPLOYEE_ID = 9999;
1 row updated.
SQL> DELETE from employees
2 WHERE EMPLOYEE_ID = 9999;
1 row deleted.
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Comando INSERT
• Criar uma linha de cada vez.
• Inserir várias linhas de outra tabela.
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Comando UPDATE
Use este comando para alterar linhas de uma tabela.
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Comando DELETE
Use este comando para remover linhas de uma tabela.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Os Comandos COMMIT e ROLLBACK
São usados para finalizar uma transação.
• Commit: Torna a alteração permanente
• Rollback: Desfaz a alteração
 Copyright © 2004, Oracle. Todos os direitos reservados.
Constraints de Integridade e DML
 Copyright © 2004, Oracle. Todos os direitos reservados.
Data Pump Export
 Copyright © 2004, Oracle. Todos os direitos reservados.
Data Pump Import
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetos DIRECTORY
SQL> CREATE DIRECTORY dpump_dir1 
2 AS '/usr/apps/datafiles';
Directory created.
SQL> SELECT * FROM DBA_DIRECTORIES
2 WHERE DIRECTORY_NAME = 'DPUMP_DIR1';
OWNER DIRECTORY_NAME DIRECTORY_PATH
------- --------------- --------------------
SYS DPUMP_DIR1 /usr/apps/datafiles
 Copyright © 2004, Oracle. Todos os direitos reservados.
SQL*Loader
Arquivos
de dados
de entrada
Arquivo
de
Controle
SQL*Loader
Arquivo
de
log
Arquivos
de erros
Arquivos
de
descarte
Tabelas e índices
 Copyright © 2004, Oracle. Todos os direitos reservados.
O Arquivo de Controle do SQL*Loader
O arquivo de controle do carregador fornece
as seguintes informações ao SQL*Loader:
• Onde encontrar os dados de carga
• O formato dos dados
• Detalhes de configuração:
– Gerenciamento da memória
– Rejeição de registros
– Detalhes do tratamento de carga interrompida
• Como manipular os dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Considerações sobre a Sintaxe
do Arquivo de Controle
• O formato da sintaxe é livre. 
• A sintaxe não faz distinção entre letras maiúsculas 
e minúsculas. 
• Os comentários se estendem dos dois hífens (--), 
que marcam o início do comentário, até o fim da 
linha.
• A palavra-chave CONSTANT é reservada.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Dados de Entrada e Arquivos de Dados
• O SQL*Loader lê os dados de um ou mais arquivos 
especificados no arquivo de controle.
• Na perspectiva do SQL*Loader, os dados do 
arquivo de dados são organizados como registros.
• Um arquivo de dados pode ter um destes três 
formatos:
– Formato de registro fixo
– Formato de registro variável
– Formato de registro de fluxo
 Copyright © 2004, Oracle. Todos os direitos reservados.
Métodos de Carga
Convencional
Caminho 
direto
Inserção
de array
Gravações 
de bloco
Tabela
SGA
HWM (High-Water Mark)
 Copyright © 2004, Oracle. Todos os direitos reservados.
Comparando as Cargas de 
Caminho Direto e Convencional
Carga Convencional
Usa COMMIT para tornar
as alterações permanentes
Sempre são geradas 
entradas de redo
Impõe todas as constraints
Triggers INSERT
são acionados
Pode fazer cargas em 
tabelas clusterizadas
Outros usuários podem
fazer alterações em tabelas
Carga de Caminho Direto
Usa salvamento de dados
Gera redo apenas
em condições específicas
Impõe apenas PRIMARY KEY, 
UNIQUE e NOT NULL
Triggers INSERT
não são acionados
Não faz cargas em 
tabelas clusterizadas
Outros usuários não podem
fazer alterações em tabelas
 Copyright © 2004, Oracle. Todos os direitos reservados.
Carregando Dados com o SQL*Loader
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você aprendeu a:
• Manipular dados por meio de instruções SQL
• Usar Data Pump para exportar dados
• Usar Data Pump para importar dados
• Carregar dados com o SQL Loader
 Copyright © 2004, Oracle. Todos os direitos reservados.
Exercício 9: 
Usando Data Pump Export e Import 
Este exercício aborda o seguinte:
• Criando um objeto de diretório 
• Extraindo objetos do esquema HR
• Usando Data Pump Import para carregar tabelas 
em um esquema distinto
Copyright © 2004, Oracle. Todos os direitos reservados.
PL/SQL
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Identificar objetos PL/SQL
• Descrever triggers e eventos de trigger
• Identificar as opções de configuração que afetam 
o desempenho dos códigos PL/SQL
 Copyright © 2004, Oracle. Todos os direitos reservados.
PL/SQL
A linguagem PL/SQL é uma linguagem
de programação 4GL. Ela fornece:
• Extensões procedurais para códigos SQL
• Portabilidade entre plataformas e produtos
• Suporte à programação orientada a objeto
 Copyright © 2004, Oracle. Todos os direitos reservados.
Administrando Objetos PL/SQL
Os administradores de banco de dados devem ser 
capazes de:
• Identificar objetos PL/SQL com problema
• Recomendar o uso adequado do código PL/SQL
• Carregar objetos PL/SQL no banco de dados
• Ajudar os desenvolvedores de PL/SQL na solução 
de problemas
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetos PL/SQL
Há vários tipos de objetos de banco de dados PL/SQL:
• Package
• Package body
• Type body
• Procedure
• Function
• Trigger
 Copyright © 2004, Oracle. Todos os direitos reservados.
Functions
 Copyright © 2004, Oracle. Todos os direitos reservados.
Procedures
Os procedures são usados para executar uma ação 
específica. Procedures: 
• Transferem valores por meio de uma lista
de argumentos
• São chamados com o comando CALL
 Copyright © 2004, Oracle. Todos os direitos reservados.
Packages
Os packages são conjuntos de functions e procedures. 
Cada package deve consistir em dois objetos:
• Especificação do package
• Package body
 Copyright © 2004, Oracle. Todos os direitos reservados.
Package Body
 Copyright © 2004, Oracle. Todos os direitos reservados.
Packages Internos
O Oracle Database 10g vem com mais de 350 
packages PL/SQL internos que fornecem:
• Utilitários de administração e manutenção
• Funcionalidade estendida
Use o comando DESCRIBE para exibir subprogramas
SQL> DESCRIBE dbms_stats
PROCEDURE ALTER_DATABASE_TAB_MONITORING
Argument Name Type In/Out Default?
--------------- ------- ------ --------
MONITORING BOOLEAN IN DEFAULT
SYSOBJS BOOLEAN IN DEFAULT
...
 Copyright © 2004, Oracle. Todos os direitos reservados.
Triggers
 Copyright © 2004, Oracle. Todos os direitos reservados.
Opções de Configuração de Instruções PL/SQL
Há várias definições do compilador PL/SQL
que controlam o seu desempenho. 
Para obter o desempenho mais rápido, defina:
• PLSQL_CODE_TYPE=NATIVE
• PLSQL_DEBUG=FALSE
• PLSQL_OPTIMIZE_MODE=2
• PLSQL_WARNING=DISABLE:ALL
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você deverá ter aprendido a:
• Identificar objetos PL/SQL
• Descrever triggers e eventos de trigger
• Identificar as opções de configuração que afetam 
o desempenho do código PL/SQL
 Copyright © 2004, Oracle. Todos os direitos reservados.
Visão Geral do Exercício
Não há exercícios nesta lição. 
Você gerenciará e criará objetos PL/SQL várias
vezes durante o restante do curso.
Copyright © 2004, Oracle. Todos os direitos reservados.
Segurança do Banco de Dados Oracle
 Copyright © 2004, Oracle. Todos os direitos reservados.
ObjetivosAo concluir esta lição, você será capaz de:
• Aplicar o princípio de privilégio mínimo
• Gerenciar contas de usuário default
• Implementar recursos de segurança de senha 
padrão
• Fazer auditoria da atividade do banco de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Segurança do Banco de Dados
Um sistema seguro garante a confidencialidade dos 
dados nele contidos. A segurança envolve diversos 
aspectos:
• Restrição do acesso aos dados e serviços
• Autenticação dos usuários
• Monitoração de atividades suspeitas
 Copyright © 2004, Oracle. Todos os direitos reservados.
Aplicar o Princípio de Privilégio Mínimo
• Proteger o dicionário de dados
• Revogar os privilégios desnecessários de PUBLIC
• Restringir os diretórios que os usuários podem 
acessar
• Limitar os usuários com privilégios administrativos
• Restringir a autenticação remota do banco de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Proteger o Dicionário de Dados
• Proteja o dicionário de dados garantindo que o 
seguinte parâmetro de inicialização seja definido 
como FALSE:
• Essa configuração impede que usuários com 
privilégios de sistema ANY TABLE acessem as 
tabelas-base de dicionário de dados.
• A definição FALSE também impede que o usuário 
SYS efetue login como um usuário diferente de 
SYSDBA
• O valor default desse parâmetro é FALSE. Se o 
parâmetro de inicialização tiver sido definido como 
TRUE, deverá haver um bom motivo para isso.
O7_DICTIONARY_ACCESSIBILITY = FALSE
 Copyright © 2004, Oracle. Todos os direitos reservados.
Revogar Privilégios Desnecessários de PUBLIC
• Revogue todas as atribuições e privilégios 
desnecessários do grupo de usuários PUBLIC
do servidor de banco de dados.
• Vários packages internos concedem o privilégio 
EXECUTE a PUBLIC.
• Geralmente, o privilégio execute deve ser revogado 
de PUBLIC nos seguintes packages:
– UTL_SMTP
– UTL_TCP
– UTL_HTTP
– UTL_FILE
– DBMS_OBFUSCATION_TOOLKIT
• Exemplo:
SQL> REVOKE execute ON utl_file FROM PUBLIC;
 Copyright © 2004, Oracle. Todos os direitos reservados.
Restringir os Diretórios do 
Sistema Operacional Acessíveis ao Usuário
O parâmetro de configuração UTL_FILE_DIR:
• Designa quais diretórios estão disponíveis
para a entrada/saída de arquivos PL/SQL
• Permite que os usuários do banco de dados leiam 
ou gravem nos diretórios listados do servidor de 
banco de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Limitar os Usuários com Privilégios Administrativos
• Restrinja os seguintes tipos de privilégios:
– Concessões de privilégios de sistema e de objeto
– Conexões com privilégios de SYS: SYSDBA e SYSOPER
– Privilégios de DBA, como DROP ANY TABLE
– Permissões de runtime
• Exemplo: Liste todos os usuários com a atribuição 
DBA:
SQL> SELECT grantee FROM dba_role_privs
2 WHERE granted_role = 'DBA';
GRANTEE
------------------------------
SYS
SYSTEM
 Copyright © 2004, Oracle. Todos os direitos reservados.
Desativar a Autenticação 
Remota do Sistema Operacional
• Só utilize autenticações remotas quando tiver 
certeza de que todos os clientes autenticam os 
usuários de forma adequada.
• Processo de autenticação remota:
– O usuário do banco de dados é autenticado 
externamente.
– O sistema remoto autentica o usuário.
– O usuário efetua logon no banco de dados sem 
autenticação adicional.
• Para desativar, verifique se o seguinte parâmetro 
de inicialização da instância está configurado com 
sua definição default:
REMOTE_OS_AUTHENT = FALSE
 Copyright © 2004, Oracle. Todos os direitos reservados.
Gerenciar Contas de Usuário Default
• O DBCA expira e 
bloqueia todas as 
contas, exceto:
– SYS
– SYSTEM
– SYSMAN
– DBSNMP
• Para os bancos
de dados criados 
manualmente, 
bloqueie e expire 
todas as contas
não utilizadas.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Usuário
Expiração e 
vencimento da senha
Verificação 
da senha
Configuração 
de perfis
Implementar Recursos de 
Segurança de Senha Padrão
Histórico 
de senha
Bloqueio
de conta
 Copyright © 2004, Oracle. Todos os direitos reservados.
Bloqueio de Conta por Senha Incorreta
Número de dias em que a conta 
permanece bloqueada após o 
número especificado de tentativas 
de login malsucedidas
PASSWORD_LOCK_TIME
Número de tentativas de login 
malsucedidas antes do bloqueio 
da conta
FAILED_LOGIN_ATTEMPTS
DescriçãoParâmetro
 Copyright © 2004, Oracle. Todos os direitos reservados.
Expiração e Vencimento de Senha
Período de tolerância, em dias, 
para alterar a senha após o 
primeiro login bem-sucedido 
depois da expiração da senha
PASSWORD_GRACE_TIME
Tempo de vida útil da senha, em 
dias, após o qual a senha expira
PASSWORD_LIFE_TIME
DescriçãoParâmetro
 Copyright © 2004, Oracle. Todos os direitos reservados.
Histórico de Senhas
Número de alterações de senha 
necessárias antes de a senha atual 
poder ser reutilizada
PASSWORD_REUSE_MAX
Número de dias antes de uma 
senha poder ser reutilizada
PASSWORD_REUSE_TIME 
DescriçãoParâmetro
 Copyright © 2004, Oracle. Todos os direitos reservados.
Verificação de Senha
As functions de verificação de senha devem:
• Pertencer ao usuário SYS
• Retornar um valor Booleano (verdadeiro ou falso)
Uma function PL/SQL que executa 
uma verificação de complexidade 
antes que a senha seja designada
PASSWORD_VERIFY_ 
FUNCTION 
DescriçãoParâmetro
 Copyright © 2004, Oracle. Todos os direitos reservados.
Function de Verificação de Senha 
Fornecida: VERIFY_FUNCTION
A function de verificação de senha fornecida
impõe as seguintes restrições de senha:
• O tamanho mínimo é de quatro caracteres
• A senha não pode ser igual ao nome do usuário
• A senha deve ter, no mínimo, um caractere 
alfabético, um numérico e um especial
• A senha deve ter pelo menos três letras diferentes 
da senha anterior
 Copyright © 2004, Oracle. Todos os direitos reservados.
Criando um Perfil de Senha
 Copyright © 2004, Oracle. Todos os direitos reservados.
Designando Usuários a um Perfil de Senha
 Copyright © 2004, Oracle. Todos os direitos reservados.
Monitorando Atividades Suspeitas
A monitoração ou a auditoria deve ser parte 
integrante dos procedimentos de segurança.
As ferramentas internas de auditoria do Oracle 
incluem:
• Auditoria de banco de dados
• Auditoria baseada em valor
• FGA
 Copyright © 2004, Oracle. Todos os direitos reservados.
Comparações das Ferramentas de Auditoria
Conjunto fixo de 
dados, incluindo
a instrução SQL
Instruções SQL (insert, 
update, delete e select) 
baseadas em conteúdo
FGA
Definido pelo 
administrador
Dados alterados por 
instruções DML
Auditoria baseada 
em valor
Conjunto fixo de 
dados
Uso de privilégios, inclu-
indo acesso a objetos
Auditoria de banco 
de dados padrão
Qual o Conteúdo da 
Trilha de Auditoria?
O que É Auditado?Tipo de Auditoria
 Copyright © 2004, Oracle. Todos os direitos reservados.
Auditoria de Banco de Dados Padrão
Ativada por meio do parâmetro AUDIT_TRAIL
• NONE: Desativa a coleta de registros de auditoria
• DB: Ativa a auditoria com os registros armazenados 
no banco de dados
• OS: Ativa a auditoria com os registros armazenados 
na trilha de auditoria do sistema operacional
Pode fazer auditoria do(s):
• Eventos de login
• Exercício dos privilégios de sistema
• Exercício dos privilégios de objeto
• Uso de instruções SQL
 Copyright © 2004, Oracle. Todos os direitos reservados.
Especificando Opções de Auditoria
• Auditoria de instruções SQL
• Auditoria (não específica e específica)
de privilégios de sistema
• Auditoria (não específica e específica)
de privilégios de objeto
• Auditoria de sessões
AUDIT select any table, create any trigger;
AUDIT select any table BY hr BY SESSION;
AUDIT table;
AUDIT ALL on hr.employees;
AUDIT UPDATE,DELETE on hr.employees BY ACCESS;
AUDIT session whenever not successful;
 Copyright © 2004, Oracle. Todos os direitos reservados.
View do Dicionário de Dados
ALL_DEF_AUDIT_OPTS
DBA_STMT_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS
DBA_OBJ_AUDIT_OPTSDescrição
Opções de auditoria default
Opções de auditoria de instrução
Opções de auditoria de privilégio
Opções de auditoria de objeto de esquema
Exibindo Opções de Auditoria
 Copyright © 2004, Oracle. Todos os direitos reservados.
Trilha de 
auditoria
Arquivo de 
parâmetros
Especificar opções de auditoria
Gerar trilha
de auditoria
Revisar informações de auditoria
Auditoria de Banco de Dados Padrão
DBA Usuário
Ativar auditoria de 
banco de dados
executa o 
comando
Banco de dados
Trilha de 
auditoria 
do SO
Opções de 
auditoria
Processo 
do servidor
 Copyright © 2004, Oracle. Todos os direitos reservados.
View da Trilha de Auditoria
DBA_AUDIT_TRAIL
DBA_AUDIT_EXISTS
DBA_AUDIT_OBJECT
DBA_AUDIT_SESSION
DBA_AUDIT_STATEMENT
Descrição
Todas as entradas da trilha de auditoria
Registros para AUDIT EXISTS/NOT EXISTS
Registros referentes aos objetos de esquema
Todas as entradas de conexão e desconexão
Registros de auditoria de instrução
Exibindo os Resultados da Auditoria
 Copyright © 2004, Oracle. Todos os direitos reservados.
Auditoria Baseada em Valor
A alteração
do usuário
é efetuada
O trigger é 
acionado
O registro de auditoria 
é criado pelo trigger
E inserido em 
uma tabela de 
trilha de auditoria
O usuário efetua
a alteração
 Copyright © 2004, Oracle. Todos os direitos reservados.
FGA
• Monitora o acesso aos dados com base no conteúdo
• Faz auditoria de SELECT ou de INSERT,UPDATE,
DELETE
• Pode ser vinculada a uma tabela ou view
• Pode acionar um procedure
• É administrada com o package DBMS_FGA
employees
Política: AUDIT_EMPS_SALARY
SELECT name, salary
FROM employees
WHERE
department_id = 10;
 Copyright © 2004, Oracle. Todos os direitos reservados.
Política de FGA
dbms_fga.add_policy (
object_schema => 'hr',
object_name => 'employees',
policy_name => 'audit_emps_salary',
audit_condition=> 'dept_id=10',
audit_column => 'salary',
handler_schema => 'secure',
handler_module => 'log_emps_salary',
enable => TRUE,
statement_types=> 'select' );
SELECT name, job_id
FROM employees;
SELECT name, salary
FROM employees
WHERE
department_id = 10;
SECURE.LOG_ 
EMPS_SALARY
employees
• Define:
– Critérios de 
auditoria
– Ação de auditoria
• É criada com 
DBMS_FGA 
.ADD_POLICY
 Copyright © 2004, Oracle. Todos os direitos reservados.
Política de FGA
dbms_fga.add_policy (
object_schema => 'hr',
object_name => 'employees',
policy_name => 'audit_emps_salary',
audit_condition
=> 'department_id = 10',
audit_column => 'salary',
handler_schema => 'secure',
handler_module => 'log_emps_salary',
enable => TRUE );
SELECT name, salary
FROM employees;
SELECT name, salary
FROM employees
WHERE
department_id = 10;
SECURE.LOG_ 
EMPS_SALARY
Employees
• Define
– Critérios de 
auditoria
– Ação de auditoria
• É criada com 
DBMS_FGA 
.ADD_POLICY
 Copyright © 2004, Oracle. Todos os direitos reservados.
Package DBMS_FGA
• Use o package DBMS_FGA para manter as 
políticas de FGA
• Conceda o privilégio de execução somente aos 
administradores
• Inclui os seguintes subprogramas:
Desativa uma política de auditoriaDISABLE_POLICY
Ativa uma política de auditoriaENABLE_POLICY
Elimina uma política de auditoriaDROP_POLICY
Cria uma política de auditoria usando o predicado 
fornecido como a condição de auditoria
ADD_POLICY
DescriçãoSubprograma
 Copyright © 2004, Oracle. Todos os direitos reservados.
Ativando e Desativando uma Política de FGA
• Ativar uma política:
• Desativar uma política:
dbms_fga.enable_policy (
object_schema => 'hr',
object_name => 'employees',
policy_name => 'audit_emps_salary' );
dbms_fga.disable_policy (
object_schema => 'hr',
object_name => 'employees',
policy_name => 'audit_emps_salary' );
 Copyright © 2004, Oracle. Todos os direitos reservados.
Eliminando uma Política de FGA
SQL> EXEC dbms_fga.drop_policy ( -
> object_schema => 'hr', -
> object_name => 'employees', -
> policy_name => 'audit_emps_salary');
PL/SQL procedure successfully completed.
SQL>
 Copyright © 2004, Oracle. Todos os direitos reservados.
Disparando Eventos de Auditoria
• As seguintes instruções SQL geram uma auditoria:
• A seguinte instrução não gera uma auditoria:
SELECT count(*)
FROM hr.employees
WHERE department_id = 10
AND salary > v_salary;
SELECT salary
FROM hr.employees;
SELECT last_name
FROM hr.employees
WHERE department_id = 10;
 Copyright © 2004, Oracle. Todos os direitos reservados.
Views de Dicionário de Dados
Todas as políticas de FGA referentes aos 
objetos do esquema do usuário atual
USER_AUDIT_POLICIES
Todas as políticas de FGA do banco
de dados
DBA_AUDIT_POLICIES
Todas as políticas de FGA referentes aos 
objetos que o usuário atual pode acessar
ALL_AUDIT_POLICIES
Todos os eventos de FGADBA_FGA_AUDIT_TRAIL
DescriçãoNome da View
 Copyright © 2004, Oracle. Todos os direitos reservados.
DBA_FGA_AUDIT_TRAIL
SQL> SELECT to_char(timestamp, 'YYMMDDHH24MI')
2 AS timestamp,
3 db_user,
4 policy_name,
5 sql_bind,
6 sql_text
7 FROM dba_fga_audit_trail;
TIMESTAMP DB_USER POLICY_NAME SQL_BIND
---------- ------- ----------------- ----------
SQL_TEXT
-----------------------------------------------
0201221740 SYSTEM AUDIT_EMPS_SALARY #1(4):1000
SELECT count(*)
FROM hr.employees
WHERE department_id = 10
AND salary > :b1
 Copyright © 2004, Oracle. Todos os direitos reservados.
Diretrizes de FGA
• Para fazer auditoria de todas as instruções,
use uma condição nula.
• Se você tentar adicionar uma política que já exista, 
o erro ORA-28101 ocorrerá.
• A tabela ou a view auditada já deverá existir 
quando você criar a política.
• Se a sintaxe da condição de auditoria for inválida, 
ocorrerá um erro ORA-28112 quando o objeto 
auditado for acessado.
• Se a coluna de auditoria não existir na tabela, 
nenhuma linha será auditada.
• Se o handler de eventos não existir, nenhum erro 
será retornado, e os registros de auditoria ainda 
serão criados.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Fazendo Auditoria dos Usuários SYSDBA e SYSOPER
Os usuários com privilégios SYSDBA ou SYSOPER
podem se conectar com o banco de dados fechado.
• A trilha de auditoria deve ser armazenada for
a do banco de dados.
• A conexão como SYSDBA ou SYSOPER é sempre 
auditada.
• Ative a auditoria adicional das ações de SYSDBA
ou de SYSOPER com audit_sys_operations.
• Controle a trilha de auditoria com 
audit_file_dest. O default é:
– $ORACLE_HOME/rdbms/audit (UNIX/Linux)
– Log de Eventos do Windows (Windows)
 Copyright © 2004, Oracle. Todos os direitos reservados.
Atualizações de Segurança
• A Oracle publica os alertas de segurança no Web 
site Oracle Technology Network em: 
http://otn.oracle.com/deploy/security/alerts.htm
• Os desenvolvedores e administradores de bancos 
de dados Oracle também podem se inscrever para 
receber uma notificação dos alertas de segurança 
críticos via e-mail, clicando no link "Subscribe to 
Security Alerts Here".
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você deverá ter aprendido a:
• Aplicar o princípio de privilégio mínimo
• Gerenciar contas de usuário default
• Implementar recursos de segurança de senha 
padrão
• Fazer auditoria da atividade do banco de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Visão Geral do Exercício 11-1: 
Segurança do Banco de Dados (Parte 1)
Tarefas:
• Impedir o uso de senhas simples
• Impor o bloqueio das contas por 10 minutos
após quatro tentativas malsucedidas de login
• Isentar o login do servidor de aplicações
das alterações de senha impostas
• Fazer auditoria das tentativas malsucedidas
de conexão com o banco de dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Visão Geral do Exercício 11-2: 
Segurança do Banco de Dados (Parte 2)
Tarefas:
• Fazer auditoria da operação de seleção na coluna 
SALARY da tabela EMPLOYEES
• Fazer auditoria das alterações efetuadas na coluna 
SALARY da tabela EMPLOYEES, capturar:
– O antigo valor
–O novo valor
– O usuário que efetuou a alteração
– O local de origem da alteração
Copyright © 2004, Oracle. Todos os direitos reservados.
Oracle Net Services
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Usar o Database Control para:
– Criar listeners adicionais
– Criar apelidos para o Oracle Net Services
– Configurar o failover de tempo de conexão
– Controlar o Oracle Net Listener
• Usar o Oracle Net Manager para configurar 
conexões de clientes e de camada intermediária.
• Usar o TNSPING para testar a conectividade
do Oracle Net
 Copyright © 2004, Oracle. Todos os direitos reservados.
Oracle Net Services
Aplicação
Oracle Net
RDBMS
Oracle Net
Cliente ou Camada 
Intermediária
Servidor de banco 
de dados
Rede 
TCP/IP Listener
Arquivos de configuração
do Oracle Net
Arquivos de configuração
do Oracle Net
 Copyright © 2004, Oracle. Todos os direitos reservados.
Oracle Net Listener
Listener
$ORACLE_HOME/network/admin/listener.ora
sqlnet.ora
Banco(s) de dados 
Oracle
Controle do banco
de dados
Arquivos de configuração
do Oracle Net
 Copyright © 2004, Oracle. Todos os direitos reservados.
Monitorando o Listener
 Copyright © 2004, Oracle. Todos os direitos reservados.
Criando um Listener
1
2
3
4
 Copyright © 2004, Oracle. Todos os direitos reservados.
Endereços de Listening
8
9
7
5
6
 Copyright © 2004, Oracle. Todos os direitos reservados.
Configurando Parâmetros Opcionais
 Copyright © 2004, Oracle. Todos os direitos reservados.
Registro Estático de Banco de Dados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Listener Control Utility
Os listeners do Oracle Net também podem ser controlados 
com o utilitário de linha de comandos lsnrctl.
#lsnrctl
LSNRCTL for Linux: Version 10.1.0.1.0 on 05-NOV-2003 13:27:51
Copyright (c) 1991, 2003, Oracle. All rights reserved.
Welcome to LSNRCTL, type "help" for information.
LSNRCTL> help
The following operations are available
An asterisk (*) denotes a modifier or extended command:
start stop status
services version reload
save_config trace spawn
change_password quit exit
set* show*
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sintaxe do Utilitário de Controle do Listener
É possível executar os comandos do Utilitário de 
Controle do Listener na linha de comandos ou no 
prompt do LSNRCTL.
• Sintaxe de linha de comandos do UNIX ou Linux:
• Sintaxe do prompt:
# lsnrctl <nome do comando>
# lsnrctl start
# lsnrctl status
LSNRCTL> <nome do comando>
LSNRCTL> start
LSNRCTL> status
 Copyright © 2004, Oracle. Todos os direitos reservados.
Monitorando com o Listener Control
O Listener Control contém duas opções
de monitoramento, services e status.
LSNRCTL> SERVICES
Connecting to 
(DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC)))
Services Summary...
Service "dba10g" has 1 instance(s).
Instance "dba10g", status READY, has 1 handler(s)for 
this service...
Handler(s):
"DEDICATED" established:12 refused:0 state:ready
…
The command completed successfully
 Copyright © 2004, Oracle. Todos os direitos reservados.
Conexões com o Oracle Net
Para estabelecer uma conexão com o cliente ou 
om a camada intermediária, o Oracle Net requer
que o cliente conheça:
• O host em que o listener está sendo executado
• A porta que o listener está monitorando
• O protocolo que o listener está usando
• O nome do serviço que o listener está manipulando
Aplicação Cliente/Servidor
Oracle Net
Arquivos de configuração 
do Oracle Net
 Copyright © 2004, Oracle. Todos os direitos reservados.
Resolução de Nomes
O Oracle Net oferece suporte a vários métodos
de resolução de informações de conexão:
• Conexão Fácil
• Nomeação local
• Nomeação de diretórios
• Nomeação externa
Cliente/Servidor de aplicações
Oracle Net
Arquivos de configuração 
do Oracle Net
 Copyright © 2004, Oracle. Todos os direitos reservados.
Conexão Fácil
• Ativada por default
• Não requer nenhuma configuração de cliente
• Oferece suporte apenas ao protocolo TCP/IP (sem SSL)
• Não oferece suporte a opções de conexão
avançadas, como:
– Failover de tempo de conexão
– Roteamento de origem
– Balanceamento de carga
SQL> CONNECT hr/hr@db.us.oracle.com:1521/dba10g
Nenhum arquivo de 
configuração do Oracle Net
 Copyright © 2004, Oracle. Todos os direitos reservados.
Nomeação Local
• Requer um arquivo de resolução de nomes
do cliente
• Oferece suporte a todos os protocolos Oracle Net
• Oferece suporte a opções de conexão avançadas, 
como:
– Failover de tempo de conexão
– Roteamento de origem
– Balanceamento de carga
SQL> CONNECT hr/hr@fin1
Arquivos de configuração 
do Oracle Net
 Copyright © 2004, Oracle. Todos os direitos reservados.
Nomeação de Diretórios
• Requer o LDAP (Lightweight Directory Access 
Protocol) com as informações carregadas sobre 
resolução de nomes do Oracle Net
– Oracle Internet Directory
– Serviços Microsoft Active Directory
• Suporta todos os protocolos Oracle Net
• Suporta opções de conexão avançadas
SQL> CONNECT hr/hr@fin1Arquivos de configuração 
do Oracle Net
Diretório OLAP
 Copyright © 2004, Oracle. Todos os direitos reservados.
Configurando os Apelidos de Serviços
Criar ou
editar
Adicionar
 Copyright © 2004, Oracle. Todos os direitos reservados.
Opções de Conexão Avançadas
O Oracle Net oferece suporte a opções de conexão 
avançadas com nomeação local e de diretórios
• Failover de tempo de conexão
• Balanceamento de carga
• Roteamento de origem
 Copyright © 2004, Oracle. Todos os direitos reservados.
Oracle Net Manager
 Copyright © 2004, Oracle. Todos os direitos reservados.
Escolhendo Métodos de Nomeação
O Oracle Net Manager configura os métodos de resolução 
de nomes que serão usados por um cliente ou uma camada 
intermediária e a ordem em que serão verificados.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Configurando Apelidos de Serviços
com o Net Manager
Use o Oracle Net Manager para configurar os 
apelidos de nomeação local e de diretórios.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Opções de Conexão Avançadas
Usando o Oracle Net Manager
O Oracle Net suporta as opções de conexão avançadas 
com nomeação local e de diretórios
• Failover de tempo de conexão
• Balanceamento de carga
• Roteamento de origem
 Copyright © 2004, Oracle. Todos os direitos reservados.
Testando a Conectividade do Oracle Net
O utilitário tnsping testa os apelidos do Oracle Net 
Services
• Garante a conectividade entre o cliente e o Oracle 
Net Listener
• Não verifica se o serviço solicitado está disponível
• Suporta a resolução de nomes da Conexão Fácil
• Suporta a nomeação local e de diretórios
# tnsping db.us.oracle.com:1521/dba10g
# tnsping foo
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você deverá ter aprendido a:
• Usar o Database Control para:
– Criar listeners adicionais
– Proteger o listener com senha
– Criar apelidos para o Oracle Net Services
• Controlar o Oracle Net Listener
• Usar o Oracle Net Manager para configurar 
conexões de cliente e de camada intermediária
• Usar o utilitário TNSPING para testar
a conectividade do Oracle Net
 Copyright © 2004, Oracle. Todos os direitos reservados.
Visão Geral do Exercício 12: Oracle Net Services
Este exercício aborda os seguintes tópicos:
• Criando um listener
• Configurando a resolução local de nomes
• Configurando o failover de tempo de conexão
Copyright © 2004, Oracle. Todos os direitos reservados.
Servidores Compartilhados Oracle
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Identificar quando usar Servidores 
Compartilhados Oracle
• Configurar Servidores Compartilhados Oracle
• Monitorar Servidores Compartilhados
 Copyright © 2004, Oracle. Todos os direitos reservados.
ListenerEstabelecendo uma Conexão
Solicitação de 
conexão de entrada
 Copyright © 2004, Oracle. Todos os direitos reservados.
Processo do Servidor Dedicado
Listener
Processo
do servidor
Processo do usuário
 Copyright © 2004, Oracle. Todos os direitos reservados.
Processo
do servidor
Sessões do Usuário
PGA
Listener
Sessão do Usuário
Processo do usuário
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sessões do Usuário Servidor Dedicado
Sessões do usuário
Processo do servidor
Processo do servidor
Processo do servidor
Sessão do usuário
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sessões do Usuário Servidor Compartilhado
Listener
Dispatcher
Processo
do servidor
 Copyright © 2004, Oracle. Todos os direitos reservados.
Fila de respostas 
para D001
Fila de respostas 
para D002
Instância
SGA
Processos do servidor
compartilhado
Servidor de banco de dados
Cliente ou 
camada 
intermediária
S001
S002
Processo
do usuário
Dispatcher
D001
Dispatcher
D002
S000
Dispatcher
D000
Fila de respostas 
para D000
Processando uma Solicitação
Processo
do usuário
1
2
3
4
6
5
Fila comum de 
solicitações
para todos os
dispatchers
 Copyright © 2004, Oracle. Todos os direitos reservados.
 SGA
 Servidor Compartilhado Oracle: Os dados da sessão do usuário 
são mantidos na SGA.
 SGA
 Shared pool e outras 
estruturas de memória
Estado
do
cursor
 Shared pool
e outras
estruturas
de memória
Espaço
da
pilha
 PGA
Servidor dedicado: Os dados da sessão do usuário são 
mantidos na PGA.
Espaço
da
pilha
Dados da
sessão do
usuário
Estado
do
cursor
 PGA
A SGA e a PGA
Dados da
sessão do
usuário
 Copyright © 2004, Oracle. Todos os direitos reservados.
Configurando o Servidor Compartilhado Oracle
Parâmetro necessário
• DISPATCHERS
Parâmetros opcionais
• SHARED_SERVERS
• MAX_SHARED_SERVERS
• CIRCUITS
• SHARED_SERVER_SESSIONS
 Copyright © 2004, Oracle. Todos os direitos reservados.
DISPATCHERS = “(PROTOCOL=TCP)(DISPATCHERS=2)\
(PROTOCOL=IPC)(DISPATCHERS=1)” 
Dispatcher
D001
TCP/IP
Dispatcher
D002
IPC
Dispatcher
D000
TCP/IP
DISPATCHERS
Especifica o número de dispatchers que, a princípio, 
são inicializados para determinado protocolo.
 Copyright © 2004, Oracle. Todos os direitos reservados.
SHARED_SERVERS = 6
S000
S001
S002
S003
S004
S005
SHARED_SERVERS
Especifica o número de processos de servidor 
compartilhado criados quando uma instância é 
inicializada e retidos durante a operação da instância.
 Copyright © 2004, Oracle. Todos os direitos reservados.
MAX_SHARED_SERVERS = 10
S000
S001
S002
S003
S004
S005
S006
S007
S008
S009
MAX_SHARED_SERVERS
• Especifica o número máximo de servidores 
compartilhados que podem ser iniciados
• Permite que servidores compartilhados sejam 
alocados dinamicamente com base no tamanho
da fila de solicitações
 Copyright © 2004, Oracle. Todos os direitos reservados.
CIRCUITS = 100
CIRCUITS
• Especifica o número total de circuitos virtuais 
disponíveis para sessões de rede de entrada e
de saída.
• Contribui para o tamanho total da SGA
 Copyright © 2004, Oracle. Todos os direitos reservados.
SHARED_SERVER_SESSIONS = 100
SHARED_SERVER_SESSIONS
• Especifica o número total de sessões permitidas 
para o usuário do Servidor Compartilhado Oracle.
• Permite reservar as sessões do usuário para 
servidores dedicados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Parâmetros Relacionados
É possível que outros parâmetros de inicialização 
afetados pelo Servidor Compartilhado Oracle tenham 
de ser ajustados.
• LARGE_POOL_SIZE
• SESSIONS
• PROCESSES
• LOCAL_LISTENER
 Copyright © 2004, Oracle. Todos os direitos reservados.
• Verifique se o dispatcher foi registrado no listener 
quando o banco de dados foi iniciado. Para isso, 
execute:
• Verifique se você está conectado por meio de 
servidores compartilhados, estabelecendo uma 
conexão e efetuando uma consulta à view 
V$CIRCUIT para exibir uma entrada por conexão 
de servidor compartilhado.
$ lsnrctl SERVICES
Verificando a Configuração
do Servidor Compartilhado
 Copyright © 2004, Oracle. Todos os direitos reservados.
Views de Dicionário de Dados
• V$CIRCUIT
• V$SHARED_SERVER
• V$DISPATCHER
• V$SHARED_SERVER_MONITOR
• V$QUEUE
• V$SESSION
 Copyright © 2004, Oracle. Todos os direitos reservados.
Escolhendo um Tipo de Conexão
A menos que sejam configuradas de outra maneira,
as conexões do Oracle Net usarão:
• Um servidor compartilhado se houver algum disponível
• Um servidor dedicado se uma conexão de servidor 
compartilhado não estiver disponível
Com o uso da nomeação local ou de diretórios, é possível 
especificar o tipo de conexão como parte do apelido do 
serviço de rede.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Quando Não Usar o Servidor Compartilhado
Certos tipos de trabalho de banco de dados não 
devem ser realizados por meio de servidores 
compartilhados:
• Administração de bancos de dados
• Operações de backup e recuperação
• Processamento batch e operações de carga
em alto volume
• Operações de data warehouse
Dispatcher Processo do servidor
 Copyright © 2004, Oracle. Todos os direitos reservados.
Sumário
Nesta lição, você deverá ter aprendido a:
• Identificar quando usar Servidores 
Compartilhados Oracle
• Configurar Servidores Compartilhados Oracle
• Monitorar Servidores Compartilhados
 Copyright © 2004, Oracle. Todos os direitos reservados.
Visão Geral do Exercício 13: 
Servidores Compartilhados Oracle
Este exercício aborda os seguintes tópicos:
• Investigando o impacto de conexões de servidor 
dedicado no sistema
• Configurando o sistema para usar servidores 
compartilhados
• Investigando o impacto de conexões de servidor 
compartilhado no sistema
Copyright © 2004, Oracle. Todos os direitos reservados.
Monitoramento do Desempenho
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetivos
Ao concluir esta lição, você será capaz de:
• Diagnosticar e solucionar problemas com objetos 
inválidos e que não podem ser utilizados 
• Coletar estatísticas do otimizador
• Exibir métricas de desempenho
• Reagir a problemas de desempenho
 Copyright © 2004, Oracle. Todos os direitos reservados.
Monitoramento do Desempenho
Alocação
de Memória
Alocação
de Memória
Disputa por
dispositivo de
entrada/saída
Disputa por
dispositivo de
entrada/saída
Problemas 
do código
da aplicação
Problemas 
do código
da aplicação
Disputa
por recursos
Disputa
por recursos
Gargalos
de rede
Gargalos
de rede
?
DBA
 Copyright © 2004, Oracle. Todos os direitos reservados.
Metodologias de Monitoramento
• Reativas
• Pró-ativas
– Alertas gerados pelo servidor
– ADDM (Automated Database Diagnostic Monitor)
 Copyright © 2004, Oracle. Todos os direitos reservados.
Métricas de Banco de Dados e de Instância
Centenas de estatísticas de desempenho estão 
disponíveis por meio de:
• Dicionário de dados
• Views dinâmicas de desempenho
• Estatísticas do otimizador
DBA
 Copyright © 2004, Oracle. Todos os direitos reservados.
Métricas de Dicionário de Dados
Status de objetos:
• Objetos de código PL/SQL
• Índices
 Copyright © 2004, Oracle. Todos os direitos reservados.
Objetos Inválidos e Inutilizáveis
• Os objetos de código PL/SQL são recompilados.
• Os índices são reconstruídos.
 Copyright © 2004, Oracle. Todos os direitos reservados.
Estatísticas do Otimizador
As estatísticas do otimizador:
• Não são em tempo real
• São persistentes em reinicializações de instâncias
SQL> SELECT COUNT(*) FROM hr.employees;
COUNT(*)
----------
214
SQL> SELECT num_rows FROM dba_tables
2 WHERE owner='HR' AND table_name = 'EMPLOYEES';
NUM_ROWS
----------
107
 Copyright © 2004, Oracle. Todos os direitos reservados.
Coletar Manualmente as Estatísticas do Otimizador
• Se o banco de dados não tiver sido criado com o DBCA
• Se as tabelas forem extremamente voláteis
 Copyright © 2004, Oracle. Todos os direitos reservados.
Automatizar a Coleta de Estatísticas

Continue navegando