Vous êtes sur la page 1sur 129

Faculdade de Cincias e Tecnologia de Birigui

ADMINISTRAO DE BANCO DE DADOS ORACLE

Autor:

Emerson Nascimento Colchesqui

1.) Introduo
Objetivo do Curso Conceito de Banco de Dados Banco de Dados Oracle Tarefas Comuns de Administrao de Banco de dados Ferramentas de Administrao do Banco de Dados

2.) Instalao do Banco de Dados Oracle


Overview da Instalao Instalando o Software de Banco de Dados Oracle Usando o DBCA para Criar e Configurar o Banco de Dados

3.) Gerenciando a Instncia Oracle


Overview da Instncia Oracle Shutting Down and Startup da Instncia Oracle Shutdown / Startup manual ou em ambiente UNIX

4.) Configurando a Camada de Rede


Entendendo a Configurao de Rede Ferramentas para a Configurao de Rede Visualizando e alterando a Configurao do LISTENER Starting and Shutting Down do LISTENER Configurando Estaes Clientes

5.) Overview do Oracle Enterprise Manager


Introduo do Oracle Enterprise Manager Acessando o Oracle Enterprise Manager

6.) Gerenciando as Estruturas de Armazenamento


Estruturas de Armazenamento do Banco de Dados Executando Tarefas Comuns de Armazenamento do Banco de Dados Gerenciando as Estruturas de Undo do Banco de Dados Efetuando Mudanas nas Estruturas de Armazenamento do Banco de Dados

7.) Administrando Usurios e Privilgios


Overview de Usurios e Privilgios Administrando Roles Administrando Profiles Administrando Usurios

8.) Gerenciando Objetos


Overview dos Objetos de Banco de Dados Gerenciando Tabelas Gerenciando ndices Gerenciando Views Gerenciando Programas

9.) Backup e Restore do Banco de Dados


Overview do Backup e Restore do Banco de Dados Configurando o Banco de Dados para Backup e Restore Backup do Banco de Dados Restore e Recover do Banco de Dados

10.) Monitorando e Ajustando o Banco de Dados


Monitorao Pr-Ativa do Banco de Dados Diagnosticando Problemas de Performance

11.) Gerenciando o Software Oracle


Gerenciando Arquivos e Logs Aplicao de Patches

1.) Introduo

Objetivo do Curso

Este curso visa oferecer um conceito bsico sobre banco de dados e mais focado especificamente na soluo Oracle para Banco de Dados. O curso dar ao aluno uma viso bsica sobre as disciplinas existentes na administrao de banco de dados Oracle, fornecendo conhecimentos sobre o funcionamento do software e sua principal ferramenta de administrao Oracle Enterprise Manager. Com o curso o aluno ter um alicerce formado para ir mais longe, buscando uma especializao, certificao ou aptido para trabalhar como DBA Jr. em plataforma Oracle.

Conceito de Banco de Dados

Antes de iniciarmos o conceito de Banco de Dados importante saber o conceito do dado, dado neste contexto um sinnimo de informao, seja esta relevante ou no. Bancos de dados (ou bases de dados), so conjuntos de registros dispostos em estrutura regular que possibilita a reorganizao dos mesmos e produo de informao. Um banco de dados normalmente agrupa registros utilizveis para um mesmo fim.
Vamos exemplificar o conceito de banco de dados: - Lembremos do nosso velho arquivo fichario: - O mesmo um banco de dados manual. - Pois um local que guardamos nossas informaes/dados - Onde as informaes (dados) so guardadas em fichas e/ou documentos - e organizadas de alguma forma para pesquisa - e armazenadas para algum objetivo.

Este tipo de banco de dados alm de ocupar um grande espao fisico em nossas salas para armazenar poucas informaes, sua pesquisa era extremamente lenta se compararmos aos padres de hoje.
Um banco de dados informatizado usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD). Normalmente um SGBD adota um modelo de dados, de forma pura, reduzida ou estendida. Muitas vezes o termo banco de dados usado como sinnimo de SGDB

Vantagens que ganhmos com a informatizao dos bancos de dados - Maior capacidade de armazenamento de informaes - Menor espao fisico ocupado para armazenar as informaes - Maior velocidade no acesso a dados - Controle da Redundncia de informaes - Compartilhamento de informaes - Independncia dos dados

Esquema bsico de funcionamento de um SGBD

Banco de Dados Oracle

Histria
O Oracle um SGBD (sistema gerenciador de banco de dados) que surgiu no fim dos anos 70, quando Larry Ellison vislumbrou uma oportunidade que outras companhias no haviam percebido, quando encontrou uma descrio de um prottipo funcional de um banco de dados relacional e descobriu que nenhuma empresa tinha se empenhado em comercializar essa tecnologia. O SGBD da Oracle lder de mercado. O Oracle 9i foi pioneiro no suporte ao modelo web. O Oracle 10g, mais recente, se baseia na tecnologia de grid. Recentemente fora lanado o Oracle 11g que veio com melhorias em relao ao Oracle 10g.

Edies
Alm das diferentes verses do software de gerenciamento de banco de dados Oracle, a Oracle Corporation subdivide seu produto em "edies" variveis - aparentemente por razes de marketing e controle de licenas.
Enterprise Edition (EE) inclue mais funcionalidades que a 'Standard Edition', especialmente nas reas de performance e segurana. A Oracle Corporation licencia este produto na base de usurios ou de ncleos de processamento, normalmente para servidores com 4 ou mais UCPs. EE no tem limite de memria e pode utilizar clusterizao usando o software Oracle RAC. Standard Edition (SE) contem a a funcionalidade bsica de banco de dados. A Oracle Corporation licensia este produto na base de usurios ou de sockets, normalmente para servidores com um quatro UCPs. Se o nmero de UCPs exceder 4, o usurio deve migrar para a licensa Enterprise. SE no possui limite de memria e pode utilizar clusterizao com o Oracle RAC sem custo adicional. Standard Edition One, introduziado com o Oracle 10g, possui algumas restries de funcionalidades adicionais. A Oracle Corporation comercializa-o para uso em sistemas com uma ou duas UCPs. Ela no possui limitaes de memria. Express Edition ('Oracle Database XE'), introduziada em 2005, oferece o Oracle 10g livre para distribuio nas plataformas Windows e Linux (com uma limitao de apenas 150 MB e restrita ao uso de apenas uma UCP, um mximo de 4 GB de dados de usurio e 1 GB de memria). O suporte para esta verso feito exclusivamente atravs de fruns on-line, sem o suporte da Oracle. Oracle Personal Edition fornece a funcionalidade de "alto fim" da Enterprise Edition mas comercializada (e licenciada) para desenvolvedores especficos que trabalham em estaes de trabalho pessoais.

Oracle Database Lite, destinada para rodar em dispositivos mveis. O banco de dados, localizado parcialmente no dispositivo mvel, pode sincronizar com uma instalao baseada em servidor

Tarefas Comuns de Administrao de Banco de Dados

O Administrador de banco de dados, conhecido pela abreviao em ingls DBA (Database Administrator), tem a principal responsabilidade manter o ambiente de dados administrado por ele ativo, seguro e acessvel aos usurios.
Fazem parte das atividades e responsabilidades do DBA: - Manter os bancos de dados ativos e disponveis - Garantir a segurana e confidencialidade dos dados - Administrar o espao ocupado pelo banco de dados - Administrar e manter os acessos de pessoas/sistemas ao banco de dados - Monitorar e manter a boa performance do SGBD - Garantir e monitorar as polticas de backup aplicadas - Efetuar restaurao de dados de backups quando necessrio - Configurar, instalar e administrar SGBD

Tambm existe a figura do Administrador de Dados (AD), cuja responsabilidade difere do DBA, pois este se preocupa mais com o dado (informao) e sua integridade, do que com aspectos tcnicos.
Fazem parte das atividades e responsabilidades do AD: - Padronizar nomenclatura de objetos e atributos - Verificar se os objetos seguem a modelagem de dados adotada (FN) - Garantir a integridade das informaes e evitar redundncias - Manter a documentao dos metadados - Manter documentado a modelagem dos dados/sistemas

O Foco do nosso treinamento ser voltado formao de profissionais DBA Oracle

Ferramentas de Administrao do Banco de Dados

Podemos administrar o banco de dados Oracle de vrias maneiras, utilizando scripts, ferramentas da Oracle, ferramentas de terceiros e hoje tambm ferramentas Open-Source. Podemos citar como as principais ferramentas de trabalho Oracle: SQL-PLUS
Esta ferramenta utilizada para passarmos comandos manualmente ao banco de dados, ou executarmos scripts com diversos comandos de uma nica vez. Por ser uma ferramenta extremamente leve e verstil (e a mais antiga) esta muito utilizada por DBAs experientes at hoje. Existe a verso web da ferramenta, que evita a instalao de softwares clientes nas mquinas de usurios. Porm no existe nesta ferramenta a possibilidade de execuo de scripts.

SQL-Worksheet
Esta ferramenta uma verso um pouco melhorada da SQL-PLUS, porm seu formato de utilizao um pouco diferenciado. O interessante desta ferramenta que os resultados so exibidos em formato planilhado.

PL-SQL Developer
Esta ferramenta era de terceiros e foi adquirida pela Oracle e colocada como verso oficial a partir da verso 11g. Esta uma ferramenta voltada principalmente programao PL/SQL dentro de bases de dados Oracle.

Oracle Enterprise Manager - OEM


Esta a principal ferramenta de administrao de banco de dados fornecida pela Oracle. uma ferramenta completa que abrange diversas disciplinas da administrao de banco de dados. A verso WEB da ferramenta que estaremos estudando, traz alm da parte administrativa, tambm a monitorao de ambiente, controle de auditoria e gerenciamento de backups.

Oracle Enterprise Manager Grid Control


Esta ferramenta de monitorao da Oracle que abrange o OEM, porm com recursos adicionais: Monitorao Monitorao Monitorao Monitorao Monitorao Monitorao de diversas instncias simultaneamente de outros tipos de bancos de dados de Sistemas Operacionais de Applications Servers de Web Servers de Queue Managers

2.) Instalao de um Banco de Dados Oracle


Overview da Instalao

O Banco de Dados Oracle um SGBD que executado em mltiplas plataformas distintas, indo desde mainframes at sistemas embarcados. A maior quantidade de softwares Oracle instaladas encontram-se em servidores Windows e Unix/Linux. A instalao do software Oracle baseada em Java, portanto h uma padronizao na instalao em diferentes sistemas operacionais. Exemplo a forma de instalar Oracle para Windows a mesma de se instalar em um servidor Unix O importante numa instalao Oracle que os pr-requisitos apresentados pelo software sejam cumpridos, assim evitam-se problemas futuros de eventuais bugs ou falta de suporte tcnico pela Oracle. Os pr-requisitos para instalao de um banco de dados Oracle no exigem uma mquina poderosa, com uma mquina simples conseguimos ter uma instalao razovel.

fato que quanto mais poder de processamento, velocidade de I/O e memria existir no servidor mais rpido ser o acesso as informaes armazenadas.

Para o nosso treinamento utilizaremos a seguinte configurao: Sistema Operacional: Memria Fsica: Espao de HD: Verso Oracle: Windows Server 2008 4 Gb 14 Gb disponveis Oracle 11g Enterprise Edition

Instalando o Software de Banco de Dados Oracle

