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 Marie St. Gelais Revisores e Tcnicos Louise Beijer Dairy Chan Trevor Davies Donna Hamby Lutz Hartmann Kuljit Jassar Patricia Mesa Sabiha Miri Howard Ostrow Caroline Pereda Andreas Reinhardt Ajai Sahni Jaco Verheul Editor Shane Mattimoe

Copyright Oracle Corporation, 2002. Todos os direitos reservados. 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: Aviso de Direitos Restritos 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). 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 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 Gerenciar usurios, privilgios e recursos 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 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 Ajustar o banco de dados

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:

Descrever a arquitetura Oracle e seus componentes principais Listar as estruturas envolvidas na conexo de um usurio com uma instncia Oracle

1-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral dos Componentes Principais


Processo do usurio Shared Pool Cache de Biblioteca Processo do servidor PGA Cache de Dicionrio de Dados

Instncia SGA
Cache de Buffer de Banco de Dados Java Pool Buffer de Redo Log Large Pool

PMON SMON DBWR LGWR

CKPT

Outros

Arquivo de parmetros Arquivo de senha

Arquivos de dados

Arquivos de controle

Arquivos de redo log

Arquivos de log arquivados

Banco de dados

1-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Servidor Oracle
Um servidor Oracle:

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

1-5

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
Instncia SGA
Cache de Buffer de Banco de Dados Java Pool Buffer de Redo Log Large Pool

Shared Pool Cache de Biblioteca Cache de Dicionrio de Dados

Estruturas de memria

PMON SMON DBWR LGWR

CKPT

Outros

Estruturas de processos de segundo plano

1-6

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 Arquivo de senha Arquivos de dados Arquivos de Arquivos de controle redo log Arquivos de log arquivados

1-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

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 dados (incluem o Dicionrio de Dados) Arquivos de controle

Arquivos de Redo Log On-line

1-10

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:

Shared Pool 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:

Large Pool Java Pool

1-12

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

Alocao de memria virtual contgua O tamanho do grnulo baseia-se no valor total estimado de SGA_MAX_SIZE

1-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Shared Pool
Usado para armazenar:

As instrues SQL executadas mais recentemente As definies de dados mais usadas recentemente

Ele consiste em duas estruturas principais de memria relacionadas ao desempenho:


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; Cache do Dicionrio de Dados

1-15

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:

rea SQL compartilhada rea PL/SQL compartilhada

Tamanho determinado pelo dimensionamento do Shared Pool

1-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Cache de Dicionrio de Dados


1-18

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
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


1-20

Pode ser redimensionado dinamicamente


ALTER SYSTEM SET DB_CACHE_SIZE = 96M;

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 alteraes registradas so denominadas entradas de redo As entradas de redo contm informaes para recriar ou refazer as alteraes Tamanho definido por LOG_BUFFER
Buffer de Redo Log

1-22

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Large Pool
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


1-23

No usa uma lista LRU Dimensionado por LARGE_POOL_SIZE Pode ser redimensionado dinamicamente
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Java Pool
Atende aos requisitos de parse de comandos Java Necessrio para instalar e usar Java Dimensionado pelo parmetro JAVA_POOL_SIZE

1-25

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Program Global Area


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

1-26

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 servidor Conexo estabelecida Usurio do banco de dados
1-30 Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Processo do usurio

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:

Processos de segundo plano obrigatrios: DBWn LGWR PMON SMON LMDn LMON LMS Pnnn
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

CKPT

Processos de segundo plano opcionais: ARCn CJQ0 Dnnn LCKn QMNn RECO Snnn

1-32

DBWn (Database Writer)


Instncia SGA Cache de Buffer de Banco de Dados

O DBWn grava quando:

Ocorre um checkpoint Os buffers sujos atingem o limite No h buffers livres Ocorre um timeout feita uma solicitao de ping RAC Tablespace OFFLINE Tablespace READ ONLY ELIMINAO ou TRUNCAMENTO de tabela Tablespace BEGIN BACKUP

DBWn

Arquivos de dados

Arquivos Arquivos de de controle redo log

Banco de dados
1-33

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

LGWR (Log Writer)


Instncia SGA Buffer de Redo Log

O LGWR grava:

No commit Quando um-tero est cheio Quando h 1 MB de redo A cada trs segundos Antes que o DBWn grave

DBWn LGWR

Arquivos de dados

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 para o acesso dos usurios

Abre o banco de dados


SMON

Efetua rollback de
Arquivos de dados Arquivos Arquivos de de controle redo log

transaes no submetidas a commit

Banco de dados

Aglutina o espao livre Desaloca segmentos


temporrios

1-36

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

PMON (Process Monitor)


Instncia SGA

Realiza uma limpeza aps falhas de processos por meio de:

PMON


rea PGA

Rollback da transao Liberao de bloqueios Liberao de outros recursos Reinicializao de dispatchers inativos

1-38

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

CKPT (Checkpoint)
Instncia SGA

Responsvel por:

DBWn LGWR CKPT

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

Arquivos de dados

Arquivos Arquivos de de controle redo log

Banco de dados
1-39 Copyright Oracle Corporation, 2002. Todos os direitos reservados.

