Resumo DBA Oracle 11g

Resumo da leitura do Livro Manual do DBA Oracle 11g.

CONCEITOS

Instancia: uma instancia Oracle existe na memoria do servidor. É o SGA System Global Area onde os processos em segundo plano interagem entre a SGA e os arquivos de banco de dados.
A instancia que se quer conectar é identificada pela variavel $ORACLE_SID.

Tablespace: consiste em um ou mais arquivos de dados. Um arquivo de dados pode ser parte de apenas um tablespace. Existiram no minimo duas tablespaces a SYSTEM e a SYSAUX.

Usar o Oracle Managed Files (OMF) facilita o gerenciamento, pois o DBA, pode especificar os locais e a forma como serão criados os arquivos de dados, de redo log e de controle.

Os tablespaces devem ser gerenciados localmente.

As subdivisões de um tablespace: blocos é a menor unidade de armazenamento. Extensões é o agrupamento de blocos. Segmentos é um grupo de extensões.

Temos 4 tipos de segmentos: segmentos de dados, segmentos de indices, segmentos temporarios e segmentos de rollback.

Os segmentos de rollback são gerenciados, a partir da versão 11, pelo Automatic Undo Management é está ativado por padrão.

TABELAS

Parcicionamento de tabelas: Traz vantagens para o DBA, como velocidade, evita perda de dados, backups parcelados. A oracle recomenda o particionamento para tabelas que tenham mais de 2GB.

CONTRAINTS

É uma regra para uma ou mais colunas para impor a regra de negocio. Podem ser ativadas ou desativadas a qualquer momento usando aneble ou disable. Depois pode ser necessario validar os dados usando validate ou novalidate.

Temos NOT NULL, UNIQUE, PRIMARY KEY, FOREIGN KEY, CHECK. Tambem é possivel criar triggers com validações totalmente personalizadas.

INDICES

O indice armazena o valor da coluna indexada junto com o RowID físico da linha. Pode ser de uma ou mais colunas. Temos indices únicos, não-unicos, chave invertida, baseados em função e bitmap.

VISÕES

Permite uma apresentação personalizada dos dados de uma ou mais tabelas. Não armazena dados, apenas a definição de uma consulta.

As visões materializadas armazena os resultados da consulta juntamente com a definição, para acelerar o processo. É utilizada em ambiente de warehouse. São como indices, por otimizar consultas.

USUARIOS E ESQUEMAS

O acesso ao BD é concedido para uma conta conhecida como usuario, e, se o usuário cria objetos então eles ficam armazenados no esquema que tem o mesmo nome do usuário. O usuario ou DBA podem conceder acesso a outros usuários.

Autenticão: autenticação de banco de dados onde a senha ármazenada no BD. Autenticação de sistema operacional assume que o usuario tem os privilegios. Autenticação de rede usa soluções baseadas em Public Key Infrastructure.

Perfis: permite gerenciar recursos. Normalmente os usuario tem perfil DEFAULT.

Sequencias: permite atribuir numeros sequenciais que são unicos a uma coluna de uma tabela automaticamente.

Sinônimos: apelido para simplificar a referencia a um objeto.

PL/SQL

Linguagem procedural para SQL.

Procedures e Funções: Blocos nomeads de PL/SQL com instruçoes divididas em 3 seções, sendo a primeira a seção de declaração de variaveis, s egunda seção executável e por fim a seção de exceções. A função retorna dados como uma instrução select e a procedure retorna um código de status. Tam vantagens de já estarem compiladas e terem uma copia no shared pool.

Pacotes: agrupam funções e procedures.

Trigger: são blocos disparados quando ocorre um determinado evento pre-programado.

ESTRUTURA DE ARMAZENAMENTO FÍSICO DO ORACLE

Arquivos de dados: arquivo físico no sistema operacional. Um tablespace pode ter vários arquivos de dados. A Oracle recomenda que os arquivos de dados não devem ultrapassar 2GB.

Arquivos d redo log: sempre que são adicionados, alterados ou removidos dados ou qualquer outro objeto, uma entrada é adicionada no redo log atual. Normalmente se tem 3 redo logs que são usados de forma circular. São utilizados para recuperação em caso de falhas. Ao ser reiniciada a instancia aplicará automaticaemente as entradas pendentes nos arquivos de dados. Para evitar a perda de um arquivo de redo log, é necessário criar copias/multiplexar em outros discos.

Arquvos de controle: contem o nome do banco de dados, data de criação locais dos arquivos de dados, e redo logs, configurações do RMAN. É um arquivo muito importante e deve ser multiplexado tambem.

Arquivos de log arquivados: o ideal é trabalhar no modo ARCHIVELOG, onde o arquivo de redo log preenchido é enviado para um ou mais destino especificado e vai esar disponivel para reconstruir o BD a qualquer momento que se queira voltar no tempo. O uso de multiplos destinos para os logs arquivados de redo log preenchidos é crucial para manter a alta disponibilidade, veja mais em Oracle Data Guard.

