Você está na página 1de 437

Oracle9i: Fundamentos de

Administrao do Bancos
de Dados I
Apresentao Eletrnica

D11321BP20
Produo 2.0
Janeiro 2003
D37617

Autor

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Marie St. Gelais

Louise Beijer

Esta documentao contm informaes de propriedade da Oracle Corporation. Ela fornecida sob
um contrato de licena que contm restries quanto ao uso e divulgao, alm de ser protegida
pela legislao de direitos autorais. proibida a engenharia reversa do software. Se esta
documentao for distribuda a uma Agncia Governamental subordinada ao Departamento de
Defesa dos EUA, ela ter direitos restritos e o seguinte aviso dever ser aplicado:

Dairy Chan

Aviso de Direitos Restritos

Trevor Davies

O uso, a duplicao ou a divulgao pelo governo estar sujeito s restries impostas a um


software comercial e devero ser aplicadas as leis federais relativas a um software com direitos
restritos, conforme definido no subpargrafo (c)(1)(ii) do DFARS 252.227-7013, Rights in Technical
Data and Computer Software (Direitos sobre Dados Tcnicos e Programas de Computador) (outubro
de 1988).

Revisores e Tcnicos

Donna Hamby
Lutz Hartmann
Kuljit Jassar
Patricia Mesa
Sabiha Miri
Howard Ostrow
Caroline Pereda
Andreas Reinhardt
Ajai Sahni
Jaco Verheul
Editor
Shane Mattimoe

proibida a reproduo total ou parcial desta documentao sem a prvia autorizao expressa por
escrito do grupo Education Products da Oracle Corporation. Qualquer outra cpia constituir uma
violao da legislao de direitos autorais e poder resultar em indenizaes civil e/ou criminal.
Se esta documentao for distribuda a uma Agncia Governamental que no pertena 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 informaes contidas neste documento esto sujeitas a alteraes sem aviso prvio. Se
encontrar problemas na documentao, informe-os por escrito Worldwide Education Services,
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, So Paulo, SP - 04719-030 - Brasil
- CNPJ: 59.456.277/0001-76. A Oracle Corporation no garante que esta documentao esteja
isenta de erros.
Oracle e todas as referncias a produtos da Oracle so marcas comerciais ou registradas da Oracle
Corporation.
Todos os outros nomes de empresas e de produtos mencionados so usados apenas para fins de
identificao e podem ser marcas comerciais de seus respectivos proprietrios.

Introduo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos do Curso
Aps concluir este curso, voc ser capaz de:

Identificar vrios componentes da arquitetura


Oracle

Iniciar e desativar um banco de dados Oracle

Gerenciar usurios, privilgios e recursos

Criar um banco de dados operacional


Gerenciar os arquivos de controle, os arquivos
de redo log on-line, os arquivos de dados,
os tablespaces, os segmentos, as extenses
e os blocos Oracle
Usar os recursos de Suporte Globalizao

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Oracle9i Enterprise Edition

Particionamento

Real Application
Clusters

Oracle Enterprise
Manager Packs

Segurana
Avanada

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tarefas de um Administrador
de Bancos de Dados

Planejar e criar bancos de dados

Ajustar o banco de dados

Gerenciar a disponibilidade dos bancos de dados


Gerenciar estruturas fsicas e lgicas
Gerenciar o armazenamento com base no projeto
Gerenciar a segurana
Administrar a rede
Executar operaes de backup
e recuperao

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Componentes da Arquitetura Oracle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

1-2

Descrever a arquitetura Oracle e seus


componentes principais

Listar as estruturas envolvidas na conexo de um


usurio com uma instncia Oracle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral dos Componentes Principais


Processo do
usurio

Shared Pool
Cache de
Biblioteca
Cache de
Dicionrio
de Dados

Processo do
servidor

Instncia
SGA
Cache de
Buffer de
Banco de Dados

Buffer de
Redo Log

Java Pool

Large Pool

PGA

PMON SMON DBWR LGWR

Arquivo de
parmetros

Arquivos
de dados

Arquivos de
controle

CKPT

Outros

Arquivos de
redo log

Arquivo
de senha

Banco de dados

1-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de
log arquivados

Servidor Oracle
Um servidor Oracle:

1-5

um sistema de
gerenciamento de banco
de dados que oferece um
mtodo aberto, abrangente
e integrado para o
gerenciamento de
informaes

Consiste em uma instncia e


um banco de dados Oracle

Servidor Oracle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Instncia Oracle
Uma instncia Oracle:

uma forma de acessar um banco de dados Oracle


Sempre abre um nico banco de dados
Consiste em estruturas de memria e de processos
de segundo plano

Shared Pool
Cache de
Biblioteca
Cache de
Dicionrio
de Dados

Instncia
SGA
Cache de
Buffer de
Banco de Dados

Buffer de
Redo Log

Java Pool

Large Pool

PMON SMON DBWR LGWR

1-6

CKPT

Outros

Estruturas
de memria

Estruturas de
processos de
segundo plano

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estabelecendo uma Conexo


e Criando uma Sesso
Estabelecendo uma conexo com uma instncia Oracle:

Estabelecendo uma conexo de usurio


Criando uma sesso
Conexo
estabelecida
Processo do
usurio

Processo do
servidor
Sesso criada
Servidor Oracle

Usurio do
banco de dados
1-7

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Banco de Dados Oracle


Um banco de dados Oracle:

um conjunto de dados tratados como uma unidade


Consiste em trs tipos de arquivos
Banco de Dados Oracle
Arquivo de
parmetros

Arquivos
de dados

Arquivos de Arquivos de
controle
redo log

Arquivo
de senha

1-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos
de log
arquivados

Estrutura Fsica
A estrutura fsica inclui trs tipos de arquivos:

Arquivos de controle
Arquivos de dados
Arquivos de redo log on-line
Cabealho

Arquivos de
Redo Log
On-line

1-10

Arquivos
de dados
(incluem o
Dicionrio
de Dados)

Arquivos de
controle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura da Memria
A estrutura da memria do Oracle consiste em duas
reas denominadas:

SGA (System Global Area): Alocada na inicializao


de uma instncia, um componente fundamental
de uma instncia Oracle

PGA (Program Global Area) Alocada quando o


processo do servidor iniciado

1-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

System Global Area

A SGA consiste em vrias estruturas de memria:

Cache de Buffer do Banco de Dados


Buffer de Redo Log
Outras estruturas (por exemplo, gerenciamento de
bloqueios e latch, dados estatsticos)

possvel configurar duas estruturas de memria


adicionais na SGA:

1-12

Shared Pool

Large Pool
Java Pool

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

System Global Area

dinmica
dimensionada pelo parmetro SGA_MAX_SIZE
alocada e rastreada em grnulos por
componentes da SGA

1-14

Alocao de memria virtual contgua


O tamanho do grnulo baseia-se no valor total
estimado de SGA_MAX_SIZE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Shared Pool

Usado para armazenar:

As definies de dados mais usadas recentemente

Ele consiste em duas estruturas principais de


memria relacionadas ao desempenho:

As instrues SQL executadas mais recentemente

Cache de Biblioteca
Cache de Dicionrio de Dados

Dimensionado pelo parmetro SHARED_POOL_SIZE


Shared Pool
Cache de
Biblioteca
ALTER SYSTEM SET
SHARED_POOL_SIZE = 64M;

1-15

Cache do
Dicionrio
de Dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Cache de Biblioteca

Armazena as informaes sobre as instrues SQL


e PL/SQL mais usadas recentemente

Permite o compartilhamento de instrues usadas


normalmente

gerenciado por um algoritmo LRU


Consiste em duas estruturas:

1-16

rea SQL compartilhada


rea PL/SQL compartilhada

Tamanho determinado pelo dimensionamento


do Shared Pool

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Cache de Dicionrio de Dados

Um conjunto das definies mais usadas recentemente


no banco de dados

Inclui informaes sobre arquivos do banco de dados,


tabelas, ndices, colunas, usurios, privilgios e outros
objetos do banco de dados

Durante a fase de parse, o processo do servidor consulta


o dicionrio de dados para obter informaes que
resolvam nomes de objetos e validem o acesso

O armazenamento das informaes do dicionrio


de dados no cache de memria melhora o tempo
de resposta para consultas e instrues DML

Tamanho determinado pelo dimensionamento do


Shared Pool

1-18

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Cache de Buffer do Banco de Dados

Armazena cpias de blocos de dados recuperados


dos arquivos de dados

Possibilita ganhos de desempenho significativos


quando voc extrai e atualiza os dados

Gerenciado por um algoritmo LRU


DB_BLOCK_SIZE determina o tamanho do bloco
principal
Cache de
Buffer de
Banco de Dados

1-19

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Cache de Buffer do Banco de Dados

Consiste em subcaches independentes:

DB_CACHE_SIZE
DB_KEEP_CACHE_SIZE
DB_RECYCLE_CACHE_SIZE

Pode ser redimensionado dinamicamente


ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

1-20

DB_CACHE_ADVICE definido para reunir estatsticas


que prevem um outro comportamento de tamanho
de cache
Estatsticas exibidas pela view V$DB_CACHE_ADVICE
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Buffer de Redo Log

Registra todas as alteraes feitas nos blocos de


dados do banco de dados

O objetivo principal a recuperao

As entradas de redo contm informaes para


recriar ou refazer as alteraes
Tamanho definido por LOG_BUFFER

As alteraes registradas so denominadas


entradas de redo

Buffer de
Redo Log

1-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Large Pool

1-23

Uma rea de memria opcional na SGA


Libera a carga imposta ao Large Pool
Usado para:

Memria de sesso (UGA) para o Servidor


Compartilhado

Processos do servidor de E/S


Operaes de backup e restaurao ou RMAN
Buffers de mensagens de execuo paralela
PARALLEL_AUTOMATIC_TUNING definido como TRUE

No usa uma lista LRU


Dimensionado por LARGE_POOL_SIZE
Pode ser redimensionado dinamicamente
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Java Pool

1-25

Atende aos requisitos de parse de comandos Java


Necessrio para instalar e usar Java
Dimensionado pelo parmetro JAVA_POOL_SIZE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Program Global Area

1-26

Memria reservada para cada


processo do usurio que se conecta
a um banco de dados Oracle
Alocada quando um processo criado
Desalocada quando o processo
encerrado
Usada somente por um processo

PGA
Processo do
servidor

Processo do
usurio

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura do Processo
O Oracle aproveita vrios tipos de processos:

Processo do usurio: Iniciado quando um usurio


do banco de dados solicita uma conexo com o
servidor Oracle

Processo do servidor: Conecta-se instncia


Oracle e iniciado quando um usurio estabelece
uma sesso

Processos de segundo plano: Iniciados quando


uma instncia Oracle iniciada

1-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Processo do Usurio

Um programa que solicita a interao com o


servidor Oracle

Deve estabelecer primeiro uma conexo


No interage diretamente com o servidor Oracle

Processo do
usurio

Processo do
servidor
Conexo
estabelecida

Usurio do
banco de dados
1-30

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Processo do Servidor

Um programa que interage diretamente com o


servidor Oracle

Atende s chamadas geradas e retorna resultados


Pode usar um servidor dedicado ou compartilhado
Conexo
estabelecida
Processo do
usurio

Processo do
servidor
Sesso criada
Servidor Oracle

Usurio do banco
de dados
1-31

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Processos de Segundo Plano


Mantm e impe relacionamentos entre estruturas
fsicas e de memria:

1-32

Processos de segundo plano obrigatrios:


DBWn

PMON

LGWR

SMON

CKPT

Processos de segundo plano opcionais:


ARCn

LMDn

QMNn

CJQ0

LMON

RECO

Dnnn

LMS

Snnn

LCKn

Pnnn
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

DBWn (Database Writer)


Instncia
SGA
Cache de
Buffer de
Banco de Dados

DBWn

Arquivos
de dados

Arquivos
Arquivos de
de controle
redo log

Banco de dados
1-33

O DBWn grava quando:

Ocorre um checkpoint

No h buffers livres

Os buffers sujos atingem


o limite
Ocorre um timeout
feita uma solicitao
de ping RAC
Tablespace OFFLINE
Tablespace READ ONLY
ELIMINAO ou
TRUNCAMENTO de tabela
Tablespace BEGIN BACKUP

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

LGWR (Log Writer)


O LGWR grava:

Instncia
SGA
Buffer de
Redo Log

DBWn LGWR

Arquivos
de dados

No commit

Quando h 1 MB de redo

Quando um-tero est


cheio
A cada trs segundos
Antes que o DBWn grave

Arquivos Arquivos de
de controle
redo log

Banco de dados
1-35

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

SMON (System Monitor)


Instncia
SGA

Responsabilidades:

Recuperao de instncia
Efetua rollforward de

alteraes em arquivos
de redo log on-line

Abre o banco de dados


para o acesso dos
usurios

SMON

Efetua rollback de
Arquivos
de dados

Arquivos Arquivos de
de controle
redo log

Banco de dados

1-36

transaes no
submetidas a commit

Aglutina o espao livre


Desaloca segmentos
temporrios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

PMON (Process Monitor)


Instncia
SGA

PMON

rea PGA

1-38

Realiza uma limpeza aps


falhas de processos por
meio de:

Rollback da transao

Reinicializao de
dispatchers inativos

Liberao de bloqueios
Liberao de outros
recursos

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

CKPT (Checkpoint)
Instncia
SGA

DBWn LGWR CKPT

Arquivos
de dados

Arquivos
Arquivos de
de controle
redo log

Responsvel por:

Sinalizar o DBWn em
checkpoints

Atualizar as informaes de
checkpoint nos cabealhos
dos arquivos de dados

Atualizar as informaes de
checkpoint nos arquivos de
controle

Banco de dados
1-39

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

ARCn (Archiver)

Processo de segundo plano opcional

Preserva o registro de todas as alteraes feitas


no banco de dados

Arquiva automaticamente os redo logs on-line


quando o modo ARCHIVELOG definido

Arquivos
de dados

Arquivos
Arquivos de
de controle
redo log

ARCn

Arquivos de
redo logs
arquivados

Banco de dados

1-41

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura Lgica

Determina como o espao fsico de um banco


de dados usado

Hierarquia que consiste em tablespaces,


segmentos, extenses e blocos
Tablespace
Arquivo de dados
Segmento

Extenso

1-43

Segmento

Blocos

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Processando Instrues SQL

Conecte-se a uma instncia usando um:

1-46

Processo do servidor

Os componentes do servidor Oracle usados


dependem do tipo de instruo SQL:

Processo do usurio

As consultas retornam linhas


As instrues DML registram alteraes
O commit garante a recuperao da transao

Alguns componentes do servidor Oracle no


participam do processamento da instruo SQL.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Explicar os arquivos do banco de dados: arquivos


de dados, arquivos de controle, arquivos de redo
log on-line

Explicar as estruturas da memria SGA: Cache de


Buffer do Banco de Dados, Shared Pool e Buffer de
Redo Log

Explicar os principais processos de segundo plano:


DBWn, LGWR, CKPT, PMON, SMON

Explicar a utilizao do processo de segundo plano


opcional ARCn

Identificar processos de segundo plano opcionais e


condicionais

Explicar a hierarquia lgica

1-48

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 1


Este exerccio aborda os seguintes tpicos:

1-49

Reviso dos componentes da arquitetura


Identificao de estruturas envolvidas na conexo
de um usurio a uma instncia Oracle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Conceitos Bsicos do Servidor Oracle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

2-2

Identificar as ferramentas comuns de administrao


de banco de dados de um DBA

Identificar os recursos do Oracle Universal Installer

Listar os principais componentes do Oracle


Enterprise Manager

Usar o SQL*Plus para interagir com um banco de


dados Oracle e manipul-lo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ferramentas de Administrao
de Banco de Dados
Ferramenta

Descrio

OUI (Oracle
Universal Installer)

Usada para instalar, atualizar ou remover


componentes do software

Oracle Database
Configuration
Assistant

Uma ferramenta de interface grfica do usurio


que interage com o OUI ou que pode ser usada
independentemente para criar, deletar ou
modificar bancos de dados

SQL*Plus

Um utilitrio para acessar dados em um banco de


dados Oracle

Oracle Enterprise
Manager

Uma interface grfica usada para administrar,


monitorar e ajustar um ou mais bancos de dados

2-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Oracle Universal Installer

2-4

Usado para instalar, atualizar ou remover


componentes de software e criar bancos de dados

Baseado em um mecanismo Java


Os recursos incluem

Resoluo automtica de dependncia

Desinstalao de componentes instalados

Possibilidade de instalaes baseadas na Web


Inventrio de rastreamento de instalaes de
componentes e conjuntos de produtos
Suporte para vrios diretrios Oracle home
Suporte para a tecnologia de globalizao
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Iniciando o Universal Installer

Para iniciar o Oracle Universal Installer no UNIX:


$ ./runInstaller

Para iniciar o Oracle Universal Installer no NT:


Start > Programs > Oracle Installation
Products > Universal Installer

2-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Instalao No-interativa
com Arquivos de Resposta

No necessria interao com o usurio


Arquivos de resposta:

Os gabaritos devem ser editados.


