Este documento fornece uma introdução aos conceitos e tarefas fundamentais de administração de banco de dados Oracle, incluindo arquitetura do Oracle, gerenciamento de instâncias, criação e manutenção de bancos de dados, segurança e gerenciamento de recursos.
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
9i fundamentos adm_banco_de_dados_ii
1. Enterprise DBA Parte 1A:
Administração e Arquitetura
Volume 2 • Guia do Aluno
.......................................................................................
30049BP10
Produção 1.0
Junho de 2000
M09006-BP
3. Sumário
.....................................................................................................................................................
Sumário
Prefácio
Perfil xvii
Informações Relacionadas xix
Convenções Tipográficas xx
Introdução
Objetivos I-2
Oracle8i Enterprise Edition I-3
Tarefas do Administrador de Banco de Dados I-5
Programa do Curso I-6
Lição 1: Componentes Arquitetônicos do Oracle
Objetivos 1-2
Visão Geral 1-3
Arquivos de Bancos de Dados Oracle 1-5
Outros Arquivos Importantes 1-7
Instância Oracle 1-8
Processando uma Instrução SQL 1-10
Estabelecendo Conexão com um Banco de Dados 1-11
Processando uma Consulta 1-13
O Pool Compartilhado 1-15
Cache de Buffer do Banco de Dados 1-17
Área Global do Programa 1-18
Processando uma Instrução DML 1-20
Buffer de Redo Log 1-22
Segmento de Rollback 1-23
Processamento de COMMIT 1-24
Log Writer 1-26
Outros Processos de Instância 1-27
Database Writer 1-28
SMON: Monitor de Sistema 1-29
PMON: Monitor de Processo 1-31
Arquivamento 1-32
Sumário 1-34
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura iii
4. Sumário
.....................................................................................................................................................
Lição 2: Conceitos Básicos do Oracle Server
Objetivos 2-2
Visão Geral 2-3
Oracle Universal Installer 2-4
Validando Usuários Privilegiados 2-8
Oracle Enterprise Manager 2-15
Sumário 2-30
Lição 3: Gerenciando uma Instância Oracle
Objetivos 3-2
Visão Geral 3-3
Estágios da Inicialização e da Desativação 3-10
Inicializando a Instância 3-13
Alterando a Disponibilidade do Banco de Dados 3-16
Abrindo um Banco de Dados no Modo Somente Para Leitura 3-17
Desativando 3-18
Obtendo e Definindo Valores de Parâmetro 3-22
Gerenciando Sessões 3-29
Sumário 3-36
Lição 4: Criando um Banco de Dados
Objetivos 4-2
Visão Geral 4-3
Preparando o Sistema Operacional 4-4
Criando um Banco de Dados 4-10
Usando o Assistente de Configuração de Banco de Dados 4-11
Criando um Banco de Dados Manualmente 4-15
Sumário 4-29
Lição 5: Criando Views de Dicionário de Dados e Pacotes Padrão
Objetivos 5-2
Visão Geral 5-3
Visão Geral do Dicionário de Dados 5-4
Conteúdo do Dicionário de Dados 5-5
.....................................................................................................................................................
iv Enterprise DBA Parte 1A: Administração e Arquitetura
5. Sumário
.....................................................................................................................................................
Tabelas-Base e Views de Dicionário de Dados 5-6
Como Usar o Dicionário de Dados 5-7
Categorias de View de Dicionário de Dados 5-8
Exemplos de Dicionário de Dados 5-10
Views de Desempenho Dinâmicas 5-11
Unidades de Programa Armazenado 5-12
Unidades de Programa PL/SQL Armazenado 5-14
Pacotes 5-16
Executando uma Unidade de Programa PL/SQL 5-17
Especificação e Corpo do Pacote 5-18
Pacotes Fornecidos pela Oracle 5-19
Obtendo Informações 5-20
Solucionando Problemas 5-22
Construindo o Dicionário de Dados 5-23
Scripts Administrativos 5-25
Exemplo de Pacote Interno 5-27
Gatilhos 5-29
Partes de um Gatilho 5-31
Exemplo de Gatilho 5-33
Sumário 5-34
Lição 6: Mantendo o Arquivo de Controle
Objetivos 6-2
O Uso do Arquivo de Controle 6-3
Conteúdo do Arquivo de Controle 6-4
Multiplexando o Arquivo de Controle 6-6
Diretrizes Para Arquivos de Controle 6-8
Obtendo Informações Sobre o Arquivo de Controle 6-10
Sumário 6-12
Lição 7: Mantendo Arquivos de Redo Log
Objetivos 7-2
Visão Geral 7-3
Usando Arquivos de Redo On-line 7-4
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura v
6. Sumário
.....................................................................................................................................................
LGWR, Alternâncias de Log e Checkpoints 7-6
Arquivando Arquivos de Redo Log 7-8
Obtendo Informações Sobre Archive e Log 7-11
Controlando Alternâncias de Log e Checkpoints 7-18
Multiplexando e Mantendo Membros e Grupos 7-21
Realocando ou Renomeando Arquivos de Redo Log On-line 7-24
Eliminando Membros e Grupos de Redo Logs On-line 7-26
Planejando Redo Logs On-line 7-30
Solucionando Problemas 7-32
Usando LogMiner 7-33
Sumário 7-40
Lição 8: Gerenciando Tablespaces e Arquivos de Dados
Objetivos 8-2
Visão Geral 8-3
Hierarquia de Armazenamento de Banco de Dados 8-4
Tablespaces SYSTEM e Não-SYSTEM 8-7
Criando Tablespaces 8-8
Gerenciamento de Espaço em Tablespaces 8-12
Tablespaces Gerenciados Localmente 8-13
Tablespace Temporário 8-15
Alterando Definições de Armazenamento 8-18
Obtendo Tablespaces Off-line ou On-line 8-20
Tablespaces Somente Para Leitura 8-23
Eliminando Tablespaces 8-26
Redimensionando um Tablespace 8-29
Ativando Redimensionamento Automático dos Arquivos de Dados 8-30
Redimensionando Arquivos de Dados Manualmente 8-33
Adicionando Arquivos de Dados a um Tablespace 8-34
Movendo Arquivos de Dados 8-36
Informações de Dicionário de Dados 8-39
Diretrizes 8-40
Sumário 8-42
.....................................................................................................................................................
vi Enterprise DBA Parte 1A: Administração e Arquitetura
7. Sumário
.....................................................................................................................................................
Lição 9: Estrutura de Armazenamento e Relacionamentos
Objetivos 9-2
Visão Geral 9-3
Tipos de Segmentos 9-4
Precedência da Cláusula de Armazenamento 9-8
Alocação e Desalocação de Extensões 9-9
Extensões Livres e Usadas 9-10
Usando Parâmetros de Utilização de Espaço em Bloco 9-11
Obtendo Informações sobre Estruturas de Armazenamento 9-16
Consultando DBA_SEGMENTS 9-17
Consultando DBA_EXTENTS 9-18
Consultando DBA_FREE_SPACE 9-19
Planejando a Localização dos Segmentos 9-20
Sumário 9-22
Lição 10: Gerenciando Segmentos de Rollback
Objetivos 10-2
Visão Geral 10-3
Segmentos de Rollback 10-4
Usando Segmentos de Rollback com Transações 10-8
Criando Segmentos de Rollback 10-12
Mantendo Segmentos de Rollback 10-18
Obtendo Informações Sobre Segmentos de Rollback 10-26
Planejando Segmentos de Rollback 10-32
Solucionando Problemas de Segmento de Rollback 10-34
Sumário 10-40
Lição 11: Gerenciando Tabelas
Objetivos 11-2
Visão Geral 11-3
Tipos de Dados Oracle 11-7
Criando uma Tabela 11-17
Controlando o Espaço Usado pelas Tabelas 11-25
Recuperando Informações da Tabela 11-41
Sumário 11-46
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura vii
8. Sumário
.....................................................................................................................................................
Lição 12: Gerenciando Índices
Objetivos 12-2
Visão Geral 12-3
Criando Índices 12-12
Reorganizando Índices 12-22
Eliminando Índices 12-29
Obtendo Informações de Índice 12-31
Sumário 12-33
Lição 13: Mantendo a Integridade dos Dados
Objetivos 13-2
Visão Geral 13-3
Restrições de Integridade 13-5
Implementando Restrições 13-14
Mantendo Restrições 13-18
Obtendo Informações de Restrição 13-24
Sumário 13-27
Lição 14: Carregando Dados
Objetivos 14-2
Visão Geral 14-3
Carregando Dados Usando Inserção de Carga Direta 14-4
Carregando Dados Usando o SQL*Loader 14-7
Carga de Caminho Direto 14-27
Sumário 14-28
Lição 15: Reorganizando Dados
Objetivos 15-2
Visão Geral 15-3
Tablespaces Transportáveis 15-24
Transportando um Tablespace 15-26
Exportando e Importando Metadados 15-27
Transportando um Tablespace 15-29
Usos do Tablespace Transportável 15-30
.....................................................................................................................................................
viii Enterprise DBA Parte 1A: Administração e Arquitetura
9. Sumário
.....................................................................................................................................................
Tablespaces Transportáveis e Objetos de Esquema 15-31
Verificando o Conjunto de Transporte 15-32
Sumário 15-33
Lição 16: Gerenciando Recursos e Segurança de Senha
Objetivos 16-2
Visão Geral 16-3
Administrando Senhas 16-5
Alterando e Eliminando um Perfil 16-19
Controlando o Uso dos Recursos 16-23
Exibindo Informações de Senha e Limites de Recurso 16-30
Sumário 16-32
Lição 17: Gerenciando Usuários
Objetivos 17-2
Visão Geral 17-3
Criando Novos Usuários de Banco de Dados 17-6
Alterando e Eliminando Usuários de Banco de Dados 17-14
Eliminando Usuários 17-16
Monitorando Informações Sobre Usuários 17-17
Sumário 17-19
Lição 18: Gerenciando Privilégios
Objetivos 18-2
Visão Geral 18-3
Privilégios de Sistema 18-4
Concedendo Privilégios de Sistema 18-6
Autenticação do Arquivo de Senhas 18-9
Exibindo Privilégios de Sistema 18-11
Revogando Privilégios de Sistema 18-14
Privilégios de Objeto 18-17
Concedendo Privilégios de Objeto 18-18
Exibindo Privilégios de Objeto 18-20
Revogando Privilégios de Objeto 18-21
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura ix
10. Sumário
.....................................................................................................................................................
Diretrizes de Auditoria 18-25
Usando a Auditoria de Banco de Dados 18-29
Exibindo Resultados de Auditoria 18-36
Sumário 18-37
Lição 19: Gerenciando Atribuições
Objetivos 19-2
Visão Geral 19-3
Criando e Modificando Atribuições 19-5
Designando Atribuições 19-11
Controlando a Disponibilidade das Atribuições 19-14
Exibindo Informações sobre Atribuições 19-23
Usando Controle de Acesso Detalhado 19-24
Sumário 19-26
Lição 20: Usando Suporte a Idioma Nacional
(National Language Support - NLS)
Objetivos 20-2
Visão Geral 20-3
Escolhendo um Banco de Dados e um Conjunto de Caracteres Nacionais 20-5
Especificando o Comportamento Dependente do Idioma 20-11
Parâmetros NLS e Funções SQL 20-19
Parâmetros NLS em Funções SQL 20-22
Suporte Para Índice Lingüístico 20-26
Importando e Carregando Dados Usando NLS 20-27
Obtendo Informações Sobre Definições NLS 20-28
Sumário 20-33
Apêndice A: Exercícios
Ambiente A-2
Exercício 1: Componentes Arquitetônicos do Oracle A-3
Exercício 2: Conceitos Básicos do Oracle A-5
Exercício 3: Gerenciando uma Instância Oracle A-6
Exercício 4: Criando um Banco de Dados A-8
Exercício 5: Criando Views de Dicionário de Dados e Pacotes Padrão A-9
.....................................................................................................................................................
x Enterprise DBA Parte 1A: Administração e Arquitetura
11. Sumário
.....................................................................................................................................................
Exercício 6: Mantendo o Arquivo de Controle A-10
Exercício 7: Mantendo Arquivos de Redo Log A-11
Exercício 8: Gerenciando Tablespaces e Arquivos de Dados A-12
Exercício 9: Estrutura de Armazenamento e Relacionamentos A-13
Exercício 10: Gerenciando Segmentos de Rollback A-14
Exercício 11: Gerenciando Tabelas A-15
Exercício 12: Gerenciando Índices A-17
Exercício 13: Mantendo a Integridade dos Dados A-19
Exercício 14: Carregando Dados A-20
Exercício 15: Reorganizando Dados A-21
Exercício 16: Gerenciando a Segurança de Senha A-22
Exercício 17: Gerenciando Usuários A-23
Exercício 18: Gerenciando Privilégios A-24
Exercício 19: Gerenciando Atribuições A-25
Exercício 20: Usando o Suporte a Idioma Nacional
(National Language Support – NLS) A-26
Apêndice B: Dicas
Exercício 1: Componentes Arquitetônicos do Oracle B-2
Exercício 2: Conceitos Básicos do Oracle B-3
Exercício 3: Gerenciando uma Instância Oracle B-4
Exercício 4: Criando um Banco de Dados B-7
Exercício 5: Criando Views de Dicionário de Dados e Pacotes Padrão B-8
Exercício 6: Mantendo o Arquivo de Controle B-9
Exercício 7: Mantendo Arquivos de Redo Log B-10
Exercício 8: Gerenciando Tablespaces e Arquivos de Dados B-12
Exercício 9: Estrutura de Armazenamento e Relacionamentos B-14
Exercício 10: Gerenciando Segmentos de Rollback B-16
Exercício 11: Gerenciando Tabelas B-18
Exercício 12: Gerenciando Índices B-20
Exercício 13: Mantendo a Integridade dos Dados B-22
Exercício 14: Carregando Dados B-23
Exercício 15: Reorganizando Dados B-24
Exercício 16: Gerenciando a Segurança de Senha B-25
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura xi
12. Sumário
.....................................................................................................................................................
Exercício 17: Gerenciando Usuários B-26
Exercício 18: Gerenciando Privilégios B-27
Exercício 19: Gerenciando Atribuições B-28
Exercício 20: Usando o Suporte a Idioma Nacional
(National Language Support – NLS) B-29
Apêndice C: Soluções dos Exercícios Para SQL*Plus
Soluções do Exercício 1 C-2
Soluções do Exercício 2 C-4
Soluções do Exercício 3 C-7
Soluções do Exercício 4 C-17
Soluções do Exercício 5 C-21
Soluções do Exercício 6 C-25
Soluções do Exercício 7 C-28
Soluções do Exercício 8 C-34
Soluções do Exercício 9 C-41
Soluções do Exercício 10 C-47
Soluções do Exercício 11 C-55
Soluções do Exercício 12 C-60
Soluções do Exercício 13 C-64
Soluções do Exercício 14 C-70
Soluções do Exercício 15 C-76
Soluções do Exercício 16 C-81
Soluções do Exercício 17 C-85
Soluções do Exercício 18 C-88
Soluções do Exercício 19 C-93
Soluções do Exercício 20 C-96
Apêndice D: Soluções dos Exercícios para o Oracle Enterprise Manager
Soluções do Exercício 1 D-2
Soluções do Exercício 2 D-3
Soluções do Exercício 3 D-4
Soluções do Exercício 4 D-8
Soluções do Exercício 5 D-9
Soluções do Exercício 6 D-10
.....................................................................................................................................................
xii Enterprise DBA Parte 1A: Administração e Arquitetura
13. Sumário
.....................................................................................................................................................
Soluções do Exercício 7 D-12
Soluções do Exercício 8 D-19
Soluções do Exercício 9 D-25
Soluções do Exercício 10 D-26
Soluções do Exercício 11 D-37
Soluções do Exercício 12 D-42
Soluções do Exercício 13 D-47
Soluções do Exercício 14 D-49
Soluções do Exercício 15 D-52
Soluções do Exercício 16 D-59
Soluções do Exercício 17 D-64
Soluções do Exercício 18 D-71
Soluções do Exercício 19 D-76
Soluções do Exercício 20 D-80
Apêndice E: Teste de Certificação: Exemplos de Perguntas
Programa Oracle Certified Professional (OCP):
Oracle Certified Database Administrator Track E-2
Administração de Banco de Dados Oracle: Exemplo e Teste E-3
Exemplo de Teste de Backup e Recuperação do Oracle E-5
Respostas E-8
Inscrevendo-se em um Teste OCP E-9
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura xiii
15. 15
.................................
Reorganizando Dados
16. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Objetivos
Objetivos
Após completar esta lição, você poderá executar
o seguinte:
• Reorganizar dados usando os utilitários
Exportar e Importar
• Mover dados usando tablespaces transportáveis
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
.....................................................................................................................................................
15-2 Enterprise DBA Parte 1A: Administração e Arquitetura
17. Visão Geral
.....................................................................................................................................................
Visão Geral
Movendo Dados Usando Exportar e Importar
Exportar
Arq. S/O
Arquivos
de dados
Importar
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Utilitários Exportar e Importar
Os utilitários Exportar e Importar permitem que o administrador mova dados entre
bancos de dados Oracle, e dentro de um banco de dados Oracle, para usuários ou
diferentes tablespaces, ou reorganize os dados para armazenamento e desempenho
eficientes.
Utilitário Exportar
O utilitário Exportar pode ser usado para criar uma cópia lógica de definições de
objeto e dados em um arquivo binário de sistema operacional. A exportação pode
gravar dados em um arquivo no disco ou fita. O utilitário Exportar extrai uma view
consistente de dados de cada tabela.
Utilitário Importar
O utilitário Importar pode ler os arquivos do sistema operacional criados pelo utilitário
Exportar e copiar definições de objeto e dados para um banco de dados Oracle. O
utilitário Importar não consegue ler arquivos de texto ou arquivos criados em qualquer
outro formato.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-3
18. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Usos de Exportar e Importar
• Reorganizar tabelas
• Mover dados pertencentes a um usuário para
outro usuário
• Mover dados entre bancos de dados:
– Desenvolvimento para produção
– Sistema OLTP para um data warehouse
• Migrar o banco de dados para outro(a):
– Plataforma de S/O
– Versão do banco de dados Oracle
• Repetir execuções de teste durante
desenvolvimento ou upgrade
• Executar um backup lógico
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Usando os Utilitários Exportar e Importar
Exportar e Importar podem ser usados nos seguintes casos:
• Reorganizar tabelas: Existem várias instâncias em que é necessário reorganizar
tabelas:
– Os dados em um tablespace podem precisar ser movidos de um tablespace para
outro para minimizar a disputa, reduzir a fragmentação do espaço livre ou para
facilitar o backup.
– Uma tabela pode conter várias linhas migradas.
– Uma tabela pode ter vários blocos com grandes volumes de espaço livre.
– Uma tabela pode ter muitos blocos vazios abaixo da marca d'água.
• Mover dados pertencentes a um usuário para outro usuário: Isso pode ser
necessário quando um esquema precisa ser removido do banco de dados ou para
redistribuir propriedade de objetos. Dados que foram exportados de um usuário
podem ser importados para o esquema de outro usuário.
• Mover dados entre bancos de dados: As definições de objeto podem ser movidas
do desenvolvimento para a produção através da extração apenas das definições,
sem considerar os dados. Exportar e Importar também podem ser usados para
extrair dados de uma aplicação OLTP (Online Transaction Processing System)
para um data warehouse.
• Migrar outra plataforma de sistema operacional ou versão do Oracle: Dados
exportados de uma máquina podem ser importados para um banco de dados em
uma outra máquina, possivelmente usando outro conjunto de caracteres.
.....................................................................................................................................................
15-4 Enterprise DBA Parte 1A: Administração e Arquitetura
19. Visão Geral
.....................................................................................................................................................
Usando os Utilitários Exportar e Importar (continuação)
• Migrar para outra versão do banco de dados Oracle: Quando você atualiza para
uma nova versão do servidor Oracle, os dados podem ser exportados da versão
antiga e importados para a nova versão. Observe que talvez não seja possível usar
esse método para mover dados de uma versão posterior para uma versão anterior.
• Repetir execuções de teste durante desenvolvimento ou upgrade: Em um banco de
dados de desenvolvimento ou teste, uma aplicação pode exigir diversas execuções
de teste antes de ser totalmente depurada e aceita. Os dados de teste podem ser
exportados para um arquivo externo e importados antes de cada execução para
garantir que os testes sejam executados no mesmo conjunto de dados. Esse método
também é útil para testar uma nova versão do servidor Oracle antes de uma
atualização de um banco de dados de produção.
• Executar um backup lógico: Alguns ou todos os objetos de um banco de dados
podem ser exportados e o arquivo de exportação pode ser usado como um backup
lógico.
Nesta lição, é apresentado o uso de Exportar e Importar para reorganização de dados e
movimentação de dados entre usuários.
Observação: O uso de Exportar e Importar para backup e recuperação será abordado
detalhadamente no curso Enterprise DBA Part 1B: Backup and Recovery.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-5
20. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Modos de Exportação
Banco
Tabela Usuário
de Dados
• Tabela • Todos os • Todos os
• Índices objetos objetos no
pertencentes banco de
• Gatilhos ao usuário, dados, exceto
• Restrições exceto índices objetos
e gatilhos nas pertencentes
• Concessões tabelas de ao SYS
• Método de outros usuários
análise
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Três Modos de Exportação
O utilitário Exportar fornece três modos de exportação:
• Tabela
• Usuário
• Banco de dados
Modo de Tabela
Todos os usuários podem usar o modo de tabela para exportar suas próprias tabelas.
Os usuários privilegiados podem exportar tabelas pertencentes a qualquer usuário.
O uso do modo de tabela exporta:
• A definição da tabela.
• Dados em uma tabela, se necessário.
• Todos os índices da tabela se a exportação for executada por um usuário
privilegiado. Caso contrário, serão exportados somente os índices da tabela que
pertençam ao usuário.
• Todos os gatilhos da tabela somente se o utilitário for executado por um usuário
privilegiado. Caso contrário, serão exportados somente os gatilhos da tabela
pertencentes ao usuário.
• Restrições na tabela.
• Todas as concessões feitas na tabela.
• Definição do método de análise a ser utilizado na importação.
.....................................................................................................................................................
15-6 Enterprise DBA Parte 1A: Administração e Arquitetura
21. Visão Geral
.....................................................................................................................................................
Modo de Usuário
A exportação do modo de usuário funcionará de forma diferente dependendo do fato
de o usuário que está executando a exportação possuir ou não privilégios especiais.
• Um usuário privilegiado pode exportar objetos pertencentes a qualquer usuário.
Nesse caso, os objetos exportados são:
– Todos os objetos pertencentes ao usuário, exceto índices e gatilhos
pertencentes ao usuário, mas que estejam em tabelas pertencentes a outro
usuário.
– Gatilhos e índices criados por outros usuários nas tabelas do usuário.
• Os usuários não privilegiados podem exportar somente objetos de sua propriedade
e esse modo não incluirá índices ou gatilhos criados por outros usuários nas tabelas
pertencentes a esse usuário.
Modo de Banco de Dados Integral
Quando esse modo é utilizado, são exportados todos os objetos do banco de dados,
exceto os pertencentes ao usuário SYS. Esse modo exige privilégios especiais e não
pode ser usado por todos os usuários.
Observação: Em todos os três modos de exportação, usuários privilegiados são
usuários com a atribuição EXP_FULL_DATABASE. Essa atribuição será abordada
detalhadamente na lição "Gerenciando Atribuições".
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-7
22. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Exportação de Caminho Convencional e Direto
Direto
Arquivo Convencional
Exportar
Exportar
de dump
Buffer de Processamento
avaliação de comando SQL
Buffer privado Gerenciamento
ou cache de cache de buffer
de buffer
Leitura de bloco
do banco de dados
Banco de
Dados
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Caminhos de Exportação
O slide mostra a diferença entre exportações de caminho convencional e de caminho
direto.
Caminho Convencional
Este termo refere-se ao método default usado para formatar de dados de um banco
de dados e gravá-los em um arquivo de exportação. A exportação de caminho
convencional usa a instrução SQL SELECT para extrair dados de tabelas. Os dados
são lidos do disco para um cache de buffer e as linhas são transferidas para o buffer de
avaliação. Os dados, após passarem pela avaliação da expressão, são transferidos para
o cliente da exportação que, em seguida, grava os dados no arquivo de exportação.
Caminho Direto
A exportação de caminho direto é muito mais rápida do que uma exportação de
caminho convencional por ler os dados diretamente e ignorar a camada de
processamento de comandos SQL. Em uma exportação de caminho direto, os dados
são lidos do disco para o cache de buffer e as linhas são transferidas diretamente para o
processo de exportação. O buffer de avaliação é ignorado — isto é, os dados nos
blocos não são reorganizados para reunir fragmentos de linha. Os dados já estão no
formato esperado pelo Exportar evitando, assim, a desnecessária conversão de dados.
Os dados são transferidos para o processo de exportação que, em seguida, grava os
dados no arquivo de exportação.
O utilitário Importar pode usar um arquivo de exportação criado por qualquer um dos
caminhos. O tempo despendido para executar a importação não é afetado de forma
significativa pelo caminho de exportação utilizado.
.....................................................................................................................................................
15-8 Enterprise DBA Parte 1A: Administração e Arquitetura
23. Visão Geral
.....................................................................................................................................................
Usando Exportar
$exp scott/tiger tables=(dept,emp)
$exp scott/tiger tables=(dept,emp)
> file=emp.dmp log=exp.log
> file=emp.dmp log=exp.log
> compress=n direct=y
> compress=n direct=y
emp.dmp
Exportar
Exportar
Tabelas
DEPT e EMP exp.log
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Usando Exportar
Exportar pode ser chamado por:
• Linha de comandos
• Modo interativo
• Interface gráfica, quando disponível
O modo interativo é fornecido principalmente para retrocompatibilidade e não oferece
a faixa completa de opções proporcionadas pela linha de comandos. Como resultado, o
uso do modo de linha de comandos é recomendado.
Linha de Comandos
Use o comando a seguir no UNIX ou Windows NT para executar uma exportação:
$exp [keyword=]{value|(value, value ...)}
[ [ [,] keyword=]{value|(value, value ...)} ] ...
onde: keyword é uma das palavras-chave abordadas na
próxima seção
value é o valor atribuído à palavra-chave
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-9
24. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Linha de Comandos (continuação)
Observação
• Se não forem especificadas palavras-chave, os valores precisarão ser especificados
na ordem correta. Embora essa opção esteja disponível, é em geral aconselhável
usar as palavras-chave.
• Conforme mostrado no slide, é possível especificar os primeiros valores sem
palavras-chave e, em seguida, especificar outros valores com palavras-chave.
• Alguns sistemas operacionais, como o UNIX, utilizam caracteres de escape antes
de caracteres especiais, como um parêntese, para que o caractere não seja tratado
como um caractere especial.
Windows NT: Linha de Comandos
Use o mesmo comando no Windows NT para executar uma exportação:
C:>EXP [keyword=]{value|(value, value ...)}
[ [ [,] keyword=]{value|(value, value ...)} ] ...
Observação: As views necessárias para os utilitários Exportar e Importar são criadas
através da execução do script catexp.sql, chamado quando o script catalog.sql
é executado.
.....................................................................................................................................................
15-10 Enterprise DBA Parte 1A: Administração e Arquitetura
25. Visão Geral
.....................................................................................................................................................
Como Usar o Oracle Enterprise Manager para Exportar Dados
1 Inicie a console do Oracle Enterprise Manager:
(N) Start (Iniciar) —> Programs (Programas) —> Oracle - EMV2 Home —>
Oracle Enterprise Management —> Enterprise Manager Console
2 Informe o administrador, senha e servidor de gerenciamento. Clique em OK para
estabelecer login na console.
3 Expanda a pasta Databases (Bancos de Dados).
4 Selecione o banco de dados de trabalho e escolha Data Management
(Gerenciamento de Dados) —> Exportar no menu do botão direito do mouse.
5 Informe o nome do arquivo de exportação em Export Filepage (Página de Arquivo
de Exportação) e clique em Next (Próximo).
6 Especifique o tipo de exportação na página Export Type (Tipo de Exportação) e
clique em Next.
7 Especifique os objetos associados e clique em Next.
8 Selecione os objetos a serem exportados na página Object Selection (Seleção de
Objetos) do Assistente do Data Manager.
9 Especifique os objetos associados a serem exportados, como índices e linhas, e o
caminho na página Associated Objects (Objetos Associados).
10 Especifique os parâmetros de programação e clique em Finish (Finalizar).
11 Verifique os parâmetros informados na página Summary (Resumo) e
clique em OK.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-11
26. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Parâmetros de Linha de Comandos
Alguns dos parâmetros normalmente usados são mostrados abaixo.
Palavra-chave Default Significado
USERID Nome de usuário e senha do Oracle. Se a senha não
for especificada, um prompt solicitará que o
usuário a forneça.
BUFFER Específico O tamanho do buffer que será usado para
do OS armazenar as linhas extraídas antes de serem
(Operational gravadas no arquivo de exportação.
System,
sistema
operacional)
COMPRESS Y Um valor Y especifica que na importação o
tamanho da extensão inicial será definido como
um valor igual ao tamanho atual do segmento. Um
valor N fará os tamanhos de extensão atuais serem
mantidos. A escolha precisa ser feita na exportação
porque as informações são gravadas no arquivo de
exportação.
Os segmentos de LOB não são compactados.
CONSISTENT N Um valor Y especifica que a operação de
exportação inteira seja executada em uma
transação somente para leitura. A exportação
tentará obter uma imagem com leitura consistente
de todos os objetos exportados. Um valor N
especifica que é necessário manter somente
consistência em nível de tabela.
CONSTRAINTS Y Um valor Y especifica que as restrições devem ser
exportadas com a tabela. Um valor N faz as
restrições não serem exportadas.
DIRECT N Um valor Y especifica que o caminho direto seja
usado para a exportação. Um valor N utiliza o
caminho convencional.
FEEDBACK 0 Esse parâmetro é especificado como um número
inteiro n para solicitar que um ponto (.) seja
exibido quando n linhas forem exportadas. Zero,
o default, indica que nenhum ponto será exibido.
FILE expdat.dmp Nome do arquivo de saída.
FULL N Um valor Y especifica exportação de banco de
dados integral.
.....................................................................................................................................................
15-12 Enterprise DBA Parte 1A: Administração e Arquitetura
27. Visão Geral
.....................................................................................................................................................
Palavra-chave Default Significado
GRANTS Y Um valor Y especifica que todas as concessões
em objetos exportados também precisam ser
preservadas na importação.
HELP N Um valor Y exibe uma lista dos parâmetros e seus
significados. Esse parâmetro não é combinado com
outros parâmetros.
INDEXES Y Um valor Y faz os índices serem exportados.
LOG NULL O nome do arquivo para armazenar todas as
mensagens de exportação. Por default, as
mensagens são exibidas somente na tela.
OWNER Os nomes dos usuários para exportação no nível
de usuário.
PARFILE Especifica o nome do arquivo que contém uma
lista de parâmetros de exportação.
RECORDLENGTH Específico do O tamanho do registro de saída.
S/O
ROWS Y Um valor Y especifica que os dados devem ser
exportados.
STATISTICS ESTIMATE Especifica o método de análise a ser usado na
importação.
TABLES esquema.tabela para exportação no modo de
tabela.
Observação
• Somente um dos parâmetros, FULL=Y, OWNER=usuário ou
TABLES=esquema.tabela, pode ser definido.
• Se for especificado o caminho direto (DIRECT=Y), o parâmetro CONSISTENT
não poderá ser definido como Y.
• Nem todos os parâmetros estão definidos aqui. Para obter uma referência
completa, consulte o capítulo "Export" no manual Oracle8i Utilities.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-13
28. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Usando Importar
$imp scott/tiger tables=(dept,emp)
$imp scott/tiger tables=(dept,emp)
> file=emp.dmp log=imp.log ignore=y
> file=emp.dmp log=imp.log ignore=y
imp.log
emp.dmp Importar
Importar
Banco
de Dados
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Usando Importar
Importar pode ser chamado através de:
• Linha de comandos
• Modo interativo
• Interface gráfica, quando disponível
O modo interativo é fornecido principalmente para retrocompatibilidade e não oferece
a faixa completa de opções oferecida pela linha de comandos. Como resultado, o uso
do modo de linha de comandos é recomendado.
Linha de Comandos
Use o comando a seguir no UNIX ou Windows NT para executar uma exportação:
$imp [keyword=]{value|(value, value ...)}
[ [ [,] keyword=]{value|(value, value ...)} ] ...
onde: keyword é uma das palavras-chave abordadas na
próxima seção
value é o valor atribuído à palavra-chave
Windows NT: Linha de Comandos
O comando do Windows é igual ao do UNIX:
C:>IMP [keyword=]{value|(value, value ...)}
[ [ [,] keyword=]{value|(value, value ...)} ] ...
.....................................................................................................................................................
15-14 Enterprise DBA Parte 1A: Administração e Arquitetura
29. Visão Geral
.....................................................................................................................................................
Como Usar o Oracle Enterprise Manager para Importar Dados
1 Inicie a console do Oracle Enterprise Manager:
(N) Start (Iniciar) —> Programs (Programas) —> Oracle - EMV2 Home —>
Oracle Enterprise Management —> Enterprise Manager Console
2 Informe o administrador, senha e servidor de gerenciamento. Clique em OK para
estabelecer login na console.
3 Expanda a pasta Databases (Bancos de Dados).
4 Selecione o banco de dados de trabalho e escolha Data Management
(Gerenciamento de Dados) —> Importar no menu do botão direito do mouse.
5 Especifique o nome do arquivo de exportação a ser importado e clique em Next
(Próximo).
6 Aguarde a finalização do serviço.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-15
30. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Parâmetros de Linha de Comandos
Alguns dos parâmetros usados normalmente são mostrados abaixo.
Palavra-chave Default Significado
USERID Nome de usuário e senha do Oracle. (Se a senha não
for especificada, um prompt solicitará que o usuário
a informe.)
BUFFER Específico do Tamanho, em bytes, do buffer através do qual as
S/O linhas de dados são transferidas.
COMMIT N Um valor Y especifica que Importar deve efetuar
uma submissão a commit após cada inserção de
array. Por default, Importar efetua uma submissão a
commit somente após carregar cada tabela e efetua
um rollback quando ocorrem erros, antes de
prosseguir para o próximo objeto. A especificação
de COMMIT=Y impede o crescimento excessivo
dos segmentos de rollback.
FEEDBACK 0 Esse parâmetro é especificado como um número
inteiro n para solicitar que um ponto (.) seja exibido
quando n linhas forem importadas. O valor default
suprime a exibição.
FILE expdat.dmp Nome do arquivo de entrada.
FROMUSER NULL Uma lista dos usuários cujos objetos devem ser
importados.
FULL N Um valor Y especifica importação de banco de
dados integral.
GRANTS Y Um valor Y especifica que todas as concessões nos
objetos importados também devem ser importadas.
HELP N Um valor Y exibe uma lista dos parâmetros e seus
significados. Esse parâmetro não é combinado com
outros parâmetros.
.....................................................................................................................................................
15-16 Enterprise DBA Parte 1A: Administração e Arquitetura
31. Visão Geral
.....................................................................................................................................................
Palavra-chave Default Significado
IGNORE N Se o valor for definido como Y, Importar ignorará
erros de criação de objeto ao tentar criar objetos de
banco de dados. Nesse caso, Importar prosseguirá
sem relatar o erro. Para tabelas, IGNORE=Y faz
linhas serem importadas para tabelas existentes.
Nenhuma mensagem é fornecida. IGNORE=N faz
um erro ser relatado e, se a tabela já existir, ela será
ignorada.
Observe que somente erros de criação de objeto são
ignorados; outros erros, como erros de sistema
operacional, banco de dados e SQL, não são
ignorados e podem provocar interrupção do
processamento.
INDEXES Y Um valor Y faz índices serem importados.
INDEXFILE NULL Especifica um arquivo para receber comandos de
criação de índice. Quando esse parâmetro é
especificado, os comandos de criação de índice do
modo solicitado são extraídos e gravados no arquivo
especificado em vez de serem usados para criar
índices no banco de dados. Tabelas e outros objetos
de banco de dados não são importados.
O arquivo pode, em seguida, ser editado (por
exemplo, para alterar parâmetros de
armazenamento) e usado como um script SQL
para criar os índices.
LOG NULL O nome do arquivo para armazenar todas as
mensagens de importação. Por default, as
mensagens são exibidas somente na tela.
PARFILE Especifica o nome do arquivo que contém uma lista
de parâmetros de importação.
RECORDLENGTH Específico do O tamanho do registro de saída. Será necessário
S/O somente se os dados tiverem sido exportados em um
sistema operacional com tamanho de registro
diferente.
ROWS Y Um valor Y especifica que os dados devem ser
importados.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-17
32. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Palavra-chave Default Significado
SHOW N Se o valor for Y, o conteúdo do arquivo de
exportação será listado para exibição e não
importado. As instruções SQL contidas na
exportação são exibidas na ordem em que serão
executadas pela importação. Se SHOW=Y, os
únicos outros parâmetros que poderão ser definidos
são FROMUSER, TOUSER, FULL e TABLES.
TABLES NULL Nomes das tabelas a serem importadas.
TOUSER NULL Uma lista dos nomes de usuário para importar
tabelas. Somente usuários com atribuição
IMP_FULL_DATABASE podem usar esse
parâmetro para importar objetos para a conta de
outro usuário.
Observação
• Somente um dos parâmetros, FULL=Y, OWNER=usuário ou
TABLES=esquema.tabela, pode ser definido.
• A atribuição IMP_FULL_DATABASE será abordada na lição "Gerenciando
Atribuições".
• Nem todos os parâmetros estão definidos aqui. Para obter uma referência
completa, consulte o capítulo "Import" no manual Oracle8i Utilities.
.....................................................................................................................................................
15-18 Enterprise DBA Parte 1A: Administração e Arquitetura
33. Visão Geral
.....................................................................................................................................................
Comportamento de Importar
• Ordem de importação:
Tabela —> Dados —> Índices em árvore
B —> restrições, gatilhos, índices de bitmap
• Tablespace usado para o objeto:
– Tablespace igual ao do banco de dados de
origem, se possível
– Tablespace default do usuário
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Ordem de Importação
Os objetos de tabela são importados na forma como são lidos no arquivo de
exportação. O arquivo de exportação contém objetos na seguinte ordem:
1 Definições de tipo
2 Definições de tabela
3 Dados de tabela
4 Índices de tabela
5 Restrições de integridade, views, procedimentos e gatilhos
6 Índices de bitmap, funcionais e de domínio
Essa seqüência impede a rejeição de dados em decorrência da ordem em que as tabelas
são importadas. Essa seqüência também impede que gatilhos redundantes sejam
disparados duas vezes no mesmo dia (uma vez ao ser inserido originalmente e
novamente durante a importação).
Entretanto, alguns objetos, como procedimentos, podem ser invalidados na importação
por serem importados antes dos objetos a que fazem referência. Verifique os objetos
com STATUS=INVALID e recompile-os.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-19
34. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Considerações sobre a Importação em Tabelas Existentes
Quando são importados dados para tabelas existentes, a ordem da importação pode
continuar a produzir falhas de referência de integridade. Uma situação semelhante
ocorre quando uma restrição de referência de integridade em uma tabela faz referência
a si mesma no fim da importação.
Pelas razões mencionadas anteriormente, é aconselhável desativar restrições de
referência para importar para uma tabela existente. As restrições poderão ser ativadas
novamente após a conclusão da importação.
Tablespace Usado para um Objeto
Se um usuário tiver a cota necessária, as tabelas serão importadas para o mesmo
tablespace de onde elas foram exportadas. Contudo, se o tablespace não existir mais
ou se o usuário não tiver a cota necessária, Importar criará a tabela no tablespace
default desse usuário. Se um usuário não puder acessar o tablespace default, a tabela
não poderá ser importada.
Um segmento de LOB pode ser importado somente para o mesmo tablespace de onde
ele foi exportado. Portanto, uma tabela que contenha LOBs não será criada se seu
proprietário não puder criar objetos no tablespace de onde o segmento de LOB foi
exportado.
Observação: As cotas e o controle do uso de tablespaces por usuários serão abordados
na lição "Gerenciando Usuários".
.....................................................................................................................................................
15-20 Enterprise DBA Parte 1A: Administração e Arquitetura
35. Visão Geral
.....................................................................................................................................................
Diretrizes de Exportar e Importar
• Use um arquivo de parâmetros para especificar
opções de linha de comandos normalmente usadas.
• Use CONSISTENT=Y somente se estiver exportando
um volume pequeno de dados.
• Não use COMPRESS=Y se houver muitas
linhas deletadas.
• Melhore o desempenho:
– Alocando um buffer grande
– Utilizando caminho direto se estiver usando
7.3.3 ou superior
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Diretrizes de Exportação e Importação
Use um arquivo de parâmetros para armazenar parâmetros de linha de comandos
usados normalmente. Isso minimiza erros e mantém a linha de comandos menor.
Se as tabelas que estão sendo exportadas forem atualizadas com freqüência, usar
CONSISTENT=Y provavelmente produzirá erros SNAPSHOT TOO OLD. Em geral,
é preferível executar grandes exportações durante períodos de baixa atividade. Como
alternativa, crie um grande segmento de rollback, coloque todos os outros como off-
line e execute a importação.
A opção de exportação COMPRESS=Y gerará código para criar uma extensão inicial,
que é igual à soma dos tamanhos de todas as extensões alocadas no momento para um
objeto. Se o objeto tiver muitas linhas deletadas ou se a última extensão tiver muitos
blocos não utilizados, esse procedimento alocará sem necessidade muito espaço do
objeto.
Aloque o maior buffer permitido pelo sistema operacional e recursos da máquina. Use
exportação de caminho direto se os dados forem importados para um banco de dados
que esteja executando a versão 7.3.3 ou superior.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-21
36. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Considerações Sobre NLS
em Exportar e Importar
Exportar conjunto de
Exportar
Exportar carecteres do cliente
Conjunto de
caracteres do Importar
banco de dados
Importar
Importar conjunto de
caracteres do cliente
Conversão possível de conjunto de caracteres
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Exportação e Conversão de Conjunto de Caracteres
A exportação de caminho convencional grava arquivos de exportação usando o
conjunto de caracteres especificado para a sessão do usuário, como, por exemplo,
ASCII de 7 bits ou IBM CODE Page 500 (EBCDIC).
As exportações de caminho direto exportam dados somente no conjunto de caracteres
do banco de dados. Se o conjunto de caracteres da sessão de exportação não for igual
ao conjunto de caracteres do banco de dados, ao ser iniciada a exportação, Exportar
exibirá uma advertência e abortará. Especifique o conjunto de caracteres da sessão
igual ao do banco de dados antes de tentar a exportação novamente.
O arquivo de exportação contém um indicador que mostra o esquema de codificação
de caracteres usado para esses dados de caracteres.
Importação e Conversão de Conjunto de Caracteres
A sessão de importação e o conjunto de caracteres do banco de dados de destino
podem diferir do conjunto de caracteres do banco de dados de origem. Essa situação
requer uma ou mais operações de conversão de conjunto de caracteres.
Se necessário, os dados do arquivo de exportação serão primeiro convertidos durante a
importação para o esquema de codificação de caracteres especificado para a sessão do
usuário e, em seguida, para o conjunto de caracteres do banco de dados.
Durante a conversão, quaisquer caracteres do arquivo de exportação que não tenham
equivalente no conjunto de caracteres de destino serão substituídos pelo caractere
default, definido pelo conjunto de caracteres de destino. Para garantir 100% de
conversão, o conjunto de caracteres de destino deverá ser um superconjunto ou
equivalente do conjunto de caracteres de origem.
.....................................................................................................................................................
15-22 Enterprise DBA Parte 1A: Administração e Arquitetura
37. Visão Geral
.....................................................................................................................................................
Diretrizes
Como a conversão de conjunto de caracteres torna mais longo o tempo necessário para
processamento de importação, limite o número de conversões de conjuntos de
caracteres para o menor número possível. No cenário ideal, os conjuntos de caracteres
da sessão de importação e do banco de dados de destino são iguais aos conjuntos de
caracteres do banco de dados de origem, não exigindo conversão.
Observação: A definição do conjunto de caracteres no nível da sessão e seu impacto
sobre as diversas operações de banco de dados serão abordados detalhadamente na
lição "Usando o Suporte a Idioma Nacional (National Language Support – NLS)".
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-23
38. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Tablespaces Transportáveis
Transporte de Dados:
Tablespaces Transportáveis
OLTP
Área
intermediária Data Datamarts
warehouse
Distribuição de
informações
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Tablespaces Transportáveis
Mover dados de um data warehouse para um datamart ou de um sistema OLTP para
uma área intermediária de um data warehouse pode ser incômodo e demorado. A carga
de caminho direto através do SQL*Loader ou DML paralelo torna a tarefa mais
rápida, mas o processo pode ser mais simples para movimentação de dados entre
bancos de dados idênticos. O Oracle8i oferece um mecanismo para copiar arquivos de
dados entre sistemas idênticos e permitir que os mesmos dados sejam acessados pelos
dois sistemas. Agora a movimentação de dados pode ser tão rápida quanto uma
simples transferência de arquivos entre máquinas. Isso melhora bastante o
desempenho e proporciona simplicidade operacional para transferência de dados.
Sistemas de Informações Corporativos
Um grande volume de dados pode fluir por um sistema de informações corporativo, de
um banco de dados OLTP para um banco de dados intermediário e, em seguida, por
um data warehouse da empresa para datamarts. Nesse ambiente, tablespaces
transportáveis podem ser usados para diversas finalidades. Normalmente, tabelas em
um data warehouse não são iguais as do banco de dados OLTP. É possível usar um
tablespace transportável para mover dados de um banco de dados OLTP para um DSS
(Decision Support System, Serviço de Suporte de Decisões) ou banco de dados de
warehouse.
.....................................................................................................................................................
15-24 Enterprise DBA Parte 1A: Administração e Arquitetura
39. Tablespaces Transportáveis
.....................................................................................................................................................
Distribuição de Informações
Esse recurso também pode ser usado por:
• Empresas para publicar dados em CD-ROMs que podem ser facilmente integrados
a bancos de dados Oracle em escritórios regionais e de área.
Por exemplo, é possível preencher e atualizar das tabelas PRODUCT com
descrições de produto e preço no escritório central e movê-las para escritórios
regionais ou filiais para serem usadas em um sistema de processamento de
pedidos.
• Provedores de conteúdo para distribuir para organizações dados estruturados,
como catálogos de empresas e dados demográficos, para fácil integração em seus
sistemas de suporte à decisão.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-25
40. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Transportando um Tablespace
Transportando Tablespaces
1. Torne o tablespace somente para leitura
2. Exporte metadados da origem
3. Copie arquivos de dados para o sistema
de destino
4. Transfira arquivo de exportação
5. Importe metadados para o destino
6. Se necessário, altere o tablespace para
leitura/gravação
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Etapas para Transportar um Tablespace
Use as etapas mostradas abaixo para mover um tablespace de um banco de dados para
outro.
1 Para garantir que nenhuma alteração seja efetuada no arquivo enquanto ele estiver
sendo movido, defina o tablespace como somente para leitura.
2 Use Exportar para capturar as informações de dicionário de dados para um arquivo
do sistema operacional.
3 Faça uma cópia do tablespace executando uma cópia binária dos arquivos de dados
da origem na máquina de destino.
4 Transfira o arquivo de exportação para a máquina de destino.
5 Use Importar para carregar as informações de dicionário de dados no destino.
6 Se necessário, altere o tablespace no banco de dados de origem ou destino para
permitir gravação.
.....................................................................................................................................................
15-26 Enterprise DBA Parte 1A: Administração e Arquitetura
41. Exportando e Importando Metadados
.....................................................................................................................................................
Exportando e Importando Metadados
Exportando e Importando Metadados
exp sys/… FILE=s980501.dmp
exp sys/… FILE=s980501.dmp
TRANSPORT_TABLESPACE=y
TRANSPORT_TABLESPACE=y
TABLESPACES=sales_ts
TABLESPACES=sales_ts
TRIGGERS=N CONSTRAINTS=N
TRIGGERS=N CONSTRAINTS=N
imp sys/… FILE=s980501.dmp
imp sys/… FILE=s980501.dmp
TRANSPORT_TABLESPACE=y
TRANSPORT_TABLESPACE=y
DATAFILES=(/disk1/sales01.dbf,
DATAFILES=(/disk1/sales01.dbf,
/disk2/sales02.dbf)
/disk2/sales02.dbf)
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Exportando Metadados
O uso da opção TRANSPORT_TABLESPACE especifica que as informações do
dicionário de dados sobre todos os objetos nos tablespaces precisam ser exportadas.
A nova cláusula TRIGGERS, junto com CONSTRAINTS e GRANTS, pode ser usada
para controlar se as informações associadas serão exportadas quando a tabela for
exportada.
É útil transferir todos os dados relacionados durante a publicação de dados
estruturados, embora talvez não seja necessário copiar gatilhos e restrições se estiver
copiando dados para um data warehouse.
Importando Metadados
Use o utilitário Importar com a opção TRANSPORT_TABLESPACE para atualizar o
dicionário de dados de destino com o tablespace e outras definições de objeto. As
seguintes regras controlam a operação de importação:
• A opção DATAFILES deve ser especificada. Ela nomeia os arquivos pertencentes
ao tablespace que está sendo transferido. Use os nomes da forma como eles estão
armazenados no computador de destino, mesmo que eles sejam diferentes dos
nomes de arquivo originais.
• Se a cláusula TABLESPACES for especificada, os nomes de tablespace fornecidos
serão comparados com os do arquivo de exportação. Caso contrário, os nomes de
tablespace serão extraídos do arquivo de exportação.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-27
42. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Importando Metadados (continuação)
• A opção USERS pode ser especificada para comparar os nomes de usuário com os
do arquivo de metadados. Caso contrário, os nomes de usuário serão extraídos do
arquivo de exportação.
• As opções FROMUSER e TOUSER podem ser usadas para importar objetos de
um esquema de origem para um esquema de destino.
.....................................................................................................................................................
15-28 Enterprise DBA Parte 1A: Administração e Arquitetura
43. Transportando um Tablespace
.....................................................................................................................................................
Transportando um Tablespace
Transportando um Tablespace
Sistema 1 Sistema 2
s980501.dmp
s980501.dmp
/u/d1 /disk1
/u/d2 /disk2
SALES_TS SALES_TS
/u/d1/sales1.dbf
/u/d1/sales1.dbf /disk1/sales01.dbf
/disk1/sales01.dbf
/u/d2/sales2.dbf
/u/d2/sales2.dbf /disk2/sales02.dbf
/disk2/sales02.dbf
Somente
Para Leitura
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Transportando um Tablespace
O slide mostra o transporte do tablespace SALES_TS do Sistema 1 para o
Sistema 2. O transporte requer que estas etapas sejam executadas:
1 Coloque o tablespace no modo somente para leitura no banco de dados de origem
do Sistema 1.
SQL> ALTER TABLESPACE sales_ts READ ONLY;
2 Exporte os metadados do tablespace do banco de dados de origem no Sistema 1.
exp FILE=x980501.dmp TRANSPORT TABLESPACE=y
TABLESPACE=sales_ts TRIGGERS=n CONSTRAINTS=n
3 Copie fisicamente os arquivos de dados do tablespace System 1 para System 2.
Observe que os nomes de arquivo dos dados são alterados durante a cópia.
4 Copie fisicamente o arquivo de exportação, s980501.dmp, do Sistema 1 para o
Sistema 2.
5 Importe os metadados do tablespace para o banco de dados de destino, usando os
nomes de arquivo de dados fornecidos no Sistema 2.
imp FILE=x980501.dmp TRANSPORT TABLESPACE=y
DATAFILES=(/disk1/sales01.dbf,/disk2/sales02.dbf)
6 Os dados do tablespace SALES_TS estão disponíveis para consulta nos dois
sistemas. O tablespace pode ser retornado ao modo leitura/gravação em um nó ou
nos dois nós.
SQL> ALTER TABLESPACE sales_ts READ WRITE;
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-29
44. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Usos do Tablespace Transportável
Tablespaces Transportáveis: Usos
• Move dados de tablespace integrais
• Suporta recuperação de mídia
• Bancos de dados de origem e destino devem:
– Estar no mesmo sistema operacional
– Executar o Oracle8i, versão 8.1 ou superior
– Ter o mesmo tamanho de bloco
– Usar o mesmo conjunto de caracteres
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Uso
A recuperação de mídia é suportada através da operação de transporte. No caso de
danos de mídia, você pode usar um backup realizado antes de uma operação de
transporte de tablespace e fazer a recuperação para um momento posterior ao do
transporte do tablespace.
A coluna PLUGGED_IN em DBA_TABLESPACES será definida como YES após a
importação. Um tablespace associado deverá ser eliminado antes que seja efetuado
downgrade para versões anteriores. Você pode transportar o tablespace para outro
banco de dados Oracle8i para preservar dados ou usar Importar e Exportar.
.....................................................................................................................................................
15-30 Enterprise DBA Parte 1A: Administração e Arquitetura
45. Tablespaces Transportáveis e Objetos de Esquema
.....................................................................................................................................................
Tablespaces Transportáveis e Objetos de Esquema
Tablespaces Transportáveis
e Objetos de Esquema
• Tablespaces transportados em uma execução
devem ser independentes:
– Todas as partições de uma tabela
– LOBs devem ser exportados com tabelas
• Os objetos a seguir não podem ser transportados:
– Tabelas que contêm tabelas aninhadas
e VARRAYs
– Índices de bitmap
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Conjuntos de Dados Independentes
O conjunto de tablespaces transportado em cada execução deve ser independente.
O tablespace a ser movido pode conter tabelas com LOBs e tipos de dados definidos
pelo usuário. Se uma tabela com uma coluna BFILE fizer parte de um tablespace
movido, o usuário precisará copiar os arquivos referenciados para o destino. Os
índices de bitmap e tabelas com VARRAYs ou tabelas aninhadas não podem ser
transportados.
O usuário é responsável por resolver as dependências entre objetos nos tablespaces
que são transportados e os tablespaces no banco de dados de destino.
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-31
46. Lição 15: Reorganizando Dados
.....................................................................................................................................................
Verificando o Conjunto de Transporte
Verificando o Conjunto de Transporte
Dicionário
Lista de
de dados
tablespaces
DBMS_TTS.TRANSPORT_SET_CHECK(
ts_list => ’SALES_TS’,
incl_constraints => TRUE);
Objetos com referências a objetos fora Verificar
do conjunto de transporte para a tabela integridade
TRANSPORT_SET_VIOLATIONS de referência
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
DBMS_TTS.TRANSPORT_SET_CHECK
O procedimento PL/SQL DBMS_TTS.TRANSPORT_SET_CHECK pode ser usado
para verificar se um conjunto de tablespaces é independente. Esse procedimento aceita
dois argumentos IN:
• Uma lista de tablespaces separados por vírgulas.
• Um argumento booleano especificando se as restrições de integridade de
referência devem ser verificadas ao determinar se o conjunto de tablespaces é
independente.
O procedimento preenche a view TRANSPORT_SET_VIOLATIONS, indicando
quais objetos nos tablespaces especificados têm relacionamentos com objetos fora do
conjunto de tablespaces especificado.
O script dbmsplts.sql, que é executado por catproc.sql, cria o pacote
DBMS_TTS.
DBMS_TTS.ISSELFCONTAINED
A função DBMS_TTS.ISSELFCONTAINED retornará TRUE se o conjunto
transportável for independente; caso contrário, retornará FALSE. A função tem os
mesmos argumentos de TRANSPORT_SET_CHECK.
.....................................................................................................................................................
15-32 Enterprise DBA Parte 1A: Administração e Arquitetura
47. Sumário
.....................................................................................................................................................
Sumário
Sumário
Nesta lição, você aprendeu como:
• Usar os utilitários Exportar e Importar para
reorganizar dados
• Mover dados usando tablespaces transportáveis
®
Copyright Oracle Corporation, 1999. Todos os direitos reservados.
Referência Rápida
Contexto Referência
Parâmetros de inicialização Nenhum
Views de desempenho dinâmicas Nenhuma
Views de dicionário de dados Nenhuma
Comandos sqlldr ou sqlload
UNIX exp
imp
Windows NT EXP.EXE
IMP.EXE
SQLLDR.EXE
Procedimentos e funções empacotados DBMS_TTS
.....................................................................................................................................................
Enterprise DBA Parte 1A: Administração e Arquitetura 15-33
48. Lição 15: Reorganizando Dados
.....................................................................................................................................................
.....................................................................................................................................................
15-34 Enterprise DBA Parte 1A: Administração e Arquitetura
49. 16
.................................
Gerenciando Recursos e
Segurança de Senha