A estrutura física do Banco de dados Oracle – Revisão

[Arquivos de controle] – o padrão oracle é maner tres arquivos por motivos de segurança.
Se deve multiplicar estes arquivos por motivo de segurança. estes arquivos contém informações vitais, sendo elas:

– localização física dos arquivos;
– ponto de recuperação;
– informações sobre backup;
– último SCN (system change number);

[Datafiles ou arquivos de dados] – os datafiles são aqueles dos quais armazenam os dados das tabelas. São mapeados logicamente através das tablespaces, onde cada tablespace deve ter um ou mais datafiles. Internamente, para melhor acondicionamento dos dados, os datafiles são segmentados, e ainda: nestes segmentos existem as extensões e – por fim – o bloco de dados que é a menor porção de unidade de armazenamento no oracle. a segmentação pode ser manual ou automática. a partir da 9i este controle de segmentação automática é padrão.

[Arquivos de redo] – separados em grupos para permitir a troca entre eles (switch). O padrão são dois grupos e cabe ao DBA aumentar o número de grupos e membros para promover segurança. O redo é uma área essencial para que se possa manter integridade do BD. Toda instrução é replicada, quando confirmada, para o log_buffer. Após isto, o log_writer baixa esta informação em disco. Segue a regra de 1/3 do log_buffer cheio, após o commit ou conforme determinado para mttr_target (mean time to recover) .
Para se fazer o backup a quente (hotbackup), devemos habilitar o arquivamento destes arquivos de redo.

Cabe ao DBA saber a freqüência de arquivamento para saber quantos mega estão sendo gerados. Se a freqüência for alta demais pode estar ocorrendo retençõ (espera) ao se gerar o switch. Isto fazcom que o banco trave. Geralmente, o DBA – para tentar resolver isto – aumenta o log_buffer e/ou aumenta o tamanho dos arquivos de redo para que o switch ocorra com menor freqüência. Assim, estes arquivos de redo – quando gerados – são arquivados para que se houver perda ou falha no banco, possa retroceder no tempo através destes “archives”. Todos eles devem ser armazenados, não se pode perder a seqüência.

[Parte Física] – não essencial à recuperação. São considerados arquivos que podem ser recriados:
– arquivo de senha;
– spfile;
– init.ora;

Para o spfile pode ser recriado a partir do pfile (init.ora) através do comando:
SQL> CREATE SPFILE FROM PFILE;

Já o PFILE, quando instalamos o software oracle, vm um arquivo exemplo, o INIT.ORA,que pode
ser aproveitado para criar o seu INIT.ORA.
O arquivo de senha pode ser recriado com o comando $ORACLE_HOME/bin/orapwd

[Exercícios]

[1] Liste os datafiles;
SELECT name
FROM v$datafile;

[2] Liste os controlfiles;
SELECT name
FROM v$controlfile;

[3] Liste o local do arquivo de parâmetros;
SQL> SHOW PARAMETERS spfile;

[4] Indique o caminho do arquivo de senhas;
$ORACLE_HOME/dbs (linux)
$ORACLE_HOME/database (windows)

[5] Indique o caminho do arquivo de parâmetros (windows/linux);
$ORACLE_HOME/dbs (linux)
$ORACLE_HOME/database (windows)

[6] Crie o SPFILE a partir do PFILE;
SQL> CREATE SPFILE FROM PFILE;

[7] Execute o ORAPWD. O que ocorre?
o sistema operacional, mostra uma lista completa, porém suscinta de todas as
opçoes e argumentos do comando ORAPWD.

[8] Na ausência, de um arquivo de controle, o que ocorre?
se o banco ta ativo e perde o aruqivo de controle, o dba deve executar shutdown
no banco, e copiar a partir de um control file bom para a rota do danificado,
ou ajustar o parametro para nao pegar o controlfile com problema

[9] Na ausência, de um arquivo de redo, o que ocorre?
se o o arq redo pertence a um grupo de redo que contem mais
arquivos (=esta multiplexado), nao haverá parada de banco: ocorrera mensagens
do alert log. cabe ao dba apagar este arquivos de redo e recria-lo
se o arq de redo nã esta no grupo multiplexado -> Cabe ao dba (IMEDIATAMENTE)
recriar ou criar um novo aquivo de redo.
se o arq nao está no grupo de redo ativo, ou arqs de redo forem removidos -> Cabe
ao DBA parar o banco e voltar o backup

[10] Na ausência, de um arquivo spfile, o que ocorre?
o banco procura automaticamente o arquivo init.ora. Portanto, o spfile pode ser
criado a partir do init.ora.