Os arquivos de texto contm variveis e valores.
Os parmetros so personalizados.

Para iniciar o Universal Installer no modo nointerativo:


./runInstaller -responsefile myrespfile -silent

2-6

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Oracle Database Configuration Assistant


Use o Oracle Database Configuration Assistant para:

2-9

Criar um banco de dados


Configurar as opes do banco de dados
Deletar um banco de dados
Gerenciar gabaritos

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usurios Administradores
de Bancos de Dados

Os usurios SYS e SYSTEM so criados


automaticamente

Proprietrio do dicionrio de dados do banco de dados


Senha default: change_on_install

Usurio SYSTEM

2-10

Recebem a atribuio DBA

Usurio SYS

Durante a criao do banco de dados

Proprietrio de tabelas e views internas adicionais


usadas por ferramentas Oracle
Senha default: manager

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

SQL*Plus

Uma ferramenta Oracle que oferece:

A capacidade de interagir com o banco de dados e


manipul-lo

A capacidade de iniciar e desativar o banco de dados,


criar e executar consultas, adicionar linhas, modificar
dados e criar relatrios personalizados

Um subconjunto da linguagem SQL padro com


add-ons especficos

Conexo com o SQL*Plus:


sqlplus /nolog
connect / as sysdba
Connected to an idle instance.

2-12

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Oracle Enterprise Manager

Funciona como uma ferramenta de gerenciamento


centralizado de sistemas para os DBAs

Uma ferramenta para administrar, diagnosticar e


ajustar vrios bancos de dados

Uma ferramenta para administrar vrios ns de rede


e servios de diversos locais

Usado para compartilhar tarefas com outros


administradores

Contm ferramentas para administrar servidores


paralelos e bancos de dados replicados

2-13

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Oracle Enterprise Manager: Arquitetura

Oracle Management
Server

Agente Servidor
Oracle

Repositrio

Agente Servidor
Oracle

Console

Oracle Management
Server

2-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Servidor
Oracle

Console

Ponto de
acionamento
central

Pode ser
executado como
um cliente thin
ou fat

Pode ser iniciado


no modo standalone ou por um
OMS

2-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Identificar as ferramentas de administrao de


banco de dados

Identificar os recursos do Oracle Universal Installer

Listar os principais componentes do Oracle


Enterprise Manager

2-18

Usar o SQL*Plus para interagir com um banco de


dados Oracle e manipul-lo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 2


Este exerccio aborda os seguintes tpicos:

2-19

Conexo com o SQL*Plus


Conexo com a Console do OEM

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando uma Instncia Oracle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:
Criar e gerenciar os arquivos de parmetros de
inicializao
Iniciar e desativar uma instncia
Monitorar e usar arquivos de diagnstico

3-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de Parmetros de Inicializao


Instncia Oracle
Shared Pool
Cache de
Biblioteca
Cache de
Dicionrio
de Dados
PMON

SMON

SGA

Cache de
Buffer de
Banco de Dados

Buffer de
Redo Log

Java Pool

Large Pool

DBW0

LGWR

CKPT

spfiledb01.ora

CONNECT / AS SYSDBA
STARTUP

3-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Outros

Arquivos de Parmetros de Inicializao

As entradas so especficas da instncia que est


sendo iniciada
Dois tipos de parmetros:

Podem existir vrios arquivos de parmetros de


inicializao
As alteraes nas entradas do arquivo so efetivadas
de acordo com o tipo de arquivo de parmetros de
inicializao usado:

3-4

Explcito: Tem uma entrada no arquivo


Implcito: No tem uma entrada no arquivo, mas assume
os valores default do Oracle

Arquivo de parmetros estticos, PFILE


Arquivo de parmetros persistentes do servidor, SPFILE
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

PFILE
initSID.ora

3-6

Arquivo de texto
Modificado com um editor de sistema operacional
As modificaes so manuais
As alteraes so efetivadas na prxima
inicializao
Aberto apenas durante a inicializao da instncia
A localizao default $ORACLE_HOME/dbs

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um PFILE

Criado a partir de um arquivo init.ora de amostra

A amostra instalada pelo Oracle Universal Installer


Copie a amostra usando um comando de cpia do
sistema operacional
Identificado com exclusividade pelo SID do banco
de dados
cp init.ora $ORACLE_HOME/dbs/initdba01.ora

Modifique o initSID.ora

3-7

Edite os parmetros
Especfico s necessidades do banco de dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Exemplo de PFILE
# Initialization Parameter File: initdba01.ora
db_name

= dba01

instance_name

= dba01

control_files
= (
/home/dba01/ORADATA/u01/control01dba01.ctl,
/home/dba01/ORADATA/u02/control01dba02.ctl)
db_block_size

= 4096

db_cache_size

= 4M

shared_pool_size

= 50000000

java_pool_size

= 50000000

max_dump_file_size

= 10240

background_dump_dest = /home/dba01/ADMIN/BDUMP
user_dump_dest

= /home/dba01/ADMIN/UDUMP

core_dump_dest

= /home/dba01/ADMIN/CDUMP

undo_management

= AUTO

undo_tablespace

= UNDOTBS

. . .
3-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

SPFILE
spfileSID.ora

3-9

Arquivo binrio
Mantido pelo servidor Oracle
Reside sempre no lado servidor
Possibilita alteraes persistentes desativao e
inicializao
Pode auto-ajustar valores de parmetros
Possibilita o suporte do Recovery Manager ao
backup do arquivo de parmetros de inicializao

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um SPFILE

Criado de um arquivo PFILE


CREATE SPFILE = '$ORACLE_HOME/dbs/spfileDBA01.ora'
FROM PFILE = '$ORACLE_HOME/dbs/initDBA01.ora';

em que

3-10

SPFILE-NAME: SPFILE a ser criado


PFILE-NAME: PFILE que cria o SPFILE

Pode ser executado antes ou aps a inicializao


da instncia

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Exemplo de SPFILE
*.background_dump_dest='/home/dba01/ADMIN/BDUMP'
*.compatible='9.2.0'
*.control_files='/home/dba01/ORADATA/u01/ctrl01.ctl'
*.core_dump_dest='/home/dba01/ADMIN/CDUMP'
*.db_block_size=4096
*.db_name='dba01'
*.db_domain='world'
*.global_names=TRUE
*.instance_name='dba01'
*.remote_login_passwordfile='exclusive'
*.java_pool_size=50000000
*.shared_pool_size=50000000
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS'
. . .

3-13

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Modificando Parmetros em SPFILE

Alterando valores de parmetros


ALTER SYSTEM SET undo_tablespace = UNDO2;

Especificando alteraes temporrias ou


persistentes
ALTER SYSTEM SET undo_tablespace = UNDO2
SCOPE=BOTH;

Deletando ou redefinindo valores


ALTER SYSTEM RESET undo_suppress_errors
SCOPE=BOTH SID='*';

3-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Comportamento do Comando STARTUP

Ordem de precedncia:

spfileSID.ora
SPFILE default
initSID.ora
PFILE default

O PFILE especificado pode sobrepor a precedncia.


STARTUP PFILE = $ORACLE_HOME/dbs/initDBA1.ora

O PFILE pode indicar a utilizao de SPFILE.


SPFILE = /database/startup/spfileDBA1.ora

3-17

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Iniciando um Banco de Dados


no Modo NOMOUNT
OPEN
STARTUP
MOUNT

NOMOUNT
Instncia
iniciada
SHUTDOWN
SHUTDOWN

3-19

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Iniciando um Banco de Dados


MOUNT
OPEN
SHUTDOWN
MOUNT

NOMOUNT

Arquivo de
controle aberto
para esta
instncia

STARTUP
SHUTDOWN
SHUTDOWN

3-21

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Iniciando um Banco de Dados


OPEN
OPEN
STARTUP

Todos os arquivos
abertos como descrito
pelo arquivo de controle
MOUNT
desta instncia
Arquivo de
controle aberto
NOMOUNT para esta
instncia
Instncia
iniciada

SHUTDOWN
SHUTDOWN

3-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Comando STARTUP
Inicie a instncia e abra o banco de dados:
STARTUP
STARTUP PFILE=$ORACLE_HOME/dbs/initdb01.ora

3-23

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Comando ALTER DATABASE

Altere o estado do banco de dados do modo


NOMOUNT para MOUNT:
ALTER DATABASE db01 MOUNT;

Abra o banco de dados como somente para leitura:


ALTER DATABASE db01 OPEN READ ONLY;

3-26

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Abrindo um Banco de
Dados no Modo Restrito

Use o comando STARTUP para restringir o acesso a


um banco de dados:
STARTUP RESTRICT

Use o comando ALTER SYSTEM para colocar uma


instncia no modo restrito:
ALTER SYSTEM ENABLE RESTRICTED SESSION;

3-27

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Abrindo um Banco de Dados no Modo


Somente para Leitura

Abertura de um banco de dados no modo somente


para leitura:
STARTUP MOUNT
ALTER DATABASE OPEN READ ONLY;

Pode ser usado para:

3-30

Executar consultas
Executar classificaes de disco usando tablespaces
gerenciados localmente
Colocar arquivos de dados, mas no tablespaces,
off-line e on-line
Executar a recuperao de tablespaces e arquivos
de dados off-line
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Desativando o Banco de Dados


Modo de Desativao

Permite novas conexes

No

No

No

No

Aguarda o fim das sesses atuais

No

No

No

Sim

Aguarda o fim das transaes atuais

No

No

Sim

Sim

Impe um checkpoint e fecha os arquivos

No

Sim

Sim

Sim

Modo de desativao:
A = ABORT
I = IMMEDIATE
T = TRANSACTIONAL
N = NORMAL
3-32

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Opes de SHUTDOWN
Durante

Na desativao:
Na inicializao:
Cache de buffer de
No h
SHUTDOWN
NORMAL
banco de dados
recuperao
ou
gravado para os
da instncia
SHUTDOWN
arquivos de dados
TRANSACTIONAL
Rollback das
ou
SHUTDOWN
alteraes no
IMMEDIATE
submetidas
a commit
Recursos
liberados
Banco de dados consistente
(banco de dados limpo)
3-33

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Opes de SHUTDOWN
Durante

Na desativao:
Os buffers
SHUTDOWN ABORT
ou
modificados
no so gravados Falha de Instncia
ou
nos arquivos
STARTUP FORCE
de dados
No efetuado
rollback das
alteraes no
submetidas
Banco de dados
a commit
inconsistente
(banco de
dados sujo)
3-35

Na inicializao:
Os arquivos de
redo log on-line
so usados para
reaplicar alteraes
Os segmentos de
undo so usados
para efetuar rollback
das alteraes no
submetidas a
commit
Os recursos
so liberados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Monitorando uma Instncia


com Arquivos de Diagnstico

Arquivos de diagnstico

Contm informaes sobre eventos importantes


encontrados

Usados para resolver problemas

Existem vrios tipos:

3-37

Usados para melhorar o gerenciamento dirio do


banco de dados
Arquivo alertSID.log
Arquivos de rastreamento de segundo plano
Arquivos de rastreamento do usurio

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivo de Log de Alerta

Arquivo alertSID.log:

3-38

Registra os comandos
Registra os resultados dos eventos mais importantes
Usado para obter informaes operacionais dirias
Usado para o diagnstico de erros do banco de dados

Cada entrada tem um timestamp associado


Deve ser gerenciado pelo DBA
Localizao definida por BACKGROUND_DUMP_DEST

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de Rastreamento
de Segundo Plano

Arquivos de rastreamento de segundo plano

3-40

Registram erros detectados por um processo de


segundo plano
Usados para diagnosticar e solucionar erros

Criados quando um processo de segundo plano


encontra um erro
Localizao definida por BACKGROUND_DUMP_DEST

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de Rastreamento do Usurio

Arquivos de rastreamento do usurio

3-41

Produzidos pelo processo do usurio


Podem ser gerados por um processo do servidor
Contm estatsticas para instrues SQL rastreadas
Contm mensagens de erro do usurio

Criados quando um usurio encontra erros da


sesso do usurio
Localizao definida por USER_DUMP_DEST
Tamanho definido por MAX_DUMP_FILE_SIZE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ativando ou Desativando
o Rastreamento do Usurio

Nvel da sesso:

Usando o comando ALTER SESSION:


ALTER SESSION SET SQL_TRACE = TRUE

Executando o procedimento DBMS:


dbms_system.SET_SQL_TRACE_IN_SESSION

Nvel da instncia:

3-42

Definindo o parmetro de inicializao:


SQL_TRACE = TRUE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:
Criar e gerenciar os arquivos de parmetros de
inicializao
Iniciar e desativar uma instncia
Monitorar e usar arquivos de diagnstico

3-44

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 3


Este exerccio aborda os seguintes tpicos:
Criao de um SPFILE
Inicializao e desativao do banco de dados de
modos diversos

3-45

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Banco de Dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

4-2

Listar os pr-requisitos necessrios para a criao


de um banco de dados

Criar um banco de dados usando o Oracle Database


Configuration Assistant

Criar um banco de dados manualmente


Criar um banco de dados usando o recurso Oracle
Managed Files

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Planejando e Organizando
um Banco de Dados

O planejamento do banco de dados a primeira


etapa no gerenciamento do sistema de um banco
de dados.

4-3

Defina o objetivo do banco de dados.


Defina o tipo de banco de dados.
Descreva o projeto arquitetnico do banco de dados.
Escolha o nome do banco de dados.

Crie o banco de dados.


Use o Oracle Data Migration Assistant para
a migrao de uma verso anterior do banco
de dados.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

OFA (Optimal Flexible Architecture)

4-4

O layout arquitetnico de um banco de dados


Oracle padro recomendado

A OFA envolve trs regras principais:

Estabelece uma estrutura de diretrios na qual


possvel armazenar arquivos de banco de dados em
qualquer recurso de disco.

Separa objetos com comportamentos distintos em


tablespaces diversos.

Maximiza a confiabilidade e o desempenho do banco


de dados separando seus componentes em vrios
recursos de disco.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Software Oracle e Localizao de Arquivos


oracle_base

Software

/product
/release_number
/bin
/dbs
/rdbms
/sqlplus
/admin
/inst_name
/pfile

4-5

Arquivos
oradata/
db01/
system01.dbf
control01.ctl
redo0101.log
...
db02/
system01.dbf
control01.ctl
redo0101.log
...

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Pr-requisitos para a Criao


Para criar um novo banco de dados, preciso ter:

Uma conta privilegiada autenticada por um dos


seguintes elementos:

Sistema operacional
Arquivo de senha

Memria suficiente para iniciar a instncia


Espao em disco suficiente para o banco de dados
planejado

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Mtodos de Autenticao
para Administradores de Bancos de Dados
Administrao remota
de banco de dados

Sim

Voc
tem uma conexo
segura?

No

4-7

Administrao local
de banco de dados

Voc deseja
usar a
autenticao
do sistema
operacional?

Sim

Use a
autenticao
do sistema
operacional

No

Use um
Arquivo
de senha

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando a Autenticao de Arquivo de Senha

Crie um arquivo de senha com o utilitrio de


senhas.
$ orapwd file=$ORACLE_HOME/dbs/orapwU15
password=admin entries=5

Defina REMOTE_LOGIN_PASSWORDFILE=EXCLUSIVE
no arquivo de parmetros de inicializao.

Adicione usurios ao arquivo de senha.


Designe privilgios apropriados a cada usurio.
GRANT SYSDBA TO HR;

4-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Banco de Dados


Um banco de dados Oracle pode ser criado pelo:

Oracle Universal Installer


Oracle Database Configuration Assistant

4-10

Interface grfica do usurio


Baseado em Java
Acionado pelo Oracle Universal Installer
Pode ser usado como uma aplicao stand-alone

Comando CREATE DATABASE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ambiente do Sistema Operacional


Defina as seguintes variveis de ambiente:
ORACLE_BASE

4-11

ORACLE_HOME
ORACLE_SID
ORA_NLS33
PATH
LD_LIBRARY_PATH

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Database Configuration Assistant


Com o Database Configuration Assistant, voc pode:

4-12

Criar um banco de dados


Configurar as opes do banco de dados
Deletar um banco de dados
Gerenciar gabaritos

Criar novos gabaritos usando definies de gabaritos


predefinidos

Criar novos gabaritos a partir de um banco de dados


existente

Deletar os gabaritos do banco de dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Banco de Dados com o


Database Configuration Assistant
1. Selecione a opo de criao de banco de dados
2. Especifique o tipo de banco de dados
3. Especifique o nome global do banco de dados e o SID
4. Selecione recursos
5. Selecione o modo de operao do banco de dados
6. Especifique opes de memria, conjuntos de caracteres,
tamanho do banco de dados, localizaes de arquivos e
arquivamento
7. Defina parmetros de armazenamento do banco de dados
8. Selecione uma opo para:

4-13

Criar bancos de dados


Salvar como um gabarito
Gerar o script de criao
Copyright Oracle Corporation, 2002. Todos os direitos reservados.
.

Criando um Banco de Dados Manualmente

Escolha um nome de banco de dados e um nome


de instncia exclusivos

Escolha um conjunto de caracteres para o banco de


dados

Defina variveis do sistema operacional