Nos prximos passos voc aprender como fazer a instalao do software de banco de dados Oracle. Acompanhe atentamente o passo a passo.

Instalando o Servidor de Banco de Dados

1. Passo:

Acionar o Programa Instalador

Podemos ter o software de instalao em DVDs ou diretamente gravado em pastas dentro do servidor ou na rede. Encontrando o diretrio de instalao execute o programa chamado setup.exe

2. Passo:

Selecionando o Produto a instalar

Na primeira tela do Instalador encontramos trs opes possveis: Oracle Database 11g Ao selecionarmos esta opo indicamos que estamos querendo instalar o banco de dados ou o SGBD da Oracle, para a verso Oracle 11g. Oracle Client Selecionamos esta opo quando queremos instalar ferramentas e drivers para um cliente e/ou servidor de aplicao que necessite acessar os dados contidos em um servidor de banco de dados Oracle. Oracle Clusterware Selecionamos esta instalao quando formos efetuar instalaes com clusters Oracle, chamados de Oracle RAC (Real Application Cluster)

3. Passo:

Mtodo de Instalao

Neste passo podemos optar pela instalao bsica, que simplifica os passos da configurao, ou podemos partir para a instalao avanada para conhecermos as opes do banco de dados detalhadamente.
ORACLE_BASE = Contm a rvore de diretrios para o software Oracle e tambm para arquivos de dados do banco de dados. ORACLE_HOME = Contm a localizao do software Oracle e os arquivos de configurao.

Instalao Simplificada: Neste tipo de instalao s necessrio:


- passar onde ficar instalado o software Oracle (ORACLE_BASE) e tambm a localizao dos arquivos de software do Oracle (ORACLE_HOME). - Indicar o tipo de Instalao (Enterprise, Standard ou Personal) - Nome da Instncia Oracle - E a senha do usurio administrador.

Aps passadas estas informaes as demais o Oracle ir assumir de forma padro as outras opes e iniciar a criao da nova instncia. Instalao Avanada: Como o nome diz, trata-se de uma instalao onde todas as configuraes iniciais podem ser escolhidas de acordo com a necessidade do administrador, no necessariamente ficando as opes padres. Permite neste caso ao administrador ter mais controle e flexibilidade sobre o tipo de instalao.
Vamos seguir o curso optando pela instalao avanada para vermos todas as opes possveis:

4. Passo

Tipo de Instalao

Escolhemos neste passo agora o tipo de instalao de Oracle que queremos. Os tipos possveis foram vistos no captulo 1 no tpico Banco de Dados Oracle Selecionaremos para o nosso curso a opo Enterprise Edition, que nos permitira termos o mximo de recursos existentes na ferramenta

5. Passo:

Local de Instalao

Definirmos onde ser instalado o software Oracle (ORACLE_BASE). Neste item fica configurado onde sero efetuadas quaisquer instalaes de softwares Oracle.

Definirmos qual ser o nome de nossa instalao O Nome padro adotado OraDb11g_home1, indica que esta uma instalao de banco de dados (DB) da verso 11g e este seu primeiro diretrio.

Definirmos o caminho de onde ficar o software (ORACLE_HOME) Aqui indicamos onde ficar o software do SGBD e suas configuraes.

6. Passo:

Pr-requisitos do software

Nesta fase estamos checando se os pr-requisitos de hardware e softwares necessrios para a instalao do software Oracle so atendidos. Enquanto os pr-requisitos no forem atendidos ou conscientemente forarmos para que ele ignore algum pr-requisito no atendido a instalao no continuar.

No nosso caso de instalao no atendemos um requisito e sofremos uma advertncia. A advertncia citada neste momento que ns estamos efetuando uma instalao em um servidor que no possui IP Fixo, e isto faria com que os clientes pudessem perder o acesso ao banco de dados caso o DHCP renova-se o IP. Vamos ignorar esta advertncia e dar prosseguimento a instalao.

7. Passo:

Opo de Configurao

Neste passo iremos informar a opo de configurao que queremos adotar para a nossa instalao.

As opes so: a.) Criar um Banco de Dados Selecionaremos esta opo. Pois nossa inteno instalarmos e criamos uma instncia de banco de dados Oracle. b.) Configurar gerenciamento automtico (ASM) Esta opo permite configurar o gerenciamento automtico de arquivos do Oracle. Este gerenciamento controla todos os tipos de arquivos do banco de dados, criando um disco (raw) para o controle. Este tipo de gerenciamento normalmente selecionado quando estamos efetuando uma instalao do tipo RAC. c.) Instalar Software Somente Neste tipo de instalao nenhum banco de dados ser criado, apenas os softwares da Oracle sero instalados.

8. Passo:

Finalidade do Banco de Dados

Neste ponto selecionamos qual ser a configurao inicial do banco de dados, ou seja, para que fim se destinar este banco de dados. A opo selecionada definir os parmetros de configurao de memria, controle de locks, acesso via rede entre outros. Estes parmetros pr-definidos podero ser alterados no futuro pelo DBA para fazer o que chamamos de Tunning ou afinamento do banco de dados, visando melhoria de performance. As finalidades pr-selecionadas pela Oracle so:
Fins Gerais ou Sistema de Processamento de Transaes Refere-se normalmente a sistemas de transaes online Data Warehouse Refere-se a sistemas de busca massiva de dados e consolidao de grande massa de dados, com viso gerencial, estatstica, comercial e outras. Avanado Neste item voc define as configuraes de tipo de banco, como fator de blocagem, memria, entre outros.

Vamos escolher o padro de Fins Gerais.

9. Passo:

Nome da Instncia

Toda instncia de banco de dados Oracle, recebe um nome que chamamos de nome de instncia ou SID. Nesta configurao existem dois parmetros:
Nome do Banco de dados: Que armazenar o nome interno do banco de dados. SID: Que armazenar o nome de comunicao via rede

Normalmente colocamos os dois nomes iguais, mantendo um padro de no mximo oito caracteres.

Para nosso estudos selecionaremos como nome de instncia FATEB

10. Passo:

Definindo detalhes tcnicos

A prxima tela de configurao possui quatro abas, referentes a configuraes da instncia: Memria Conjunto de caracteres Segurana Exemplos de esquemas Vamos conhecer cada uma delas: Memria
Nesta aba iremos configurar quanto nossa instncia ir utilizar de memria do servidor. Quanto mais memria tiver mais rpido ser o acesso aos dados. O Oracle possui a partir da verso 10g o gerenciamento automtico de Memria para os seus tipos de cachs existentes, ele gerencia quanto vai de memria para dados, para programas, para metadados, de forma automtica. Nota: Como a verso que estamos instalando de 32 bits, o Oracle s poder alcanar no mximo por instncia o tamanho de 2Gb de memria. Os parmetros de configurao de memria podem ser alterados no futuro, via processo de tunning do banco de dados. Porm estes parmetros no so dinmicos e exigem parada da instncia.

10.2 Conjunto de caracteres

Nesta aba definimos o conjunto de caracteres que o banco ir utilizar, ou seja, definimos as letras e lngua que iremos armazenar. O padro WE8MSWIN1252 e o WE8ISO8859 consomem 1 byte por caracter armazenado e conseguem gravar os caracteres da lngua portuguesa. O Unicode permite gravar qualquer tipo de caracter de qualquer lngua, porm para conseguir isto ele consome 2 bytes para cada caracter armazenado. Importante: Uma vez definido o conjunto de caracteres o mesmo no poder mais ser alterado, caso haja esta necessidade o banco ter de ser recriado e seus dados recuperados de um backup export.

Vamos manter o padro WE8MSIN1252.

10.3 Segurana Nesta tela definimos se queremos utilizar as melhorias de segurana que foram implementadas na verso 11g, ou desativ-las e manter padro com a verso 10g e anteriores. As mudanas envolvem melhoria nas senhas bsicas, implementao automtica de auditoria, entre outros. Vamos optar por ativar as melhorias.

10.4 Exemplos de esquemas

Permite criar esquemas de bancos de dados de exemplo da Oracle. Sero criados OWNERs e objetos, para mostrar funcionalidades do SGBD da Oracle, para quem conhece a velha conta SCOTT senha TIGER, com melhorias.

Como estamos em treinamento interessante selecionarmos esta opo para que o nosso banco possa ter algumas tabelas e objetos j pr-criados para nossos estudos.

11. Passo:

Gerenciamento do banco de dados

Nesta tela definimos como nosso banco de dados ser gerenciado e monitorado. Se tivssemos instalado o ORACLE ENTERPRISE MANAGER GRID CONTROL, a opo para seleo do mesmo estaria habilitada. Nossa opo j pr-escolhida o gerenciamento por OEM, temos a opo de ativarmos o servidor de mensagens SMTP, para envio de mensagens e alertas emitidos pela monitorao da instncia.

12. Passo:

Onde Armazenar os datafiles bsicos

Nesta tela iremos informar ao software onde queremos que fiquem armazenados os arquivos principais do banco de dados. A escolha que fizermos ir servir como base para a escolha dos diretrios para as tablespaces: SYSTEM, TEMP, USERS e UNDO. Com exceo da tablespace SYSTEM todas as demais tablespaces podero ter seus arquivos de dados, alterados de localidade ou at renomeados de forma online. Porm para a tablespace SYSTEM ser renomeada ou mudada sua localizao o arquivo de controle e backup do banco de dados ter de ser recriado do zero. Importante: Defina com ateno o local onde ficaro estes arquivos para evitar problemas de recriao de instncia no futuro. Tablespaces So espaos alocados dentro do banco de dados para armazenamento de objetos, sendo estes ndices ou tabelas. Uma tablespace pode ser composta de 1 ou mais arquivos de dados fsicos gravados no disco. Principais Tablespaces: SYSTEM - Contm os objetos de gerenciamento interno do SGBD TEMP - Utilizado em queries que fazer uso de ordenao e joins UNDO - Dados alterados antes do commit USERS - Tablespace inicial para usurios Recomendao: Por questes de monitorao e performance os arquivos de dados de contedos distintos devem estar separados em discos/parties/file-systems distintos. Nota: A estrutura de diretrios j deve estar pr-criada dentro do sistema de discos. Layout de discos: Definiremos a seguinte estrutura para o nossos arquivos de banco de dados: C:\ORACLE\FATEB - raiz principal da instncia FATEB C:\ORACLE\FATEB\BANCO - Arquivos tablespaces Oracle C:\ORACLE\FATEB\DADOS - Arquivos de dados da FATEB C:\ORACLE\FATEB\INDICES - Arquivos de ndices da FATEB

13. Passo:

Opes de Backup e Recuperao

Esta prxima tela muito importante pois definimos questes de backup e recuperao de dados, podendo esta at ter restaurao de dados online. Veremos agora as opes existentes. No ativar backups automatizados Esta opo define que voc neste momento no deseja ativar nenhum tipo de backup e nem a opo de flash recovery existente no Oracle. Se voc selecionar esta opo e mais tarde desejar fazer uso das funcionalidades citadas, a configurao ser manual. Ativar Backups Automatizados Com isto ativamos o recurso de Flash_recovery e backups programados via job, o principal desta opo a ativao do recurso flash_recovery que permite recuperar dados apagados recentemente, de forma rpida. Para o recurso de backup automtico necessrio fornecermos credenciais de um usurio do sistema operacional que dever ter direito de gravao na pasta que selecionamos para armazenar os backups.

