Oracle Lento

Referencia: Blog do Portilho

Wait Events de I/O

O Wait Events abaixo são eventos relacionados a I/O (discos rígidos).
Se estes eventos aparecerem muito na V$SESSION_WAIT, certamente há um problema de I/O no Banco de Dados (está usando RAID 5?;-) ).

async disk IO
control file parallel write
control file sequential read
db file parallel write
db file scattered read
db file sequential read
direct path read
direct path write
log file parallel write
log file sync

Dois destes eventos merecem atenção especial:

db file scattered read – Um Full Table Scan está ocorrendo: Se este evento aparecer repetidamente na V$SESSION_WAIT, pode significar um SELECT que teria uma performance melhor com um índice apropriado.
db file sequential read
– Leitura de índice: Se este evento aparecer repetidamente na V$SESSION_WAIT para um mesmo SID, pode significar leituras desnecessárias de índice, como aquelas forçadas por um HINT, onde um Full Table Scan seria melhor (sim, isto acontece muito).

Então, para pegar as WAITS do banco no momento atual:
SQL> SELECT SID, EVENT, SECONDS_IN_WAIT FROM V$SESSION_WAIT ORDER BY W.SECONDS_IN_WAIT;

Para pegar o SQL que está causando estas WAITs (troque o 754 abaixo pelo SID que pegou no SELECT anterior):
SQL> SELECT A.SQL_TEXT FROM V$SQLTEXT A, V$SESSION B WHERE A.ADDRESS = B.SQL_ADDRESS AND A.HASH_VALUE = B.SQL_HASH_VALUE AND B.SID = 754 ORDER BY PIECE;

Oracle Backup & Recovery

Backup e Recovery é uma parte muito importante da administração de Banco de Dados. Se o computador onde está o Banco de Dados, apresentar algum problema, ou se o HD sofrer alguma avaria ou perda de dados, o Backup evitará que a empresa sofra um grande prejuizo.

Para um backup eficiente e com garantia de recuperação maxima possivel, é necessario ativar o modo ARCHIVELOG. Neste modo todas as inclusões e alterações serão gravadas tambem em arquivos separados. Estes arquivos devem ser copiados para o dispositivo de backup (fita, CD-ROM, DVD, etc…) e removidos para liberar espaço.

Deve-se efetuar o Backup Total que consiste em copiar os arquivos do sistema operacional para o dispositivo de backup. Obrigatoriamente o BD deve estar parado. Deve-se copair todos os arquivos arquivos de controle e de dados, como tambem os arquivos de redo logs.

Uma estratégia de backup interessante é parar o banco de dados no final de semana e fazer um backup total, e durante a semana fazer backup diarios dos arquivos de redo logs apenas.

Com este dois backups armazenados corretamente pode-se recuperar o banco de dados em qualquer momento que se queira. Basta baixar o BD da fita de domingo, que contem o backup total e aplicar os ‘Archived Redo  Logs’ e depois aplicar tambem as alterações nao gravadas “uncommitted”  dos ‘Online Redo Logs’.

  • Datafiles

Consiste em arquivos fisicos onde são gravados os dados e os indices.

  • Control Files

Arquivos de controle que informam o localizaçao e a situação de cada datafile. Pode ser multiplex, ou seja, gravado mais de uma copia do mesmo control file em local ou HD diferente.

  • Redo Logs

Arquivos onde são armazenadas todas as inclusões e alterações de dados. São limitados em tamanho e quando atinge determinado o tamanho maximo, um novo arquivo é criado.

iMasters Oracle

RMAN Backup em NOARCHIVELOG

Control File

Script Backup Frio

iMasters Backup Full

Archived Logs

Visão Geral de Backup & Recovery no Banco de Dados Oracle

PHP & Oracle: Paginação