Crie tablespaces adicionais se for necessrio

4-17

Crie um arquivo de parmetros de inicializao


Inicie a instncia no estgio NOMOUNT
Crie e execute o comando CREATE DATABASE
Execute scripts para gerar o dicionrio de dados e
concluir as etapas de ps-criao

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Banco de Dados com


o Recurso OMF (Oracle Managed Files)

O uso de OMF simplifica a administrao de


arquivos no sistema operacional.

Os arquivos OMF so criados e deletados pelo


servidor Oracle de acordo com a orientao dos
comandos SQL.

Os arquivos OMF so estabelecidos pela definio


de dois parmetros:

4-20

DB_CREATE_FILE_DEST: Define as localizaes


default dos arquivos de dados
DB_CREATE_ONLINE_LOG_DEST_n: Define as
localizaes default dos arquivos de redo log on-line
e arquivos de controle

Defina no mximo cinco localizaes


Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Banco de Dados com


o Recurso OMF (Oracle Managed Files)

Defina os parmetros de OMF no arquivo de parmetros


de inicializao. Exemplo:

DB_CREATE_FILE_DEST=/$HOME/ORADATA/u05
DB_CREATE_ONLINE_LOG_DEST_1=/$HOME/ORADATA/u01
DB_CREATE_ONLINE_LOG_DEST_2=/$HOME/ORADATA/u02

O comando CREATE DATABASE simplificado:


@cddba01.sql
> CREATE DATABASE dba01;

4-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Comando CREATE DATABASE


CREATE DATABASE user01
USER SYS IDENTIFIED BY ORACLE
USER SYSTEM IDENTIFIED BY MANAGER
CONTROLFILE REUSE
LOGFILE
GROUP 1 ('$HOME/ORADATA/u01/redo01.log') SIZE 100M,
GROUP 2 ('$HOME/ORADATA/u02/redo02.log') SIZE 100M,
GROUP 3 ('$HOME/ORADATA/u03/redo03.log') SIZE 100M
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
ARCHIVELOG
FORCE LOGGING
CHARACTER SET US7ASCII
NATIONAL CHARACTER SET AL16UTF16
DATAFILE '/$HOME/ORADATA/u01/system01.dbf' SIZE 325M
DEFAULT TEMPORARY TABLESPACE temp
UNDO TABLESPACE undotbs
SET TIME_ZONE= 'America/New_York'

4-24

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diagnosticando e Solucionando Problemas


Ocorrer uma falha na criao do banco de dados se:

4-28

Houver erros de sintaxe no script SQL


Os arquivos a serem criados j existirem
Houver erros do sistema operacional, como erros
de permisso de diretrio ou espao insuficiente

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Aps a Criao de um Banco de Dados


O banco de dados contm:

4-29

Arquivos de dados, arquivos de controle e arquivos


de redo log on-line
O usurio SYS com a senha change_on_install
O usurio SYSTEM com a senha manager
Tabelas internas (mas nenhuma view de dicionrio
de dados)

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Identificar os pr-requisitos para criar um banco


de dados

Criar um banco de dados usando o Oracle Database


Configuration Assistant

Criar um banco de dados manualmente

4-30

Criar um banco de dados usando o recurso Oracle


Managed Files

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 4

Esta lio apresenta duas formas especficas de criar


um banco de dados:

Use o Database Configuration Assistant para criar


um banco de dados seguindo as etapas grficas.
Acionado por:
Start > Programs > Oracle-OraHome90 > Configuration
and Migration Tools.

4-31

O Apndice A contm um guia passo a passo sobre


a criao manual de um banco de dados em um
sistema UNIX.

Analise as etapas e crie, como opo, um banco de


dados manualmente ou com o auxlio do Database
Configuration Assistant.
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando Views de Dicionrio de Dados


e Views Dinmicas de Desempenho

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

5-2

Identificar objetos internos do banco de dados

Descrever como as views de dicionrio de dados


so criadas

Identificar as categorias de views de dicionrio de


dados

Consultar as views de dicionrio de dados e as


views dinmicas de desempenho

Descrever as convenes de nomeao de scripts


administrativos

Identificar o contedo e os usos do dicionrio de


dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetos Internos do Banco de Dados


Outros objetos criados com o banco de dados:

5-3

Dicionrio de dados
Tabelas de desempenho
Pacotes PL/SQL
Triggers de eventos do banco de dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Dicionrio de Dados

Essencial para todos os bancos de dados Oracle


Descreve o banco de dados e seus objetos
Contm tabelas e views somente para leitura
Armazenado no tablespace SYSTEM
Pertence ao usurio SYS
Mantido pelo servidor Oracle
Acessado por SELECT

Arquivos
de dados

Arquivos Arquivos
de controle de redo
log
Banco de dados

Tabelas do
Dicionrio
de Dados
5-4

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tabelas-base e Views de Dicionrio de Dados


O dicionrio de dados contm dois componentes:

Tabelas-base

5-5

Armazenam descries do banco de dados


Criadas com CREATE DATABASE

Views de dicionrio de dados

Usadas para simplificar as informaes das tabelasbase

Acessadas por sinnimos pblicos


Criadas com o script catalog.sql

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando Views de Dicionrio de Dados

Script

Objetivo

catalog.sql

Cria as views de dicionrio de dados mais


usadas e seus sinnimos

catproc.sql

Executa scripts necessrios para PL/SQL


no lado servidor

5-6

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Contedo do Dicionrio de Dados


O dicionrio de dados contm informaes sobre:

5-7

Estruturas lgicas e fsicas do banco de dados


Definies e alocaes de espao de objetos
Restries de integridade
Usurios
Atribuies
Privilgios
Auditoria

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Como o Dicionrio de Dados Usado


Principais usos:

O servidor Oracle usa o dicionrio de dados para


localizar informaes sobre

5-8

Usurios
Objetos de esquema
Estruturas de armazenamento

O servidor Oracle modifica o dicionrio de dados


quando uma instruo DDL executada.

Os usurios e os DBAs usam o dicionrio de dados


como uma referncia somente para leitura a fim de
obter informaes sobre o banco de dados.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Categorias de Views de Dicionrio de Dados

Trs conjuntos de views estticas


Diferenciadas pelo escopo:

DBA: O que todos os esquemas contm


ALL: O que o usurio pode acessar
USER: O que o esquema do usurio contm
DBA_xxx
ALL_xxx

Todos os objetos do banco de dados


Objetos que podem ser acessados
pelo usurio atual

USER_xxx

5-9

Objetos pertencentes ao usurio


atual

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Exemplos de Dicionrio de Dados

5-11

Viso geral: DICTIONARY, DICT_COLUMNS


Objetos de esquema: DBA_TABLES, DBA_INDEXES,
DBA_TAB_COLUMNS, DBA_CONSTRAINTS
Alocao de espao: DBA_SEGMENTS, DBA_EXTENTS
Estrutura do banco de dados: DBA_TABLESPACES,
DBA_DATA_FILES

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tabelas Dinmicas de Desempenho

Tabelas virtuais

Atualizadas continuamente durante a operao do


banco de dados

As informaes so acessadas a partir da memria


ou do arquivo de controle

Usadas para monitorar e ajustar o banco de dados


Pertencentes ao usurio SYS

5-12

Registram a atividade desempenhada pelo banco


de dados no momento

Os sinnimos comeam com V$


Listadas na V$FIXED_TABLE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Exemplos de Views
Dinmicas de Desempenho

5-14

V$CONTROLFILE
V$DATABASE
V$DATAFILE
V$INSTANCE
V$PARAMETER
V$SESSION
V$SGA
$SPPARAMETER
V$TABLESPACE
V$THREAD
V$VERSION
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Convenes de Nomeao de Scripts


Administrativos

5-16

Conveno

Descrio

cat*.sql

Informaes de catlogo e dicionrio de dados

dbms*.sql

Especificaes de pacotes do banco de dados

prvt*.plb

Cdigo de pacotes wrapper do banco de dados

utl*.sql

Views e tabelas para utilitrios do banco de dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Identificar objetos internos do banco de dados

Identificar as categorias de views de dicionrio de


dados

Consultar as views de dicionrio de dados e as views


dinmicas de desempenho

Descrever as convenes de nomeao de scripts


administrativos

5-18

Identificar o contedo e os usos do dicionrio de dados


Descrever como as views de dicionrio de dados so
criadas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 5


Este exerccio aborda os seguintes tpicos:

Identificao dos componentes e do contedo do


dicionrio de dados

Execuo de consultas s views de dicionrio de


dados e s views dinmicas de desempenho

5-19

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Mantendo o Arquivo de Controle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

6-2

Explicar os usos do arquivo de controle

Obter informaes sobre o arquivo de controle

Listar o contedo do arquivo de controle


Multiplexar e gerenciar o arquivo de controle
Gerenciar o arquivo de controle com OMF (Oracle
Managed Files)

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivo de Controle

Um pequeno arquivo binrio


Define o estado atual do banco de dados fsico
Mantm a integridade do banco de dados
Necessrio:

6-3

No estado MOUNT durante a inicializao do banco


de dados
Para operar o banco de dados

Vinculado a um nico banco


de dados

A perda pode exigir recuperao

Banco de dados
Arquivos de
controle

Dimensionado inicialmente por


CREATE DATABASE
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Contedo do Arquivo de Controle


Um arquivo de controle contm as seguintes entradas:

6-5

O nome e o identificador do banco de dados

O nmero de seqncia do arquivo de redo log on-line


atual

As informaes sobre checkpoints

O timestamp de criao do banco de dados


Os nomes dos tablespaces
Os nomes e as localizaes dos arquivos de dados e
de redo log on-line

O incio e o fim dos segmentos de undo


As informaes de arquivamento de redo log
As informaes de backup
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Multiplexando o Arquivo de Controle


CONTROL_FILES=
$HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl

6-7

Disco 1 (u01)

Disco 2 (u02)

ctrl01.ctl

ctrl02.ctl

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Multiplexando o Arquivo
de Controle com o SPFILE
1. Altere o SPFILE:
ALTER SYSTEM SET control_files =
'$HOME/ORADATA/u01/ctrl01.ctl',
'$HOME/ORADATA/u02/ctrl02.ctl' SCOPE=SPFILE;

2. Desative o banco de dados:


shutdown immediate

3. Crie arquivos de controle adicionais:


cp

$HOME/ORADATA/u01/ctrl01.ctl
$HOME/ORADATA/u02/ctrl02.ctl

4. Inicie o banco de dados:


startup
6-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Multiplexando o Arquivo
de Controle com o PFILE
1. Desative o banco de dados:
shutdown immediate

2. Crie arquivos de controle adicionais:


cp

$HOME/ORADATA/u01/ctrl01.ctl
$HOME/ORADATA/u02/ctrl02.ctl

3. Adicione os nomes dos arquivos de controle a PFILE:


CONTROL_FILES = $HOME/ORADATA/u01/ctrl01.ctl,
$HOME/ORADATA/u02/ctrl02.ctl)

4. Inicie o banco de dados:


startup

6-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Arquivos de Controle com OMF

Sero criados arquivos OMF se o parmetro


CONTROL_FILES no for especificado.

As localizaes so definidas por


DB_CREATE_ONLINE_LOG_DEST_n.

Os nomes so gerados com exclusividade e


exibidos no alertSID.log.

6-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes do
Arquivo de Controle
possvel obter informaes sobre os status e a
localizao dos arquivos de controle consultando as
seguintes views.
V$CONTROLFILE: Lista o nome e o status de todos
os arquivos de controle associados instncia
V$PARAMETER: Lista o status e a localizao de
todos os parmetros
V$CONTROLFILE_RECORD_SECTION: Contm as
informaes sobre as sees de registro dos
arquivos de controle
SHOW PARAMETER CONTROL_FILES: Lista o nome,
o status e a localizao dos arquivos de controle
6-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Multiplexar o arquivo de controle usando um SPFILE

Gerenciar arquivos de controle usando OMF

6-14

Multiplexar o arquivo de controle usando um


init.ora

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 6


Este exerccio aborda os seguintes tpicos:

Inicializao do banco de dados sem um arquivo


de controle

Multiplexao de um arquivo de controle existente

6-15

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Mantendo Arquivos de Redo Log On-line

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

Explicar a finalidade dos arquivos de redo log on-line

Obter informaes sobre arquivos de redo log on-line

7-2

Descrever a estrutura dos arquivos de redo log on-line


Controlar alternncias de log e checkpoints
Multiplexar e manter arquivos de redo log on-line
Gerenciar arquivos de redo log on-line utilizando
arquivos OMF

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando Arquivos de Redo Log On-line


Os arquivos de redo log on-line tm as seguintes
caractersticas:

Registram todas as alteraes feitas nos dados


So um mecanismo de recuperao
Podem ser organizados em grupos
So necessrios no mnimo dois grupos
Arquivos
de redo
log

7-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura dos Arquivos de Redo Log On-line

Grupo 1

Grupo 2

Grupo 3
Disco 1

7-4

Membro

Membro

Membro

Membro

Membro

Membro

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Disco 2

Como Funcionam os Arquivos


de Redo Log On-line

Os arquivos de redo log on-line so usados de


forma cclica.

Quando um arquivo de redo log on-line


preenchido, o LGWR passa para o prximo grupo
de logs.

7-6

Denominado alternncia de log


Tambm ocorre operao de checkpoint
As informaes so gravadas no arquivo de controle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Impondo Alternncias de Log e Checkpoints

Impondo uma alternncia de log:


ALTER SYSTEM SWITCH LOGFILE;

possvel impor checkpoints:

Definindo o parmetro FAST_START_MTTR_TARGET

FAST_START_MTTR_TARGET = 600

Usando o comando ALTER SYSTEM CHECKPOINT

ALTER SYSTEM CHECKPOINT;

7-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Adicionando Grupos de Arquivos


de Redo Log On-line
ALTER DATABASE ADD LOGFILE GROUP 3
('$HOME/ORADATA/u01/log3a.rdo',
'$HOME/ORADATA/u02/log3b.rdo')
SIZE 1M;

log1a.rdo

7-9

log2a.rdo

log3a.rdo

log1b.rdo

log2b.rdo

log3b.rdo

Grupo 1

Grupo 2

Grupo 3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Adicionando Membros de Arquivos


de Redo Log On-line
ALTER DATABASE ADD LOGFILE MEMBER
'$HOME/ORADATA/u04/log1c.rdo' TO GROUP 1,
'$HOME/ORADATA/u04/log2c.rdo' TO GROUP 2,
'$HOME/ORADATA/u04/log3c.rdo' TO GROUP 3;

log1a.rdo

log2a.rdo

log1b.rdo

7-10

log3a.rdo

log2b.rdo

log3b.rdo

log1c.rdo

log2c.rdo

log3c.rdo

Grupo 2

Grupo 3

Group 3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando Grupos de
Arquivos de Redo Log On-line
ALTER DATABASE DROP LOGFILE GROUP 3;

7-12

log1a.rdo

log2a.rdo

Grupo 1

Grupo 2

log3a.rdo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Grupo 3

Eliminando Membros de
Arquivos de Redo Log On-line

ALTER DATABASE DROP LOGFILE MEMBER


'$HOME/ORADATA/u04/log3c.rdo';

log1a.rdo

log1a.rdo

log1b.rdo
log1c.rdo
Grupo 2
7-13

log1b.rdo
log2c.rdo
Grupo 2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Reposicionando ou Renomeando
Arquivos de Redo Log On-line
Reposicione ou renomeie os arquivos de redo log
on-line de uma das seguintes maneiras:
Comando ALTER DATABASE RENAME FILE

Desative o banco de dados.


Copie os arquivos de redo log on-line para a nova
localizao.
Coloque o banco de dados no modo MOUNT.
Execute o comando.
Abra o banco de dados para a operao normal.
ALTER DATABASE RENAME FILE
'$HOME/ORADATA/u01/log2a.rdo'
TO '$HOME/ORADATA/u02/log1c.rdo';

7-15

Adicione novos membros e elimine os antigos.


Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Limpando Arquivos de Redo Log On-line

possvel usar o comando ALTER DATABASE


CLEAR LOGFILE para reinicializar um arquivo de
redo log on-line.
ALTER DATABASE CLEAR LOGFILE GROUP 2;

Use a palavra-chave UNARCHIVED para evitar o


arquivamento do redo log on-line danificado.
ALTER DATABASE CLEAR UNARCHIVED
LOGFILE GROUP 2;

7-17

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Configurao de Arquivos de Redo Log On-line

7-18

Grupo 1

Grupo 2

Grupo 3

Membro

Membro

Membro

Membro

Membro

Disco 1

Disco 2

Disco 3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Arquivos de Redo Log


On-line com Arquivos OMF

Defina o parmetro DB_CREATE_ONLINE_LOG_DEST_n:


DB_CREATE_ONLINE_LOG_DEST_1
DB_CREATE_ONLINE_LOG_DEST_2

possvel adicionar um grupo sem nenhuma


especificao de arquivo:
ALTER DATABASE ADD LOGFILE;

Eliminando um grupo:
ALTER DATABASE DROP LOGFILE GROUP 3;

7-20

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre


Grupos e Membros
Para obter informaes sobre um grupo e seus
membros, voc pode consultar as seguintes views:
V$LOG

7-22

V$LOGFILE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de Redo Log Arquivados

possvel arquivar os arquivos de redo log on-line


preenchidos.

H duas vantagens na execuo do banco de dados


no modo ARCHIVELOG e no arquivamento de
arquivos de redo log on-line:

7-24

Recuperao: Um backup de banco de dados junto


com os arquivos de redo log on-line e de redo log
arquivados pode garantir a recuperao de todas as
transaes submetidas a commit.

Backup: Pode ser executado com o banco de dados


aberto.

Por default, o banco de dados criado no modo


NOARCHIVELOG.
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de Redo Log Arquivados

Obtidos automaticamente pelo ARCn


Obtidos manualmente por instrues SQL
Quando arquivados com sucesso:

7-26

Registram: nome de logs de arquivamento, nmero da


seqncia de log e SCN (System Change Number) alto
e baixo

No ser possvel reutilizar um arquivo de redo log


on-line preenchido at que:

criada uma entrada no arquivo de controle

Ocorra um checkpoint
O arquivo seja arquivado pelo ARCn

Podem ser multiplexados


Mantidos pelo DBA
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Explicar a utilizao dos arquivos de redo log


on-line

Obter informaes sobre arquivos de redo log


on-line

Controlar alternncias de log e checkpoints

7-28

Multiplexar e manter arquivos de redo log on-line


Gerenciar arquivos de redo log on-line com
arquivos OMF

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 7


Este exerccio aborda os seguintes tpicos:

Criao de membros e grupos de arquivos de redo


log on-line

Manuteno de membros e grupos de arquivos de


redo log on-line

Gerenciamento de arquivos de redo log on-line


utilizando arquivos OMF

7-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Tablespaces
e Arquivos de Dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

8-2

Definir o objetivo de tablespaces e arquivos de dados

Obter informaes sobre tablespaces

Criar tablespaces
Gerenciar tablespaces
Criar e gerenciar tablespaces com arquivos OMF
(Oracle Managed Files)

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tablespaces e Arquivos de Dados


O Oracle armazena dados logicamente em tablespaces
e fisicamente em arquivos de dados.

Tablespaces:

8-3

S podem pertencer a um banco de dados por vez


Consistem em um ou mais arquivos de dados
So divididos posteriormente em unidades lgicas
de armazenamento

Arquivos de dados:

Podem pertencer a apenas um


tablespace e um banco de dados

So um repositrio para dados


de objetos do esquema

Banco de dados
Tablespace
Arquivos de
dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Tablespaces

Tablespace SYSTEM

Contm o dicionrio de dados


Contm o segmento de undo SYSTEM

Tablespace no-SYSTEM

8-4

Criado com o banco de dados

Separa segmentos
Facilita a administrao de espao
Controla o volume do espao alocado para um
usurio

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando Tablespaces
Um tablespace criado com o comando:
CREATE TABLESPACE
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf' SIZE 5M;

8-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento de Espao em Tablespaces

Tablespace gerenciado localmente:

8-9

As extenses livres so gerenciadas no tablespace.


Um bitmap usado para registrar extenses livres.
Cada bit corresponde a um bloco ou grupo de blocos.
O valor do bit indica bloco livre ou utilizado.

Tablespace gerenciado por dicionrio:

As extenses livres so gerenciadas pelo dicionrio


de dados.

As tabelas apropriadas so atualizadas quando as


extenses so alocadas ou desalocadas.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tablespaces Gerenciados Localmente

Disputa reduzida nas tabelas de dicionrio de dados

No necessria a aglutinao

Nenhum undo gerado quando ocorre alocao ou


desalocao de espao

CREATE TABLESPACE userdata


DATAFILE '/u01/oradata/userdata01.dbf' SIZE 500M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 128K;

8-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tablespaces Gerenciados pelo Dicionrio

As extenses so gerenciadas no dicionrio


de dados.

Cada segmento armazenado no tablespace pode ter


uma clusula de armazenamento distinta.

necessria a aglutinao.
CREATE TABLESPACE userdata
DATAFILE '/u01/oradata/userdata01.dbf'
SIZE 500M EXTENT MANAGEMENT DICTIONARY
DEFAULT STORAGE
(initial 1M NEXT 1M PCTINCREASE 0);

8-12

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Migrando um Tablespace SYSTEM


Gerenciado por Dicionrio
Migre um tablespace SYSTEM gerenciado por
dicionrio para o gerenciamento local:
DBMS_SPACE_ADMIN.
TABLESPACE_MIGRATE_TO_LOCAL('SYSTEM');

8-13

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tablespace de Undo

Usado para armazenar segmentos de undo


No pode conter outros objetos
As extenses so gerenciadas localmente
S pode usar as clusulas DATAFILE e EXTENT
MANAGEMENT
CREATE UNDO TABLESPACE undo1
DATAFILE '/u01/oradata/undo01.dbf' SIZE 40M;

8-15

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tablespaces Temporrios

Usados para operaes de classificao


No podem ser compartilhados por vrios usurios
No podem conter objetos permanentes
Extenses gerenciadas localmente recomendadas
CREATE TEMPORARY TABLESPACE temp
TEMPFILE '/u01/oradata/temp01.dbf' SIZE 20M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 4M;

8-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tablespace Temporrio Default

Especifica um tablespace temporrio default para o


banco de dados
Elimina a utilizao do tablespace SYSTEM para
armazenamento de dados temporrios
Pode ser criado usando:

8-19

CREATE DATABASE
ALTER DATABASE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Tablespace Temporrio Default

Durante a criao do banco de dados:


CREATE DATABASE DBA01
LOGFILE
GROUP 1 ('/$HOME/ORADATA/u01/redo01.log') SIZE 100M,
GROUP 2 ('/$HOME/ORADATA/u02/redo02.log') SIZE 100M,
MAXLOGFILES 5
MAXLOGMEMBERS 5
MAXLOGHISTORY 1
MAXDATAFILES 100
MAXINSTANCES 1
DATAFILE '/$HOME/ORADATA/u01/system01.dbf' SIZE 325M
UNDO TABLESPACE undotbs
DATAFILE '/$HOME/ORADATA/u02/undotbs01.dbf' SIZE 200
DEFAULT TEMPORARY TABLESPACE temp
TEMPFILE '/$HOME/ORADATA/u03/temp01.dbf' SIZE 4M
CHARACTER SET US7ASCII

8-21

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Tablespace Temporrio Default

Aps a criao de um banco de dados:


ALTER DATABASE
DEFAULT TEMPORARY TABLESPACE default_temp2;

Para localizar o tablespace temporrio default para a


consulta do banco de dados DATABASE_PROPERTIES:
SELECT * FROM DATABASE_PROPERTIES;

8-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Restries sobre o Tablespace


Temporrio Default
Os tablespaces temporrios default no podem ser:

Eliminados at que um novo default esteja


disponvel

Colocados off-line

8-24

Alterados para um tablespace permanente

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tablespaces Somente para Leitura

Use o comando a seguir para colocar um


tablespace no modo somente para leitura:
ALTER TABLESPACE userdata READ ONLY;

8-25

Causa um checkpoint
Dados disponveis apenas para operaes de leitura
possvel eliminar objetos do tablespace

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Colocando um Tablespace Off-line

No disponvel para acesso a dados


Tablespaces que no podem ser colocados off-line:

Tablespace SYSTEM
Tablespaces com segmentos de undo ativos
Tablespace temporrio default

Para colocar um tablespace off-line:


ALTER TABLESPACE userdata OFFLINE;

Para colocar um tablespace on-line:


ALTER TABLESPACE userdata ONLINE;

8-28

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Alterando Definies de Armazenamento

Usando o comando ALTER TABLESPACE para


alterar definies de armazenamento:
ALTER TABLESPACE userdata MINIMUM EXTENT 2M;
ALTER TABLESPACE userdata
DEFAULT STORAGE (INITIAL 2M NEXT 2M
MAXEXTENTS 999);

8-31

No possvel alterar as definies de


armazenamento para os tablespaces gerenciados
localmente.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Redimensionando um Tablespace
Para redimensionar um tablespace:

Altere o tamanho de um arquivo de dados:

8-33

Automaticamente usando AUTOEXTEND


Manualmente usando ALTER DATABASE

Adicione um arquivo de dados por meio de ALTER


TABLESPACE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ativando a Expanso Automtica


de Arquivos de Dados

Podem ser redimensionados automaticamente com


os seguintes comandos:

CREATE DATABASE
CREATE TABLESPACE
ALTER TABLESPACE ADD DATAFILE

Exemplo:
CREATE TABLESPACE user_data
DATAFILE
'/u01/oradata/userdata01.dbf' SIZE 200M
AUTOEXTEND ON NEXT 10M MAXSIZE 500M;

8-35

Consulte a view DBA_DATA_FILES para determinar


se AUTOEXTEND est ativado.
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Redimensionando um Arquivo
de Dados Manualmente

Aumente ou reduza manualmente o tamanho de um


arquivo de dados usando ALTER DATABASE.

O redimensionamento de um arquivo de dados


adiciona mais espao sem acrescentar mais arquivos
de dados.

O redimensionamento manual de um arquivo de dados


solicita espao no utilizado no banco de dados.

Exemplo:
ALTER DATABASE
DATAFILE '/u03/oradata/userdata02.dbf'
RESIZE 200M;

8-39

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Adicionando Arquivos de Dados


a um Tablespace

Aumenta o espao alocado para um tablespace


adicionando mais arquivos de dados
A clusula ADD DATAFILE usada para adicionar
um arquivo de dados
Exemplo:
ALTER TABLESPACE user_data
ADD DATAFILE '/u01/oradata/userdata03.dbf'
SIZE 200M;

8-40

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Mtodos de Movimentao
de Arquivos de Dados

ALTER TABLESPACE

O tablespace deve estar off-line.


Os arquivos de dados de destino devem existir.

ALTER TABLESPACE userdata RENAME


DATAFILE '/u01/oradata/userdata01.dbf'
TO '/u02/oradata/userdata01.dbf';

8-42

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Mtodos de Movimentao
de Arquivos de Dados

ALTER DATABASE

O banco de dados deve ser montado.


Os arquivos de dados de destino devem existir.

ALTER DATABASE RENAME


FILE '/u01/oradata/system01.dbf'
TO '/u03/oradata/system01.dbf';

8-44

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando Tablespaces

No ser possvel eliminar um tablespace se ele:

Estiver no tablespace SYSTEM


Tiver segmentos ativos

INCLUDING CONTENTS elimina os segmentos.


INCLUDING CONTENTS AND DATAFILES deleta
arquivos de dados.
CASCADE CONSTRAINTS elimina todas as restries
de integridade referenciais.
DROP TABLESPACE userdata
INCLUDING CONTENTS AND DATAFILES;

8-46

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Tablespaces com Arquivos OMF

Defina o parmetro DB_CREATE_FILE_DEST de uma


das seguintes maneiras:

Arquivo de parmetros de inicializao


Defina dinamicamente usando o comando ALTER
SYSTEM
ALTER SYSTEM SET
db_create_file_dest = '/u01/oradata/dba01';

8-49

Quando o tablespace criado:

O arquivo de dados gerado automaticamente e


colocado em DB_CREATE_FILE_DEST

O tamanho default 100 MB


AUTOEXTEND definido como UNLIMITED
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Tablespaces com Arquivos OMF

Criando um tablespace com arquivos OMF:


CREATE TABLESPACE text_data DATAFILE SIZE 20M;

Adicionando um arquivo de dados OMF a um


tablespace existente:
ALTER TABLESPACE text_data ADD DATAFILE;

Alterando dinamicamente a localizao default de


arquivos:
ALTER SYSTEM SET
db_create_file_dest = '/u01/oradata/dba01';

8-50

Eliminando um tablespace com a deleo de


arquivos do sistema operacional:
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Tablespaces


possvel obter informaes sobre tablespaces e
arquivos de dados consultando:

Informaes sobre tablespaces:

DBA_DATA_FILES
V$DATAFILE

Informaes sobre arquivos temporrios:

8-51

V$TABLESPACE

Informaes sobre arquivos de dados:

DBA_TABLESPACES

DBA_TEMP_FILES
V$TEMPFILE
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

8-52

Usar tablespaces para separar dados


Criar vrios tipos de tablespaces
Gerenciar tablespaces
Gerenciar tablespaces utilizando arquivos OMF
Obter informaes sobre tablespaces

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 8


Este exerccio aborda os seguintes tpicos:

8-53

Criao de tablespaces
Modificao de tablespaces
Configurao e criao de um tablespace com
arquivos OMF

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura de Armazenamento
e Relacionamentos

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

9-2

Descrever a estrutura lgica do banco de dados

Obter informaes sobre estruturas de


armazenamento

Listar os tipos de segmentos e seus respectivos usos


Listar as palavras-chave que controlam a utilizao de
espao em bloco

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura de Armazenamento
e Relacionamentos
Banco de dados

PROD

TABLESPACES
SYSTEM

USER_DATA

ARQUIVOS
DISK2/
DE DADOS
USER1.dbf
DISK1/SYS1.dbf
SEGMENTOS Seg. S_DEPT S_EMP
Tabela ndice RB
D.D.
D.D.

Seg. de Seg. de
Dados ndice

Seg. de Seg. de
Dados Dados

RBS

DISK3/
USER2.dbf
S_DEPT S_EMP
(conti- FIRST_
nuao) NAME

TEMP

DISK1/
UNDO1.dbf
RBS1 RBS2

DISK1/
TEMP.dbf

RBS1
RBS2
(conti- (continuao) nuao)

ndice
Seg.
RB

Seg. de Seg. de
Dados ndice

Seg.
RB

Seg.
RB

Seg.
RB

Temp
Seg.
Temp

EXTENSES
1

2 1 2

FREE

BLOCOS DE DADOS Oracle

9-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Segmentos

9-4

Tabela

Partio
de tabela

Cluster

ndice

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Segmentos

9-6

Tabela
organizada
por ndice

Partio
de ndice

Segmento
de undo

Segmento
temporrio

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Segmentos

Segmento
de LOB

Tabela
aninhada

Segmento de
bootstrap
9-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Precedncia de Clusula
de Armazenamento

Default Oracle
Tablespace
Segmento

9-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Alocao e Desalocao de Extenses

Uma extenso um espao usado por um segmento


em um tablespace.

Uma extenso alocada quando o segmento :

Estendido
Alterado

Uma extenso desalocada quando o segmento :

9-10

Criado

Eliminado
Alterado
Truncado

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Extenses Livres e Utilizadas


Arquivo de dados

Cabealho
de arquivo

9-11

Extenso
utilizada

Extenso
livre

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Bloco do Banco de Dados

Unidade mnima de entrada/sada

Definido durante a criao do tablespace


DB_BLOCK_SIZE o tamanho de bloco default

9-12

Consiste em um ou mais blocos do sistema


operacional

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Suporte para Vrios Tamanhos de Bloco

possvel criar um banco de dados com um


tamanho de bloco padro e at quatro tamanhos de
bloco no-padro.

Os tamanhos de bloco podem ter qualquer valor


elevado segunda potncia entre 2 KB e 32 KB.

9-13

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tamanho de Bloco Padro

Definido durante a criao do banco de dados com


o parmetro DB_BLOCK_SIZE. No pode ser
alterado sem a recriao do banco de dados
Usado para tablespaces SYSTEM e TEMPORARY
DB_CACHE_SIZE especifica o tamanho do cache de
buffer DEFAULT para o tamanho de bloco padro:

9-14

Tamanho mnimo = um gro (4 MB ou 16 MB)


Valor default = 48 MB

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tamanho de Bloco No-Padro

Configure caches adicionais com os seguintes


parmetros dinmicos:

DB_2K_CACHE_SIZE para blocos de 2 KB


DB_4K_CACHE_SIZE para blocos de 4 KB
DB_8K_CACHE_SIZE para blocos de 8 KB
DB_16K_CACHE_SIZE para blocos de 16 KB
DB_32K_CACHE_SIZE para blocos de 32 KB

DB_nK_CACHE_SIZE no ser permitido


se nK for o tamanho de bloco padro.

O tamanho mnimo para cada cache um gro.

9-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando Tablespaces com


Tamanhos de Bloco No-Padro
CREATE TABLESPACE tbs_1
DATAFILE 'tbs_1.dbf'
SIZE 10M BLOCKSIZE 4K;
DESCRIBE dba_tablespaces
Name Null? Type
------------------ -------TABLESPACE_NAME
NOT NULL
BLOCK_SIZE
NOT NULL
...

9-18

-----------VARCHAR2(30)
NUMBER

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Regras de Dimensionamento
para Vrios Blocos

Todas as parties de um objeto particionado


devem residir em tablespaces com o mesmo
tamanho de bloco.

Todos os tablespaces temporrios, incluindo os


tablespaces permanentes que esto sendo usados
como tablespaces temporrios default, devem ter o
tamanho de bloco padro.

possvel armazenar os segmentos de overflow de


tabelas organizadas por ndice e os segmentos de
LOB fora de linha em um tablespace com um
tamanho de bloco diferente da tabela-base.