ARCn (Archiver)
Processo de segundo plano opcional Arquiva automaticamente os redo logs on-line quando o modo ARCHIVELOG definido Preserva o registro de todas as alteraes feitas no banco de dados
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 Segmento

Extenso

Blocos

1-43

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Processando Instrues SQL


Conecte-se a uma instncia usando um:

Processo do usurio Processo do servidor

Os componentes do servidor Oracle usados dependem do tipo de instruo SQL:


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.

1-46

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:


1-48

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
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 1


Este exerccio aborda os seguintes tpicos:

Reviso dos componentes da arquitetura Identificao de estruturas envolvidas na conexo de um usurio a uma instncia Oracle

1-49

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:

Identificar as ferramentas comuns de administrao de banco de dados de um DBA Identificar os recursos do Oracle Universal Installer Usar o SQL*Plus para interagir com um banco de dados Oracle e manipul-lo Listar os principais componentes do Oracle Enterprise Manager

2-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ferramentas de Administrao de Banco de Dados


Ferramenta OUI (Oracle Universal Installer) Oracle Database Configuration Assistant SQL*Plus Oracle Enterprise Manager Descrio Usada para instalar, atualizar ou remover componentes do software 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 Um utilitrio para acessar dados em um banco de dados Oracle 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


Usado para instalar, atualizar ou remover componentes de software e criar bancos de dados Baseado em um mecanismo Java Os recursos incluem


2-4

Resoluo automtica de dependncia Possibilidade de instalaes baseadas na Web Inventrio de rastreamento de instalaes de componentes e conjuntos de produtos Desinstalao de componentes instalados 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:

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

2-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usurios Administradores de Bancos de Dados


Os usurios SYS e SYSTEM so criados automaticamente

Durante a criao do banco de dados Recebem a atribuio DBA Proprietrio do dicionrio de dados do banco de dados Senha default: change_on_install Proprietrio de tabelas e views internas adicionais usadas por ferramentas Oracle Senha default: manager

Usurio SYS


2-10

Usurio SYSTEM

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 Console

Agente Servidor Oracle

Repositrio

Agente Servidor Oracle

Oracle Management Server

Servidor Oracle

2-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

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 Usar o SQL*Plus para interagir com um banco de dados Oracle e manipul-lo Listar os principais componentes do Oracle Enterprise Manager

2-18

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 2


Este exerccio aborda os seguintes tpicos:

Conexo com o SQL*Plus Conexo com a Console do OEM

2-19

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 Java Pool


DBW0 LGWR

Buffer de Redo Log Large Pool


CKPT Outros

spfiledb01.ora

CONNECT / AS SYSDBA STARTUP

3-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de Parmetros de Inicializao


As entradas so especficas da instncia que est sendo iniciada Dois tipos de parmetros:

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

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

Arquivo de parmetros estticos, PFILE Arquivo de parmetros persistentes do servidor, SPFILE


Copyright Oracle Corporation, 2002. Todos os direitos reservados.

PFILE initSID.ora
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

3-6

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 instance_name = dba01 = dba01

control_files = ( /home/dba01/ORADATA/u01/control01dba01.ctl, /home/dba01/ORADATA/u02/control01dba02.ctl) db_block_size db_cache_size shared_pool_size java_pool_size max_dump_file_size user_dump_dest core_dump_dest undo_management undo_tablespace . . .
3-8 Copyright Oracle Corporation, 2002. Todos os direitos reservados.

= 4096 = 4M = 50000000 = 50000000 = 10240 = /home/dba01/ADMIN/UDUMP = /home/dba01/ADMIN/CDUMP = AUTO = UNDOTBS

background_dump_dest = /home/dba01/ADMIN/BDUMP

SPFILE spfileSID.ora
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

3-9

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

SPFILE-NAME: SPFILE a ser criado PFILE-NAME: PFILE que cria o SPFILE

Pode ser executado antes ou aps a inicializao da instncia

3-10

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 Arquivo de controle aberto para esta instncia

NOMOUNT 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 Aguarda o fim das sesses atuais Aguarda o fim das transaes atuais Impe um checkpoint e fecha os arquivos A No No No No I No No No Sim T No No Sim Sim N 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
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.

Durante

Opes de SHUTDOWN
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

Durante

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 Usados para melhorar o gerenciamento dirio do banco de dados Arquivo alertSID.log Arquivos de rastreamento de segundo plano Arquivos de rastreamento do usurio

Existem vrios tipos:

3-37

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivo de Log de Alerta


Arquivo alertSID.log:

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

3-38

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de Rastreamento de Segundo Plano


Arquivos de rastreamento de segundo plano

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

3-40

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Arquivos de Rastreamento do Usurio


Arquivos de rastreamento do usurio

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

3-41

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 Definindo o parmetro de inicializao: SQL_TRACE = TRUE

Nvel da instncia:

3-42

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:

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

4-2

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.

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.

4-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

OFA (Optimal Flexible Architecture)


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.

4-4

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Software Oracle e Localizao de Arquivos


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

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

4-5

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 Administrao local de banco de dados

Voc tem uma conexo segura?

Sim

Voc deseja usar a autenticao do sistema operacional?

Sim