14. Passo:

Especificao da senha das contas do SGBD

Nesta tela definimos a senha de cada uma das contas criadas pelo banco Oracle. Estas contas so internas e cada uma possui uma finalidade especifica. Conhea as contas criadas:

SYS SYSTEM SYSMAN DBSNMP

- Contm os objetos internos do SGBD Oracle (Dicionrio de dados)

- Conta Master de administrao do banco de dados - Conta utilizada pelo OEM para monitorar o banco de dados - Conta utilizada pelo agente para obter mtricas de monitorao

No nosso treinamento colocaremos a senha como fateb para todas as contas

15. Passo:

Registro do Oracle no site de suporte

Nesta tela indicamos se queremos associar e registrar nossa instncia no site de suporte da Oracle (metalink.oracle.com) . Se fizermos esta associao o sistema ir verificar automaticamente patches e baix-los quando necessrios. No nosso treinamento no iremos ativar esta opo.

16. Passo:

Resumo e Instalao

Neste passo terminamos de efetuar todas as configuraes iniciais e iniciaremos o processo de instalao da nossa instncia de dados.

Inicio do Processo de Instalao: 15:54 Trmino do processo de instalao: 16:12 (tempo total 20 minutos aprox.)

Nesta ultima tela notamos que o Oracle indica que conclumos a instalao com sucesso e nos fornece informaes importantes: - Nome da Instncia criada fateb - Caminho do arquivo de configurao - endereo do OEM: https://NColchesqui:1158/em

Usando o DBCA para Criar e Configurar o Banco de Dados

No capitulo anterior instalamos nosso software Oracle no servidor e tambm criamos o que chamamos de instncia de banco de dados. Caso necessitamos criar uma nova instncia no servidor, no necessitaramos mais ter de reinstalar o software, bastaria chamarmos o utilitrio DBCA (Database Configuration Assistant) e seguirmos os mesmos passos que utilizamos na criao de nossa primeira instncia. Para executarmos o programa DBCA devemos ir ao menu Iniciar Todos os Programas -> Oracle OraDb11g_home1 -> -> Ferramentas de Configurao e Migrao -> -> -> Assistente de Configurao de Banco de dados

Com a Ferramenta DBCA temos a possibilidade de efetuar as seguintes operaes: Criar um banco de dados Esta opo permite que criemos novas instancias de banco de dados. Os passos apresentados nesta opo so exatamente os mesmos que selecionamos, quando efetuamos a instalao do servidor. Configurar opes de um banco de dados Aqui configuramos opes extras existentes na instncia de banco de dados. Configuramos tambm a forma de comunicao do listener para o sistema de rede. Deletar um banco de dados Apaga uma instncia de banco de dados criada, removendo todos os processos e seus datafiles. Gerenciar modelos Permite a criao de modelos (templates) de criao e configurao de instncias. Configurar o gerenciamento de armazenamento automtico Gerencia as configuraes de controle do armazenamento automtico de datafiles. Utilizado em sistemas RAC.

3.) Gerenciando a Instncia Oracle


Overview da Instncia Oracle

At o momento instalamos o software Oracle, criamos uma instncia de banco de dados ao qual demos o nome de FATEB, mas afinal o que uma instncia ? Um instncia em Oracle o conjunto de programas/processos residentes em memria que so utilizados para gerenciar um banco de dados Oracle. Quando criamos a instncia FATEB na verdade criamos a estrutura de programas e processos em Oracle para acessarmos um banco de dados chamado FATEB.

Arquitetura Oracle e seus componentes

*O servidor Oracle consiste de: - Instncia Oracle (Oracle Instance) - Arquivos do Banco de Dados (Database Files)

*Arquivos do Banco de Dados Oracle

- Um banco de dados possui uma estrutura lgica e fsica. - A estrutura fsica do banco de dados um conjunto de arquivos do sistema operacional. Em um banco de dados Oracle eles so compostos de trs tipos de arquivos: + Arquivos de Dados (Data Files) + Arquivos de Logs (Redo Logs) + Arquivos de Controle (Control Files)

*Arquivos de Dados (Data Files)

- Os arquivos de dados contm os dados do banco, e eles so armazenados em tabelas definidas pelo usurio. Alm disto, nos arquivos de dados tambm so armazenados o dicionrio de dados, as imagens anteriores de dados alterados, ndices e outros tipos de estruturas. Um banco de dados Oracle deve conter no mnimo um arquivo de dados. *Caractersticas dos Arquivos de Dados - Os arquivos de dados podem estar associados a apenas um banco de dados Oracle. - Um ou mais arquivos de dados formam uma unidade lgica chamada tablespace.

*Redo Logs - Os redo logs armazenam as mudanas efetuadas no banco de dados para possibilitar a recuperao dos dados em caso de falhas. Um banco de dados Oracle deve possuir no mnimo dois arquivos de redo log.

*Arquivos de Controle (Control Files) - Os arquivos de controle contm as informaes necessrias para manter e verificar a integridade do banco de dados. Por exemplo, o arquivo de controle utilizado para identificar os arquivos de dados e os arquivos de redo log. Um banco de dados Oracle deve possuir no mnimo um arquivo de controle.

*Outros Arquivos Importantes


- O servidor Oracle tambm faz uso de outros arquivos que no fazem parte do banco de dados: + Arquivo de Parmetros (Parameter File) -define as caractersticas da instncia Oracle. Por exemplo, ele contm parmetros que definem o tamanho das estruturas de memria da SGA + Arquivo de Senhas (Password File) -faz a validao de quais usurios tem permisso de fazer start up e shutdown na instncia Oracle + Arquivos de Redo Log Arquivados (Archived Redo Log Files) -so cpias off-line dos arquivos de redo log, que podem ser necessrios em um processo de recuperao de falhas de mdia

Instncia Oracle (Oracle Instance)


- Uma Instncia Oracle consiste na estrutura de memria chamada de SGA (System Global Area) e nos processos em segundo plano (background processes) utilizados para gerenciar o banco de dados Uma Instncia Oracle somente pode abrir e utilizar um banco de dados de cada vez

* rea Global do Sistema (System Global Area)


- rea de memria utilizada para armazenar as informaes do banco de dados que so compartilhadas pelos processos - Contm dados e informaes de controle e alocada na memria do computador onde o servidor Oracle esta operando - Dinmica e definida pelo parmetro SGA_MAX_SIZE - Definida em pores (granule) - Consiste de diversas estruturas de memria + Shared Pool -utilizada para armazenar os comandos SQL executados recentemente, e as informaes do dicionrio de dados. Estes comandos SQL podem ser solicitados por processos do usurio ou no caso de stored procedures, lidos do dicionrio de dados.

+ Database Buffer Cache -utilizada para armazenar os dados recentemente utilizados. Os dados so lidos e gravados nos arquivos de dados

+ Redo Log Buffer -utilizado para armazenar as alteraes feitas no banco de dados pelos processos e servidores pelos processos em segundo plano + Java Pool -utilizado para armazenar cdigo Java

+ Large Pool -utilizado para armazenar grandes estruturas de memria que no esto relacionadas diretamente ao processamento de instrues SQL, como por exemplo blocos de dados copiados durante operaes de backup e recovery

+ Streams Pool -utilizado para manter estruturas de dados e controle do recurso Oracle Streams

* Processos em Segundo Plano


- Os processos em segundo plano (background processes) de uma instncia executam funes comuns que so necessrias para atender as solicitaes de servio de usurios simultneos, sem comprometer a integridade e o desempenho do sistema. - Eles consolidam funes que, de outra forma, seriam tratadas por diversos programas Oracle executados para cada usurio. - Ele executam tarefas de I/O e monitoram outros processos Oracle para oferecer maior paralelismo, o que aumenta o desempenho e a confiabilidade. - Dependendo da configurao, uma instncia Oracle pode incluir vrios processos de segundo plano, no entanto cada instncia inclui cinco processos de segundo plano fundamentais. So Eles:

+ O Database Writer (DBW0) responsvel por gravar dados alterados do buffer cache do
banco de dados nos arquivos de dados.

+ O Log Writer (LGWR) grava as alteraes registradas no buffer de redo log nos arquivos de
redo log.

+ O Monitor de Sistema (SMON, System Monitor) verifica a consistncia no banco de


dados e, se necessrio, inicia a recuperao do banco de dados quando ele aberto.

+ O Monitor de Processo (PMON, Process Monitor) disponibiliza recursos se um dos


processos Oracle falhar.

+ O Checkpoint Process (CKPT) responsvel pela atualizao das informaes de status do


banco de dados nos arquivos de controle e nos arquivos de dados, sempre que as alteraes efetuadas no cache de buffer ficam registradas no banco de dados de forma permanente.

* Processos de segundo plano opcionais:


ARCn - Gerencia a gravao dos Archive-logs CJQ0 - Gerencia e executa a fila de Jobs do scheduler RECO - Iniciado quando a instncia entra em processo de recover Dnnn - Processos auxiliares de gravao paralela com DBWR LCKn - Gerenciamento de locks para instncias em RAC Pnnn - Execuo de queries em paralelo QMNn - Gerenciador do sistema de mensageria do Oracle

Shutting Down and Startup da Instncia Oracle

Agora que j instamos o software e conhecemos como seu funcionamento necessitamos aprender como iniciar e desligar a instncia. No ambiente Windows Para desativarmos a instncia basta pararmos os servios Oracle criados no ambiente. Cada servio do Oracle tem uma funcionalidade especifica:

Descrio dos servios instalados: Oracle FATEB VSS Writer Service OracleDBConsoleFATEB OracleJobSchedulerFATEB OracleMTSRecoveryService OracleOraDb11g_home1ClrAgent OracleOraDb11g_home1CMAdmin OracleOraDb11g-_home1CMan OracleOraDb11g _home1TNSListener OracleServiceFATEB - Criar um cache de gravao virtual de dados - Console do OEM para a instncia FATEB - Execuo de Jobs schedulados na instncia FATEB - Controle de conexo e recuperao do MTS MS - Agente de limpeza de arquivos de log - Administrador do sistema de Concentrao de conexes - Concentrador e multiplexer de conexes - Listener para acesso de clientes de rede - Instncia Oracle para o banco FATEB

** Para funcionamento da instncia basta apenas os 2 ltimos servios estarem ativos **

Shutdown/startup manual ou ambiente Unix

Aprendemos no item anterior como fazer um start/stop da instncia Oracle no ambiente Windows utilizando o gerenciamento de servios do prprio Windows. Existem situaes onde devemos efetuar o startup/stop do banco de forma manual, ou seja faz-lo passo a passo. Tanto no ambiente Unix como no Windows utilizamos a seqncia abaixo: 1.) Abrimos uma tela de terminal / console

2.) Indicamos ao Oracle qual a instancia que desejamos trabalhar configurando a varivel de ambiente ORACLE_SID C:\> SET ORACLE_SID=fateb Ou $ export ORACLE_SID=fateb

3.) Chamamos a ferramenta SQL-PLUS sem efetuarmos logon Sqlplus /nolog 4.) Agora conectamos no banco de dados utilizando uma conta com poder administrativo de SYSDBA. SQL> connect system/fateb as sysdba 5.) Uma vez conectados efetuamos o comando para tirarmos efetivamente a base de dados SQL> shutdown immediate SQL> exit 6.) No passo 5 tiramos a instncia do ar mas no o listener. Para tirarmos o listener do ar efetuamos o comando abaixo: C:\> lsnrctl stop