9-20

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Contedo dos Blocos do Banco de Dados

Cabealho

Espao livre

Dados

9-21

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Parmetros de Utilizao
de Espao em Bloco

INITRANS

MAXTRANS

PCTFREE

PCTUSED

9-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento de Blocos de Dados


Dois mtodos esto disponveis para gerenciar blocos
de dados:

9-24

Gerenciamento automtico de espao de segmento


Gerenciamento manual

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico
de Espao de Segmento

um mtodo de gerenciamento de espao livre em


segmentos do banco de dados.

O rastreamento de espao utilizado e livre em


segmentos feito por meio de bitmaps, e no de
free lists.

Esse mtodo possibilita:

9-25

Facilidade de gerenciamento
Melhor utilizao de espao
Melhor desempenho de operaes INSERT
concorrentes

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico
de Espao de Segmento

Os segmentos de bitmap contm um bitmap que


descreve o status relativo ao espao disponvel de
cada bloco do segmento.

O mapa est contido em um conjunto separado de


blocos denominados BMBs (blocos de bitmap).

Ao inserir uma nova linha, o servidor pesquisa um


bloco com espao suficiente no mapa.

Quando o espao disponvel em um bloco


alterado, o novo estado reflete-se no bitmap.

9-26

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Configurando o Gerenciamento
Automtico de Espao de Segmento

S possvel ativar o gerenciamento automtico de


espao de segmento no nvel do tablespace para
tablespaces gerenciados localmente.
CREATE TABLESPACE data02
DATAFILE '/u01/oradata/data02.dbf' SIZE 5M
EXTENT MANAGEMENT LOCAL UNIFORM SIZE 64K
SEGMENT SPACE MANAGEMENT AUTO;

9-27

Aps a criao de um tablespace, as


especificaes se aplicam a todos os segmentos
criados nesse tablespace.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Manual
de Blocos de Dados

Permite configurar blocos de dados manualmente


com parmetros como:

9-28

PCTFREE
PCTUSED
FREELIST

O nico mtodo disponvel nas verses anteriores


do Oracle

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Utilizao de Espao em Bloco


PCTFREE=20

PCTUSED=40

80%
Inseres

Inseres
(fora da freelist)

Inseres

80%
40%

Inseres
(na freelist)

9-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes de Armazenamento


Para obter informaes sobre armazenamento, voc
pode consultar as seguintes views:
DBA_EXTENTS

9-30

DBA_SEGMENTS
DBA_TABLESPACES
DBA_DATA_FILES
DBA_FREE_SPACE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Usar tablespaces para:

Separar segmentos a fim de facilitar a administrao


Controlar a alocao de espao do usurio

Categorizar os segmentos pelo tipo das informaes


armazenadas neles

Determinar os tamanhos das extenses com a clusula


de armazenamento

Controlar a utilizao de espao em bloco

9-33

Obter informaes sobre estruturas de armazenamento

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 9


Este exerccio aborda a identificao e a obteno de
informaes sobre os vrios tipos de estruturas de
armazenamento do banco de dados.

9-34

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Dados de Undo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

10-2

Descrever o objetivo dos dados de undo


Implementar o gerenciamento automtico de undo
Criar e configurar segmentos de undo
Obter informaes sobre segmentos de undo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Dados de Undo

Existem dois mtodos para gerenciar dados


de undo:

10-3

Gerenciamento Automtico de Undo


Gerenciamento Manual de Undo

O termo undo era conhecido como rollback


nas verses anteriores.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Segmento de Undo
Imagem original
Tabela

Nova
imagem
Segmento de undo

Transao
atualizada

10-4

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Segmentos de Undo: Objetivo

Rollback de transaes

Recuperao de
transaes

10-5

Segmento de undo

Consistncia
de leitura

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Consistncia de Leitura
SELECT * FROM
Tabela

Tabela

Nova imagem
Imagem no incio da instruo

10-6

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Segmentos de Undo

SYSTEM: Usados para objetos no tablespace


SYSTEM

No-SYSTEM: Usados para objetos em outros


tablespaces:

Modo automtico: Exige um tablespace UNDO


Modo manual:
Privado: Adquirido por uma nica instncia
Pblico: Adquirido por qualquer instncia

10-7

Adiados: Usados quando os tablespaces so


colocados off-line de forma imediata, temporria
ou para recuperao

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico
de Undo: Conceitos

Os dados de undo so gerenciados com um


tablespace UNDO.

Aloque um tablespace UNDO por instncia com


espao suficiente para a carga de trabalho da
instncia.

O servidor Oracle mantm automaticamente


os dados de undo no tablespace UNDO.

10-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico
de Undo: Configurao

Configure dois parmetros no arquivo de


inicializao:

UNDO_MANAGEMENT
UNDO_TABLESPACE

Crie no mnimo um tablespace UNDO.

undo1db01.dbf
Arquivo de
inicializao

10-10

Tablespace UNDO

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico de Undo:


Parmetros de Inicializao

UNDO_MANAGEMENT: Especifica se o sistema deve


usar o modo AUTO ou MANUAL

UNDO_TABLESPACE: Especifica o tablespace UNDO a


ser usado
UNDO_MANAGEMENT=AUTO
UNDO_TABLESPACE=UNDOTBS

10-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico de Undo:


Tablespace UNDO
Crie o tablespace UNDO com o banco de dados adicionando
uma clusula ao comando CREATE DATABASE:
CREATE DATABASE db01
. . .
UNDO TABLESPACE undo1
DATAFILE '/u01/oradata/undoldb01.dbf' SIZE 20M
AUTOEXTEND ON

Esse tablespace tambm pode ser criado posteriormente


com o comando CREATE UNDO TABLESPACE:
CREATE UNDO TABLESPACE undo1
DATAFILE '/u01/oradata/undo1db01.dbf'
SIZE 20M;

10-12

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico de Undo:


Alterando um Tablespace UNDO

O comando ALTER TABLESPACE pode fazer


alteraes nos tablespaces UNDO.

O seguinte exemplo adiciona outro arquivo de


dados ao tablespace UNDO:
ALTER TABLESPACE undotbs
ADD DATAFILE '/u01/oradata/undotbs2.dbf'
SIZE 30M
AUTOEXTEND ON;

10-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico de Undo:


Alternando Tablespaces UNDO

Voc pode alternar de um tablespace UNDO para


outro.
S possvel designar um tablespace UNDO a um
banco de dados por vez.
Pode existir mais de um tablespace UNDO em uma
instncia, mas apenas um pode estar ativo.
Use o comando ALTER SYSTEM para fazer a
alternncia dinmica entre tablespaces UNDO.
ALTER SYSTEM SET UNDO_TABLESPACE=UNDOTBS2;

10-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico de Undo:


Eliminando um Tablespace UNDO

O comando DROP TABLESPACE elimina um


tablespace UNDO.
DROP TABLESPACE UNDOTBS2;

S possvel eliminar um tablespace UNDO se


nenhuma instncia estiver usando esse tablespace
no momento.
Para eliminar um tablespace UNDO ativo:

10-18

Alterne para um novo tablespace UNDO.


Elimine o tablespace depois que todas as transaes
atuais forem concludas.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico de Undo:


Outros Parmetros

Parmetro UNDO_SUPPRESS_ERRORS:

Parmetro UNDO_RETENTION:

10-21

Definido como TRUE, esse parmetro suprime erros


durante a tentativa de execuo de operaes
manuais no modo AUTO.
Controla o volume de dados de undo para reter uma
leitura consistente.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estatsticas de Dados de Undo

SELECT end_time,begin_time,undoblks
FROM
v$undostat;
END_TIME
BEGIN_TIME
UNDO
------------------ ------------------ ----22-JAN-01 13:44:18 22-JAN-01 13:43:04
19
22-JAN-01 13:43:04 22-JAN-01 13:33:04 1474
22-JAN-01 13:33:04 22-JAN-01 13:23:04 1347
22-JAN-01 13:23:04 22-JAN-01 13:13:04 1628
22-JAN-01 13:13:04 22-JAN-01 13:03:04 2249
22-JAN-01 13:03:04 22-JAN-01 12:53:04 1698
22-JAN-01 12:53:04 22-JAN-01 12:43:04 1433
22-JAN-01 12:43:04 22-JAN-01 12:33:04 1532
22-JAN-01 12:33:04 22-JAN-01 12:23:04 1075

10-23

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico de Undo:


Dimensionando um Tablespace UNDO
A determinao do tamanho do tablespace UNDO exige
trs informaes:
(UR) UNDO_RETENTION em segundos

(UPS) Nmero de blocos de dados de undo gerados


por segundo

(DBS) O overhead varia de acordo com o tamanho


das extenses e dos arquivos (db_block_size)

10-24

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico
de Undo: Cota de Undo

Transaes longas e gravadas inadequadamente podem


consumir recursos importantes.

Com a cota de undo, possvel agrupar usurios e


designar um limite mximo de espao de undo ao grupo.
UNDO_POOL, uma diretiva do Resource Manager, define o
volume de espao permitido para um grupo de recursos.

10-26

Quando um grupo ultrapassa seu limite, no so


permitidas novas transaes para esse grupo, at que
as transaes atuais, concludas ou abortadas, liberem
espao de undo.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre


Segmentos de Undo

Para obter informaes sobre segmentos de undo,


voc pode consultar as seguintes views:

Views Dinmicas de Desempenho

10-27

DBA_ROLLBACK_SEGS
V$ROLLNAME
V$ROLLSTAT
V$UNDOSTAT
V$SESSION
V$TRANSACTION

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

10-29

Configurar o gerenciamento automtico de undo


Criar um tablespace UNDO
Dimensionar apropriadamente um tablespace UNDO
Obter informaes sobre segmentos de undo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 10


Este exerccio aborda os seguintes tpicos:
Criao de um tablespace UNDO

10-30

Alternncia entre tablespaces UNDO


Eliminao de um tablespace UNDO

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Tabelas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

11-2

Identificar vrios mtodos de armazenamento


de dados

Descrever os tipos de dados Oracle


Fazer a distino entre um ROWID estendido e restrito
Descrever a estrutura de uma linha
Criar tabelas comuns e temporrias
Gerenciar estruturas armazenadas em uma tabela
Reorganizar, truncar e eliminar uma tabela
Eliminar uma coluna de uma tabela
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Armazenando Dados de Usurios

Tabela comum

Tabela organizada
por ndice
11-3

Tabela
particionada

Cluster

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Dados Internos do Oracle


Tipo de dados
Definidos pelo usurio
Escalares
CHAR(N), NCHAR(N)
VARCHAR2(N),
NVARCHAR2(N)
NUMBER(P,S)
DATE
TIMESTAMP
RAW(N)
BLOB, CLOB,
NCLOB, BFILE
LONG, LONG RAW
ROWID, UROWID
11-6

Internos
Coleo
VARRAY

Relacionamento
REF

TABLE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Formato ROWID

Formato ROWID Estendido


OOOOOO

FFF

BBBBBB

RRR

Nmero do
objeto de
dados

Nmero do
arquivo
relativo

Nmero do
bloco

Nmero da
linha

Formato ROWID Restrito


BBBBBBBB
Nmero do
bloco

11-11

RRRR
Nmero da
linha

FFFF
Nmero do
arquivo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura de uma Linha

Cabealho da linha
Bloco do banco
de dados

11-13

Tamanho da coluna
Valor da coluna

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando uma Tabela


CREATE TABLE hr.employees(
employee_id NUMBER(6),
first_name VARCHAR2(20),
last_name VARCHAR2(25),
email VARCHAR2(25),
phone_number VARCHAR2(20),
hire_date DATE DEFAULT SYSDATE,
job_id
VARCHAR2(10),
salary NUMBER(8,2),
commission_pct NUMBER (2,2),
manager_id NUMBER(6),
department_id NUMBER(4))
TABLESPACE USERS;

11-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando uma Tabela: Diretrizes

Coloque as tabelas em tablespaces separados.

Use poucos tamanhos padro de extenso para


as tabelas a fim de reduzir a fragmentao do
tablespace.

11-18

Use tablespaces gerenciados localmente para


evitar a fragmentao.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando Tabelas Temporrias

Criadas com a clusula GLOBAL TEMPORARY:


CREATE GLOBAL TEMPORARY TABLE
hr.employees_temp
AS SELECT * FROM hr.employees;

As tabelas retm dados apenas durante uma


transao ou uma sesso.

No so adquiridos bloqueios de DML sobre os


dados.

possvel criar ndices, views e triggers em tabelas


temporrias.

11-19

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Definindo PCTFREE e PCTUSED

Clculo de PCTFREE
(Tamanho Mdio da Linha - Tamanho Inicial da Linha) * 100
Tamanho Mdio da Linha

Clculo de PCTUSED
Tamanho Mdio da Linha *100
100 - PCTFREE Espao de Dados Disponvel

11-20

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Migrao e Encadeamento de Linhas


Antes da
atualizao

Depois da
atualizao

Ponteiro

11-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Alterando Parmetros de Armazenamento


e Utilizao de Bloco

ALTER TABLE hr.employees


PCTFREE 30
PCTUSED 50
STORAGE(NEXT 500K
MINEXTENTS 2
MAXEXTENTS 100);

11-23

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Alocando Extenses Manualmente

ALTER TABLE hr.employees


ALLOCATE EXTENT(SIZE 500K
DATAFILE '/DISK3/DATA01.DBF');

11-26

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Reorganizao de Tabela No-particionada

ALTER TABLE hr.employees


MOVE TABLESPACE data1;

Quando uma tabela no-particionada reorganizada,


sua estrutura mantida, mas seu contedo no.

Ela usada para mover uma tabela para outro


tablespace ou para reorganizar extenses.

11-27

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Truncando uma Tabela

TRUNCATE TABLE hr.employees;

O truncamento de uma tabela deleta todas as linhas


dessa tabela e libera o espao utilizado.

Os ndices correspondentes so truncados.

11-28

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando uma Tabela

DROP TABLE hr.departments


CASCADE CONSTRAINTS;

11-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando uma Coluna


Removendo uma coluna de uma tabela:
ALTER TABLE hr.employees
DROP COLUMN comments
CASCADE CONSTRAINTS CHECKPOINT 1000;

Remove o tamanho da coluna e os dados de cada


linha, liberando espao no bloco de dados.

A eliminao de uma coluna em uma tabela grande


demora um tempo considervel.

11-31

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Renomeando uma Coluna


Renomeando uma coluna de uma tabela
ALTER TABLE hr.employees
RENAME COLUMN hire_date
TO start_date;

11-33

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando a Opo UNUSED

Marque uma coluna como no utilizada:


ALTER TABLE hr.employees
SET UNUSED COLUMN comments CASCADE
CONSTRAINTS;

Elimine as colunas no utilizadas:


ALTER TABLE hr.employees
DROP UNUSED COLUMNS CHECKPOINT 1000;

Continue a operao de eliminao de colunas:


ALTER TABLE hr.employees
DROP COLUMNS CONTINUE CHECKPOINT 1000;

11-35

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Tabelas


Para obter informaes sobre tabelas, voc pode
consultar as seguintes views:
DBA_TABLES

11-37

DBA_OBJECTS

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:
Fazer a distino entre um ROWID estendido e
restrito

11-39

Descrever a estrutura de uma linha


Criar tabelas comuns e temporrias
Gerenciar estruturas armazenadas em uma tabela
Reorganizar, truncar e eliminar uma tabela
Eliminar uma coluna de uma tabela
Obter informaes sobre tabelas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 11


Este exerccio aborda os seguintes tpicos:

Criao de uma tabela

Alocao de extenses manualmente

11-40

Exibio, marcao como no utilizada e eliminao


de colunas de uma tabela
Truncamento de uma tabela
Obteno de informaes sobre tabelas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando ndices

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

Listar os diversos tipos de ndices e respectivas


utilizaes

Criar vrios tipos de ndices

12-2

Reorganizar ndices
Manter ndices
Monitorar a utilizao de um ndice
Obter informaes sobre ndices

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Classificao de ndices

Lgico:

Exclusivo ou no exclusivo
Baseado em funo
Domnio

Fsico:

12-3

Uma nica coluna ou concatenado

Particionado ou no-particionado
rvore B: Normal ou chave invertida
Bitmap

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

ndice em rvore B
Entrada de ndice
Raiz

Ramificao

Cabealho de entrada de ndice


Folha

Tamanho da coluna-chave
Valor da coluna-chave
ROWID

12-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

ndices de Bitmap
Arquivo 3
Bloco 10

Tabela

Bloco 11
Bloco 12

ndice

chave
<Blue,
<Green,
<Red,
<Yellow,
12-7

ROWID ROWID
inicial final
10.0.3,
10.0.3,
10.0.3,
10.0.3,

12.8.3,
12.8.3,
12.8.3,
12.8.3,

bitmap
1000100100010010100>
0001010000100100000>
0100000011000001001>
0010001000001000010>

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Comparando ndices em rvore B


e ndices de Bitmap

12-9

rvore B

Bitmap

Adequada para colunas de


alta cardinalidade

Adequado para colunas de baixa


cardinalidade

Baixo custo nas atualizaes