Use a autenticao do sistema operacional

No

No

Use um Arquivo de senha

4-7

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

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

Comando CREATE DATABASE

4-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Ambiente do Sistema Operacional


Defina as seguintes variveis de ambiente: ORACLE_BASE

ORACLE_HOME ORACLE_SID ORA_NLS33 PATH LD_LIBRARY_PATH

4-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Database Configuration Assistant


Com o Database Configuration Assistant, voc pode:

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

4-12

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


4-17

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 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 Crie tablespaces adicionais se for necessrio
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:

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

4-20

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:

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

4-28

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Aps a Criao de um Banco de Dados


O banco de dados contm:

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)

4-29

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 Criar um banco de dados usando o recurso Oracle Managed Files

4-30

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.

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.

4-31

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 Identificar o contedo e os usos do dicionrio 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
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Objetos Internos do Banco de Dados


Outros objetos criados com o banco de dados:

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

5-3

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

Armazenam descries do banco de dados Criadas com CREATE DATABASE Usadas para simplificar as informaes das tabelasbase Acessadas por sinnimos pblicos Criadas com o script catalog.sql

Views de dicionrio de dados

5-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando Views de Dicionrio de Dados

Script catalog.sql

Objetivo Cria as views de dicionrio de dados mais usadas e seus sinnimos Executa scripts necessrios para PL/SQL no lado servidor

catproc.sql

5-6

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Contedo do Dicionrio de Dados


O dicionrio de dados contm informaes sobre:

Estruturas lgicas e fsicas do banco de dados Definies e alocaes de espao de objetos Restries de integridade Usurios Atribuies Privilgios Auditoria

5-7

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

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.

5-8

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 Objetos pertencentes ao usurio atual

USER_xxx

5-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Exemplos de Dicionrio de Dados


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

5-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tabelas Dinmicas de Desempenho


5-12

Tabelas virtuais Registram a atividade desempenhada pelo banco de dados no momento 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 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


Conveno cat*.sql dbms*.sql prvt*.plb utl*.sql Descrio Informaes de catlogo e dicionrio de dados Especificaes de pacotes do banco de dados Cdigo de pacotes wrapper do banco de dados Views e tabelas para utilitrios do banco de dados

5-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Identificar objetos internos do banco de dados Identificar o contedo e os usos do dicionrio 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

5-18

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:

Explicar os usos do 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) Obter informaes sobre o arquivo de controle

6-2

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:

No estado MOUNT durante a inicializao do banco de dados Para operar o banco de dados

Banco de dados Arquivos de controle


6-3

Vinculado a um nico banco de dados A perda pode exigir recuperao 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 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 nmero de seqncia do arquivo de redo log on-line atual As informaes sobre checkpoints 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

Disco 1 (u01)

Disco 2 (u02)

ctrl01.ctl

ctrl02.ctl

6-7

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 Multiplexar o arquivo de controle usando um init.ora Gerenciar arquivos de controle usando OMF

6-14

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 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 Obter informaes sobre arquivos de redo log on-line

7-2

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

Membro

Membro

Membro

Membro

Membro

Membro

Disco 2

7-4

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

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.

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

7-6

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 log1b.rdo Grupo 1

log2a.rdo log2b.rdo Grupo 2

log3a.rdo log3b.rdo Grupo 3

7-9

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 log1b.rdo log1c.rdo Grupo 2


7-10

log2a.rdo log2b.rdo log2c.rdo Grupo 3

log3a.rdo log3b.rdo log3c.rdo 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;

log1a.rdo Grupo 1

log2a.rdo Grupo 2

log3a.rdo Grupo 3

7-12

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Eliminando Membros de Arquivos de Redo Log On-line

ALTER DATABASE DROP LOGFILE MEMBER '$HOME/ORADATA/u04/log3c.rdo';

log1a.rdo log1b.rdo log1c.rdo Grupo 2


7-13

log1a.rdo 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

Grupo 1 Membro

Grupo 2 Membro

Grupo 3 Membro

Membro

Membro

Disco 1
7-18

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

V$LOGFILE

7-22

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:

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.

7-24

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:

criada uma entrada no arquivo de controle 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:

Ocorra um checkpoint O arquivo seja arquivado pelo ARCn


7-26

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 Multiplexar e manter arquivos de redo log on-line Gerenciar arquivos de redo log on-line com arquivos OMF

7-28

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:

Definir o objetivo de tablespaces e arquivos de dados Criar tablespaces Gerenciar tablespaces Criar e gerenciar tablespaces com arquivos OMF (Oracle Managed Files) Obter informaes sobre tablespaces

8-2

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:

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
Banco de dados Tablespace Arquivos de dados

Arquivos de dados:

Podem pertencer a apenas um tablespace e um banco de dados So um repositrio para dados de objetos do esquema

8-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Tablespaces
Tablespace SYSTEM

Criado com o banco de dados Contm o dicionrio de dados Contm o segmento de undo SYSTEM Separa segmentos Facilita a administrao de espao Controla o volume do espao alocado para um usurio

Tablespace no-SYSTEM

8-4

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:

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. As extenses livres so gerenciadas pelo dicionrio de dados. As tabelas apropriadas so atualizadas quando as extenses so alocadas ou desalocadas.