Para efetuarmos o processo inverso, ou seja, colocarmos instncia no ar: a.) Colocando o listener no ar C:\> lsnrctl start Ou $ lsnrctl start b.) Colocar a instncia no ar C:\> set ORACLE_SID=fateb Ou export ORACLE_SID=fateb sqlplus /nolog SQL> connect system/fateb as sysdba SQL> startup SQL> exit

Parando e reiniciando o listener

Subindo novamente a Instncia

4.) Configurando a Camada de Rede


Entendendo a Configurao de Rede

O conceito para rede no banco de dados Oracle bem simples, ele trabalha sempre no modelo 2-Tier, ou seja client-server. Mesmo que tenhamos sistemas desenvolvidos em n-tiers, para o banco o acesso sempre ser considerado como vindo de um cliente, sendo que este cliente pode ser uma pessoa, um sistema, um servidor de aplicaes, etc. Basicamente temos a seguinte configurao: No servidor: Como o nome diz, ele tem a funo de servir os clientes com informaes. Para isto o mesmo utiliza um processo chamado listener (escutador), o mesmo fica escutando as solicitaes na rede para estabelecer conexes entre o servidor e o cliente que esta solicitando informaes. No cliente: O cliente esta buscando o acesso as informaes disponveis no servidor. Para isto ele utiliza o protocolo de comunicao da Oracle chamado de TNS (Transparent Network Service), atravs deste protocolo ele conversa com o listener do Oracle buscando acesso para estabelecer uma comunicao com o servidor.

Quando a comunicao estabelecida: O Servidor Oracle dependendo da configurao de comunicao com o cliente (shared/dedicated) cria uma rea de memria exclusiva e um processo para gerenciar a conexo estabelecida entre o servidor e o cliente, liberando o listener para escutar novas solicitaes. Quando a comunicao estabelecida o cliente pode gerar e obter informaes do servidor.

Modos de criao de Processos cliente/Servidor Como citamos o servidor Oracle cria processos exclusivos para cada conexo efetuada ao servidor. Para isto ele trabalha com dois tipos de processos:
DEDICATED Cada conexo ao servidor recebe um processo dedicado, ou seja, ele ter um programa prprio de comunicao, uma porta nica TCP, uma regio de memria exclusiva. Utilizamos este tipo de processo quando temos poucas conexes simultneas ao banco de dados, ou conexes gerenciadas por um pool de algum application Server. Este tipo de processo utiliza uma memria que chamamos PGA (Process Global Area) SHARED Para evitar problemas com consumo excessivo de memria, e poder aumentar significativamente o nmero de usurios simultneos que acessam uma base Oracle, a Oracle criou o conceito de conexes shared. As conexes shared, possuem processos prprios, portas de comunicao TCP, prprias, porm a rea de memria utilizada compartilhada e faz parte da regio de memria da SGA (System Global Area).

Tipos de clientes e programas de acesso:


Como citamos a comunicao entre o cliente e o servidor Oracle feita atravs de um protocolo chamado TNS. Este protocolo pode ser encontrado em: Software e programas clientes da Oracle Acesso Nativo da Oracle para compilao com sistemas C, C++, VB, Delphi, etc. Camada de comunicao de banco de dados do Java / .Net

Tipos de protocolos de rede aceitados


O servidor Oracle alm de trabalhar com a camada bsica de comunicao atravs do protocolo TCP, tambm pode aceitar os protocolos abaixo: TCP TCPS NMP - Protocolo padro de comunicao - TCP com dados encriptados - Named Pipes

Ferramentas para a Configurao de Rede

Para efetuarmos as configuraes de rede, temos de efetuar configuraes tanto em nvel de servidor como nos clientes que iro acessar nosso servidor. Para configurarmos tanto o servidor como o cliente a Oracle utiliza a ferramenta chamada NETCA (Assistente de Configurao de Rede).

A ferramenta NETCA nos permite efetuar 4 tipos de configuraes: Configurao de Listener Configurao de Mtodos de Nomeao Configurao do Nome de Servio de Rede Local Configurao do Uso de Diretrios

- Configurao de Listener (servidor) A configurao do listener responsvel por configurar o sistema de comunicao de rede do servidor, para que o mesmo possa ser acessado por clientes. - Configurao dos mtodos de Nomeao (cliente) Os mtodos de nomeao informam como ser a forma de identificar o servidor pela rede. Ou seja, informa como os clientes convertem um nome para o ip do servidor. - Configurao do Nome de Servio de Rede Local (cliente) Este item configura as informaes das instncias Oracle criadas em servidores, para que os processos clientes possam ter acesso. Tambm chamamos a configurao deste item de configurao do TNS ou do DSN de acesso. - Configurao do uso de diretrios Utilizado quando a infra-estrutura de servidores utiliza servidores de diretrio LDAP para gerenciar as configuraes de servidor de banco de dados.

Visualizando e alterando a Configurao do LISTENER


1.) Iniciamos no servidor a aplicao NETCA, via menu do Oracle chamando o atalho 2.) Escolhemos a opo de configurao do Listener

3.) Nesta prxima tela temos a opo adicionar, reconfigurar, deletar e at renomear um listener 4.) Quando fizemos a instalao da instncia pela instalao do software automaticamente foi criado o listener padro chamado LISTENER. 5.) Ento podemos visualiz-lo, alter-lo ou at exclu-lo. Vamos optar por saber como ele esta configurado

6.) Apesar de escolhermos a opo de reconfigurar, vamos apenas ver as configuraes. 7.) Como s temos um listener ativado. S aparecer 1 na lista. NOTA: Em que situaes criaramos mais de um listener ? Como citamos o listener o responsvel na rede por estabelecer as comunicaes entre clientes e servidores Oracle. Em algumas situaes podemos ter servidores com diversas placas de rede, uma para sada web e outra para rede interna. Neste caso necessitaramos de 2 listeners. Outra situao quando necessitamos ter acesso ao Oracle por portas diferentes da padro.

8.) Quando escolhemos a opo de reconfigurar o Oracle entende que voc quer fazer alguma alterao e para isto alerta que o Listener esta ativo e o mesmo a partir deste ponto ser desativado, para ser reconfigurado. NOTA: Quando voc desativa o listener, nenhuma nova conexo de rede poder ser efetuada, porm as conexes j estabelecidas so mantidas.

9.) Vamos escolher sim 10.) Vemos que o nosso listener de nome LISTENER, recebe solicitaes apenas pela porta TCP.

11.) Outra informao importante que o mesmo s recebe solicitaes pela porta default a 1521

12.) Pronto terminamos de configur-lo e vamos informar que no queremos efetuar nenhuma nova alterao

Bom fizemos a configurao mais simples e trivial utilizando a ferramenta de configurao de redes da Oracle. Porm se quisermos visualizar a configurao e termos poder para configurar o listener de formas mais complexas e personalizadas, teremos de editar o arquivo de configurao manualmente.

a.) O arquivo de configurao esta localizado no diretrio $ORACLE_HOME/network/admin e chama-se listener.ora Veja o contedo abaixo do listener.ora

# tnsnames.ora Network Configuration File: c:\oracle\product\11.1.0\db_1\network\admin\tnsnames.ora # Generated by Oracle configuration tools. ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) )

Nota esta configurao acima do LISTENER dinmica, ou seja automaticamente sempre que subirmos a instncia, ou criarmos uma nova a mesma automaticamente ser publicada no LISTENER.

Starting and Shutting Down do LISTENER

J comentamos sobre este assunto no captulo 3, no tpico SHUTDOWN/STARTUP DE INSTNCIAS ORACLE. Para recordarmos podemos parar e reiniciar o servio, via gerenciador de servios do Windows, ou via o comando lsnrctl. Por que motivo temos de parar o listener ? - Para manutenes na configurao - Quando queremos bloquear novas conexes via rede

Configurando Estaes Clientes


Este processo muito parecido com a instalao do servidor. Quando voc necessita ter o client do Oracle Instalado ? Quando voc necessita que seu usurio acesse diretamente as informaes contidas nos bancos de dados, efetuando o que chamamos de querys SQL. Quando voc tem programas que no possuem acesso nativo ao Oracle e dependem de drivers de conexo como ODBC, OLE, PRO-C, PRO-COBOL e PROFortran Quando voc quer ter ferramentas de pesquisa e administrao do servidor instaladas em sua estao cliente. Quando queremos extrair ou incluir e mesclar informaes com outros bancos de dados como SQL-Server, Access e at Excel. Em caso de servidores de Aplicao / COM e DCOM

Quando voc no necessita ter o client do Oracle Instalado ? Quando seu programa de acesso for a Java / .Net e tiver utilizando a API interna da linguagem para acessar o servidor Quando seu acesso ao dado seja atravs de um servio WEB

PROCESSO DE INSTALAO NOS COMPUTADORES CLIENTES No nosso caso hoje os computadores clientes so os computadores dos alunos. Vamos fazer um passo a passo juntos para instalarmos o cliente e acessarmos os dados do nosso servidor. Segue informaes de conexo do servidor: Hostname: Sid: Port: NCOLCHESQUI FATEB 1521

Veja o passo a passo abaixo: 1.) Vamos acionar o programa de instalao de clientes que esta na pasta c:\soft\oracle_cliente no seu computador 2.) Esta a tela inicial do instalador

3.) Clique em prximo e escolha o tipo de instalao que deseja.

4.) Selecionei como minha instalao a console do Administrador 5.) Selecione o local onde ser instalado o cliente

Tela de pr-requisitos

Clique em instalar e aguarde o trmino da instalao

Aps o termino da instalao o Oracle automaticamente ir solicitar as informaes de servidor, IP, Porta e instncia para criar a comunicao entre o cliente e o servidor. (acionamento do NETCA opcional)

5.) Overview do Oracle Enterprise Manager


Introduo do Oracle Enterprise Manager

O Oracle Enterprise Manager ou OEM como iremos apresent-lo daqui para frente em nossos textos desta apostila. O OEM a principal ferramenta de administrao e monitorao feita pela Oracle para gerenciamento dos seus bancos de dados. At a verso Oracle 10g, existe uma verso em Java standalone, mas esta verso s trata de itens de administrao. Os itens de monitorao eram separados em ferramentas distintas. A partir da verso 10g surgiu tambm uma verso em formato WEB, que contemplava itens como monitorao de ambiente, thresoulds, alarmes e inclua ferramentas de gerenciamento de backup e auditoria. Tambm na verso 10g surgiu o monitorador centralizado de ambientes chamado Oracle Grid Control, que alm de banco de dados monitorava itens como: - Sistema Operacional - Servidores de Aplicao - Servidores de Web - Oracle Applications Services e outros Com a verso 11g novas funcionalidades vem sendo adicionadas, como melhorias no esquema de controle de backups e Jobs. Iremos neste treinamento nos basear na verso 11g da OEM.

Acessando o Oracle Enterprise Manager

Para acessar o OEM acesse o link https://ncolchesqui:1158/em ou o item DATABASE CONTROL FATEB pelo servidor. Clique em Continuar no site se voc estiver utilizando o IE8. Dever aparecer a tela abaixo