Arquivos de parametros de inicialização: ao iniciar uma instancia dois arquivos são acionados. O init<SID>.ora, conhecido como init.ora ou PFILE, e o SPFILE. Primeiramente procura pelo SPFILE no $ORACLE_HOME/dbs/spfile<SID>.ora ou spfile.ora. Se naõ encontrar procura por um PFILE com init<SID>.ora ou init.ora. Especificamo as localizações para arquivos de rastreamento, controle redologs, dados, definem o tamenho da SGA quantidade de usuários etc…

O SPFILE permite que os comandos alter system sejam gravados e o DBA não precisa de lembrar de fazer no spfile<SID>.ora. Este é o novo padrão da versão 11g.

Dica fora do livro: Para saber o conteudo do SPFILE, crie o PFILE a partir do SPFILE. Primeiramente faça uma copia do PFILE ($ORACLE_HOME/dbs/init<SID>.ora).

$ sqlplus /nolog
connect / as sysdba;
CREATE pfile FROM spfile;
quit;

Agora voce pode ver e editar o init<SID>.ora, e então recriar o SPFILE:

connect / as sysdba;
shutdown immediate;
startup pfile=init<SID>.ora;

shutdown immediate;
CREATE spfile FROM pfile;
startup;

Não há necessidade de recriar o SPFILE, usando os comandos alter system automaticamente grava no SPFILE.

Arquivos de log de alerta: são gravados no local da BACKGROUND_DUMP_DEST,  pelo oracle em caso de algo errado, tambem os comandos de alter database e alter system, operações com tablespaces, falta de espaço, redo logs corrompidos.

Para saber o conteudo de BACKGROUND_DUMP_DEST:

select * from v$parameter where name like ‘%dump%’ order by name;

Analisando os arquivos principais *.log é possivel acompanhar todos os eventos importantes no BD.

O arquivos de rastreamento: tambem são gravados neste local. Porem são os relativos a sessão dos usuarios são gravados em USER_DUMP_DEST e são gravados quando ocorre algum erro ou quando usado o comando alter session set sql_trace=true. Informações de rastreamento são geradas para cadas instrução SQL que o usuario execute.

Estes arquvivos podem ser excluídos a qualquer momento. Normalmente estes arquivos são renomeados diariamente.

Arquivos de backup: podem ser copia dos arquivos de dados, redo log, controle, entre outros, chamado de backup a frio. Tambem pelo RMAN que pode gerar backup completo e incremental, gerando um arquivo especial legivel somente pelo RMAN. O RMAN é a melhor opção para gerar um backup seguro.

Arquivos de senha: usado para autenticar os administradores do BD. São concedidos provilegios de SYSDBA e SYSOPER. Outros usuarios são autenticados dentro do BD. Utiliztario orapwd gerencia a criação destas senhas.

MULTIPLEXANDO ARQUIVOS

Reduz ou elimina os problemas de perda de dados casados por falhas de mídia.

ASM Automatic Storage Management: solução de multiplexação que automatiza o layout dos arquivos de dados, controle, redo log por meio de distribuição destes arquivos pelos discos disponiveis.

Multiplexação Manual de control files: configurando parametros de inicialização e forncendo um local adicional para os arquivos. Para saber se á está multiplexado faça:

select * from v$controlfile;

Se aparecer mais de um arquivo é porque ja está multiplexado. Para multiplexar ou mudar os locais, use o comando alter system.

alter system
set control_files = ‘/u02/oradata/ORCL/control01.ctl’,
‘/u02/oradata/ORCL/control02.ctl’,
‘/u02/oradata/ORCL/control03.ctl’,
‘/u02/oradata/ORCL/control04.ctl’
scope=spfile;

Este comando vai gerar um erro pois a instancia está em execução. Mas na proxima reinicialização será aplicada a alteração.

Se acrescentou algum control file, lembre-se de parar o BD, com shutdown immediate, copiar um dos controlfiles existentes para o novo controlfile. Se alterou o local, então mova os controlfiles para o novo local. Aplique as permissões dos usuários e inicialize o BD, com startup.

Multiplexação manual de redo log: é necessário usar grupo de arquivos. Use o comando alter database. Para saber os arquivos de redolog use:

SELECT * FROM v$logfile;

A instalação traz tres grupos por padrão. Assim é possivel adicionar arquivos a estes grupos:

alter database add logfile member ‘/u02/oradata/ORCL/redo01b.dbf’ to group 1;

ou acrescentar novos grupos:

alter database add logfile group 4 (‘/u02/oradata/ORCL/log5a.dbf’,’/u03/oradata/ORCL/log5b.dbf’, ‘/u03/oradata/ORCL/log5c.dbf’) size 250m;

O ideal é utiliza o ASM Automatic Storage Management para gerenciar a multiplexação.

Anúncios

One thought on “Resumo DBA Oracle 11g

Deixe um comentário

Faça o login usando um destes métodos para comentar:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s