em chaves

Alto custo nas atualizaes


em chaves

Ineficiente para consultas


com predicados OR

Eficiente para consultas com


predicados OR

til para OLTP

til para data warehousing

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando ndices em rvore B

CREATE INDEX hr.employees_last_name_idx


ON hr.employees(last_name)
PCTFREE 30
STORAGE(INITIAL 200K NEXT 200K
PCTINCREASE 0 MAXEXTENTS 50)
TABLESPACE indx;

12-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando ndices: Diretrizes

Balanceie as necessidades de consultas e


instrues DML.

Coloque em tablespaces separados.

12-13

Use tamanhos de extenso uniformes: Mltiplos de


cinco blocos ou o tamanho de MINIMUM EXTENT
para um tablespace.
Considere NOLOGGING para ndices grandes.
Em geral, o valor de INITRANS deve ser maior
em ndices do que nas tabelas correspondentes.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando ndices de Bitmap

CREATE BITMAP INDEX orders_region_id_idx


ON orders(region_id)
PCTFREE 30
STORAGE(INITIAL 200K NEXT 200K
PCTINCREASE 0 MAXEXTENTS 50)
TABLESPACE indx;

12-15

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Alterando Parmetros de
Armazenamento para ndices

ALTER INDEX employees_last_name_idx


STORAGE(NEXT 400K
MAXEXTENTS 100);

12-18

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Alocando e Desalocando Espao de ndice

ALTER INDEX orders_region_id_idx


ALLOCATE EXTENT (SIZE 200K
DATAFILE '/DISK6/indx01.dbf');

ALTER INDEX orders_id_idx


DEALLOCATE UNUSED;

12-20

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Reconstruindo ndices
Use o comando ALTER INDEX para:

Mover um ndice para um tablespace distinto


Melhorar a utilizao de espao removendo as
entradas deletadas
ALTER INDEX orders_region_id_idx REBUILD
TABLESPACE indx02;

12-21

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Reconstruindo ndices On-line

possvel reconstruir ndices com o mnimo de


bloqueio de tabela.
ALTER INDEX orders_id_idx REBUILD ONLINE;

12-23

Algumas restries so aplicadas.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Aglutinando ndices

Antes da aglutinao

Depois da aglutinao

ALTER INDEX orders_id_idx COALESCE;

12-24

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Verificando a Validade de ndices

ANALYZE INDEX orders_region_id_idx


VALIDATE STRUCTURE;

INDEX_STATS
12-25

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando ndices

Elimine e recrie um ndice antes de cargas em alto


volume.

Elimine ndices pouco utilizados e crie-os quando


preciso.

Elimine e recrie ndices invlidos.


DROP INDEX hr.departments_name_idx;

12-27

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Identificando ndices No Usados

Para iniciar o monitoramento da utilizao de um


ndice:
ALTER INDEX hr.dept_id_idx
MONITORING USAGE

Para interromper o monitoramento da utilizao de


um ndice:
ALTER INDEX hr.dept_id_idx
NOMONITORING USAGE

12-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre ndices


possvel obter informaes sobre ndices
consultando as seguintes views:
DBA_INDEXES: Contm informaes sobre os
ndices
DBA_IND_COLUMNS: Contm informaes sobre
as colunas indexadas
V$OBJECT_USAGE: Contm informaes sobre a
utilizao de um ndice

12-30

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Criar diferentes tipos de ndices

Iniciar e interromper o monitoramento da utilizao


de ndices

Obter informaes sobre ndices

12-31

Reorganizar ndices
Eliminar ndices
Obter informaes sobre ndices do dicionrio de
dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 12


Este exerccio aborda os seguintes tpicos:

12-32

Criao de ndices em colunas de uma tabela


Movimentao do ndice para outro tablespace
Eliminao de ndices
Obteno de informaes sobre ndices

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Mantendo a Integridade dos Dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

13-2

Implementar restries de integridade de dados


Manter restries de integridade
Obter informaes sobre restries

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Integridade de Dados

Dados

Trigger do
banco de dados

Restrio de
integridade

Cdigo da
aplicao

Tabela

13-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Restries

13-5

Restrio

Descrio

NOT NULL

Especifica que uma coluna no pode conter


valores nulos

UNIQUE

Designa uma coluna ou uma combinao de


colunas como exclusiva

PRIMARY KEY

Designa uma coluna ou uma combinao de


colunas como a chave primria da tabela

FOREIGN KEY

Designa uma coluna ou uma combinao de


colunas como a chave estrangeira em uma
restrio de integridade referencial

CHECK

Especifica uma condio que deve ser


atendida por cada linha da tabela

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estados das Restries


DISABLE
NOVALIDATE

DISABLE
VALIDATE

ENABLE
NOVALIDATE

ENABLE
VALIDATE

=
=
Novos dados

13-6

Dados existentes

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Verificao de Restrio
Instruo DML
Verificao das restries
no-adiveis

COMMIT

Verificao das
restries adiveis

13-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Definindo Restries
Imediatas ou Adiveis

Use a instruo SET CONSTRAINTS para definir


as restries como DEFERRED ou IMMEDIATE.

A instruo ALTER SESSION tambm contm


clusulas para definir restries como DEFERRED
ou IMMEDIATE.

13-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Imposio de Chave Primria e Exclusiva

Chave
ativada?

Sim

H um
Sim
ndice disponvel
para uso?
No
Restrio
adivel?

No
No use
ndice

13-11

Sim

Restrio
adivel?

Sim

No
Use um ndice
existente

No
Crie um ndice
exclusivo

O ndice
no-exclusivo?

Crie um ndice
no-exclusivo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

No/
Sim

Consideraes sobre Chaves Estrangeiras

Ao Desejada

Soluo Apropriada

Eliminar tabela me

Coloque restries em
cascata

Truncar tabela me
Eliminar tablespace que
contm tabela me
Executar DML na tabela filha

13-12

Desative ou elimine a chave


estrangeira
Use a clusula CASCADE
CONSTRAINTS
Verifique se o tablespace
que contm a chave me
est on-line

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Definindo Restries
ao Criar Tabelas
CREATE TABLE hr.employee(
id NUMBER(7)
CONSTRAINT employee_id_pk PRIMARY KEY
DEFERRABLE
USING INDEX
STORAGE(INITIAL 100K NEXT 100K)
TABLESPACE indx,
last_name VARCHAR2(25)
CONSTRAINT employee_last_name_nn NOT NULL,
dept_id NUMBER(7))
TABLESPACE users;

13-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes para Definir Restries

Restries primrias e exclusivas:

13-18

Coloque os ndices em um tablespace separado.


Use ndices no-exclusivos se cargas em alto volume
forem freqentes.

Chaves estrangeiras de auto-referncia:

Defina ou ative as chaves estrangeiras aps a carga


inicial.

Adie a verificao de restrio.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ativando Restries

ENABLE
NOVALIDATE

No existem bloqueios
na tabela

Chaves primrias e
exclusivas devem usar
ndices no-exclusivos

ALTER TABLE hr.departments


ENABLE NOVALIDATE CONSTRAINT dept_pk;

13-19

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ativando Restries

ENABLE
VALIDATE

Bloqueia a tabela

Precisa de dados
de tabela vlidos

Pode usar ndices


exclusivos ou noexclusivos

ALTER TABLE hr.employees


ENABLE VALIDATE CONSTRAINT emp_dept_fk;

13-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Renomeando Restries
Use a seguinte instruo para renomear uma restrio:
ALTER TABLE employees
RENAME CONSTRAINT emp_dept_fk
TO employees_dept_fk;

13-24

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando a Tabela EXCEPTIONS

Crie a tabela EXCEPTIONS, executando o script


utlexpt1.sql.

Execute a instruo ALTER TABLE com a opo


EXCEPTIONS.

Faa uma subconsulta em EXCEPTIONS para


localizar as linhas com dados invlidos.

Corrija os erros.
Execute ALTER TABLE novamente para ativar a
restrio.

13-26

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Restries


Para obter informaes sobre restries, consulte as
seguintes views:
DBA_CONSTRAINTS

13-29

DBA_CONS_COLUMNS

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Implementar a integridade dos dados

Obter informaes sobre restries

13-32

Usar uma estratgia apropriada para criar e manter


restries

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 13


Este exerccio aborda os seguintes tpicos:

13-33

Criao de restries
Ativao de restries exclusivas
Criao de uma tabela EXCEPTIONS
Identificao das violaes de restrio existentes
em uma tabela, correo dos erros e reativao de
restries

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando os Recursos
e a Segurana de Senha

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

14-2

Gerenciar senhas usando perfis


Administrar perfis
Controlar o uso de recursos usando perfis
Obter informaes sobre limites de senhas e
recursos

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Perfis

Perfil um conjunto nomeado de limites para


senhas e recursos.

Os perfis so designados aos usurios pelo


comando CREATE USER ou ALTER USER.

Os perfis podem estar ativados ou desativados.

14-3

Os perfis podem estar relacionados ao perfil


DEFAULT.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento de Senhas

Histrico
de senha

Bloqueio
de conta

Usurio

Configurao
de perfis
Expirao e
vencimento
da senha

14-5

Verificao
da senha

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ativando o Gerenciamento de Senhas

Configure o gerenciamento de senhas usando


perfis e designando-os aos usurios.

Bloqueie, desbloqueie e expire contas usando


o comando CREATE USER ou ALTER USER.

Os limites para senhas so sempre impostos.

14-6

Para ativar o gerenciamento de senhas, execute


o script utlpwdmg.sql como o usurio SYS.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Bloqueio de Conta por Senha Incorreta


Parmetro

Descrio

FAILED_LOGIN_ATTEMPTS

Nmero de tentativas de login


malsucedidas antes do bloqueio da conta

PASSWORD_LOCK_TIME

Nmero de dias em que a conta


permanece bloqueada aps o nmero
especificado de tentativas malsucedidas
de login

14-7

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Expirao e Vencimento da Senha


Parmetro

Descrio

PASSWORD_LIFE_TIME

Tempo de vida til da senha, em dias,


aps o qual a senha expira

PASSWORD_GRACE_TIME

Perodo de tolerncia, em dias, para


alterar a senha aps o primeiro login
bem-sucedido depois da expirao
da senha

14-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Histrico de Senha

14-9

Parmetro

Descrio

PASSWORD_REUSE_TIME

Nmero de dias aps o qual uma


senha pode ser reutilizada

PASSWORD_REUSE_MAX

Nmero mximo de alteraes


necessrias antes que uma senha
possa ser reutilizada

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Verificao da Senha

Parmetro

Descrio

PASSWORD_VERIFY_FUNCTION

PL/SQL que executa uma verificao


de complexidade da senha antes que
ela seja designada

14-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Funo de Senha Fornecida pelo Usurio


Essa funo deve ser criada no esquema SYS e deve
ter a seguinte especificao:
function_name(
userid_parameter IN VARCHAR2(30),
password_parameter IN VARCHAR2(30),
old_password_parameter IN VARCHAR2(30))
RETURN BOOLEAN

14-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Funo de Verificao de Senha


VERIFY_FUNCTION

O tamanho mnimo de quatro caracteres.

Ela deve ter pelo menos trs letras diferentes da


senha anterior.

14-12

A senha no deve ser igual ao nome do usurio.


A senha deve ter no mnimo um caractere
alfabtico, um numrico e um especial.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Perfil:
Definies de Senha

CREATE PROFILE grace_5 LIMIT


FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LOCK_TIME UNLIMITED
PASSWORD_LIFE_TIME 30
PASSWORD_REUSE_TIME 30
PASSWORD_VERIFY_FUNCTION verify_function
PASSWORD_GRACE_TIME 5;

14-13

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Alterando um Perfil: Definio de Senha


Use ALTER PROFILE a fim de alterar os limites
para senhas.
ALTER PROFILE default LIMIT
FAILED_LOGIN_ATTEMPTS 3
PASSWORD_LIFE_TIME 60
PASSWORD_GRACE_TIME 10;

14-17

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando um Perfil: Definio de Senha

Elimine o perfil usando o comando DROP PROFILE.


O perfil DEFAULT no pode ser eliminado.
CASCADE revoga o perfil do usurio ao qual ele
foi designado.
DROP PROFILE developer_prof;
DROP PROFILE developer_prof CASCADE;

14-19

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento de Recursos

possvel impor limites do gerenciamento de


recursos no nvel de sesso, no nvel de chamada
ou em ambos.

Os limites podem ser definidos por perfis usando


o comando CREATE PROFILE.

Ative os limites de recursos com o:

14-21

Parmetro de inicializao RESOURCE_LIMIT


Comando ALTER SYSTEM

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ativando Limites de Recursos

Defina o parmetro de inicializao


RESOURCE_LIMIT como TRUE.

Imponha os limites de recursos ativando o


parmetro com o comando ALTER SYSTEM.
ALTER SYSTEM SET RESOURCE_LIMIT=TRUE;

14-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Definindo Limites de
Recursos no Nvel da Sesso
Recurso

Descrio

CPU_PER_SESSION

O tempo total de CPU medido em


centsimos de segundo

SESSIONS_PER_USER

Nmero de sesses concorrentes


permitidas para cada nome de usurio

CONNECT_TIME

Tempo de conexo decorrido medido


em minutos

IDLE_TIME

Perodos de inatividade medidos em


minutos

LOGICAL_READS_PER _SESSION

Nmero de blocos de dados (leituras


fsicas e lgicas)

PRIVATE_SGA

Espao privado na SGA medido em


bytes (somente para o Servidor
Compartilhado)

14-23

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Definindo Limites de Recursos


no Nvel de Chamada

14-25

Recurso

Descrio

CPU_PER_CALL

Tempo de CPU por chamada em


centsimos de segundos

LOGICAL_READS_PER_CALL

Nmero de blocos de dados que


podem ser lidos por chamada

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Perfil:
Limite de Recurso

CREATE PROFILE developer_prof LIMIT


SESSIONS_PER_USER 2
CPU_PER_SESSION 10000
IDLE_TIME 60
CONNECT_TIME 480;

14-26

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Recursos com o


Database Resource Manager

Oferece ao servidor Oracle maior controle sobre as


decises de gerenciamento de recursos

Elementos do Database Resource Manager:

14-29

Grupo de consumidores de recursos


Plano de recursos
Mtodo de alocao de recursos
Diretivas de planos de recursos

Usa o pacote DBMS_RESOURCE_MANAGER para criar e


manter os elementos
Requer o privilgio ADMINISTER_RESOURCE_MANAGER

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Recursos com o


Database Resource Manager

Os planos de recursos especificam os grupos


consumidores de recursos que pertencem ao plano.

Os planos de recursos contm diretivas sobre como


alocar os recursos entre os grupos consumidores.

14-30

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretivas de Planos de Recursos


O Database Resource Manager oferece diversos meios
para a alocao de recursos:

14-32

Mtodo de CPU
Pool e enfileiramento de sesses ativas
Grau do limite de paralelismo
Alternncia automtica do grupo de consumidores
Tempo mximo de execuo estimado
Cota de undo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre


Limites de Senhas e Recursos
Para obter informaes sobre limites para senhas e
recursos, voc pode consultar as seguintes views:
DBA_USERS

14-34

DBA_PROFILES

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

14-36

Administrar senhas
Administrar perfis
Obter informaes sobre limites de senhas e
recursos

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 14


Este exerccio aborda os seguintes tpicos:

14-37

Ativao do gerenciamento de senhas


Definio de perfis e sua designao a usurios
Desativao do gerenciamento de senhas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Usurios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

Criar novos usurios de bancos de dados

Monitorar informaes sobre os usurios


existentes

Obter informaes sobre usurios

15-2

Alterar e eliminar usurios de bancos de dados


existentes

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usurios e Segurana
Bloqueio
de conta

Mecanismo
de
autenticao

Tablespace
temporrio
Domnio de
segurana

Privilgios
de atribuio

Privilgios
diretos

15-3

Tablespace
default

Cotas de
tablespace
Limites
de recursos

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Esquema de Banco de Dados

15-5

Um esquema um
conjunto nomeado de
objetos.

Objetos do Esquema

Quando um usurio
criado, um esquema
correspondente tambm
criado.

Restries

S possvel associar um
usurio a um esquema.

Unidades de programa
armazenadas

O nome de usurio e o
esquema so, em geral,
usados alternadamente.

Tabelas
Triggers
ndices
Views
Seqncias

Sinnimos
Tipos de dados definidos pelo
usurio
Vnculos de bancos de dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Lista de Verificao para Criar Usurios

Identifique os tablespaces nos quais o usurio deve


armazenar objetos.

Defina as cotas de cada tablespace.

Crie um usurio.

15-6

Designe um tablespace default e um tablespace


temporrio.
Conceda privilgios e atribuies ao usurio.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Novo Usurio:


Autenticao de Banco de Dados
Defina a senha inicial:
CREATE USER aaron
IDENTIFIED BY soccer
DEFAULT TABLESPACE data
TEMPORARY TABLESPACE temp
QUOTA 15M ON data
QUOTA 10M ON users
PASSWORD EXPIRE;

15-7

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando um Novo Usurio:


Autenticao do Sistema Operacional