No campo usurio SYSTEM senha FATEB, conectar como normal. IMPORTANTE: Lembro a todos que estamos em um ambiente compartilhado e a conta SYSTEM a conta mster do ORACLE, portanto mximo de cuidado para no causar desastres e prejudicar seu colega. Contamos com sua colaborao.

Veja a tela aps a conexo:

VAMOS NAVEGAR UM POUCO NA FERRAMENTA E CONHECERMOS MELHOR Nos primeiros links no canto superior direito, temos: - Configurar - Efetuar configuraes do OEM - Preferncias - Configurar preferncias de notificao de alertas - Ajuda - Help da ferramenta - Logoff - Sair e encerrar a conexo do OEM

No link abaixo chamado Banco de Dados, sempre nos retornar a tela inicial a HOME Nos links de grupo temos os seguintes assuntos: Home - Pagina inicial de abertura com resumo do ambiente Desempenho - Grficos que mostram como esta a performance Disponibilidade - Configurao de backup e recover Servidor - Administrao do banco de dados Oracle Esquema - Administrao dos objetos do Banco Oracle Mov. De dados - Processo de transferncia de dados entre ambientes Software e suporte - Configurao e Ger. do software OEM e Oracle No decorrer do treinamento iremos conhecer cada uma destas abas e estudar as principais para administrao do ambiente. Devido ao nosso tempo escasso, nos iremos ater a temas principais, deixando certas opes e/ou configuraes no cobertas neste treinamento.

6.) Gerenciando as Estruturas de Armazenamento

Estruturas de Armazenamento do Banco de Dados

Reviso: No captulo 2 no passo 12 do processo de instalao do Oracle conhecemos e falamos brevemente do que era uma tablespace e quais as principais utilizadas pelo Oracle. No captulo 3 Overview de uma instncia Oracle nos aprofundamos de como fisicamente o Oracle trabalha e utiliza seus arquivos. Neste capitulo revisaremos estes itens verificando como visualiz-los e administr-los pela ferramenta Oracle Enterprise Manager.

Podemos separar a estrutura de armazenamento do Oracle de duas formas: - Armazenamento Fsico - Armazenamento lgico

Armazenamento Fsico So todos os arquivos utilizados pela instncia Oracle e que ficam fisicamente armazenados em disco. Em algumas instalaes de ambiente Oracle como a RAC (Real Application Cluster) poderemos visualizar no mais arquivos mais sim disco fsicos destinados diretamente a instncia de dados, neste caso no h formatao de SO no disco, pois o mesmo ser o que chamamos de raw-device (disco cru). Vamos revisar o capitulo 3 e verificar se ficou alguma dvida.

Armazenamento Lgico - Tablespaces


Quando falamos em armazenamento lgico em Oracle estamos nos referindo a TABLESPACES, ou seja tudo que utilizamos, tabelas que criamos, dados que armazenamos ficaro contidos em alguma tablespace. No capitulo 2 falamos sobre as principais tablespaces do Oracle, vamos revisar agora.

Acesso o menu servidor

Acesse o link tablespaces e veja como esto as tablespaces padro

Como pudemos observar nossas tablespaces bsicas foram criadas no momento da instalao da instncia FATEB. As instncias bsicas tem cada uma sua funcionalidade: SYSAUX SYSTEM TEMP UNDOTBS1 USERS - contm objetos do Oracle para opcionais que decidimos instalar - Contm os objetos bsicos da instncia Oracle (catalogo) - Objetos temporrios (joins, sorts, rebuilds, etc.) - Tablespace do desfazer erros rollback - Tablespace de armazenamento padro para usurios

Executando Tarefas Comuns de Armazenamento do Banco de Dados

Uma das funes do DBA gerenciar da melhor forma possvel a administrao do espao existente para o armazenamento das informaes que ficaro residentes no banco de dados. No existe uma regra especifica de como o DBA deve administrar o banco de dados, o que existe so boas prticas e sugestes fornecidas pela Oracle para facilitar esta atividade. Para que o DBA possa definir qual ser a estrutura fsica/lgica de um banco de dados necessrio estar em um projeto em que foi citado ou mencionado qual seria a utilidade do banco de dados. (ou pelo menos ter idia de um)

Dentro desta regra podemos citar as seguintes atuaes: a.) Definir a estrutura fsica do banco de dados A definio fsica basicamente serve para definir onde estaro localizados fisicamente os arquivos do banco de dados. As boas praticas dizem por questes de performance dizem: 1.) Regra - Separe em discos/controladoras diferentes os seguintes tipos: Dados, ndices, Temporrios, Undo, Redo, Software Ou seja teremos agora 6 separaes 2.) Regra - Separe em discos/controladoras diferentes - Separe suas tablespaces de dados e ndices por sistemas / necessidades de negcio e coloque-as em discos diferentes.

3.) Regra - Separe em discos/controladoras diferentes - Objetos dentro do sistema com alta utilizao e que sejam concorrentes entre si.

Como disse antes as regras de boa pratica no so obrigatrias, so dicas de como podemos otimizar a performance de nosso ambiente. O fato que se pegssemos as 3 regras juntos com um banco que contenha 3 sistemas de negcio administrado poderamos ter no mnimo 12 discos/controladoras disponveis. Normalmente isto nunca existe. Mesmo em um ambiente de uma grande empresa. Cabe ento ao DBA na fase inicial do projeto utilizar o bom senso, tentando ao mximo balancear as cargas de I/O entre os discos/controladoras disponveis.

A atividade do DBA monitorar a utilizao de espao e concorrncia de I/O, mudando parmetros e localizao de arquivos para que o banco administrado sempre tenha a melhor performance e a melhor utilizao do espao em disco.

b.) Definir a estrutura lgica do banco de dados Definir a estrutura lgica nada mais do que definirmos quais sero as tablespaces que utilizaremos em nosso banco de dados. Toda tablespace ter sempre um datafile ou mais a ela atrelado e este exclusivo desta mesma tablespace. Para definirmos a tablespace utilizaremos as seguintes informaes: - Nome da Tablespace Tamanho da tablespace Blocagem tamanho do bloco de dados Localizao dos datafiles. Para fixar nosso exemplo criaremos as seguintes tablespaces - TS_FATEB_ADMIN_TB - Contm tabelas da administrao da faculdade Tam. 50Mb - TS_FATEB_ADMIN_IX - ndice das tabelas de administrao Tam 5 Mb - TS_FATEB_DOCENCIA_TB - Tabelas referentes aos cursos, notas, alunos, profes. Tam.: 100 Mb - TS_FATEB_DOCENCIA_IX - ndices Tam. 5 Mb. - TS_TREINA_01 - Tablespace para o aluno 01 do treinamento

Clique no boto criar para criar novas tablespaces

Nesta tela perguntado informaes sobre o tipo de tablespace que se esta desejando criar. No nosso caso explicaremos cada item mas manteremos o que esta definido por padro.

Comando gerado quando efetuamos a criao de uma tablespace.

- Gerenciar e acompanhar o crescimento dos dados


Uma das principais atividades do DBA manter o ambiente ativo e seguro. Para tanto importante que haja uma monitorao sobre o ambiente e nosso caso o banco de dados. Um dos fatores que costumam a ter problemas e o gerenciamento do espao utilizado. O DBA pode com acompanhamento e informaes recebidas planejar como ser o crescimento de sua base de dados administrada, planejando com antecedncia como resolver os problemas de espao em disco. - Ajustando a base de dados - Solicitando aquisio de mais discos Com a ferramenta Enterprise Manager podemos monitorar o crescimento de nossas tablespaces e tambm gerar alertas e aes para nveis que entendamos como critico. Poderamos configurar no Enterprise Manager para que nos envie email quando um determinado threshould fosse atingido. Veja abaixo as telas de monitorao de tablespace e de configurao de alertas.

Gerenciando as Estruturas de Undo do Banco de Dados Efetuando Mudanas nas Estruturas de Armazenamento do Banco de Dados

7.)

Administrando Usurios e Privilgios

Overview de Usurios e Privilgios

USUARIOS Como o acesso a dados criados no banco de dados Oracle controlado e tem de ser seguro para garantir integridade da informao, faz necessrio que o SGBD garanta que s os usurios autorizados tenham o acesso necessrio para utilizar a informao. Para conseguir isto o banco faz o uso do recurso de controle de usurios e seus privilgios. Tendo diversas formas de manter os usurios, a forma de autenticao dos usurios e a restrio e/ou liberao do acesso. Um usurio no Oracle pode ser um usurio comum ou o que chamamos de Owner, o owner proprietrio de objetos dentro do banco de dados e pode compartilhar seus objetos com outros usurios. O usurio do banco de dados pode ser ou no um usurio existente no sistema operacional /domnio, para isto chamamos este usurio de usurio local ou usurio de rede.

PRIVILGIOS Os privilgios so os tipos de acessos que concedemos aos usurios para acessarem determinado objeto dentro do banco de dados. Com os privilgios podemos garantir que o usurio s tenha o acesso necessrio para que exera suas atividades.

Administrando Roles

1. Entendendo o conceito de roles Roles (traduo papeis ou atribuies), um recurso do banco de dados Oracle que permite agrupar diversos privilgios em um nico grupo. Este agrupamento facilita em muito a administrao de segurana de banco de dados pois permite ao DBA ou gestor de segurana criar perfis de acesso de acordo com regras e necessidades do negcio ou empresa. Se no tivssemos as roles teramos que conceder os privilgios 1 a 1 para cada usurio que crissemos no banco de dados. Veja o problema abaixo que seria executado sem a role: Seu banco possui 100 usurios e cada um possui cerca de 100 privilgios, ou seja foi feito ento 10000 grants. Se utilizarmos o conceito de roles os 100 privilgios podem virar 1, e cada usurio ento ter acesso a apenas uma role. Com isto reduzimos para 100 grants de usurio. Uma das grandes vantagens da role que qualquer alterao nos direitos e privilgios concedidos ao papel, automaticamente afetar todos os usurios a este associado.

2. Criando e administrando roles

Para acessar a tela acima de criao de roles, abrimos o Oracle Enterprise Manager, nos conectamos, selecionamos a opo servidor e depois a opo Atribuies. Esta tela permite gerenciar as roles que possumos e criar novas. A administrao permitira a voc adicionar ou retirar privilgios de uma role.

As telas de edio e criao de objetos no Oracle Enterprise Manager seguem um formato padro, portanto entendendo o funcionamento de uma todas as outras sero parecidas.

Segue abaixo a tela para a criao de uma role

Para criarmos uma role necessitamos basicamente informar o nome da nova role, neste caso estamos criando uma role chamada RL_FATEB. As outras opes permitem neste momento j adicionarmos os privilgios que nossa role ter. Como exemplo iremos criar a role RL_FATEB com direito de conexo e apenas de leitura em todos os objetos do banco de dados. Para isto concedermos : A role CONNECT e SELECT_CATALOG_ROLE O privilegio de sistema SELECTY ANY TABLE

Com os passos acima criamos uma role que permite quem a possu-la ter acesso ao banco de dados, com acesso total de leitura e inclusive no catalogo do banco de dados.

3. Associar a role criada ao usurio

Uma role criada que no esta associada a ningum ou a nenhuma outra role, no tem funo nenhuma. Precisamos associ-la neste exemplo ao nosso usurio. Para isto iremos entrar na tela de administrao de usurios, escolher um usurio e conceder a atribuio da role. Veja os passos abaixo:

Escolhemos a opo Servidor e dentro de servidor a opo de usurio.