Tablespace gerenciado por dicionrio:

8-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tablespaces Gerenciados Localmente


Disputa reduzida nas tabelas de dicionrio de dados Nenhum undo gerado quando ocorre alocao ou desalocao de espao No necessria a aglutinao
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:

CREATE DATABASE ALTER DATABASE

8-19

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 Alterados para um tablespace permanente

8-24

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;

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

8-25

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);

No possvel alterar as definies de armazenamento para os tablespaces gerenciados localmente.

8-31

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Redimensionando um Tablespace
Para redimensionar um tablespace:

Altere o tamanho de um arquivo de dados:

Automaticamente usando AUTOEXTEND Manualmente usando ALTER DATABASE

Adicione um arquivo de dados por meio de ALTER TABLESPACE

8-33

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';

Quando o tablespace criado:


8-49

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:


8-51

DBA_TABLESPACES V$TABLESPACE

Informaes sobre arquivos de dados:


DBA_DATA_FILES V$DATAFILE

Informaes sobre arquivos temporrios:


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

Resumo
Nesta lio, voc aprendeu a:

Usar tablespaces para separar dados Criar vrios tipos de tablespaces Gerenciar tablespaces Gerenciar tablespaces utilizando arquivos OMF Obter informaes sobre tablespaces

8-52

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 8


Este exerccio aborda os seguintes tpicos:

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

8-53

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:

Descrever a estrutura lgica do banco de dados Listar os tipos de segmentos e seus respectivos usos Listar as palavras-chave que controlam a utilizao de espao em bloco Obter informaes sobre estruturas de armazenamento

9-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura de Armazenamento e Relacionamentos


Banco de dados
TABLESPACES SYSTEM USER_DATA DISK3/ USER2.dbf
S_DEPT S_EMP (conti- FIRST_ nuao) NAME ndice Seg. RB Seg. RB Seg. RB Seg. RB

PROD
RBS
DISK1/ UNDO1.dbf
RBS1 RBS2 RBS1 RBS2 (conti- (continuao) nuao)

TEMP
DISK1/ TEMP.dbf
Temp Seg. Temp

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

Seg. de Seg. de Dados ndice

EXTENSES
1 2 1 2 1 2 1 1 2 2 1 FREE 1 1 2 2 1

BLOCOS DE DADOS Oracle

9-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Segmentos

Tabela

Partio de tabela

Cluster

ndice

9-4

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Segmentos

Tabela organizada por ndice

Partio de ndice

Segmento de undo

Segmento temporrio

9-6

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 :

Criado Estendido Alterado Eliminado Alterado Truncado

Uma extenso desalocada quando o segmento :

9-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Extenses Livres e Utilizadas


Arquivo de dados

Cabealho de arquivo

Extenso utilizada

Extenso livre

9-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Bloco do Banco de Dados


Unidade mnima de entrada/sada Consiste em um ou mais blocos do sistema operacional Definido durante a criao do tablespace DB_BLOCK_SIZE o tamanho de bloco default

9-12

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:

Tamanho mnimo = um gro (4 MB ou 16 MB) Valor default = 48 MB

9-14

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 ...

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

9-18

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:

Gerenciamento automtico de espao de segmento Gerenciamento manual

9-24

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:

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

9-25

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;

Aps a criao de um tablespace, as especificaes se aplicam a todos os segmentos criados nesse tablespace.

9-27

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Manual de Blocos de Dados


Permite configurar blocos de dados manualmente com parmetros como:

PCTFREE PCTUSED FREELIST

O nico mtodo disponvel nas verses anteriores do Oracle

9-28

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Utilizao de Espao em Bloco


PCTFREE=20 PCTUSED=40 Inseres (fora da freelist)

80% Inseres

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

DBA_SEGMENTS DBA_TABLESPACES DBA_DATA_FILES DBA_FREE_SPACE

9-30

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:


9-33

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 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:

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

10-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Dados de Undo


Existem dois mtodos para gerenciar dados de undo:

Gerenciamento Automtico de Undo Gerenciamento Manual de Undo

O termo undo era conhecido como rollback nas verses anteriores.

10-3

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

Segmento de undo

Consistncia de leitura

10-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Consistncia de Leitura
Tabela SELECT * FROM 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

Adiados: Usados quando os tablespaces so colocados off-line de forma imediata, temporria ou para recuperao

10-7

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 Tablespace UNDO

10-10

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:

Alterne para um novo tablespace UNDO. Elimine o tablespace depois que todas as transaes atuais forem concludas.

10-18

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciamento Automtico de Undo: Outros Parmetros


Parmetro UNDO_SUPPRESS_ERRORS:

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.

Parmetro UNDO_RETENTION:

10-21

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. 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.

10-26

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:

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

Views Dinmicas de Desempenho

10-27

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Configurar o gerenciamento automtico de undo Criar um tablespace UNDO Dimensionar apropriadamente um tablespace UNDO Obter informaes sobre segmentos de undo

10-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 10


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

Alternncia entre tablespaces UNDO Eliminao de um tablespace UNDO

10-30

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 particionada

Tabela organizada por ndice


