administração de banco de arquitetura física do banco de ......•a sga serve para o mesmo...
TRANSCRIPT
1
5/27/09 Estruturas de Armazenamento 1
Administração de Banco deDados
5/27/09 Estruturas de Armazenamento 2
Arquitetura Física do Banco deDados
5/27/09 Estruturas de Armazenamento 3
Arquitetura
Processos Background
System Global Area (SGA)Instância
Data Files Redo Log Files
Control File
Parameter File Base de Dados
Servers
UsersUsersUsers
ProcessosUser e Server
5/27/09 Estruturas de Armazenamento 4
Passwordfile
InstanceSGA
Redo LogBuffer
Shared Pool
Data DictionaryCache
LibraryCache
DBWRSMONPMON CKPTLGWR Others
Userprocess
Serverprocess
PGA
ControlfilesData
files
Database
DatabaseBuffer Cache
Redo Logfiles
Java Pool Large Pool
Parameterfile
Archived Log files
Arquitetura
5/27/09 Estruturas de Armazenamento 5
Processos User e Server• Um processo User é criado para executar o código
de uma aplicação• Um processo Server manipula as requisições
vindas do processo User associado• O banco de dados pode ser configurado para
trabalhar de duas formas:– Um processo Server dedicado para cada processo User– Um processo Server compartilhado por vários
processos User
5/27/09 Estruturas de Armazenamento 6
Processos User e Server• Processo Server dedicado para cada processo User
System Global Area (SGA)
ServersDedicadoUsers Data Files
PGAListener
2
5/27/09 Estruturas de Armazenamento 7
Processos User e Server• Processo Server compartilhado por vários
processos User
UsersData Files
ServersCompart.
System Global Area (SGA)RequestQueue
ResponseQueue
UsersUsers
DispatchersDispatchersDispatchers
Listener
5/27/09 Estruturas de Armazenamento 8
System Global Area (SGA)• “Se você ler um capítulo de um livro, qual seria a
forma mais rápida de passar o conhecimento paraoutra pessoa? A outra pessoa poderia ler ocapítulo do livro, mas seria mais rápido se vocêpudesse acumular toda a informação na suamemória e depois repassá-la para a memória daoutra pessoa.”
• A SGA serve para o mesmo propósito, ou seja,facilita a transferencia de informação entreusuários.
5/27/09 Estruturas de Armazenamento 9
System Global Area (SGA)• A SGA possui as seguintes estruturas de memória:
• Data Block Buffer Cache– Mantém blocos de dados buscados dos Data Files– Seu tamanho pode ser configurado (no caso do Oracle o
parametro é o DB_CACHE SIZE) e é uma tarefaimportante no gerenciamento e tuning de um banco dedados
Data Block Buffers
Redo LogBuffers
DictionaryCache
LibraryCache
Shared Pool
5/27/09 Estruturas de Armazenamento 10
System Global Area (SGA)• Data Block Buffer Cache
– 1% ou 2% dotamanho do DB– Gerenciamento do espaço
através de um algorítimoLRU (least recently used)
– Quanto maior o “cache hitradio” menor números deI/O e melhor odesempenho
Data File
Data Block Buffer Cache
Select nome, salarioFrom FUNCIONARIOwhere cd_func = 100
Verifica Cache
BuscaDadono
Disco
LRU ListDirt List
5/27/09 Estruturas de Armazenamento 11
System Global Area (SGA)• Dictionary Cache
– Mantém informações do dicionário de dados.– O dicionário de dados é um conjunto de objetos
(tabelas e views) que mantém informações sobre a basede dados.Estas informações incluem: dados dosusuários, datafiles, tabelas, privilégios, etc.
– Estas informações são necessárias para ofuncionamento do banco de dados. Por exemplo: checara autorização de um usuário quando buscar dados deuma tabela.
– Gerenciado via um algorítimo LRU– Seu tamanho pode ser configurado (Shared_Pool_Size)
5/27/09 Estruturas de Armazenamento 12
System Global Area (SGA)• Redo Log Buffer
– Toda alteração em um banco de dados é gravada nosRedo Log Files para serem utilizadas em operaçõesroll-forward durante recoveries de bases de dados.
– Antes das informações serem escritas nos Rede LogFiles, elas são gravadas na SGA em uma área chamadaredo log buffer.
– Seu tamanho pode ser configurado (LOG_BUFFER)
3
5/27/09 Estruturas de Armazenamento 13
System Global Area (SGA)• Library Cache
– Armazena informações dos comando executados nabase de dados permitindo o compartilhamento doscomandos SQL mais utilizados
– Possui o plano de execução dos comandos SQLexecutados no banco de dados
– A segunda vez que um comando for executado na basede dados, ele poderá ter vantagens de desempenhodevido as informações disponíveis na shared SQL pool
5/27/09 Estruturas de Armazenamento 14
Program Global Area
– Memória reservada para cadaprocesso User conectado aoSGBD
– Alocada quando o processo écriado
– Desalocada quando o processoé terminado
– Utilizada apenas por umprocesso
Userprocess
PGAServer
process
5/27/09 Estruturas de Armazenamento 15
Processos Background• Mantém o relacionamento entre a base de dados e
as estruturas de memória
Data Files Control Files Online Redo Logs
Archived Redo Logs
Arquivos:
Processos:
Memória:
Users DBWR Ckpt LGWR Arch
Data Block Buffers
Redo LogBuffers
SmonPmon
PGA
Server
5/27/09 Estruturas de Armazenamento 16
Processos Background• SMON (System Monitor)
– Executa recovery da instância quando necessário,prepara o database, elimina objetos transacionais quenão são mais necessários, etc
• PMON (Process Monitor)– Executa “clean up” nos processos de usuários falhos
• DBWR (Database Writer)– Responsável por gerenciar o conteúdo do data block
buffer cache e dictionary cache. Múltiplos processosDBWR podem ser configurados para serem executadosao mesmo tempo(dbwr_io_slaves)
5/27/09 Estruturas de Armazenamento 17
Processos Background• LGWR (Log Writer)
– Gerencia a gravação do conteúdo do redo log bufferpara os arquivos de redo log. Múltiplos processosLGWR podem ser configurados (lgwr_io_slaves).Diferente do DBWR é escrito de forma sequencial.
• CKPT– Checkpoints fazem com que o DBWR grave todos os
blocos que foram modificados desde o últimocheckpoint nos datafiles. Sincroniza os aquivos da basede dados.
5/27/09 Estruturas de Armazenamento 18
Processos Background• ARCH
– O processo LGWR grava os redo log files de formaciclica. Quando o LGWR vai sobrepor o primeiro redolog file, pode-se habilitar o processo ARCH para quefaça uma cópia do arquivo de redo log.
• RECO– Utilizado para resolver falhas em bases de dados
distribuídas.
• etc
4
5/27/09 Estruturas de Armazenamento 19
Estrutura Lógica– Define como o espaço físico do banco de
dados é utilizado– Hierarquicamente consiste de tablespaces,
segments, extents e blocksTablespace
DatafileSegment
BlocksExtent
Segment
5/27/09 Estruturas de Armazenamento 20
Implementação Básica de uma Basede Dados
• Base de Dados– Um ou mais datafiles– Um ou mais control files– Dois ou mais redo log files.
• Internamente uma Base de Dados contém– Múltiplos usuários/schemas– Um ou mais tablespaces– Tabelas do dicionário de dados– Objetos dos usuários
5/27/09 Estruturas de Armazenamento 21
Implementação Básica de uma Basede Dados
• O servidor que acessa a base de dados consiste de– Uma SGA (data block buffer cache, redo log buffer
cache e shared SQL pool)– O processo background SMON– O processo background PMON– O processo background DBWR– O processo background LGWR– Processos de Servers com suas PGA
5/27/09 Estruturas de Armazenamento 22
Gerenciando uma Instância
5/27/09 Estruturas de Armazenamento 23
spfiledb01.ora
Arquivo de Parâmetros
CONNECT / AS SYSDBASTARTUP
Oracle InstanceSGA
Redo LogBuffer
Shared Pool
Data DictionaryCache
LibraryCache
DBW0SMONPMON CKPTLGWR Others
DatabaseBuffer Cache
Java Pool Large Pool
5/27/09 Estruturas de Armazenamento 24
Implementação Básica de uma Basede Dados
• Parâmetros mais comuns do initxxx.ora– DBNAME– CONTROL_FILE– DB_BLOCK_SIZE– DB_CACHE_SIZE– SHARED_POOL_SIZE– LOG_BUFFER– PGA_AGGREGATE_TARGET– PROCESSES
5
5/27/09 Estruturas de Armazenamento 25
Inicializando uma Instância• Estágios de um Startup e um Shutdown
Shutdown
nomount
mount
open
Inicializa a instância
Abre controlfile para ainstância
Abre todos arquivosdescritos no control file
STARTUP
SHUTDOWN
5/27/09 Estruturas de Armazenamento 26
Comando STARTUP
• Inicializa a instância e abre o databaseSTARTUP
STARTUP PFILE=$ORACLE_HOME/dbs/initdb01.ora
STARTUP RESTRICTOuALTER SYSTEM ENABLE RESTRICTED SESSION;
STARTUP MOUNT
ALTER DATABASE OPEN READ ONLY;
5/27/09 Estruturas de Armazenamento 27
Finalizando um Database• Opções do SHUTDOWN
Modo:A - AbortI - ImmediateT - TransactionalN- Normal
A
No
No
No
No
T
No
No
Yes
Yes
I
No
No
No
Yes
Shutdown Mode
Allow new connections
Wait until current sessions end
Wait until current transactions end
Force a checkpoint and close files
N
No
Yes
Yes
Yes
5/27/09 Estruturas de Armazenamento 28
Opções de SHUTDOWN
• Shutdown:– Database buffer
cache é gravadonos data files
– Transações nãoconfigrmadassofrem rollback
– Recursos sãoliberados
During
SHUTDOWN NORMAL
ouSHUTDOWN
TRANSACTIONALou
SHUTDOWN IMMEDIATE
Consistent database(clean database)
• Startup:– Não há
necessidade derecovery deinstância
5/27/09 Estruturas de Armazenamento 29
• Shutdown:– Buffers
modificadosnão sãogravados nosdata files
– Transções nãoconfirmadasnão sofremrolled back
• Startup:– Online redo
log files sãoutilizados paraaplicar asalterações
– Segmentos deUndo sãoutilizados pararoll back detransações nãoconfirmadas
– Recursos sãoliberados
During
SHUTDOWN ABORTor
Instance Failureor
STARTUP FORCE
Inconsistent database(dirty database)
Opções de SHUTDOWN
5/27/09 Estruturas de Armazenamento 30
– Arquivos• Contém informações sobre eventos importantes• Utilizado para resolver problemas• Utilizado para monitoração do dia-a-dia
– Tipos:•alertSID.log
• Background trace files• User trace files
Monitorando a Instância UtilizandoArquivos de Diagnóstico
6
5/27/09 Estruturas de Armazenamento 31
Habilitando Trace de Usuários
– Nível de Sessão:• Uso do comando ALTER SESSION:ALTER SESSION SET SQL_TRACE =TRUE
• Utilizando a procedure DBMS:dbms_system.SET_SQL_TRACE_IN_SESSION
– Nível de Instância• Definir parâmetro de inicialização:SQL_TRACE = TRUE
5/27/09 Estruturas de Armazenamento 32
Buscando Parâmetros• Visões Dinâmicas
• SGA– V$PARAMETER– V$SGA– V$OPTION– V$SESSION– V$PROCESS– V$VERSION
• Control File– V$CONTROLFILE– V$DATABASE– V$DATAFILE– V$LOGFILE
5/27/09 Estruturas de Armazenamento 33
Gerenciando Sessões• Terminando Sessões
Sessões podem ser identificadas através da visãodinâmica V$SESSIONSELECT username, sid, serial# FROM V$SESSION;
Para finalizar uma sessão utilize o comando ALTERSYSTEMALTER SYSTEM KILL SESSION ‘7,15’;
5/27/09 Estruturas de Armazenamento 34
Mantendo a Estrutura Física doBanco de Dados
5/27/09 Estruturas de Armazenamento 35
Mantendo o Control File– Arquivo Binário– Define o estado corrente do banco de dados
(fisicamente)– Mantém a integridade do banco de dados– Necessário para:
• Utilizado para “montar” a base de dados nostartup
• Operacionalização do banco de dados
– Ligado a apenas um banco de dados– Perda requer recovery
Controlfiles
Database
5/27/09 Estruturas de Armazenamento 36
Mantendo o Control File
• O control file contém as seguintes informações:– Identificador e nome do database– Data e hora da criação do banco de dados– Nome dos tablespaces– Nome e localização dos data files e online redo log
files– Redo log file “sequence number” corrente– Informações de Checkpoint– Inicio e final de segmentos de Undo– Informações sobre Redo log archives– Informações de Backup
7
5/27/09 Estruturas de Armazenamento 37
Mantendo o Control FileMultiplexaçãoCONTROL_FILES=
$HOME/ORADATA/u01/ctrl01.ctl, $HOME/ORADATA/u02/ctrl02.ctl
Disk 1 (u01) Disk 2 (u02)
ctrl02.ctl ctrl01.ctl
5/27/09 Estruturas de Armazenamento 38
Mantendo Online Redo Log FilesOs arquivos de Online Redo log possuem as seguintes
características:– Registram todas as alterações realizadas nos dados– Fornecem um mecanismo para Recovery– Podem ser organizados em grupos– Pelo menos dois grupos são necessários
Redolog files
5/27/09 Estruturas de Armazenamento 39
Mantendo os Online Redo Log FilesEstrutura
Group 2 Group 3Group 1
Member
Disk 1
Disk 2Member
Member
Member
Member
Member
5/27/09 Estruturas de Armazenamento 40
Funcionamento dos Online Redo LogFiles
– São utilizados de forma cíclica– Quando um online redo log file é preenchido, o
processo LGWR utilizará o próximo grupo.• Chamado log switch• A operação de Checkpoint ocorre• Informações são gravadas no control file
5/27/09 Estruturas de Armazenamento 41
Adicionando Grupos de Online RedoLog File
Group 1 Group 2 Group 3
ALTER DATABASE ADD LOGFILE GROUP 3('$HOME/ORADATA/u01/log3a.rdo', '$HOME/ORADATA/u02/log3b.rdo')SIZE 1M;
log3b.rdo
log3a.rdolog1a.rdo
log1b.rdo
log2a.rdo
log2b.rdo
5/27/09 Estruturas de Armazenamento 42
Adicionando Membros a Grupos deOnline Redo Log File
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;
Group 1 Group 2 Group 3
log1a.rdo
log1b.rdo
log2a.rdo
log2b.rdo
log1c.rdo log2c.rdo
log3a.rdo
log3b.rdo
log3c.rdo
8
5/27/09 Estruturas de Armazenamento 43
Configuração de Online Redo Log File
Group 2 Group 3Group 1
Disk 3Disk 2Disk 1
?Member
Member
Member
Member
Member
5/27/09 Estruturas de Armazenamento 44
Características Físicas de Objetosda Base de Dados
5/27/09 Estruturas de Armazenamento 45
Objetivos• Conhecer os diferentes tipos de segmentos e seu
uso• Controlar a utilização de extents por segmento• Entender parâmetros de armazenamento definido
para blocos• Obter informações sobre estruturas de
armazenamento através do dicionário de dados
5/27/09 Estruturas de Armazenamento 46
Overview
Extent84K
Extent28K
Segment112K
Blocos de Dados
Tablespace
• Blocos de Dados: Menorunidade da base de dados.Todas as informações dasbases de dados sãoarmazenadas em blocos
• Extent : Próximo nívellógico. Um extent é compostode um conjunto de blocos dedados.
• Segmentos: Nível acima deextent. Conjunto de extentsalocados para um tipo deestrutura de dados.
5/27/09 Estruturas de Armazenamento 47
Tipos de Segmentos• Table
– Meio mais comum de se armazenar dados no database– O DBA tem pouco controle sobre a localização de
linhas nos blocos em uma tabela– Todos os dados de um tabela são armazenados em um
tablespace
• Table Partition– Dados de uma tabela podem ser armazenados em várias
partições que residem em tablespaces diferentes– Se a tabela é particionada, cada partição é um segmento
que possui seus próprios parâmetros de armazenamento
5/27/09 Estruturas de Armazenamento 48
Tipos de Segmentos• Index
– Todas as entradas de um índice são armazenadas emum segmento de índice
– Se uma tabela possui 3 índices, três segmentos deíndices são utilizados
• Rollback– Um segmento de rollback é utilizado por uma transação
que está realizando alterações em um database– Antes de alterar o dado ou bloco de índice, o valor
antigo é armazenado em um segmento de rollback,permitindo que o usuário desfaça transação
9
5/27/09 Estruturas de Armazenamento 49
Tipos de Segmentos• Temporary
– Quando se executa comandos como create index, selectdistinct e select group by, o database tenta executaroperações de sort na memória o máximo possível
– Quando uma operação de sort precisa de muito espaço,os resultados são gravados em disco
• LOB– Colunas que armazenam objetos Lob são armazenadas
em segmentos separados conhecidos como LobSegments
– A tabela contém apenas um ponteiro para a localizaçãodos dados Lob correspondentes
5/27/09 Estruturas de Armazenamento 50
Organizando Tablespaces deAcordo com sua Fragmentação
Tablespace Uso Fragmentação
System Dicionário de Dados
Muito Baixa
Tools Aplicações Muito baixa
Data Segmentos de Dados
Baixa
Index Segmento de Índices
Baixa
Rbs Segmentos de Rollback
Alta
Temp Segmentos Temporários
Muito alta
5/27/09 Estruturas de Armazenamento 51
Gerenciando Tabelas
• Parâmetro PCTFREE• Valor baixo:
• Reserva menos espaço para updates nas linhasexistentes
• Permite que inserts utilizem mais espaço no bloco• Pode “salvar”espaço• Aumenta o custo de processamento, pois na atualização
de dados blocos devem ser reorganizados para “liberar”espaço
5/27/09 Estruturas de Armazenamento 52
Gerenciando Tabelas
• Parâmetro PCTFREE• Valor alto:
• Reserva mais espaço para updates nas linhas existentes• Necessita de mais blocos para a mesma quantidade de
linhas inseridas (menor quantidade de linhas por bloco)• Menos custo de processamento, pois blocos não
precisam ser reorganizados frequentemente para liberarespaço
• Pode melhorar o desempenho de updates, pois afrequencia de “chain rows” é menor
5/27/09 Estruturas de Armazenamento 53
Gerenciando Tabelas
• Parâmetro PCTUSED• Uma vez que o percentual de espaço livre dentro
de um bloco atinge o PCTFREE, novas linhas nãosão inseridas no bloco até que o o percentual deespaço utilizado atinja PCTUSED
• O Oracle buscará manter o bloco com dados pelomenos com o valor de PCTUSED
• Default 40
5/27/09 Estruturas de Armazenamento 54
Gerenciando Tabelas
• Parâmetro PCTUSED• Valor baixo:
• Mantém blocos de dados menos cheios• Reduz custos de processamento durante instruções
update e delete para mover um bloco para a free listquando o bloco fica abaixo do percentual de uso
• Aumenta o espaço não utilizado dentro de uma base dedados
10
5/27/09 Estruturas de Armazenamento 55
Backups Físicos
5/27/09 Estruturas de Armazenamento 56
Objetivos
• Executar backups utilizando comandos do sistemaoperacional
• Descrever as implicações no recovery parabackups com a base de dados fechada e aberta
• Executar backups com a base de dados aberta oufechada
• Identificar as implicações das opções Logging eNologging
5/27/09 Estruturas de Armazenamento 57
Métodos de BackupClosed database Open database
Modo Nonarchive Modo ArchiveBackup Físico
•Utilize o método de backup via SO sem archiving para realizarrecover até o ponto do último backup•Utilize o método de backup via SO com archiving para realizarrecover até o ponto da falha
5/27/09 Estruturas de Armazenamento 58
Backup com Database Fechado• Um backup com database fechado (closed) é um
backup via SO de todos os datafiles, control files,arquivos de parâmetros e arquivos de senha queconstituem o database
• Não há a necessidade de se incluir os arquivos deredo log online como parte do backup se odatabase sofrer shutdown “limpo” (shutdownnormal, transacional ou immediate). Contudo, noscasos onde é necessário restaurar todo o database,a cópia dos redos pode simplificar o processo
5/27/09 Estruturas de Armazenamento 59
Backup com Database Fechado• Vantagens
– Simples, basta realizar shutdown do banco e copiar osarquivos via sistema operacional
– Poucos comandos são necessários para execução– Pode ser automatizado por u script simples
• Desvantagens– Database fica indisponível durante o processo de
backup– O montante de tempo que o banco fica indisponível é
proporcional ao tamanho do database e a velocidade naqual as cópias são realizadas
– Um recovery só pode ser realizado até o último backupfull disponível
5/27/09 Estruturas de Armazenamento 60
Obtendo Informações sobre os Arquivos• Visões do Dicionário de Dados
– V$DATAFILEselect name, status from v$datafile;
select t.name Tablespace, f.name Filefrom v$tablespace t, v$datafile fwhere t.ts# = f.ts#order by t.name;
– V$CONTROLFILEselect name from v$controlfile;
– V$LOGFILEselect member from v$logfile;
– DBA_DATA_FILES
11
5/27/09 Estruturas de Armazenamento 61
Executando Backup com DatabaseFechado
• Monte uma lista de todos os arquivos relevantespara o backup
• Execute “shutdown normal | immediate” dainstância
• Realize backup de todos os datafiles, redo logfiles, control files, arquivo de parâmetro e arquivode senha utilizando um utilitário de backup dosistema operacional
• Reinicialize a instância do banco de dados
5/27/09 Estruturas de Armazenamento 62
Considerações Backup com Database Fechado• Utilize shutdown immediate se existem processos
acessando o database• Considere a automatização do processo para evitar
erros• Execute backup dos arquivos de parâmetro e
senha quando executar backup fechado full• Não existe a necessidade de incluir os arquivos
associados a tablespaces read-only em todos osbackups
• Caso o database esteja “aberto” durante aexecução do backup, este se torna inválido e nãopoderá ser utilizado para recovery
5/27/09 Estruturas de Armazenamento 63
Backup com Database Aberto• Caso o negócio não permita o shutdown para
realizar backup, existe a possibilidade de serealizar backup com o banco online
• O DBA pode executar backup de todas astablespaces ou de datafiles individuais enquanto odatabase está em uso, utilizando o método debackup de database aberto
5/27/09 Estruturas de Armazenamento 64
Vantagens de Backup de DatabasesAbertos
• O dabatase fica disponível para uso normaldurante o backup
• Backup pode ser executado a nível de tablespaceou datafile
• Suporte para negócios 24 X 7• Outras considerações
– DBA necessita de mais treinamento– Scripts automatizados são recomendados
5/27/09 Estruturas de Armazenamento 65
Requisitos para Backup de DatabaseAberto
• Para que o DBA possa executar backup detablespaces ou datafiles individuais quando odatabase está sendo utilizado, dois critérios devemser seguidos:– O database deve estar no modo ARCHIVELOG– Deve-se garantir que os arquivos de redo log online
seja arquivados, ou habilitando o processo ARCH ourealizando este processo manualtente através docomando ALTER SYSTEM ARCHIVE LOGSEQUENCE (Emp aplicações OLTP aconselha-sehabilitar o processo ARCH)
5/27/09 Estruturas de Armazenamento 66
Opções para Backup com DatabaseAberto
• Pode-se realizar o backup de todos os datafilespara uma tablespace específica ou apenas umdatafile de uma tablespace (Em qualquer uma dasopções o database continua aberto para usonormal)
• Quando um datafile é colocado no modo backup,mais redo logs são gerados, pois o LGWR grava aimagem dos blocos alterados e não apenas ainformação da linha.– Isto tem um grande impacto no tamanho dos redo logs e
no desempenho do log writer
12
5/27/09 Estruturas de Armazenamento 67
Executando um Backup com oDatabase Aberto
• Coloque o datafile ou tablespace no modo backup. Istoprevine the sequence number no cabeçalho do datafile sejaalterado, para que, caso haja recovery, os logs sejamaplicados desde o inicio do backupalter tablespace user_data begin backup;
• Utilize um utilitário do SO para cópiacopy c:\users\disk1\user01.ora e:\backup\user01.ora
• Volta o tablespace ou datafile para modo normalalter tablespace user_data end backup;
• Force o checkpoint para sincronizar todos os cabeçalhos dearquivos através do LogSwitchalter system switch log file;
5/27/09 Estruturas de Armazenamento 68
Executando um Backup com oDatabase Aberto
• Os passos apresentados devem ser repetidos paratodos os tablespaces, incluindo o System,temporário, segmentos de rollback, etc
• O tempo entre “alter tablespace begin backup” ealter tablespace end backup” deve ser minimizado,pois mais redo será gerado
• É recomendado realizar backup de uma tablespacepor vez
5/27/09 Estruturas de Armazenamento 69
Backup do Control File• Criando uma imagem binária
– alter database backup controlfile to ‘control1.bkp´
• Criando um arquivo texto de trace– alter database backup controlfile to trace;
• Algumas informações do control file comoarquivo de redo log online corrente e nome dosdatafiles são utilizadas durante recovery deinstância
5/27/09 Estruturas de Armazenamento 70
Backup do Control File• Considerações
– O comando “alter database backup controlfile to trace”fornece um script para criação do control file
– O control file pode ser multiplexado através doparâmetro CONTROL_FILES do init.ora
– Durante um backup full, execute shutdown normal dainstância e utilize um utilitário do sistema operacionalpara copiar o control file para o local dearmazenamento de backups
5/27/09 Estruturas de Armazenamento 71
Backup de Tablespace Read OnlyAlter tablespace query_data read only;
SCN1 SCN1
SCN1
SCN1
DBWR
Query_DataAquivo 1
User_DataAquivo 1
User_DataAquivo 2
3
4
21
1 - Altera status para read only2 - Ocorre checkpoint em todos datafiles do tablespace e header é congelado com SCN corrente3 - Deve ser realizo um backup de todos os datafiles para o tablespace (copy)4 - O processo DBWR grava apenas em datafiles dos tablespaces que estão com status read write e nestes arquivos checkpoints ocorrem normalmente
Cópia backupArquivo 1
5/27/09 Estruturas de Armazenamento 72
Considerações sobre Backup deTablespaces Read Only
• Apenas um backup é necessário após alterar atablespace para read only
• Deve-se retornas as medidas normais de backupquando a tablespace voltar a ser read write
• O control file deve identificar corretamentetablespaces read only, caso contrário deve sofrerrecover