Escolhi o usurio EMERSON_COLCHESQUI e vou conceder o direito a role que criamos.

Escolha a opo Editar para editar o usurio e alterar suas informaes

Administrando Profiles

Os profiles nos permite criar regras de segurana e utilizao para os usurio, as regras que podemos trabalhar com profiles : - Restries de controle de senha (expirao, bloqueios) - Limitao de recursos (CPU, Mem e I/O) - Limitao de sesses concorrentes - Tempo de conexo / Inatividade

As restries de recursos que criamos em perfis, para funcionarem necessrio que o parmetro resource_limit esteja setado como true para o banco de dados. Caso contrario o banco no controlar as restries.

Vamos criar um perfil chamado P_FATEB, que restringira o nmero de conexes simultneas em 2 e demais itens ficaro como default (unlimited)l.

Agora assim como fizemos com a role, devemos escolher os usurios que faro parte deste perfil de usurio. Vamos deixar isto para falarmos no prximo item.

Administrando Usurios
A administrao dos usurios constitui nas atividades de: - Criao de novos usurios - Administrao de acessos de usurios existentes - Bloqueio/desbloqueio de contas - Reset de senhas Entre outras atividades na administrao de usurios.

No item de Administrao de roles adiantamos um pouco o item de alterao e administrao de usurios. Vamos criar dois usurios para cada aluno neste treinamento: - ALUNO_XXX - Usurio com papel de consulta e perfil restrito - ADM_ALUNO_XXX - Usurio DBA de banco de dados. Senha ser FATEB. Veja o exemplo abaixo e tente fazer voc mesmo:

Deixe apenas a role RL_FATEB

Pronto criamos o usurios. Como pode ver no demos o acesso diretamente ao usurio e sim atravs da role RL_FATEB e restringimos o nosso novo usurio atravs do perfil P_FATEB.

As outras opes existentes na administrao de usurios so: - GERAL - Defini os dados bsicos de um usurio - Altera senha de usurio (reset) - Altera e gerencia as tablespaces default do usurio - ATRIBUIES - Define as roles que o usurio tem acesso - Privilgios do Sistema - Assim como o nome diz voc concede direitos especficos do Oracle diretamente ao usurio. - Privilgios de Objetos - Nesta aba podemos conceder diretamente ao usurio acessos a objetos (tabelas, views, programas, etc.) diretamente ao usurio. - COTAS As tablespaces que definimos na criao de usurio como default tablespace, gera apenas um apontamento de onde sero criados os objetos do usurio caso o mesmo no passe o nome da tablespace. Isto no quer dizer que o usurio tem acesso de gravao na tablespace default. Para que isto seja feito necessrio que o mesmo tenha cotas de espao definidas. Podemos dar cotas ao usurio tambm em outras tablespaces alm da tablespace default. Um usurio no poder gravar mais do que sua cota de espao permite. (limitado ao tamanho da tablespace) - Grupo de consumidores Se for configurado o grupo de consumidores no banco de dados, restries permitem que a utilizao de CPU sejam restritas. A configurao de grupo de consumidores permite definir priorizao de utilizao do uso da CPU. - Usurios de Proxy Mascaramento de usurios e utilizao de usurios como se fosse outro.

Veja agora criamos os nossos usurios.

8.)

Gerenciando Objetos

Overview dos Objetos de Banco de Dados

Aprendemos at o momento muito sobre a estrutura fsica do banco de dados Oracle, agora chegou a hora de explorarmos o funcionamento do gerenciamento lgico do banco de dados Oracle. Aprendemos que fisicamente o Oracle aparece para o sistema operacional como um conjunto de arquivos e processos que ficam executando em memria. Quando entramos no conceito lgico falamos sobre as tablespaces e que elas seriam utilizadas para armazenar todos os objetos que crissemos dentro do nosso banco de dados. O Banco de Dados Oracle possui diversos tipos de objetos vamos conhecer os principais agora: TABELAS Objeto dentro do banco de dados que utilizado para armazenar as informaes (dados). Este objeto estar sempre localizado em uma tablespace.

INDICES So objetos que servem para agilizar e facilitar a pesquisa de um dado em uma determinada tabela.

VIEWS Como o nome cita so vises, que servem para mascarar, esconder, juntar, etc., informaes contidas dentro das tabelas.

PROCEDURES So blocos de comandos/programa desenvolvidos na linguagem PL/SQL.

FUNCIONS Tambm so blocos de comandos, porm permitem retornar um valor como resultado de sua execuo. E podem ser utilizadas em querys.

PACKAGES Pacotes, so bibliotecas de procedures e functions agrupadas em um nico modulo chamado package. A vantagem da package a possibilidade de ocultao de programas com utilizao de public/private.

TRIGGERS Tambm so blocos de comandos, porm os mesmos no podem ser disparados pelo usurio. O mesmo s pode ser disparado num evento programado.

SEQUENCES Funciona basicamente como um seqenciador, ou seja seria como uma tabela de uma nica linha e coluna, que contm apenas um valor, uma seqncia numrica, que cada vez acessada retorna um novo valor. Em sistemas que utilizem o conceito de id nico gerado automaticamente extremamente recomendado a utilizao de sequences, para evitar problemas como Dead Locks.

Conceito de OWNERS Antes de iniciarmos a explicao de cada um dos itens acima importante sabermos que todos os objetos criados em um banco de dados sempre pertencero a um dono (que chamamos de OWNER). Tendo em mos a informao acima devemos decidir como o nosso banco de dados ira armazenar as informaes. Um exemplo para entendermos melhor: Vamos supor que estamos desenvolvendo um sistema para a faculdade e por isto criamos o nosso banco com o nome de FATEB.

O banco FATEB conter 3 sistemas: - ADMINISTRATIVO Responsvel pela rea de administrao da faculdade - EDUCACIONAL Responsvel pelo controle dos itens relacionados a atividades educacionais da faculdade. (Provas, Alunos, Notas, Matrias,etc.) - FINANCEIRO Responsvel pelas atividades do departamento financeiro

Como faremos ento para preparamos o nosso ambiente:

1.) Criar as tablespaces que armazenaro as informaes dos sistemas TBSP_ADMIN_TB - 30 Mb TBSP_ADMIN_IX - 2 Mb TBSP_EDUCA_TB - 50 Mb TBSP_EDUCA_IX - 5 Mb TBSP_FINANC_TB - 30 MB TBSP_FINANC_IX - 3 MB Para criarmos as tablespaces vamos revisar as aulas anteriores.

2.) Criar os OWNERS para cada sistema OWN_ADMIN OWN_EDUCA OWN_FINANC

As contas OWN sero associadas as tablespaces que criamos tendo como talbespace default as tablespaces com final TB. As constas OWN so responsveis por conter os objetos necessrios para o funcionamento do sistema especifico. Esta conta em ambiente de produo deve ser de responsabilidade do DBA. (Sugesto de segurana). Os sistemas especficos devero utilizar o usurio e senha cadastrados no banco de dados para acesso aos respectivos sistemas. Ou trabalhar com sistema de conta nica. (Isto depender de como o sistema criado).

Gerenciando Tabelas

Como citamos anteriormente tabelas so objetos utilizados pelo banco de dados para armazenar informaes. Toda tabela sempre pertencer a um nico owner e estar contida dentro de uma nica tablespace. Somente o Owner ou o DBA do banco de dados poder conceder direitos sobre uma determinada tabela a um usurio ou role. Os dados armazenados em uma tabela utilizam o formato bidimensional, ou seja, so armazenados em linhas X colunas. As colunas contm os campos e tipos de informaes armazenadas. As linhas contero os registros. Exemplo: ID 1 2 Tabela OW_EDUCA.ALUNO NOME CURSO Joo Sistemas de Informao Maria Sistemas da Informao

Como citamos as tabelas so armazenadas em uma tablespace no banco de dados Oracle e portanto consomem espao em disco. O espao mnimo ocupado por uma tabela 1 bloco de dados da tablespace O espao mximo o disponvel livre na tablespace. Quando criamos uma tabela definimos sua volumetria, ou seja seu tamanho inicial, e metas de crescimento a cada novo extent (extenso). Uma quantidade grande de extents, geram o problema que chamamos de fragmentao de dados e para corrigir o problema necessrio um processo que chamamos de reorg. O processo de reorg ir criar a nova tabela com uma fragmentao menor acertando para isto seu tamanho de volumetria e blocagem. Em Oracle podemos ter tabelas dos seguintes tipos: - Tabelas normais - Tabelas particionadas - Tabelas subparticionadas. - Tabelas com organizao por ndice - Tabelas externas.

Vamos conhecer a tela de gerenciamento de tabelas do Oracle Enterprise Manager. 1.) Acessamos o link Banco de Dados ou Instncia Fateb, para retornarmos a tela principal 2.) Clicamos no link Esquema para termos acesso aos gerenciadores de objetos

3.) Agora clicamos no link tabelas

4.) Por padro ele traz a tela com o usurio que fizemos login. Como ainda no criamos nenhuma tabela para os nossos novos owners, vamos Vamos criar uma tabela em nossa conta de conexo e depois criaremos nos owners especficos. Clique no boto criar Definiremos que ser uma tabela padro

Criaremos uma tabela com um nome de teste e o owner ser o nosso usurio de login

Na tela de criao de tabelas temos as seguintes opes: Geral Restries Armazenamento Opes Parties - Tela de Definio bsica da Tabela - Tela de cadastramento de restries/regras - Tela onde definimos a volumetria da tabela - Opcionais de Tabelas - Define formas de particionamento de tabelas

No nosso exemplo criamos apenas uma tabela simples para v-la na listagem de tabelas.

Com a tabela criada podemos testar editar a tabela, criando novos campos, restries, adicionando parties, Etc. Vamos ver como seria a tela de excluso de tabelas Primeiro selecione qual a tabela deseja excluir e clique no boto deletar com opes

Esta tela permite que voc escolha se quer: - deletar o contedo da tabela (delete) - Excluir a tabela (drop) - zerar o contedo da tabela (truncate) Vamos escolher o drop excluindo definitivamente a tabela. Se observarmos agora no temos mais nenhuma tabela novamente em nossa lista.

Recuperando objetos Apagados


A Oracle a partir da verso 10g criou o conceito de lixeira que permite recuperar rapidamente objetos apagados. OBS: Este recurso limita os objetos no tempo e tamanho pela rea que definimos como flash_back_area. Digamos que em nosso caso exclumos erroneamente a tabela e desejamos recuperla. Na tela de listagem de tabelas clique no boto lixeira.

Nesta tela visualizamos os objetos que apagamos e podemos recuper-los.

Selecione as tabelas que deseja e clique no boto Eliminao de Flashback

Ser questionado se voc deseja alterar o nome da tabela, clique agora em prximo e depois em submeter e depois ok. Veja a tela com as tabelas recuperada

Vamos Criar agora uma nova tabela e explanar um pouco mais as opes existentes: Criaremos a tabela aluno em no owner OWN_EDUCA Descrio da tabela: Owner: Tabela: Tablespace: Comment: OWN_EDUCA ALUNO TBSP_EDUCA_TB Tabela que contm o cadastro dos alunos

Descrio das colunas: ID_ALUNO Number(3) PK NM_ALUNO varchar2(30) not null NR_Telefone char(8) not null EMAIL varchar2(50) not null DT_Matricula DATE not null Observao varchar2(100)