O parmetro de inicializao OS_AUTHENT_PREFIX


especifica o formato dos nomes de usurio.
O default OPS$.
CREATE USER aaron
IDENTIFIED EXTERNALLY
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE temp
QUOTA 15m ON data;

15-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Alterando a Cota do
Usurio em Tablespaces

possvel modificar as cotas de tablespace de um


usurio nas seguintes situaes:

Tabelas do usurio que apresentam um crescimento


imprevisto.

Uma aplicao aprimorada e requer tabelas ou


ndices adicionais.

Os objetos so reorganizados e colocados em


tablespaces distintos.

Para modificar a cota de tablespace do usurio,


informe o seguinte:
ALTER USER aaron
QUOTA 0 ON USERS;

15-12

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando um Usurio

Use o comando DROP para remover um usurio.


DROP USER aaron;

Use a clusula CASCADE para eliminar todos os


objetos do esquema se o esquema contiver objetos.
DROP USER aaron CASCADE;

15-14

No possvel eliminar os usurios que estiverem


conectados no momento ao servidor Oracle.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Usurios


Para obter informaes sobre os usurios, voc pode
consultar as seguintes views:
DBA_USERS

15-16

DBA_TS_QUOTAS

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Criar usurios especificando o mecanismo de


senha adequado

Controlar a utilizao de espao pelos usurios

15-17

Obter informaes sobre usurios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 15


Este exerccio aborda os seguintes tpicos:

Criao de usurios

Remoo de cotas de usurio

15-18

Exibio de informaes do dicionrio de dados


sobre os usurios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Privilgios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

16-2

Identificar privilgios de objeto e de sistema


Conceder e revogar privilgios
Obter informaes sobre privilgios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Privilgios
Existem dois tipos de privilgios de usurio Oracle:

16-3

Sistema: Permite que os usurios executem


determinadas aes no banco de dados

Objeto: Permite que os usurios acessem e


manipulem um objeto especfico

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Privilgios de Sistema

16-5

Mais de 100 privilgios de sistema distintos


A palavra-chave ANY includa em privilgios
significa que os usurios tero o privilgio em
qualquer esquema.
O comando GRANT adiciona um privilgio a um
usurio ou grupo de usurios.
O comando REVOKE deleta os privilgios.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Privilgios de Sistema: Exemplos

16-6

Categoria

Exemplos

INDEX

CREATE ANY INDEX


ALTER ANY INDEX
DROP ANY INDEX

TABLE

CREATE TABLE
CREATE ANY TABLE
ALTER ANY TABLE
DROP ANY TABLE
SELECT ANY TABLE
UPDATE ANY TABLE
DELETE ANY TABLE

SESSION

CREATE SESSION
ALTER SESSION
RESTRICTED SESSION

TABLESPACE

CREATE TABLESPACE
ALTER TABLESPACE
DROP TABLESPACE
UNLIMITED TABLESPACE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Concedendo Privilgios de Sistema

Use o comando GRANT para conceder privilgios


de sistema.

O grantee poder conceder o privilgio de sistema


com a opo ADMIN.
GRANT CREATE SESSION TO emi;
GRANT CREATE SESSION TO emi WITH ADMIN OPTION;

16-7

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Privilgios
SYSDBA e SYSOPER
Categoria

Exemplos

SYSOPER

STARTUP
SHUTDOWN
ALTER DATABASE OPEN | MOUNT
ALTER DATABASE BACKUP CONTROLFILE TO
RECOVER DATABASE
ALTER DATABASE ARCHIVELOG
RESTRICTED SESSION

SYSDBA

SYSOPER PRIVILEGES WITH ADMIN OPTION


CREATE DATABASE
ALTER TABLESPACE BEGIN/END BACKUP
RESTRICTED SESSION
RECOVER DATABASE UNTIL

16-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Restries de Privilgios de Sistema


O parmetro O7_DICTIONARY_ACCESSIBILITY:

Controla restries nos privilgios SYSTEM

O default FALSE: garante que os privilgios de


sistema que permitem acesso a qualquer esquema
no aceitem o acesso ao esquema SYS

16-11

Se definido como TRUE, permite acesso a objetos


do esquema SYS

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Revogando Privilgios de Sistema

Use o comando REVOKE para remover um privilgio


de sistema de um usurio.
Os usurios com a ADMIN OPTION includa no
privilgio de sistema podem revogar privilgios
de sistema.
S possvel revogar os privilgios concedidos
com o comando GRANT.
REVOKE CREATE TABLE FROM emi;

16-12

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Revogando Privilgios de Sistema


Utilizando ADMIN OPTION
DBA

Jeff

Emi

DBA

Jeff

Emi

GRANT

REVOKE

16-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Privilgios de Objeto
Priv. objeto

Tabela View Seqncia Procedimento

ALTER

DELETE

EXECUTE
INDEX

INSERT

REFERENCES
SELECT
UPDATE

16-15

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Concedendo Privilgios de Objeto

Use o comando GRANT para conceder privilgios de


objeto.

A opo Grant deve estar no esquema do grantor


ou o grantor deve ter a opo GRANT OPTION.
GRANT EXECUTE ON dbms_output TO jeff;
GRANT UPDATE ON emi.customers TO jeff WITH
GRANT OPTION;

16-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Revogando Privilgios de Objeto

Use o comando REVOKE para revogar privilgios


de objeto.

O usurio que estiver revogando o privilgio deve


ser aquele que concedeu o privilgio de objeto
originalmente.
REVOKE SELECT ON emi.orders FROM jeff;

16-19

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Revogando Privilgios de Objeto


Utilizando GRANT OPTION
Bob

Jeff

Emi

Bob

Jeff

Emi

GRANT

REVOKE

16-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Privilgios


Para obter informaes sobre os privilgios, voc
pode consultar as seguintes views:
DBA_SYS_PRIVS

16-23

SESSION_PRIVS
DBA_TAB_PRIVS
DBA_COL_PRIVS

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

16-24

Identificar privilgios de objeto e de sistema


Conceder e revogar privilgios
Obter informaes sobre privilgios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 16


Este exerccio aborda os seguintes tpicos:

Criao de usurio e concesso de privilgios


de sistema

Concesso de privilgios de objeto a usurios

16-25

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Atribuies

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:
Criar e modificar atribuies
Controlar a disponibilidade das atribuies
Remover atribuies
Usar atribuies predefinidas
Obter informaes sobre atribuies

17-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Atribuies
Usurios
A

Atribuies

HR_MGR

HR_CLERK

SELECT ON
JOBS

INSERT ON
JOBS

Privilgios

CREATE
TABLE

17-3

CREATE
SESSION

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

UPDATE
ON JOBS

Vantagens das Atribuies

17-4

Gerenciamento mais fcil de privilgios


Gerenciamento dinmico de privilgios
Disponibilidade seletiva dos privilgios
Podem ser concedidas pelo sistema operacional

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando Atribuies
Atribuies com a opo ADMIN:
No identificadas:
CREATE ROLE oe_clerk;

Por senha:
CREATE ROLE hr_clerk
IDENTIFIED BY bonus;

Identificadas externamente:
CREATE ROLE hr_manager
IDENTIFIED EXTERNALLY;

17-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Atribuies Predefinidas
Nome da Atribuio

17-7

Descrio

CONNECT
RESOURCE, DBA

Estas atribuies so fornecidas


para retrocompatibilidade

EXP_FULL_DATABASE

Privilgios para exportar o


banco de dados

IMP_FULL_DATABASE

Privilgios para importar o


banco de dados

DELETE_CATALOG_ROLE

Deleta os privilgios nas


tabelas de dicionrio de dados

EXECUTE_CATALOG_ROLE

Executa os privilgios nos


pacotes do dicionrio de dados

SELECT_CATALOG_ROLE

Seleciona os privilgios em
tabelas de dicionrio de dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Modificando Atribuies

ALTER ROLE modifica o mtodo de autenticao.


A modificao de atribuies requer a opo
ADMIN ou o privilgio ALTER ANY ROLE.
ALTER ROLE oe_clerk
IDENTIFIED BY order;
ALTER ROLE hr_clerk
IDENTIFIED EXTERNALLY;
ALTER ROLE hr_manager
NOT IDENTIFIED;

17-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Designando Atribuies
Use o comando GRANT para designar uma atribuio.
GRANT oe_clerk TO scott;
GRANT hr_clerk TO hr_manager;

GRANT hr_manager TO scott WITH ADMIN OPTION;

17-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estabelecendo Atribuies Default

possvel designar vrias atribuies a um usurio.


O usurio pode receber uma atribuio default.
Limite o nmero de atribuies default do usurio.
ALTER USER scott
DEFAULT ROLE hr_clerk, oe_clerk;
ALTER USER scott DEFAULT ROLE ALL;
ALTER USER scott DEFAULT ROLE ALL EXCEPT
hr_clerk;
ALTER USER scott DEFAULT ROLE NONE;

17-13

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Atribuies de Aplicao

As atribuies de aplicao s podem ser ativadas


por pacotes PL/SQL autorizados.
A clusula do pacote USING cria uma atribuio de
aplicao.
CREATE ROLE admin_role
IDENTIFIED USING hr.employee;

17-15

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ativando e Desativando Atribuies

17-16

Desative uma atribuio para revog-la


temporariamente de um usurio.
Ative uma atribuio para conced-la
temporariamente.
O comando SET ROLE ativa e desativa atribuies.
As atribuies default so ativadas quando o
usurio efetua login.
Talvez seja necessria uma senha para ativar uma
atribuio.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ativando e Desativando Atribuies

SET ROLE hr_clerk;


SET ROLE oe_clerk IDENTIFIED BY order;
SET ROLE ALL EXCEPT oe_clerk;

17-18

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Revogando Atribuies de Usurios

Para revogar atribuies dos usurios, necessrio


ADMIN OPTION ou o privilgio GRANT ANY ROLE.

Para revogar uma atribuio:


REVOKE oe_clerk FROM scott;
REVOKE hr_manager FROM PUBLIC;

17-19

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Removendo Atribuies

Eliminando uma atribuio:

Remove a atribuio de todos os usurios


e atribuies aos quais ela foi concedida
Remove a atribuio do banco de dados

Requer ADMIN OPTION ou o privilgio DROP


ANY ROLE

Para eliminar uma atribuio:


DROP ROLE hr_manager;

17-21

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes para a Criao de Atribuies


Usurios

Atribuies
de usurio
Atribuies
de aplicao

HR_CLERK

HR_MANAGER

PAY_CLERK

BENEFITS

PAYROLL

Privilgios
de Benefits

Privilgios
de Payroll

Privilgios
de aplicao

17-23

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes para a Utilizao de Senhas


e Atribuies Default

Protegida por senha


(no o default)

17-24

Atribuio
default

PAY_CLERK

PAY_CLERK_RO

Privilgios INSERT,
UPDATE, DELETE
e SELECT

Privilgios Select

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Atribuies


Para obter informaes sobre atribuies, voc pode consultar
as seguintes views:
DBA_ROLES: Todas as atribuies existentes no banco
de dados
DBA_ROLE_PRIVS: As atribuies concedidas aos usurios
e s atribuies
ROLE_ROL_PRIVS: As atribuies concedidas a outras
atribuies
DBA_SYS_PRIVS: Os privilgios de sistema concedidos
a usurios e atribuies
ROLE_SYS_PRIVS: Os privilgios de sistema concedidos
s atribuies
ROLE_TAB_PRIVS: Os privilgios de objeto concedidos
s atribuies
SESSION_ROLES: As atribuies ativadas no momento
pelo usurio
17-25

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:
Criar atribuies
Designar privilgios a atribuies
Designar atribuies a usurios ou atribuies
Estabelecer atribuies default
Obter informaes sobre atribuies

17-26

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 17


Este exerccio aborda os seguintes tpicos:
Listagem de privilgios de sistema para uma
atribuio
Criao, designao e eliminao de atribuies
Criao de atribuies de aplicao

17-27

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Auditoria

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

18-2

Definir categorias de auditoria


Ativar a auditoria para uma instncia
Definir opes de auditoria
Obter informaes de auditoria

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Auditoria

Auditoria o monitoramento de aes selecionadas


efetuadas no banco de dados pelo usurio.
A auditoria usada para:

18-3

Investigar atividades suspeitas no banco de dados


Coletar informaes sobre atividades especficas do
banco de dados

possvel executar a auditoria por sesso ou por


acesso

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes de Auditoria

Defina o que voc deseja auditar:

Execues de instrues
Execues de instrues bem-sucedidas, execues
de instrues malsucedidas ou ambas

Gerencie a trilha de auditoria:

18-4

Usurios, instrues ou objetos

Monitore o crescimento da trilha de auditoria


Proteja a trilha de auditoria do acesso no autorizado

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Categorias de Auditoria

Auditoria por default:

Ativada pelo DBA


No registra valores de colunas

Auditoria de aplicao ou baseada em valor:

18-6

Privilgios de administrador

Auditoria de banco de dados:

Inicializao e desativao da instncia

Implementada por cdigo


Registra valores de colunas
Usada para controlar alteraes feitas nas tabelas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Auditoria de Banco de Dados


Ativar auditoria de
banco de dados
Arquivo de
parmetros

DBA
Revisar
informaes
de auditoria

Usurio
Processo do
servidor

Especificar
opes de auditoria

Opes de
auditoria
Banco
de dados

18-8

Executar comando

Trilha de
auditoria

Gerar trilha
de auditoria

Trilha de
auditoria
do SO

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Opes de Auditoria

Auditoria de instruo:
AUDIT TABLE;

Auditoria de privilgio:
AUDIT create any trigger;

Auditoria de objeto de esquema:


AUDIT SELECT ON emi.orders;

18-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Opes de Auditoria
Auditoria detalhada:

18-11

Permite o monitoramento do acesso aos dados


de acordo com o contedo
Implementada com o pacote DBMS_FGA

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Auditando o Usurio SYS

Auditoria do usurio SYS:

Sem auditoria do usurio SYS:

18-12

Nvel extra de segurana


Defina AUDIT_SYS_OPERATIONS como True
Defina AUDIT_SYS_OPERATIONS como False
Este o valor default.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes de Auditoria


Para obter informaes sobre auditoria, voc pode
consultar as seguintes views:
ALL_DEF_AUDIT_OPTS

18-13

DBA_STMT_AUDIT_OPTS
DBA_PRIV_AUDIT_OPTS
DBA_OBJ_AUDIT_OPTS

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre


Registros de Auditoria
Para obter informaes sobre registros de auditoria,
voc pode consultar as seguintes views:
DBA_AUDIT_TRAIL

18-14

DBA_AUDIT_EXISTS
DBA_AUDIT_OBJECT
DBA_AUDIT_SESSION
DBA_AUDIT_STATEMENT

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

18-15

Definir as necessidades de auditoria


Ativar e desativar a auditoria
Identificar e usar as vrias opes de auditoria
Obter informaes de auditoria

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 18


No h exerccios para esta lio.

18-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Carregando Dados em um
Banco de Dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

Demonstrar a utilizao de operaes de carga


direta

Descrever a utilizao do SQL*Loader

19-2

Executar operaes bsicas do SQL*Loader


Listar as diretrizes para a utilizao do
SQL*Loader e do recurso de carga direta

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Mtodos de Carga de Dados


Outras aplicaes
Banco de dados
Oracle
Exportao
SQL*Loader

Importao
Banco de dados
Oracle

19-3

Carga Direta

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Carga Direta
A insero de carga direta pode ser feita das
seguintes maneiras:

Normalmente (em srie) ou em paralelo

Com ou sem o registro de dados de redo

19-4

Nas tabelas particionadas e no particionadas


ou em parties nicas de uma tabela

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Carga Direta Serial


INSERT /*+ APPEND */ INTO emp
NOLOGGING
SELECT * FROM t_employees;
COMMIT;
Processo do
servidor
Tabela EMPLOYEES

Bloco usado
Espao livre aps a
deleo
19-6

Marca d'gua superior


Blocos usados pelas linhas
inseridas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Carga Direta Paralela


ALTER SESSION ENABLE PARALLEL DML;
INSERT /*+PARALLEL(hr.employees,2) */
INTO hr.employees NOLOGGING
SELECT * FROM hr.old_employees;

Tabela EMPLOYEES

Bloco usado
Espao livre aps
a deleo
19-7

Processo
escravo

Processo
escravo

Marca d'gua superior


Segmentos temporrios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

SQL*Loader
Arquivo de controle
do carregador
Arquivos de dados
de entrada

Arquivo de
parmetros
(opcional)
Descartado

SQL*Loader
Processamento de campo
Aceito
Seleo de registro

Rejeitado

Arquivo
Selecionado de erros

Servidor Oracle
Arquivo de
descarte
(opcional)

19-9

Inserido
Arquivo
de log

Rejeitado

Arquivos de dados
do banco de dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando o SQL*Loader
$sqlldr hr/hr \
> control=case1.ctl \
> log=case1.log direct=Y
case1.ctl

SQL*Loader

Tabela EMPLOYEES
case1.log

19-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivo de Controle do SQL*Loader


O arquivo de controle do carregador fornece as
seguintes informaes ao SQL*Loader:

Onde encontrar os dados de carga