11-3

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 TABLE Relacionamento REF

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Formato ROWID
Formato ROWID Estendido
OOOOOO Nmero do objeto de dados FFF Nmero do arquivo relativo BBBBBB Nmero do bloco RRR Nmero da linha

Formato ROWID Restrito


BBBBBBBB Nmero do bloco

RRRR Nmero da linha

FFFF Nmero do arquivo

11-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estrutura de uma Linha

Cabealho da linha Bloco do banco de dados Tamanho da coluna Valor da coluna

11-13

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 tablespaces gerenciados localmente para evitar a fragmentao. Use poucos tamanhos padro de extenso para as tabelas a fim de reduzir a fragmentao do tablespace.

11-18

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

DBA_OBJECTS

11-37

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a: 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 Obter informaes sobre tabelas

11-39

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 11


Este exerccio aborda os seguintes tpicos:

Criao de uma tabela Exibio, marcao como no utilizada e eliminao de colunas de uma tabela Alocao de extenses manualmente Truncamento de uma tabela Obteno de informaes sobre tabelas

11-40

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 Reorganizar ndices Manter ndices Monitorar a utilizao de um ndice Obter informaes sobre ndices

12-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Classificao de ndices
Lgico:

Uma nica coluna ou concatenado Exclusivo ou no exclusivo Baseado em funo Domnio Particionado ou no-particionado rvore B: Normal ou chave invertida Bitmap

Fsico:

12-3

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
Tabela Arquivo 3 Bloco 10 Bloco 11 ndice Bloco 12

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

rvore B Adequada para colunas de alta cardinalidade Baixo custo nas atualizaes em chaves Ineficiente para consultas com predicados OR til para OLTP

Bitmap Adequado para colunas de baixa cardinalidade Alto custo nas atualizaes em chaves Eficiente para consultas com predicados OR til para data warehousing

12-9

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. 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.

12-13

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;

Algumas restries so aplicadas.

12-23

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 Reorganizar ndices Eliminar ndices Obter informaes sobre ndices do dicionrio de dados Iniciar e interromper o monitoramento da utilizao de ndices Obter informaes sobre ndices

12-31

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 12


Este exerccio aborda os seguintes tpicos:

Criao de ndices em colunas de uma tabela Movimentao do ndice para outro tablespace Eliminao de ndices Obteno de informaes sobre ndices

12-32

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:

Implementar restries de integridade de dados Manter restries de integridade Obter informaes sobre restries

13-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Integridade de Dados
Trigger do banco de dados Restrio de integridade

Dados

Cdigo da aplicao

Tabela

13-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Tipos de Restries
Restrio NOT NULL Descrio Especifica que uma coluna no pode conter valores nulos Designa uma coluna ou uma combinao de colunas como exclusiva Designa uma coluna ou uma combinao de colunas como a chave primria da tabela Designa uma coluna ou uma combinao de colunas como a chave estrangeira em uma restrio de integridade referencial Especifica uma condio que deve ser atendida por cada linha da tabela

UNIQUE

PRIMARY KEY FOREIGN KEY

CHECK

13-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Estados das Restries


DISABLE NOVALIDATE DISABLE VALIDATE ENABLE NOVALIDATE ENABLE VALIDATE

= =
Novos dados Dados existentes
13-6 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


H um Sim ndice disponvel para uso? No Restrio adivel? Sim O ndice no-exclusivo? No/ Sim

Chave ativada?

Sim

Restrio adivel?

Sim

No Use um ndice existente

No No use ndice

No Crie um ndice exclusivo Crie um ndice no-exclusivo

13-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Consideraes sobre Chaves Estrangeiras

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

Soluo Apropriada Coloque restries em cascata Desative ou elimine a chave estrangeira Use a clusula CASCADE CONSTRAINTS Verifique se o tablespace que contm a chave me est on-line

13-12

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:

Coloque os ndices em um tablespace separado. Use ndices no-exclusivos se cargas em alto volume forem freqentes. Defina ou ative as chaves estrangeiras aps a carga inicial. Adie a verificao de restrio.

Chaves estrangeiras de auto-referncia:

13-18

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
Bloqueia a tabela Pode usar ndices exclusivos ou noexclusivos Precisa de dados de tabela vlidos

ENABLE VALIDATE

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

DBA_CONS_COLUMNS

13-29

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Implementar a integridade dos dados Usar uma estratgia apropriada para criar e manter restries Obter informaes sobre restries

13-32

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 13


Este exerccio aborda os seguintes tpicos:

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

13-33

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:

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

14-2

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. Os perfis podem estar relacionados ao perfil DEFAULT.

14-3

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 Verificao da senha

14-5

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. Para ativar o gerenciamento de senhas, execute o script utlpwdmg.sql como o usurio SYS.

14-6

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Bloqueio de Conta por Senha Incorreta


Parmetro FAILED_LOGIN_ATTEMPTS Descrio Nmero de tentativas de login malsucedidas antes do bloqueio da conta Nmero de dias em que a conta permanece bloqueada aps o nmero especificado de tentativas malsucedidas de login

PASSWORD_LOCK_TIME

14-7

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Expirao e Vencimento da Senha