- Identificador do aluno - Nome do Aluno - Nmero do Telefone - Descrio do email - Data de inicio na faculdate - Observao sobre o aluno

Agora crie tabelas que devero se amarrar em nossa tabela de aluno Ex: Notas_Faltas - Tabela que conter o controle de notas e faltas Ano_Materias - Ano Letivo e Materias lecionadas Cursos - Cadastro dos cursos Professores - Cadastro dos Professores Materias - Materias Lecionadas Professor_Materia - Professor X Materia Lecionada. ETC

Gerenciando ndices

Como citamos anteriormente a funo do ndice melhorar e agilizar a pesquisa ao dado em uma determinada tabela. No existe acesso de usurio a ndice diretamente, quem faz a utilizao do mesmo o otimizador de acessos do Oracle. Ou seja no so possveis consultas/queries em ndices. No exemplo anterior criamos uma tabela que possua um campo definido como chave primria (PK), quando o banco efetua esta restrio ele automaticamente gera um ndice nas colunas da chave primria. Existem dois tipos de ndices em Oracle: - ndices Normais - conhecidos com b-tree ndex - ndices bitmaps - utilizados em pesquisas de baixa granularidade Para ambos os ndices acima podemos ter: - ndices nicos - No permitem repetio do dado - ndices no nicos - Permitem repetio do dado Os ndices ainda podem ser: - ndices Simples - ndice referenciando apenas uma coluna - ndices compostos - ndices contendo mais de uma coluna

Assim como em um livro ou documento o ndice nos auxilia a encontrar o captulo ou a informao que desejamos de forma rpida. Esta sua funcionalidade na tabela. Exemplo de conceito: Imagine a seguinte situao voc possui uma tabela de clientes com 1 milho de clientes. Nesta tabelas temos as colunas: ID_CLIENTE - PK NM_CLIENTE CPF Como voc pode observar apenas a coluna ID_CLIENTE possui um ndice criado, pois a mesma foi definida como chave primria. ** Chave primaria: serve para identificar um registro de forma nica em um tabela.

1 Caso: Consulta por ID Se o usurio efetuar uma consulta nesta tabela por ID do cliente, a consultar retornar o dado praticamente instantaneamente. Isto ocorre porque o otimizador de consultas do Oracle verifica antes de efetuar a consulta se existem ndices que possam atender a esta consulta. Como neste caso temos um ndice pela coluna ID o Oracle busca no ndice a informao deseja e localiza diretamente o bloco e a linha dentro do bloco que contm a informao solicitada. 2 Caso: Consulta por CPF Agora digamos que o nosso usurio passe por necessidade a efetuar em seu banco de dados pesquisa na tabela de clientes por CPF. Seu retorno de dados demorar uma eternidade perto do que existia antes fazendo a consulta pelo ID. Ai o nosso querido usurio nos questiona o porque o banco esta lento. Ao capturarmos a consulta que o usurio esta efetuando e fizermos uma analise (explain) sobre a mesma. Ser identificado que o problema esta em que cada linha que o usurio esta consultando o banco esta efetuando uma varredura completa na tabela para encontrar o dado do usurio. Isto o que chamamos de full-scan ou full table scan. Como o Oracle no tem um ndice por CPF ele no tem as informaes ordenadas, ele no sabe a granularidade da informao solicitada ento ele toma a deciso de efetuar a consulta completa na tabela. Para resolvermos o problema do nosso querido usurio/desenvolvedor que mudou sua query sem avisar a equipe de DBAs. Vamos ver como funciona a criao de novos ndices: Vamos

UM INDICE NO A CHAVE MGICA PARA RESOLVER TODOS OS PROBLEMAS DO MUNDO.


Como citamos anteriormente o ndice resolve problemas de pesquisa de dados em tabelas, porm para tudo temos um custo. O ndice gera excelente performance para pesquisas, porm para atualizaes de dados ele gera um custo dobrado. Isto ocorre porque tanto a tabela quanto o ndice agora tero de ser atualizados. Quanto mais ndices tivermos pior ser o nosso tempo de atualizao dos dados na tabela. Portanto utilize ndices com sabedoria evite ficar criando ndices de bobeira.

Vamos ver abaixo como criar um ndice na tabela de testes que criamos:

Agora vamos achar as tabelas que criamos, clicamos no boto ir, para realizarmos a pesquisa.

Ele localizou que possumos um ndice com a tabela aluno e o ndice foi criado automaticamente na criao da PK da tabela. Vamos criar um ndice pela coluna CPF agora. Clique no boto criar para criarmos um novo ndice.

O que so e para que servem as outras opes da tela de criao de ndices: Geral Armazenamento Opes Parties Estatsticas - Definio bsica para criao do ndice - Informaes de armazenamento e crescimento - Opes extras para a criao dos ndices - Definio para particionamento do ndice - Informaes de estatsticas para o otimizador

Gerenciando Views

Como citamos a VIEW (viso) so utilizadas para criamos vises de como mostrar o dado. A view nada mais do que um select que armazenamos dentro do banco de dados. Podemos utilizar as views para restringir acesso a informaes confidenciais de usurios no autorizados. Ex: Temos uma tabela de funcionrios, com campos como salrio, CPF, telefone. O contedo desta tabela de uso exclusivo do RH. Porm o RH permite que outras reas da empresa acessem uma viso da tabela de funcionrios, excluindo os campos confidenciais. Sempre que o usurio acessa a view na verdade ele executa a query por esta armazenada.

Vamos criar uma view sobre nossa tabela aluno que mostre apenas o nome do alune e seu id. Selecionamos a opo modos de exibio (view)


Pronto criamos a nossa viso restrita. Qualquer tipo de query pode ser utilizada para a criao de uma view, inclusive joins entre tabelas.

NOTA: Existe tambm o tipo chamada VIEW MATERIALIZADA, que na verdade um processo de extrao gerando uma tabela a cada x tempo, a partir de uma query que especificamos.

Gerenciando Programas

O gerenciamento de programas permite que voc crie, edite, altere e apague programas PL/SQL existentes. Lembre-se que estes programas podem ser PROCEDURES, FUNCTIONS, PACKAGES e TRIGGERS. NOTA: At o momento citamos que o Oracle utiliza a linguagem PL/SQL para desenvolvimento de programas, porm tambm podemos desenvolver blocos de programas utilizando a linguagem JAVA.

A ferramenta Oracle Enterprise Manager no e muito til no desenvolvimento de programas PL em Oracle, para isto a Oracle na verso 11g comprou a ferramenta SQL-Developer incluindo a mesma ao seu portflio de ferramenta. A ferramenta SQL-Developer pode ser instalada nas mquinas clientes de desenvolvedores para que os mesmos possam desenvolver programas. Como esta uma ferramenta client e depende de um Server para funcionar, no existe custo de licenciamento sobre clients instalados. Como o foco do nosso curso no sobre desenvolvimento de programas no entraremos na ferramenta SQL-Developer.

Na tela acima vemos que existe uma seo especifica para a especificao de programas.

Para nosso exemplo iremos criar uma pequena procedure sem fugir a regra Hello World 1.) Selecione a tela de procedures

Clique no boto criar para criarmos a procedure. Para quem conhece programao a mesma muito parecida com a estrutura do pascal.

Veja abaixo o cdigo que geramos:

Aps compilarmos nosso programa vemos que o mesmo esta com status valido. Ou seja o mesmo pode ser executado.

9.)

Backup e Restore do Banco de Dados

Overview do Backup e Restore do Banco de Dados

BACKUP
Primeiramente precisamos entender o porque devemos fazer um backup. O que um backup ? Um backup nada mais do que uma cpia de segurana que fazemos de nossos dados, de acordo com uma criticidade, periodicidade e reteno da informao. Definimos um backup porque pensamos que um dia poderemos ter a necessidade de retornarmos a informao gravada (restore), isto devido a uma necessidade de negcio, de regra jurdica, ou nos piores casos de falha ou perda de nossa informao no banco de dados. No Oracle at a verso 8i tnhamos basicamente dois tipos de backup: - dump de objetos (export) - backup fsico (feito via scripts ou agentes) Na verso 9i surgiu a ferramenta RMAN, que fazia os mesmos backup, porm gerenciava tambm as informaes de reteno, permitia fazer backups incrementais fsicos e copiava apenas blocos gravados. A partir da verso 10g foi implementada na ferramenta Oracle Enterprise Manager o sistema RMAN, export e Backup Fsico, permitindo ao usurio criar suas rotinas de backup e automatiz-las. Se voc percebeu nas primeiras aulas j informamos ao banco que queramos um backup automtico.

Tipos de BACKUP
Em Oracle definimos se desejamos primeiro ter backups com banco ONLINE ou OFFLINE. O banco de dados Oracle permite ter seus backups ativos, ou seja em modo online, podendo garantir assim 24x7x365 dias. A poltica de backup que utilizamos depende de fatores como: - volumetria do banco de dados - tipo de utilizao do banco de dados - utilizamos ferramentas externas ou o prprio Oracle - tempo que necessitamos esperar no processo de restore

Vamos falar ento dos tipos de backups e onde so utilizados normalmente: 1.) Backups DUMP Backups dumps so feitos com banco online. Backups dumps so utilizados normalmente para pequenos volumes. Dumps so muitos uteis em transferncia de dados entre bancos. Dumps em Oracle so feitos utilizando a ferramenta export. O Dump permite exportar dados entre verses de Oracle em Sistemas Operacionais diferentes. O dump uma forma rpida de restauramos uma tabela. 2.) Backups Offline Backups offline como o nome diz, so feitos com a instncia do banco de dados fora do ar. So normalmente utilizados quando existem janelas de manuteno de servidores. O backup offline nada mais do que copiar todos os arquivos existentes da instncia Oracle para um outro local. O backup offline necessrio quando o sistema no possui archive-logs ativos, exemplos sistemas de cargas massivas como Dataware houses. O restore de dados deste tipo de backup sempre do tipo full.

3.) Backups Online Cpia Fsica So cpias fsicas assim como feito no backup offline, porm ocorrem com o banco online. So utilizados em sistemas que devem ficar online 24 horas por dia. obrigatria a utilizao de processos de archive logs ativos para este tipos de backup; Este backup pode ser feito via script, ou via um agente de programa externo de backups. No existe limitao de volume para este tipo de backup. Os restores podem ser feitos por datafiles e com tipo de restore de transao em determinado momento do tempo, conhecido como point in time.

4.) Backups Online - RMAN So como os backups online, porm armazenam as informaes de backups efetuados (catalogo). Permite tipos de cpias de dados diferenciadas. Os programas mais novos de backup utilizam como interface de agente o RMAN Permite backup apenas de blocos utilizados Permite backup incremental de blocos fsicos Restore semelhante ao do processo anterior do item 3.

5.) Flash Recovery Area Apesar de este no ser um processo ou tipo de backup, quando configuramos em nosso banco de dados uma rea em disco para ser utilizada como flash recovery rea. Criamos o conceito de lixeira dentro do banco de dados. Isto nos permite que restore imediatos de informaes e objetos apagados possam ser recuperados instantaneamente. Esta uma caracterstica que apareceu na verso 10g e foi melhorada na verso 11g do Oracle.

Configurando o Banco de Dados para Backup e Restore