O formato dos dados
Detalhes de configurao:

19-13

Gerenciamento da memria
Rejeio de registros
Detalhes do tratamento de carga interrompida

Como manipular os dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Consideraes sobre a Sintaxe


do Arquivo de Controle

O formato da sintaxe livre.

Os comentrios se estendem dos dois hifens (--),


que marcam o incio do comentrio, at o fim
da linha.
A palavra-chave CONSTANT reservada.

19-17

A sintaxe no faz distino entre letras maisculas


e minsculas.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Dado 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 so organizados como registros.

Um arquivo de dados pode ter um destes trs


formatos:

19-18

Formato de registro fixo


Formato de registro varivel
Formato de registro de fluxo

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Registros Lgicos
O SQL*Loader pode ser instrudo a seguir uma destas
duas estratgias de formao de registro lgico:

Combinar um nmero fixo de registros fsicos para


formar cada registro lgico

Combinar registros fsicos com registros lgicos


enquanto determinada condio for verdadeira

19-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Mtodos de Carga
Insero
de array

Instncia
SGA Shared pool

Convencional

Tabela

Salvamento
de dados

Caminho
direto

Marca d'gua superior


Espao usado apenas para carga convencional

19-24

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Comparando as Cargas de
Caminho Direto e Convencional
Carga Convencional

Carga de Caminho Direto

Usa COMMITs para tornar


as alteraes permanentes

Usa salvamento de dados

Sempre so geradas
entradas de redo

Gera redo apenas


em condies especficas

Impe todas as restries

Impe apenas chaves primria,


exclusiva e NOT NULL

Triggers INSERT so acionados

Triggers INSERT no so acionados

Pode fazer cargas em


tabelas clusterizadas

No faz cargas em tabelas


clusterizadas

Outros usurios podem fazer


alteraes em tabelas

Outros usurios no podem


fazer alteraes em tabelas

19-27

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Carga de Caminho Direto Paralela


Segmentos temporrios
load1.dat SQL*Loader
load1.ctl
load2.dat
load2.ctl
load3.dat
load3.ctl

SQL*Loader

SQL*Loader

Tabela

Marca d'gua superior

19-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Converso de Dados
Durante uma carga de caminho convencional, os
campos do arquivo de dados so convertidos em
colunas do banco de dados em duas etapas:

As especificaes de campo contidas no arquivo de


controle so usadas para interpretar o formato do
arquivo de dados e convert-lo em uma instruo
SQL INSERT com esses dados.

O servidor do banco de dados Oracle aceita os


dados e executa a instruo INSERT para
armazen-los no banco de dados.

19-31

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Registros Descartados ou Rejeitados

Arquivo de erros:

O SQL*Loader rejeita registros quando o formato de


entrada invlido.

Se o banco de dados Oracle determinar que a linha


invlida, o registro ser rejeitado e o SQL*Loader o
colocar no arquivo de erros.

Arquivo de descarte:

19-32

S pode ser usado se estiver ativado.


Esse arquivo contm registros que foram retirados
por no corresponderem aos critrios de seleo
de registro especificados no arquivo de controle.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Contedo do Arquivo de Log

19-36

Informaes de cabealho
Informaes globais
Informaes de tabela
Informaes de arquivo de dados
Informaes de carga de tabela
Estatsticas de resumo
Estatsticas adicionais para cargas de caminho
direto e informaes de multithread

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes do SQL*Loader

Use um arquivo de parmetros para especificar


as opes de linha de comandos mais usadas.

S inclua os dados no arquivo de controle para


cargas pequenas e ocasionais.

Adote o seguinte procedimento para melhorar o


desempenho:

19-38

Aloque espao suficiente


Classifique os dados no maior ndice
Especifique diferentes arquivos para segmentos
temporrios em cargas paralelas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

19-39

Descrever a utilizao do SQL*Loader


Executar operaes bsicas do SQL*Loader
Utilizar operaes de carga direta
Listar as diretrizes para a utilizao do SQL*Loader
e de operaes de carga direta

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 19


Este exerccio aborda os seguintes tpicos:

Utilizao do SQL*Loader para restaurar dados:

19-40

Utilizao de um arquivo de controle


Utilizao de um arquivo de dados

Utilizao do mtodo de carga direta para carregar


dados

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando o Suporte Globalizao

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

Escolher os conjuntos de caracteres e os conjuntos


de caracteres nacionais de um banco de dados

Especificar o comportamento dependente do idioma


usando parmetros de inicializao, variveis de
ambiente e o comando ALTER SESSION

Usar os diferentes tipos de parmetros NLS (National


Language Support, Suporte de Idioma Nacional)

Explicar a influncia no comportamento de


aplicaes que dependem de idioma

Obter informaes sobre a utilizao do Suporte


Globalizao

20-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Caractersticas do Suporte Globalizao

20-3

Suporte a idiomas
Suporte a territrios
Suporte a conjuntos de caracteres
Classificao lingstica
Suporte a mensagens
Formatos de data e horrio
Formatos numricos
Formatos monetrios

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Esquemas de Codificao
O Oracle suporta diversas classes de esquemas de
codificao de caracteres:

Conjuntos de caracteres single-byte

7 bits
8 bits

Conjuntos de caracteres multi-byte de largura


varivel

Conjuntos de caracteres multi-byte de largura fixa


Unicode (AL32UTF8, AL16UTF16, UTF8)

20-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Conjuntos de Caracteres de Banco de Dados


e Conjuntos de Caracteres Nacionais
Conjuntos de Caracteres de
Banco de Dados

Conjuntos de Caracteres Nacionais

Definidos durante a criao

Definidos durante a criao

No podem ser alterados sem


recriao

No podem ser alterados sem


recriao, salvo algumas excees

Armazenam colunas de dados dos


tipos CHAR, VARCHAR2, CLOB, LONG

Armazenam colunas de dados dos


tipos NCHAR, NVARCHAR2 e NCLOB

Podem armazenar conjuntos de


caracteres de largura varivel

Podem armazenar o padro


Unicode usando AL16UTF16
ou UTF8

20-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes para Escolher um Conjunto de


Caracteres de Banco de Dados Oracle
Consideraes:

Qual idioma o banco de dados deve suportar?

Quais so as implicaes de desempenho?

20-9

Quais so os problemas de interoperabilidade com


aplicaes e recursos do sistema?
Quais so as restries?

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes para Escolher um


Conjunto de Caracteres Nacionais Oracle

Duas opes:

20-11

AL16UTF16
UTF8

Existe problema de espao?


Existe problema de desempenho?

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Escolhendo uma Soluo Unicode:


Banco de Dados Unicode
Quando usar um banco de dados Unicode?

20-12

Fcil migrao de cdigo para Java ou PL/SQL


Fcil migrao de dados baseados em ASCII
Dados multilnges distribudos homogeneamente
Pesquisa do InterMedia Text

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Escolhendo uma Soluo Unicode:


Tipo de Dados Unicode
Quando usar um tipo de dados Unicode?

Ao adicionar suporte multilnge em incrementos

Melhor suporte para UTF-16 com clientes Windows

20-13

Pacotes de aplicaes
Desempenho: Conjunto de caracteres de banco de
dados single-byte com um conjunto de caracteres
nacionais de largura fixa

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Especificando o Comportamento
Dependente do Idioma

Parmetro de inicializao
Varivel de ambiente
Comando
ALTER SESSION

20-15

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Especificando o Comportamento
Dependente do Idioma para o Servidor

NLS_LANGUAGE especifica:

Os nomes dos dias e dos meses


Os smbolos para A.D., B.C., a.m., p.m.
O mecanismo de classificao default

NLS_TERRITORY especifica:

20-16

O idioma das mensagens

A numerao do dia e da semana


O formato de data default,o caractere decimal,
o separador de grupos e os smbolos de moeda
default ISO e locais

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Valores Default Dependentes


de Idioma e Territrio
Parmetro

20-18

Valores

NLS_LANGUAGE
NLS_DATE_LANGUAGE
NLS_SORT

AMERICAN
AMERICAN
BINARY

NLS_TERRITORY
NLS_CURRENCY
NLS_ISO_CURRENCY
NLS_DATE_FORMAT
NLS_NUMERIC_CHARACTERS

AMERICA
$
AMERICA
DD-MON-RR
,.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Especificando o Comportamento
Dependente do Idioma para a Sesso

Varivel de ambiente:
NLS_LANG=French_France.UTF8

Variveis de ambiente adicionais:

20-20

NLS_DATE_FORMAT
NLS_DATE_LANGUAGE
NLS_SORT
NLS_NUMERIC_CHARACTERS
NLS_CURRENCY
NLS_ISO_CURRENCY
NLS_CALENDAR

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Especificando o Comportamento
Dependente do Idioma para a Sesso

NLS_LANG=
<language>_<territory>.<charset>
NLS_NCHAR=<ncharset>

CREATE DATABASE ...


CHARACTER SET <charset>
NATIONAL CHARACTER SET
<ncharset>
...

20-21

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Especificando o Comportamento
Dependente do Idioma para a Sesso

ALTER SESSION SET


NLS_DATE_FORMAT='DD.MM.YYYY';
DBMS_SESSION.SET_NLS('NLS_DATE_FORMAT',
'''DD.MM.YYYY''') ;

20-23

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Classificao Lingstica
Trs tipos de classificao:

Classificao binria: Classificao feita de acordo


com os valores binrios dos caracteres codificados

Classificao monolnge:

Baseada em valores principais e secundrios


designados aos caracteres

A classificao multilnge baseada no:

20-24

Classificaes em duas passagens

Novo ISO 14651


Unicode 3.0 para a comparao entre os idiomas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Classificao NLS

NLS_SORT especifica o tipo de classificao de


dados de caractere:

20-25

definida pela varivel de ambiente NLS_LANG


Pode ser sobreposta no nvel da sesso

Funo NLSSORT:

Especifica o tipo de classificao de dados de


caractere

Permite a definio de classificaes no nvel


da consulta

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando Parmetros NLS


em Funes SQL
SELECT TO_CHAR(hire_date,'DD.Mon.YYYY',
'NLS_DATE_LANGUAGE=FRENCH')
FROM employees;

SELECT ename, TO_CHAR(sal,'9G999D99',


'NLS_NUMERIC_CHARACTERS='',.''')
FROM emp;

20-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Suporte a ndices Lingsticos

Indexao lingstica
Alto desempenho com classificao local:
CREATE INDEX list_word ON
list (NLSSORT(word, 'NLS_SORT =
French_M'));

20-33

Parmetro NLS_COMP para comparaes


lingsticas

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Importao e Carga de Dados com o NLS

Os dados so convertidos do conjunto de caracteres


do arquivo de exportao para o do banco de dados
durante o processo de importao.

SQL*Loader:

20-34

Caminho Convencional: Os dados so convertidos para


o conjunto de caracteres da sesso especificado por
NLS_LANG.

Caminho Direto: Os dados so convertidos diretamente


para o conjunto de caracteres do banco de dados.

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usando Parmetros NLS


em Funes SQL

Varredura do conjunto de caracteres:

Varre o banco de dados para determinar se o conjunto


de caracteres pode ser alterado

So fornecidos relatrios detalhados sobre possveis


problemas e correes

Oracle Locale Builder:

20-35

Interface grfica de fcil utilizao


Para exibir, modificar e criar definies de locales

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre


Conjuntos de Caracteres
NLS_DATABASE_PARAMETERS:

20-36

PARAMETER
(NLS_CHARACTERSET,
NLS_NCHAR_CHARACTERSET)
VALUE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Definies NLS

NLS_INSTANCE_PARAMETERS:

NLS_SESSION_PARAMETERS:

20-37

PARAMETER (parmetros de inicializao definidos


explicitamente)
VALUE
PARAMETER (parmetros de sesso)
VALUE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Definies NLS

V$NLS_VALID_VALUES:

VALUE

V$NLS_PARAMETERS:

20-39

PARAMETER
(LANGUAGE, SORT, TERRITORY, CHARACTERSET)

PARAMETER (parmetros de sesso NLS,


NLS_CHARACTERSET)
VALUE

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Escolher um conjunto de caracteres de banco de


dados e um conjunto de caracteres nacionais para
o banco de dados

Usar os vrios tipos de parmetros NLS para o


servidor ou para a sesso

20-41

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 20


Este exerccio aborda os seguintes tpicos:

Verificao dos conjuntos de caracteres nacionais


e de banco de dados

Identificao de valores NLS vlidos

20-42

Definio de parmetros NLS

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Manualmente Dados


de Undo (Segmentos de Rollback)

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetivos
Aps concluir esta lio, voc ser capaz de:

B-2

Criar segmentos de rollback usando as definies


adequadas de armazenamento

Manter segmentos de rollback

Diagnosticar e solucionar problemas comuns dos


segmentos de rollback

Planejar o nmero e o tamanho dos segmentos


de rollback

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando Segmentos de Rollback

CREATE ROLLBACK SEGMENT rbs01


TABLESPACE rbs
STORAGE (
INITIAL
NEXT

100K

MINEXTENTS

20

MAXEXTENTS

100

OPTIMAL

B-3

100K

2000K );

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Transaes e Segmentos de Rollback

Transao 1

Transao 2

Extenso ativa

B-5

3
Extenso inativa

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Crescimento de Segmentos de Rollback

1
4

2
3

1
5

3
4

Extenso ativa

Nova extenso

Extenso inativa

B-7

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Compactao dos Segmentos de Rollback

5
4

Extenso ativa
OPTIMAL

B-8

Extenso inativa

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Colocando Segmentos de Rollback On-line

Use o seguinte comando para tornar um segmento


de rollback disponvel:
ALTER ROLLBACK SEGMENT rbs01 ONLINE;

Especifique o seguinte parmetro de inicializao


para garantir que os segmentos de rollback sejam
colocados on-line no momento da inicializao:
ROLLBACK_SEGMENTS=(rbs01, rbs02)

B-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Como as Instncias Adquirem


Segmentos de Rollback
Adquira
segmentos de
rollback
privados
nomeados.

Calcule
o nmero
necessrio
de segmentos
de rollback.

H
segmentos
de rollback
suficientes?

Sim

Coloque todos os
segmentos de rollback
adquiridos on-line.

B-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

No

Adquira
segmentos
de rollback
pblicos.

Alterando Definies de Armazenamento


de Segmentos de Rollback

Use o comando ALTER ROLLBACK SEGMENT.


Voc pode alterar OPTIMAL ou MAXEXTENTS.
ALTER ROLLBACK SEGMENT rbs01
STORAGE( MAXEXTENTS 200 );

B-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Desalocando Espao dos


Segmentos de Rollback

Use o comando ALTER ROLLBACK SEGMENT.


Se houver extenses ativas, elas no podero ser
compactadas para o tamanho desejado.
ALTER ROLLBACK SEGMENT rbs01
SHRINK TO 4M;

B-12

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Colocando um Segmento de
Rollback Off-line

Coloque um segmento de rollback off-line para


torn-lo indisponvel.

Se houver transaes usando o segmento de


rollback, o status ser alterado temporariamente
para PENDING OFFLINE.
ALTER ROLLBACK SEGMENT rbs01
OFFLINE;

B-13

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando Segmentos de Rollback

Um segmento de rollback deve ser colocado off-line


antes de ser eliminado.

Para eliminar um segmento de rollback:


DROP ROLLBACK SEGMENT rbs01;

B-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Planejando Segmentos
de Rollback: Nmero

OLTP

Quatro transaes por segmento de rollback


At dez transaes por segmento de rollback

Batch

B-15

Muitos segmentos de rollback pequenos

Poucos segmentos de rollback grandes


Um por transao

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Planejando Segmentos de Rollback:


Nmero de Extenses
0,50
0,40
Probabilidade
de expanso

0,30
0,20
0,10
0,00
0

10

20

30

40

Nmero de extenses

B-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Problemas dos Segmentos de Rollback

B-17

Espao insuficiente para transaes


Erros de consistncia de leitura
Bloqueio de sesses
Erros ao colocar um tablespace off-line

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Espao Insuficiente para Transaes

Falta de espao no tablespace:

Ative a expanso automtica dos arquivos de dados


Adicione arquivos de dados

O segmento alcanou o valor definido em


MAXEXTENTS

B-18

Estenda os arquivos de dados

Aumente o valor de MAXEXTENTS


Recrie segmentos com extenses maiores

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Erros de Consistncia de Leitura


Tabela

SELECT *
FROM Tabela

Bloco
reutilizado

Nova imagem
Imagem no incio da instruo

B-20

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Sesses Bloqueadoras
Sesso
bloqueadora

Extenso
3

3
4

Extenso existente
Nova extenso

B-21

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Erros ao Colocar um Tablespace Off-line


Voc no poder colocar um tablespace off-line se ele
contiver um segmento de rollback ativo.
1. Determine quais segmentos de rollback esto no
tablespace.
2. Coloque off-line todos esses segmentos de
rollback.
3. Verifique se h transaes ativas usando esses
segmentos de rollback.
4. Descubra o ID da sesso e o nmero de srie.
5. Encerre a sesso, se necessrio.
6. Coloque o tablespace off-line.

B-23

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Você também pode gostar