Parmetro PASSWORD_LIFE_TIME Descrio Tempo de vida til da senha, em dias, aps o qual a senha expira Perodo de tolerncia, em dias, para alterar a senha aps o primeiro login bem-sucedido depois da expirao da senha

PASSWORD_GRACE_TIME

14-8

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Histrico de Senha
Parmetro PASSWORD_REUSE_TIME Descrio Nmero de dias aps o qual uma senha pode ser reutilizada Nmero mximo de alteraes necessrias antes que uma senha possa ser reutilizada

PASSWORD_REUSE_MAX

14-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Verificao da Senha

Parmetro PASSWORD_VERIFY_FUNCTION

Descrio 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. A senha no deve ser igual ao nome do usurio. A senha deve ter no mnimo um caractere alfabtico, um numrico e um especial. Ela deve ter pelo menos trs letras diferentes da senha anterior.

14-12

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:

Parmetro de inicializao RESOURCE_LIMIT Comando ALTER SYSTEM

14-21

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 CPU_PER_SESSION SESSIONS_PER_USER CONNECT_TIME IDLE_TIME LOGICAL_READS_PER _SESSION PRIVATE_SGA Descrio O tempo total de CPU medido em centsimos de segundo Nmero de sesses concorrentes permitidas para cada nome de usurio Tempo de conexo decorrido medido em minutos Perodos de inatividade medidos em minutos Nmero de blocos de dados (leituras fsicas e lgicas) 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

Recurso CPU_PER_CALL

Descrio Tempo de CPU por chamada em centsimos de segundos Nmero de blocos de dados que podem ser lidos por chamada

LOGICAL_READS_PER_CALL

14-25

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:

Grupo de consumidores de recursos Plano de recursos Mtodo de alocao de recursos Diretivas de planos de recursos


14-29

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:

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

14-32

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

DBA_PROFILES

14-34

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

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

14-36

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 14


Este exerccio aborda os seguintes tpicos:

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

14-37

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 Alterar e eliminar usurios de bancos de dados existentes Monitorar informaes sobre os usurios existentes Obter informaes sobre usurios

15-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Usurios e Segurana
Bloqueio de conta Tablespace default

Mecanismo de autenticao Privilgios de atribuio

Tablespace temporrio Domnio de segurana Cotas de tablespace Limites de recursos

Privilgios diretos

15-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Esquema de Banco de Dados


Um esquema um conjunto nomeado de objetos. Quando um usurio criado, um esquema correspondente tambm criado. S possvel associar um usurio a um esquema. O nome de usurio e o esquema so, em geral, usados alternadamente.
Objetos do Esquema Tabelas Triggers Restries ndices Views Seqncias Unidades de programa armazenadas Sinnimos Tipos de dados definidos pelo usurio Vnculos de bancos de dados

15-5

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. Designe um tablespace default e um tablespace temporrio. Crie um usurio. Conceda privilgios e atribuies ao usurio.

15-6

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;

No possvel eliminar os usurios que estiverem conectados no momento ao servidor Oracle.

15-14

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

DBA_TS_QUOTAS

15-16

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 Obter informaes sobre usurios

15-17

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Viso Geral do Exerccio 15


Este exerccio aborda os seguintes tpicos:

Criao de usurios Exibio de informaes do dicionrio de dados sobre os usurios Remoo de cotas de usurio

15-18

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:

Identificar privilgios de objeto e de sistema Conceder e revogar privilgios Obter informaes sobre privilgios

16-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Gerenciando Privilgios
Existem dois tipos de privilgios de usurio Oracle:

Sistema: Permite que os usurios executem determinadas aes no banco de dados Objeto: Permite que os usurios acessem e manipulem um objeto especfico

16-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Privilgios de Sistema
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.

16-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Privilgios de Sistema: Exemplos


Categoria INDEX Exemplos CREATE ANY INDEX ALTER ANY INDEX DROP ANY INDEX CREATE TABLE CREATE ANY TABLE ALTER ANY TABLE DROP ANY TABLE SELECT ANY TABLE UPDATE ANY TABLE DELETE ANY TABLE CREATE SESSION ALTER SESSION RESTRICTED SESSION CREATE TABLESPACE ALTER TABLESPACE DROP TABLESPACE UNLIMITED TABLESPACE

TABLE

SESSION

TABLESPACE

16-6

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 SYSOPER Exemplos 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 Se definido como TRUE, permite acesso a objetos do esquema SYS O default FALSE: garante que os privilgios de sistema que permitem acesso a qualquer esquema no aceitem o acesso ao esquema SYS

16-11

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

GRANT

REVOKE

DBA

Jeff

Emi

16-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Privilgios de Objeto
Priv. objeto ALTER DELETE EXECUTE INDEX INSERT REFERENCES SELECT UPDATE Tabela View Seqncia Procedimento

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 GRANT Jeff Emi

REVOKE

Bob

Jeff

Emi

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

SESSION_PRIVS DBA_TAB_PRIVS DBA_COL_PRIVS

16-23

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

Identificar privilgios de objeto e de sistema Conceder e revogar privilgios Obter informaes sobre privilgios

16-24

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 B C

Atribuies

HR_MGR

HR_CLERK