Agora vamos colocar a mo na massa, vamos utilizar o OEM para criarmos o nosso script de backup. Vamos criar um backup do tipo online, com arquivos separados, o backup ficara residido na pasta c:\oracle\backup Nos menus da Instncia escolheremos o item Disponibilidade, este link o responsvel pela configurao dos backups e restores.

Clicamos em Definies de Backup

Definimos que queremos uma copia do tipo imagem Na tela abaixo colocamos as credencias de usurio com poder de gravao na pasta bakcup.

Na tela abaixo definimos a quantidade de backup que queremos

Nesta prxima tela definimos a opo de fazer backup da configurao

Nesta tela definimos qual ser a poltica de reteno da informao backupeada

Pronto criamos a definio de como ser o nosso backup.

Backup do Banco de Dados

Agora que j definimos como ser o nosso backup vamos execut-lo manualmente e ver tambm como funciona o agendamento. Voltamos a tela de Disponibilidade e selecionamos a opo Programar Backup

Vamos adotar que queremos fazer o backup do nosso jeito, vamos optar por backup personalizado. Escolheremos que ser do banco de dados inteiro Tipo do Backup: Completo Modo do Backup: On-line Faa backup dos logs arquivados

Escolhemos que o nosso backup ser feito em disco

Definimos agora a periodicidade que o nosso job de backup ir rodar. Quero que seja imediato.

Por fim submetemos o job para a execuo Vamos verificar o andamento do nosso job clicando em exibir job

Se formos tela relatrio de backups veremos que efetuamos o backup com sucesso.

Restore e Recover do Banco de Dados

Conforme vimos anteriormente existem muitas formas de efetuarmos backups, e para tanto existem igual situaes de tipos de restore e recovery. NOTA: A diferena entre restore e recovery que o restore o banco de dados esta vivo e ativo e no recovery temos uma situao de banco de dados fora do ar em que devemos recuper-lo. Vamos simular uma situao de restore: Digamos que apagamos sem querer a tabela EMERSON_COLCHESQUI.ALUNO e que a mesma no esta mais na lixeira, portanto termos de restaur-la de um backup. Primeiro vamos excluir a tabela: (Lembrando que os ndices iro juntos) Vamos ao gerenciamento de tabelas e excluiremos a tabela criada. Entramos na tela de recuperao e escolhemos a opo de recuperarmos uma tabela

A recuperao de tabela procura primeiro ver se as informaes esto na rea de flashback. Escolhemos a opo de tabelas eliminadas para flashback e clicamos no boto recuperar.

Encontramos a tabela que exclumos

Selecionamos e clicamos em prximo

Tambm informado que os objetos dependentes sero recuperados, como os ndices e restries.

Submetemos o processo a recuperao.

Pronto objetos recuperados.

10.) Monitorando e Ajustando o Banco de Dados


Monitorao Pr-Ativa do Banco de Dados

Uma das atividades principais que definem um bom DBA o trabalho de monitorao pr-ativa do banco de dados, ou seja, um DBA que monitora os principais pontos do banco de dados e toma medidas e aes para evitar que um problema que esteja prestes a acontecer afete o usurio final. A ferramenta OEM trabalha com agentes que ficam monitorando o ambiente o tempo todo, monitorando aspectos de Sistema Operacional, Banco de Dados, rede, etc. Os alarmes obtidos pela ferramenta podem gerar aes como enviar emails, SMS, abrir tickets em sistemas de help-desk, etc. Uma ferramenta mais abrangente da Oracle o Enterprise Manager Grid, que alm de englobar as funcionalidades do OEM, tambm pode monitorar sistemas e bancos heterogneos, servidores de email, entre outros servios, com isto o administrador ganha a flexibilidade de ter toda a monitorao ativa de seu ambiente em uma nica ferramenta. O nosso foco do treinamento ser a ferramenta OEM que vem junto com a instalao do servidor de banco de dados. Muitas da coisas que aprenderemos aqui tambm serviro para o OEM Grid Control.

Vamos a nossa primeira tela home

Nesta primeira tela temos um resumo geral de nosso ambiente, conseguimos ver: - Se a instncia de banco esta ativa Temos a informao desde quando nossa instncia esta ativa. ** Dica: Se a instncia estiver fora do ar seremos alertados

- O status de utilizao da CPU Se tivermos problemas de performance da CPU a mesma gerar um alerta, como esta sendo mostrado no exemplo. ** Dica: Uma atividade excessiva de CPU pode gerar problemas de performance no tempo de resposta do banco de dados.

- Quantidade de sesses ativas Quantidade de sesses ativas na base ** Dica: Uma quantidade excessiva de sesses ativas geram problemas de performance devido ao consumo de memria. Deve-se verificar se h problemas no programa que esta abrindo conexes e esquecendo de fech-las

- Tempo de resposta das querys SQL Este um indicador importante pois mostra o tempo de resposta que os usurios esto tendo no retorno de suas querys. ** Dica: Os fatores que influenciam o problema de lentido de tempo de resposta de uma query so muitos (inclusive os que j falamos anteriormente), cabe ao DBA fazer uma analise da query e do ambiente e procurar identificar onde esta o problema.

- Resumo do sistema de diagnstico O Sistema de diagnstico da Oracle monitora o arquivo de log do banco de dados e alerta sempre que um problema critico (ORA-xxx) esta ocorrendo. ** Dica: Apesar da monitorao dos sistemas crticos importante sempre olharmos o arquivo de log para entendermos o momento em que o problema ocorreu

- Resumo da utilizao de espao em disco Este um item de extrema importncia e que deve ser monitorado sempre. Pois uma falta de espao em disco, poder parar todo o ambiente e/ou sistema(s). ** Dica: O alerta sempre ocorrer de acordo com a limitao da mtrica colocada, voc pode ajustar as mtricas conforme voc achar prudente, para nveis de aviso e critico. O importante sempre monitorar o histrico de crescimento e dimensionar o espao necessrio com antecedncia, antes que os problemas ocorram.

- Disponibilidade do ambiente Disponibilidade do ambiente nos mostra o tempo necessrio para uma recuperao da instncia em caso de falhas e se o backup foi efetuado com sucesso e quando. ** Dica: O principal ponte de ateno nesta mtrica a monitorao da execuo do backup. Um ambiente seguro e estvel s assim se tiver um backup confivel.

Diagnosticando Problemas de Performance

O diagnstico de problemas de performance parte do principio que voc esta com problemas e esta recebendo alertas do seu sistema de monitorao. O trabalho a ser efetuado um trabalho investigativo, iremos partir do nosso ambiente atual, e buscarmos todas as informaes que a ferramenta nos fornece para tomarmos decises e atacarmos os problemas. J vimos a tela home, se vocs perceberam algumas das informaes esto em formatos de links, se clicarmos nestes links teremos informaes mais detalhadas. Existe tambm a tela desempenho que nos dar uma viso mais detalhada do desempenho do banco de dados.

No final da tela tambm temos links de monitoramento adicionais que so muitos uteis. Vamos falar sobre os principais: Principais Consumidores Este link nos mostra quem so os principais consumidores de recursos do banco de dados. Sesses bloqueadoras Este link mostra quais sesses esto efetuando lock de objetos e travando processos. Analisador de desempenho SQL Este link pega as piores querys de desempenho e executa o analisador da Oracle, fornecendo sugestes para que as mesmas sejam melhoradas.

Como j temos um certo conhecimento neste momento da navegabilidade sobre a ferramenta, vamos mostrar algumas das telas de monitorao e investigao de problemas.

Tela de Resumo de monitorao do Sistema Operacional

Tela de moitorao do Sistema Operacional

Top dos principais processos consumidores de CPU no SO

Conexes estabelecidas com o listener

Principais consumidores do banco de dados

Principais sesses consumidoras

11.) Gerenciando o Software Oracle


Gerenciando Arquivos e Logs

Como j estudamos a instncia Oracle um conjunto de arquivos fsicos e processos em memria. Alguns destes arquivos so logs de atividades do banco e traces/dumps que so gerados quando ocorrem problemas no banco. Os arquivos de log e traces se encontram na base (ORACLE_BASE) de onde instalamos o software Oracle. No nosso servidor instalamos o software Oracle na pasta C:\ORACLE. Dentro da pasta admin esto localizados os arquivos de logs e traces. Segue abaixo informaes do contedo da pasta admin: C:\oracle\admin C:\oracle\admin\fateb Adump Dpdump Bdump Cdump - local dos logs - os logs so separados por instncias - Dumps gerados em caso de erro de processos - Dumps gerados pelo processo data pump - Log do banco de dados e traces - dumps crticos de aborts

C:\oracle\diag\rdbms\fateb\fateb Na verso 11g os logs migraram para a pasta diag e alguns esto em formato XML.

Aplicao de Patches

O processo de aplicao de patches depende de que voc possua uma licena valida com a Oracle onde voc receber um CSI que permite acessar o site de suporte metalink.oracle.com. Neste site permitido voc abrir chamados de suporte, baixar patches de softwares da Oracle. Cada patche possui sua prpria maneira de ser instalada, pr-requisitos necessrios e procedimento de instalao. Na maioria das aplicaes de patche a instncia deve estar desativada e ser executado um programa Windows / Unix feito em Java visual. ** DICA: Hoje a partir da verso 10g tambm possvel automatizar a aplicao de patches no banco de dados.

Bibliografia
Foi utilizado para a confeco deste manual sites na WEB para obteno de desenhos e esquemas grficos. Todo o texto inserido neste manual foi de autoria de Emerson Colchesqui.

Sites utilizados como referncia e obteno dos grficos


Wikipedia Conceito de Banco de Dados http://www.apostilando.com/sessao.php?cod=18 BLOG do Antonio Campos - Esquemas e desenhos http://profissionaloracle.com.br/blogs/antoniodba/2009/08/19/arquitetura-oracle-eseus-componentes/ Apostilas na WEB - Utilizada como base para formatao da apostila http://www.apostilando.com/sessao.php?cod=18

Sites Oracle: WWW.oracle.com WWW.oracle.com.br Otn.oracle.com Metalink.oracle.com Edelyvery.oracle.com Oramag.oracle.com Education.oracle.com

- site oficial da Oracle - site da Oracle do Brasil - site da comum idade de estudos - site de suporte da Oracle (clientes) - site de download (clientes) - Revista Oracle Magazine - site de cursos, manuais e certificaes

Alguns Sites da Comunidade Oracle: http://www.oraug-br.org/ http://www.profissionaloracle.com.br/ WWW.sqlmagazine.com.br

Consideraes finais:

Espero que este treinamento possa ter agregado o conhecimento bsico necessrio para formar um administrador de banco de dados Oracle.

Agradecimentos
Ricardo, Celso e Dalton pela atitude de trazer este curso para a FATEB; Daniel pela preparao do CPD FATEB e suporte prestado; Saulo pela autorizao junto a faculdade para o treinamento; FATEB Autorizao da utilizao de suas instalaes para a realizao do curso. Aos alunos que dedicaram seu tempo a participarem deste treinamento

** Fico a disposio para sugestes, dvidas e criticas. ** Desejo a todos os alunos sorte e sucesso em suas carreiras profissionais.

Segue meus contatos:

Emerson Colchesqui Email: colchesqui@ig.com.br MSN: ecolchesqui@hotmail.com Cel.: (11) 6766-6792

Faculdade de Cincias e Tecnologia de Birigui


www.fateb.br