administração de banco de arquitetura física do banco de ......•a sga serve para o mesmo...

12
1 5/27/09 Estruturas de Armazenamento 1 Administração de Banco de Dados 5/27/09 Estruturas de Armazenamento 2 Arquitetura Física do Banco de Dados 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 Users Processos User e Server 5/27/09 Estruturas de Armazenamento 4 Password file Instance SGA Redo Log Buffer Shared Pool Data Dictionary Cache Library Cache DBWR SMON PMON CKPT LGWR Others User process Server process PGA Control files Data files Database Database Buffer Cache Redo Log files Java Pool Large Pool Parameter file 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) Servers Dedicado Users Data Files PGA Listener

Upload: others

Post on 17-Nov-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 2: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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)

Page 3: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 4: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 5: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 6: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 7: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 8: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 9: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 10: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 11: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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

Page 12: Administração de Banco de Arquitetura Física do Banco de ......•A SGA serve para o mesmo propósito, ou seja, f ac il trns ed omçã usuários. 5/27/09 Estruturas de Armazenamento

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