Privilgios SELECT ON JOBS CREATE TABLE CREATE SESSION INSERT ON JOBS UPDATE ON JOBS

17-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Vantagens das Atribuies


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

17-4

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 CONNECT RESOURCE, DBA EXP_FULL_DATABASE IMP_FULL_DATABASE DELETE_CATALOG_ROLE EXECUTE_CATALOG_ROLE SELECT_CATALOG_ROLE Descrio Estas atribuies so fornecidas para retrocompatibilidade Privilgios para exportar o banco de dados Privilgios para importar o banco de dados Deleta os privilgios nas tabelas de dicionrio de dados Executa os privilgios nos pacotes do dicionrio de dados Seleciona os privilgios em tabelas de dicionrio de dados

17-7

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


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.

17-16

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 aplicao Privilgios de Benefits


17-23

Privilgios de Payroll

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes para a Utilizao de Senhas e Atribuies Default

Protegida por senha (no o default)

Atribuio default

PAY_CLERK

PAY_CLERK_RO

Privilgios INSERT, UPDATE, DELETE e SELECT


17-24

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:

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

18-2

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:

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

18-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes de Auditoria
Defina o que voc deseja auditar:

Usurios, instrues ou objetos Execues de instrues Execues de instrues bem-sucedidas, execues de instrues malsucedidas ou ambas Monitore o crescimento da trilha de auditoria Proteja a trilha de auditoria do acesso no autorizado

Gerencie a trilha de auditoria:

18-4

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Categorias de Auditoria
Auditoria por default:

Inicializao e desativao da instncia Privilgios de administrador Ativada pelo DBA No registra valores de colunas Implementada por cdigo Registra valores de colunas Usada para controlar alteraes feitas nas tabelas

Auditoria de banco de dados:

Auditoria de aplicao ou baseada em valor:

18-6

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Auditoria de Banco de Dados


Ativar auditoria de banco de dados DBA Revisar informaes de auditoria Arquivo de parmetros Executar comando Usurio Processo do servidor Gerar trilha de auditoria

Especificar opes de auditoria

Opes de auditoria Banco de dados Trilha de auditoria

Trilha de auditoria do SO

18-8

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:

Permite o monitoramento do acesso aos dados de acordo com o contedo Implementada com o pacote DBMS_FGA

18-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Auditando o Usurio SYS


Auditoria do usurio SYS:

Nvel extra de segurana Defina AUDIT_SYS_OPERATIONS como True Defina AUDIT_SYS_OPERATIONS como False Este o valor default.

Sem auditoria do usurio SYS:

18-12

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

DBA_STMT_AUDIT_OPTS DBA_PRIV_AUDIT_OPTS DBA_OBJ_AUDIT_OPTS

18-13

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

DBA_AUDIT_EXISTS DBA_AUDIT_OBJECT DBA_AUDIT_SESSION DBA_AUDIT_STATEMENT

18-14

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

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

18-15

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 Executar operaes bsicas do SQL*Loader Listar as diretrizes para a utilizao do SQL*Loader e do recurso de carga direta

19-2

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

Carga Direta

19-3

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 Nas tabelas particionadas e no particionadas ou em parties nicas de uma tabela Com ou sem o registro de dados de redo

19-4

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;
Processo escravo Processo escravo

Tabela EMPLOYEES

Bloco usado Espao livre aps a deleo


19-7

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 Servidor Oracle

Rejeitado

Arquivo Selecionado de erros Inserido Rejeitado

Arquivo de descarte (opcional)

Arquivo de log

Arquivos de dados do banco de dados

19-9

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:

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

Como manipular os dados

19-13

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Consideraes sobre a Sintaxe do Arquivo de Controle


O formato da sintaxe livre. A sintaxe no faz distino entre letras maisculas e minsculas. 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

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:

Formato de registro fixo Formato de registro varivel Formato de registro de fluxo

19-18

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 Salvamento de dados Caminho direto

Tabela

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 Usa COMMITs para tornar as alteraes permanentes Sempre so geradas entradas de redo Impe todas as restries Triggers INSERT so acionados Pode fazer cargas em tabelas clusterizadas Outros usurios podem fazer alteraes em tabelas Carga de Caminho Direto Usa salvamento de dados Gera redo apenas em condies especficas Impe apenas chaves primria, exclusiva e NOT NULL Triggers INSERT no so acionados No faz cargas em tabelas clusterizadas 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 Tabela SQL*Loader

SQL*Loader

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. 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.

Arquivo de descarte:

19-32

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Contedo do Arquivo de Log


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

19-36

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:

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

19-38

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Resumo
Nesta lio, voc aprendeu a:

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

19-39

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:

Utilizao de um arquivo de controle Utilizao de um arquivo de dados

Utilizao do mtodo de carga direta para carregar dados

19-40

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
Copyright Oracle Corporation, 2002. Todos os direitos reservados.

20-2

Caractersticas do Suporte Globalizao


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

20-3

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 Definidos durante a criao No podem ser alterados sem recriao Armazenam colunas de dados dos tipos CHAR, VARCHAR2, CLOB, LONG Podem armazenar conjuntos de caracteres de largura varivel Conjuntos de Caracteres Nacionais Definidos durante a criao No podem ser alterados sem recriao, salvo algumas excees Armazenam colunas de dados dos tipos NCHAR, NVARCHAR2 e NCLOB 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 os problemas de interoperabilidade com aplicaes e recursos do sistema? Quais so as implicaes de desempenho? Quais so as restries?

20-9

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Diretrizes para Escolher um Conjunto de Caracteres Nacionais Oracle


Duas opes:

AL16UTF16 UTF8

Existe problema de espao? Existe problema de desempenho?

20-11

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Escolhendo uma Soluo Unicode: Banco de Dados Unicode


Quando usar um banco de dados Unicode?

Fcil migrao de cdigo para Java ou PL/SQL Fcil migrao de dados baseados em ASCII Dados multilnges distribudos homogeneamente Pesquisa do InterMedia Text

20-12

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 Pacotes de aplicaes Desempenho: Conjunto de caracteres de banco de dados single-byte com um conjunto de caracteres nacionais de largura fixa Melhor suporte para UTF-16 com clientes Windows

20-13

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:

O idioma das mensagens Os nomes dos dias e dos meses Os smbolos para A.D., B.C., a.m., p.m. O mecanismo de classificao default 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

NLS_TERRITORY especifica:

20-16

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Valores Default Dependentes de Idioma e Territrio


Parmetro NLS_LANGUAGE NLS_DATE_LANGUAGE NLS_SORT NLS_TERRITORY NLS_CURRENCY NLS_ISO_CURRENCY NLS_DATE_FORMAT NLS_NUMERIC_CHARACTERS Valores AMERICAN AMERICAN BINARY AMERICA $ AMERICA DD-MON-RR ,.

20-18

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:

Classificaes em duas passagens Baseada em valores principais e secundrios designados aos caracteres Novo ISO 14651 Unicode 3.0 para a comparao entre os idiomas

A classificao multilnge baseada no:

20-24

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Classificao NLS
NLS_SORT especifica o tipo de classificao de dados de caractere:

definida pela varivel de ambiente NLS_LANG Pode ser sobreposta no nvel da sesso Especifica o tipo de classificao de dados de caractere Permite a definio de classificaes no nvel da consulta

Funo NLSSORT:

20-25

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'));

Parmetro NLS_COMP para comparaes lingsticas

20-33

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:

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.

20-34

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 Interface grfica de fcil utilizao Para exibir, modificar e criar definies de locales

Oracle Locale Builder:

20-35

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Conjuntos de Caracteres


NLS_DATABASE_PARAMETERS:

PARAMETER (NLS_CHARACTERSET, NLS_NCHAR_CHARACTERSET) VALUE

20-36

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Definies NLS


NLS_INSTANCE_PARAMETERS:

PARAMETER (parmetros de inicializao definidos explicitamente) VALUE PARAMETER (parmetros de sesso) VALUE

NLS_SESSION_PARAMETERS:

20-37

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Obtendo Informaes sobre Definies NLS


V$NLS_VALID_VALUES:

PARAMETER (LANGUAGE, SORT, TERRITORY, CHARACTERSET) VALUE PARAMETER (parmetros de sesso NLS, NLS_CHARACTERSET) VALUE

V$NLS_PARAMETERS:

20-39

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 Definio de parmetros NLS

20-42

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:

Criar segmentos de rollback usando as definies adequadas de armazenamento Manter segmentos de rollback Planejar o nmero e o tamanho dos segmentos de rollback Diagnosticar e solucionar problemas comuns dos segmentos de rollback

B-2

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Criando Segmentos de Rollback

CREATE ROLLBACK SEGMENT rbs01 TABLESPACE rbs STORAGE ( INITIAL NEXT MINEXTENTS MAXEXTENTS OPTIMAL 100K 100K 20 100 2000K );

B-3

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Transaes e Segmentos de Rollback

Transao 1

Transao 2

3
Extenso inativa

Extenso ativa

B-5

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Crescimento de Segmentos de Rollback 1 5 4


Extenso ativa Extenso inativa Nova extenso

1 4

2 3

2 3

B-7

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Compactao dos Segmentos de Rollback

6 5 4

1 2 3

1 6
Extenso ativa

2 3

OPTIMAL

Extenso inativa

B-8

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?

No

Sim

Adquira segmentos de rollback pblicos.

Coloque todos os segmentos de rollback adquiridos on-line.

B-10

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

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

Muitos segmentos de rollback pequenos Quatro transaes por segmento de rollback At dez transaes por segmento de rollback Poucos segmentos de rollback grandes Um por transao

Batch

B-15

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


Espao insuficiente para transaes Erros de consistncia de leitura Bloqueio de sesses Erros ao colocar um tablespace off-line

B-17

Copyright Oracle Corporation, 2002. Todos os direitos reservados.

Espao Insuficiente para Transaes


Falta de espao no tablespace:

Estenda os arquivos de dados Ative a expanso automtica dos arquivos de dados Adicione arquivos de dados

O segmento alcanou o valor definido em MAXEXTENTS

Aumente o valor de MAXEXTENTS Recrie segmentos com extenses maiores

B-18

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

4 3

1 2 5

1
Extenso 3

2 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.