Faculdade de Ciências e Tecnologia de Birigui

ADMINISTRAÇÃO DE BANCO DE DADOS ORACLE

Autor:

Emerson Nascimento Colchesqui

1.) Introdução
      Objetivo do Curso Conceito de Banco de Dados Banco de Dados Oracle Tarefas Comuns de Administração de Banco de dados Ferramentas de Administração do Banco de Dados

2.) Instalação do Banco de Dados Oracle
    Overview da Instalação Instalando o Software de Banco de Dados Oracle Usando o DBCA para Criar e Configurar o Banco de Dados

3.) Gerenciando a Instância Oracle
   Overview da Instância Oracle Shutting Down and Startup da Instância Oracle Shutdown / Startup manual ou em ambiente UNIX

4.) Configurando a Camada de Rede
      Entendendo a Configuração de Rede Ferramentas para a Configuração de Rede Visualizando e alterando a Configuração do LISTENER Starting and Shutting Down do LISTENER Configurando Estações Clientes

5.) Overview do Oracle Enterprise Manager
   Introdução 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 Mudanças nas Estruturas de Armazenamento do Banco de Dados

7.) Administrando Usuários e Privilégios
     Overview de Usuários e Privilégios Administrando Roles Administrando Profiles Administrando Usuários

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
   Monitoração Pró-Ativa do Banco de Dados Diagnosticando Problemas de Performance

11.) Gerenciando o Software Oracle
   Gerenciando Arquivos e Logs Aplicação de Patches

e armazenadas para algum objetivo. são conjuntos de registros dispostos em estrutura regular que possibilita a reorganização dos mesmos e produção de informação. . sua pesquisa era extremamente lenta se compararmos aos padrões de hoje.) Introdução  Objetivo do Curso Este curso visa oferecer um conceito básico sobre banco de dados e mais focado especificamente na solução Oracle para Banco de Dados. seja esta relevante ou não. em plataforma Oracle. Muitas vezes o termo banco de dados é usado como sinônimo de SGDB . Bancos de dados (ou bases de dados). Normalmente um SGBD adota um modelo de dados.O mesmo é um banco de dados manual. de forma pura.Onde as informações (dados) são guardadas em fichas e/ou documentos . Vamos exemplificar o conceito de banco de dados: .Lembremos do nosso velho arquivo fichario: .e organizadas de alguma forma para pesquisa . reduzida ou estendida.  Conceito de Banco de Dados Antes de iniciarmos o conceito de Banco de Dados é importante saber o conceito do “dado”. buscando uma especialização. Um banco de dados informatizado é usualmente mantido e acessado por meio de um software conhecido como Sistema Gerenciador de Banco de Dados (SGBD).Pois é um local que guardamos nossas informações/dados . Este tipo de banco de dados além de ocupar um grande espaço fisico em nossas salas para armazenar poucas informações. O curso dará ao aluno uma visão básica sobre as disciplinas existentes na administração de banco de dados Oracle. Um banco de dados normalmente agrupa registros utilizáveis para um mesmo fim. fornecendo conhecimentos sobre o funcionamento do software e sua principal ferramenta de administração – Oracle Enterprise Manager. dado neste contexto é um sinônimo de informação.1. certificação ou aptidão para trabalhar como DBA Jr. Com o curso o aluno terá um alicerce formado para ir mais longe.

Controle da Redundância de informações .Menor espaço fisico ocupado para armazenar as informações .Maior velocidade no acesso a dados .Vantagens que ganhmos com a informatização dos bancos de dados .Compartilhamento de informações .Independência dos dados Esquema básico de funcionamento de um SGBD    .Maior capacidade de armazenamento de informações .

O Oracle 9i foi pioneiro no suporte ao modelo web. introduziado com o Oracle 10g. Banco de Dados Oracle História O Oracle é um SGBD (sistema gerenciador de banco de dados) que surgiu no fim dos anos 70. possui algumas restrições de funcionalidades adicionais. quando encontrou uma descrição de um protótipo funcional de um banco de dados relacional e descobriu que nenhuma empresa tinha se empenhado em comercializar essa tecnologia. mais recente. O banco de dados. Edições Além das diferentes versões do software de gerenciamento de banco de dados Oracle. O SGBD da Oracle é líder de mercado. Express Edition ('Oracle Database XE'). um máximo de 4 GB de dados de usuário e 1 GB de memória). a Oracle Corporation subdivide seu produto em "edições" variáveis . EE não tem limite de memória e pode utilizar clusterização usando o software Oracle RAC. localizado parcialmente no dispositivo móvel.  Enterprise Edition (EE) inclue mais funcionalidades que a 'Standard Edition'. normalmente para servidores com 4 ou mais UCPs. Standard Edition (SE) contem a a funcionalidade básica de banco de dados. O suporte para esta versão é feito exclusivamente através de fóruns on-line. Recentemente fora lançado o Oracle 11g que veio com melhorias em relação ao Oracle 10g. Se o número de UCPs exceder 4. pode sincronizar com uma instalação baseada em servidor .aparentemente por razões de marketing e controle de licenças. especialmente nas áreas de performance e segurança. destinada para rodar em dispositivos móveis. Ela não possui limitações de memória. se baseia na tecnologia de grid. introduziada em 2005. quando Larry Ellison vislumbrou uma oportunidade que outras companhias não haviam percebido. SE não possui limite de memória e pode utilizar clusterização com o Oracle RAC sem custo adicional.      Oracle Database Lite. o usuário deve migrar para a licensa Enterprise. sem o suporte da Oracle. O Oracle 10g. Standard Edition One. A Oracle Corporation comercializa-o para uso em sistemas com uma ou duas UCPs. normalmente para servidores com um à quatro UCPs. oferece o Oracle 10g livre para distribuição nas plataformas Windows e Linux (com uma limitação de apenas 150 MB e restrita ao uso de apenas uma UCP. A Oracle Corporation licencia este produto na base de usuários ou de núcleos de processamento. Oracle Personal Edition fornece a funcionalidade de "alto fim" da Enterprise Edition mas é comercializada (e licenciada) para desenvolvedores específicos que trabalham em estações de trabalho pessoais. A Oracle Corporation licensia este produto na base de usuários ou de sockets.

Verificar se os objetos seguem a modelagem de dados adotada (FN) . cuja responsabilidade difere do DBA.Padronizar nomenclatura de objetos e atributos .Configurar.Manter documentado a modelagem dos dados/sistemas “O Foco do nosso treinamento será voltado à formação de profissionais DBA Oracle”   . conhecido pela abreviação em inglês DBA (Database Administrator).  Tarefas Comuns de Administração de Banco de Dados O Administrador de banco de dados.Administrar o espaço ocupado pelo banco de dados . Fazem parte das atividades e responsabilidades do AD: . Fazem parte das atividades e responsabilidades do DBA: .Garantir e monitorar as políticas de backup aplicadas . instalar e administrar SGBD Também existe a figura do Administrador de Dados (AD). do que com aspectos técnicos.Garantir a segurança e confidencialidade dos dados .Manter a documentação dos metadados .Administrar e manter os acessos de pessoas/sistemas ao banco de dados . seguro e acessível aos usuários.Garantir a integridade das informações e evitar redundâncias .Monitorar e manter a boa performance do SGBD .Manter os bancos de dados ativos e disponíveis .Efetuar restauração de dados de backups quando necessário . tem a principal responsabilidade manter o ambiente de dados administrado por ele ativo. pois este se preocupa mais com o dado (informação) e sua integridade.

Esta é uma ferramenta voltada principalmente à programação PL/SQL dentro de bases de dados Oracle. Existe a versão web da ferramenta. Podemos citar como as principais ferramentas de trabalho Oracle: SQL-PLUS Esta ferramenta é utilizada para passarmos comandos manualmente ao banco de dados. ferramentas da Oracle. ou executarmos scripts com diversos comandos de uma única vez.OEM Esta é a principal ferramenta de administração de banco de dados fornecida pela Oracle. Oracle Enterprise Manager . que evita a instalação de softwares clientes nas máquinas de usuários. Por ser uma ferramenta extremamente leve e versátil (e a mais antiga) esta é muito utilizada por DBAs experientes até hoje. utilizando scripts. SQL-Worksheet Esta ferramenta é uma versão um pouco melhorada da SQL-PLUS. controle de auditoria e gerenciamento de backups. PL-SQL Developer Esta ferramenta era de terceiros e foi adquirida pela Oracle e colocada como versão oficial a partir da versão 11g. É uma ferramenta completa que abrange diversas disciplinas da administração de banco de dados. ferramentas de terceiros e hoje também ferramentas Open-Source. também a monitoração de ambiente. porém seu formato de utilização é um pouco diferenciado. O interessante desta ferramenta é que os resultados são exibidos em formato planilhado. A versão WEB da ferramenta que estaremos estudando. traz além da parte administrativa. porém com recursos adicionais: Monitoração Monitoração Monitoração Monitoração Monitoração Monitoração de diversas instâncias simultaneamente de outros tipos de bancos de dados de Sistemas Operacionais de Applications Servers de Web Servers de Queue Managers . Ferramentas de Administração do Banco de Dados Podemos administrar o banco de dados Oracle de várias maneiras. Oracle Enterprise Manager Grid Control Esta ferramenta de monitoração da Oracle que abrange o OEM. Porém não existe nesta ferramenta a possibilidade de execução de scripts.

velocidade de I/O e memória existir no servidor mais rápido será o acesso as informações armazenadas. A instalação do software Oracle é baseada em Java.) Instalação de um Banco de Dados Oracle     Overview da Instalação O Banco de Dados Oracle é um SGBD que é executado em múltiplas plataformas distintas.” Para o nosso treinamento utilizaremos a seguinte configuração: Sistema Operacional: Memória Física: Espaço de HD: Versão Oracle: Windows Server 2008 4 Gb 14 Gb disponíveis Oracle 11g – Enterprise Edition   . “É fato que quanto mais poder de processamento. indo desde mainframes até sistemas embarcados.2. assim evitam-se problemas futuros de eventuais bugs ou falta de suporte técnico pela Oracle. portanto há uma padronização na instalação em diferentes sistemas operacionais. Exemplo a forma de instalar Oracle para Windows é a mesma de se instalar em um servidor Unix O importante numa instalação Oracle é que os pré-requisitos apresentados pelo software sejam cumpridos. Os pré-requisitos para instalação de um banco de dados Oracle não exigem uma máquina poderosa. A maior quantidade de softwares Oracle instaladas encontram-se em servidores Windows e Unix/Linux. com uma máquina simples conseguimos ter uma instalação razoável.

Encontrando o diretório de instalação execute o programa chamado setup.  Instalando o Software de Banco de Dados Oracle Nos próximos passos você aprenderá como fazer a instalação 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 instalação em DVDs ou diretamente gravado em pastas dentro do servidor ou na rede.exe .

chamados de Oracle RAC (Real Application Cluster)   . Oracle Client Selecionamos esta opção quando queremos instalar ferramentas e drivers para um cliente e/ou servidor de aplicação que necessite acessar os dados contidos em um servidor de banco de dados Oracle. para a versão Oracle 11g. Passo: Selecionando o Produto a instalar Na primeira tela do Instalador encontramos três opções possíveis:  Oracle Database 11g Ao selecionarmos esta opção indicamos que estamos querendo instalar o banco de dados ou o SGBD da Oracle. Oracle Clusterware Selecionamos esta instalação quando formos efetuar instalações com clusters Oracle.2.

Após passadas estas informações as demais o Oracle irá assumir de forma padrão as outras opções e iniciar a criação da nova instância.Nome da Instância Oracle . Vamos seguir o curso optando pela instalação avançada para vermos todas as opções possíveis: . Standard ou Personal) . trata-se de uma instalação onde todas as configurações iniciais podem ser escolhidas de acordo com a necessidade do administrador. Instalação Avançada: Como o nome diz. Instalação Simplificada: Neste tipo de instalação só é necessário: .E a senha do usuário administrador. .Indicar o tipo de Instalação (Enterprise. Permite neste caso ao administrador ter mais controle e flexibilidade sobre o tipo de instalação. ou podemos partir para a instalação avançada para conhecermos as opções do banco de dados detalhadamente.3. não necessariamente ficando as opções padrões. ORACLE_HOME = Contém a localização do software Oracle e os arquivos de configuração. Passo: Método de Instalação Neste passo podemos optar pela instalação básica.passar onde ficará instalado o software Oracle (ORACLE_BASE) e também a localização dos arquivos de software do Oracle (ORACLE_HOME). ORACLE_BASE = Contém a árvore de diretórios para o software Oracle e também para arquivos de dados do banco de dados. que simplifica os passos da configuração.

Passo Tipo de Instalação Escolhemos neste passo agora o tipo de instalação de Oracle que queremos. Os tipos possíveis foram vistos no capítulo 1 no tópico Banco de Dados Oracle Selecionaremos para o nosso curso a opção Enterprise Edition.4. que nos permitira termos o máximo de recursos existentes na ferramenta .

indica que esta é uma instalação de banco de dados (DB) da versão 11g e este é seu primeiro diretório. Definirmos o caminho de onde ficará o software (ORACLE_HOME) Aqui indicamos onde ficará o software do SGBD e suas configurações. Definirmos qual será o nome de nossa instalação O Nome padrão adotado OraDb11g_home1. Neste item fica configurado onde serão efetuadas quaisquer instalações de softwares Oracle. .5. Passo: Local de Instalação Definirmos onde será instalado o software Oracle (ORACLE_BASE).

e isto faria com que os clientes pudessem perder o acesso ao banco de dados caso o DHCP renova-se o IP. Enquanto os pré-requisitos não forem atendidos ou conscientemente forçarmos para que ele ignore algum pré-requisito não atendido a instalação não continuará. . Passo: Pré-requisitos do software Nesta fase estamos checando se os pré-requisitos de hardware e softwares necessários para a instalação do software Oracle são atendidos. A advertência citada neste momento é que nós estamos efetuando uma instalação em um servidor que não possui IP Fixo.6. Vamos ignorar esta advertência e dar prosseguimento a instalação. No nosso caso de instalação não atendemos um requisito e sofremos uma advertência.

b. apenas os softwares da Oracle serão instalados.) Instalar Software Somente Neste tipo de instalação nenhum banco de dados será criado. Pois nossa intenção é instalarmos e criamos uma instância de banco de dados Oracle. .) Configurar gerenciamento automático (ASM) Esta opção permite configurar o gerenciamento automático de arquivos do Oracle. criando um disco (raw) para o controle. Passo: Opção de Configuração Neste passo iremos informar a opção de configuração que queremos adotar para a nossa instalação.) Criar um Banco de Dados Selecionaremos esta opção. Este tipo de gerenciamento é normalmente selecionado quando estamos efetuando uma instalação do tipo RAC. Este gerenciamento controla todos os tipos de arquivos do banco de dados. As opções são: a.7. c.

8. Estes parâmetros pré-definidos poderão ser alterados no futuro pelo DBA para fazer o que chamamos de Tunning ou afinamento do banco de dados. ou seja. com visão gerencial. Avançado Neste item você define as configurações de tipo de banco. A opção selecionada definirá os parâmetros de configuração de memória. As finalidades pré-selecionadas pela Oracle são:   Fins Gerais ou Sistema de Processamento de Transações Refere-se normalmente a sistemas de transações online Data Warehouse Refere-se a sistemas de busca massiva de dados e consolidação de grande massa de dados. visando melhoria de performance. memória. comercial e outras. controle de locks. para que fim se destinará este banco de dados. acesso via rede entre outros.  Vamos escolher o padrão de Fins Gerais. estatística. entre outros. como fator de blocagem. . Passo: Finalidade do Banco de Dados Neste ponto selecionamos qual será a configuração inicial do banco de dados.

mantendo um padrão de no máximo oito caracteres. recebe um nome que chamamos de nome de instância ou SID. SID: Que armazenará o nome de comunicação via rede Normalmente colocamos os dois nomes iguais. Passo: Nome da Instância Toda instância de banco de dados Oracle. Para nosso estudos selecionaremos como nome de instância FATEB .9. Nesta configuração existem dois parâmetros: Nome do Banco de dados: Que armazenará o nome interno do banco de dados.

. Porém estes parâmetros não são dinâmicos e exigem parada da instância. Passo: Definindo detalhes técnicos A próxima tela de configuração possui quatro abas. O Oracle possui a partir da versão 10g o gerenciamento automático de Memória para os seus tipos de cachês existentes. ele gerencia quanto vai de memória para dados. de forma automática. referentes a configurações da instância:  Memória  Conjunto de caracteres  Segurança  Exemplos de esquemas Vamos conhecer cada uma delas: Memória Nesta aba iremos configurar quanto nossa instância irá utilizar de memória do servidor. Nota: Como a versão que estamos instalando é de 32 bits. Quanto mais memória tiver mais rápido será o acesso aos dados. para programas. via processo de tunning do banco de dados. para metadados. o Oracle só poderá alcançar no máximo por instância o tamanho de 2Gb de memória.10. Os parâmetros de configuração de memória podem ser alterados no futuro.

ou seja. porém para conseguir isto ele consome 2 bytes para cada caracter armazenado. O padrão WE8MSWIN1252 e o WE8ISO8859 consomem 1 byte por caracter armazenado e conseguem gravar os caracteres da língua portuguesa. caso haja esta necessidade o banco terá de ser recriado e seus dados recuperados de um backup export. definimos as letras e língua que iremos armazenar. O Unicode permite gravar qualquer tipo de caracter de qualquer língua. Vamos manter o padrão WE8MSIN1252. Importante: Uma vez definido o conjunto de caracteres o mesmo não poderá mais ser alterado. .10.2 Conjunto de caracteres Nesta aba definimos o conjunto de caracteres que o banco irá utilizar.

.

ou desativá-las e manter padrão com a versão 10g e anteriores.3 Segurança Nesta tela definimos se queremos utilizar as melhorias de segurança que foram implementadas na versão 11g. entre outros.10. Vamos optar por ativar as melhorias. As mudanças envolvem melhoria nas senhas básicas. . implementação automática de auditoria.

.4 Exemplos de esquemas Permite criar esquemas de bancos de dados de exemplo da Oracle.10. Como estamos em treinamento é interessante selecionarmos esta opção para que o nosso banco possa ter algumas tabelas e objetos já pré-criados para nossos estudos. com melhorias. Serão criados OWNERs e objetos. para quem conhece é a velha conta SCOTT senha TIGER. para mostrar funcionalidades do SGBD da Oracle.

. Se tivéssemos instalado o ORACLE ENTERPRISE MANAGER GRID CONTROL.11. Passo: Gerenciamento do banco de dados Nesta tela definimos como nosso banco de dados será gerenciado e monitorado. a opção para seleção do mesmo estaria habilitada. Nossa opção já é pré-escolhida o gerenciamento por OEM. para envio de mensagens e alertas emitidos pela monitoração da instância. temos a opção de ativarmos o servidor de mensagens SMTP.

Dados alterados antes do commit USERS .Tablespace inicial para usuários Recomendação:  Por questões de monitoração e performance os arquivos de dados de conteúdos distintos devem estar separados em discos/partições/file-systems distintos. alterados de localidade ou até renomeados de forma online. Nota: A estrutura de diretórios já deve estar pré-criada dentro do sistema de discos. TEMP.raiz principal da instância FATEB C:\ORACLE\FATEB\BANCO . Uma tablespace pode ser composta de 1 ou mais arquivos de dados físicos gravados no disco.Contém os objetos de gerenciamento interno do SGBD TEMP .Arquivos tablespaces Oracle C:\ORACLE\FATEB\DADOS . Principais Tablespaces: SYSTEM . A escolha que fizermos irá servir como base para a escolha dos diretórios para as tablespaces: SYSTEM. Tablespaces São espaços alocados dentro do banco de dados para armazenamento de objetos. Importante: Defina com atenção o local onde ficarão estes arquivos para evitar problemas de recriação de instância no futuro.Utilizado em queries que fazer uso de ordenação e joins UNDO .Arquivos de dados da FATEB C:\ORACLE\FATEB\INDICES .12. Porém para a tablespace SYSTEM ser renomeada ou mudada sua localização o arquivo de controle e backup do banco de dados terá de ser recriado do zero.Arquivos de índices da FATEB . USERS e UNDO. sendo estes índices ou tabelas. Layout de discos: Definiremos a seguinte estrutura para o nossos arquivos de banco de dados: C:\ORACLE\FATEB . Passo: Onde Armazenar os datafiles básicos Nesta tela iremos informar ao software onde queremos que fiquem armazenados os arquivos principais do banco de dados. Com exceção da tablespace SYSTEM todas as demais tablespaces poderão ter seus arquivos de dados.

.

Ativar Backups Automatizados Com isto ativamos o recurso de Flash_recovery e backups programados via job. Se você selecionar esta opção e mais tarde desejar fazer uso das funcionalidades citadas. podendo esta até ter restauração de dados online. a configuração será manual.  Não ativar backups automatizados Esta opção define que você neste momento não deseja ativar nenhum tipo de backup e nem a opção de flash recovery existente no Oracle.  . Para o recurso de backup automático é necessário fornecermos credenciais de um usuário do sistema operacional que deverá ter direito de gravação na pasta que selecionamos para armazenar os backups. o principal desta opção é a ativação do recurso flash_recovery que permite recuperar dados apagados recentemente.13. Passo: Opções de Backup e Recuperação Esta próxima tela é muito importante pois definimos questões de backup e recuperação de dados. de forma rápida. Veremos agora as opções existentes.

Estas contas são internas e cada uma possui uma finalidade especifica.14.Conta utilizada pelo OEM para monitorar o banco de dados . Conheça as contas criadas:     SYS SYSTEM SYSMAN DBSNMP .Conta utilizada pelo agente para obter métricas de monitoração No nosso treinamento colocaremos a senha como fateb para todas as contas . Passo: Especificação da senha das contas do SGBD Nesta tela definimos a senha de cada uma das contas criadas pelo banco Oracle.Conta Master de administração do banco de dados .Contém os objetos internos do SGBD Oracle (Dicionário de dados) .

.15. No nosso treinamento não iremos ativar esta opção.oracle.com) . Se fizermos esta associação o sistema irá verificar automaticamente patches e baixá-los quando necessários. Passo: Registro do Oracle no site de suporte Nesta tela indicamos se queremos associar e registrar nossa instância no site de suporte da Oracle (metalink.

Inicio do Processo de Instalação: 15:54 Término do processo de instalação: 16:12 (tempo total 20 minutos aprox.16. Passo: Resumo e Instalação Neste passo terminamos de efetuar todas as configurações iniciais e iniciaremos o processo de instalação da nossa instância de dados.) .

Nome da Instância criada fateb .endereço do OEM: https://NColchesqui:1158/em .Caminho do arquivo de configuração .Nesta ultima tela notamos que o Oracle indica que concluímos a instalação com sucesso e nos fornece informações importantes: .

não necessitaríamos mais ter de reinstalar o software. bastaria chamarmos o utilitário DBCA (Database Configuration Assistant) e seguirmos os mesmos passos que utilizamos na criação de nossa primeira instância. Usando o DBCA para Criar e Configurar o Banco de Dados No capitulo anterior instalamos nosso software Oracle no servidor e também criamos o que chamamos de instância de banco de dados. Caso necessitamos criar uma nova instância no servidor. Para executarmos o programa DBCA devemos ir ao menu Iniciar  Todos os Programas  -> Oracle – OraDb11g_home1  -> -> Ferramentas de Configuração e Migração  -> -> -> Assistente de Configuração de Banco de dados .

Utilizado em sistemas RAC. quando efetuamos a instalação do servidor. Configurar o gerenciamento de armazenamento automático Gerencia as configurações de controle do armazenamento automático de datafiles.Com a Ferramenta DBCA temos a possibilidade de efetuar as seguintes operações:  Criar um banco de dados Esta opção permite que criemos novas instancias de banco de dados. Configuramos também a forma de comunicação do listener para o sistema de rede. removendo todos os processos e seus datafiles.      . Os passos apresentados nesta opção são exatamente os mesmos que selecionamos. Configurar opções de um banco de dados Aqui configuramos opções extras existentes na instância de banco de dados. Deletar um banco de dados Apaga uma instância de banco de dados criada. Gerenciar modelos Permite a criação de modelos (templates) de criação e configuração de instâncias.

3.Arquivos do Banco de Dados (Database Files) . mas afinal o que é uma instância ? “Um instância em Oracle é o conjunto de programas/processos residentes em memória que são utilizados para gerenciar um banco de dados Oracle. Arquitetura Oracle e seus componentes *O servidor Oracle consiste de: .” Quando criamos a instância FATEB na verdade criamos a estrutura de programas e processos em Oracle para acessarmos um banco de dados chamado FATEB.) Gerenciando a Instância Oracle  Overview da Instância Oracle Até o momento instalamos o software Oracle.Instância Oracle (Oracle Instance) . criamos uma instância de banco de dados ao qual demos o nome de FATEB.

índices e outros tipos de estruturas. Em um banco de dados Oracle eles são compostos de três tipos de arquivos: + Arquivos de Dados (Data Files) + Arquivos de Logs (Redo Logs) + Arquivos de Controle (Control Files) *Arquivos de Dados (Data Files) . . Além disto. Um banco de dados Oracle deve possuir no mínimo um arquivo de controle. *Características dos Arquivos de Dados .Os redo logs armazenam as mudanças efetuadas no banco de dados para possibilitar a recuperação dos dados em caso de falhas. as imagens anteriores de dados alterados. Um banco de dados Oracle deve possuir no mínimo dois arquivos de redo log. *Arquivos de Controle (Control Files) .Os arquivos de dados contém os dados do banco.Um banco de dados possui uma estrutura lógica e física. nos arquivos de dados também são armazenados o dicionário de dados. Um banco de dados Oracle deve conter no mínimo um arquivo de dados.Um ou mais arquivos de dados formam uma unidade lógica chamada tablespace.Os arquivos de controle contém as informações necessárias para manter e verificar a integridade do banco de dados.*Arquivos do Banco de Dados Oracle . e eles são armazenados em tabelas definidas pelo usuário.A estrutura física do banco de dados é um conjunto de arquivos do sistema operacional. o arquivo de controle é utilizado para identificar os arquivos de dados e os arquivos de redo log.Os arquivos de dados podem estar associados a apenas um banco de dados Oracle. Por exemplo. . . *Redo Logs .

Por exemplo. lidos do dicionário de dados.Uma Instância Oracle consiste na estrutura de memória chamada de SGA (System Global Area) e nos processos em segundo plano (background processes) utilizados para gerenciar o banco de dados Uma Instância Oracle somente pode abrir e utilizar um banco de dados de cada vez * Área Global do Sistema (System Global Area) .Definida em porções (granule) . que podem ser necessários em um processo de recuperação de falhas de mídia Instância Oracle (Oracle Instance) .Contém dados e informações de controle e é alocada na memória do computador onde o servidor Oracle esta operando .*Outros Arquivos Importantes .Área de memória utilizada para armazenar as informações do banco de dados que são compartilhadas pelos processos .Consiste de diversas estruturas de memória + Shared Pool -utilizada para armazenar os comandos SQL executados recentemente. e as informações do dicionário de dados.Dinâmica e definida pelo parâmetro SGA_MAX_SIZE . ele contém parâmetros que definem o tamanho das estruturas de memória da SGA + Arquivo de Senhas (Password File) -faz a validação de quais usuários tem permissão de fazer start up e shutdown na instância Oracle + Arquivos de Redo Log Arquivados (Archived Redo Log Files) -são cópias off-line dos arquivos de redo log. + Database Buffer Cache -utilizada para armazenar os dados recentemente utilizados. Os dados são lidos e gravados nos arquivos de dados . Estes comandos SQL podem ser solicitados por processos do usuário ou no caso de stored procedures.O servidor Oracle também faz uso de outros arquivos que não fazem parte do banco de dados: + Arquivo de Parâmetros (Parameter File) -define as características da instância Oracle.

Eles consolidam funções que.+ Redo Log Buffer -utilizado para armazenar as alterações feitas no banco de dados pelos processos e servidores pelos processos em segundo plano + Java Pool -utilizado para armazenar código Java + Large Pool -utilizado para armazenar grandes estruturas de memória que não estão relacionadas diretamente ao processamento de instruções SQL.Dependendo da configuração. . sempre que as alterações efetuadas no cache de buffer ficam registradas no banco de dados de forma permanente. .Ele executam tarefas de I/O e monitoram outros processos Oracle para oferecer maior paralelismo. . de outra forma. System Monitor) verifica a consistência no banco de dados e. inicia a recuperação do banco de dados quando ele é aberto. + O Monitor de Sistema (SMON. + O Checkpoint Process (CKPT) é responsável pela atualização das informações de status do banco de dados nos arquivos de controle e nos arquivos de dados. + O Log Writer (LGWR) grava as alterações registradas no buffer de redo log nos arquivos de redo log. São Eles: + O Database Writer (DBW0) é responsável por gravar dados alterados do buffer cache do banco de dados nos arquivos de dados. . no entanto cada instância inclui cinco processos de segundo plano fundamentais.Os processos em segundo plano (background processes) de uma instância executam funções comuns que são necessárias para atender as solicitações de serviço de usuários simultâneos. como por exemplo blocos de dados copiados durante operações de backup e recovery + Streams Pool -utilizado para manter estruturas de dados e controle do recurso Oracle Streams * Processos em Segundo Plano . se necessário. seriam tratadas por diversos programas Oracle executados para cada usuário. o que aumenta o desempenho e a confiabilidade. sem comprometer a integridade e o desempenho do sistema. + O Monitor de Processo (PMON. uma instância Oracle pode incluir vários processos de segundo plano. Process Monitor) disponibiliza recursos se um dos processos Oracle falhar.

Processos auxiliares de gravação paralela com DBWR LCKn .Execução de queries em paralelo QMNn .Iniciado quando a instância entra em processo de recover Dnnn .Gerenciador do sistema de mensageria do Oracle  Shutting Down and Startup da Instância Oracle Agora que já instamos o software e conhecemos como é seu funcionamento necessitamos aprender como iniciar e desligar a instância.Gerencia a gravação dos Archive-logs CJQ0 .* Processos de segundo plano opcionais: ARCn . No ambiente Windows Para desativarmos a instância basta pararmos os serviços Oracle criados no ambiente.Gerenciamento de locks para instâncias em RAC Pnnn .Gerencia e executa a fila de Jobs do scheduler RECO . Cada serviço do Oracle tem uma funcionalidade especifica: .

Existem situações onde devemos efetuar o startup/stop do banco de forma manual.Criar um cache de gravação virtual de dados .) Indicamos ao Oracle qual a instancia que desejamos trabalhar configurando a variável de ambiente ORACLE_SID C:\> SET ORACLE_SID=fateb Ou $ export ORACLE_SID=fateb .Concentrador e multiplexer de conexões .Administrador do sistema de Concentração de conexões .Console do OEM para a instância FATEB .Listener para acesso de clientes de rede .Controle de conexão e recuperação do MTS MS . ou seja fazê-lo passo a passo.) Abrimos uma tela de terminal / console 2. Tanto no ambiente Unix como no Windows utilizamos a seqüência abaixo: 1.Agente de limpeza de arquivos de log .Instância Oracle para o banco FATEB ** Para funcionamento da instância basta apenas os 2 últimos serviços estarem ativos **  Shutdown/startup manual ou ambiente Unix Aprendemos no item anterior como fazer um start/stop da instância Oracle no ambiente Windows utilizando o gerenciamento de serviços do próprio Windows.Descrição dos serviços instalados: Oracle FATEB VSS Writer Service OracleDBConsoleFATEB OracleJobSchedulerFATEB OracleMTSRecoveryService OracleOraDb11g_home1ClrAgent OracleOraDb11g_home1CMAdmin OracleOraDb11g-_home1CMan OracleOraDb11g _home1TNSListener OracleServiceFATEB .Execução de Jobs schedulados na instância FATEB .

) Uma vez conectados efetuamos o comando para tirarmos efetivamente a base de dados SQL> shutdown immediate SQL> exit 6. colocarmos instância no ar: a.) Colocando o listener no ar C:\> lsnrctl start Ou $ lsnrctl start b.) Chamamos a ferramenta SQL-PLUS sem efetuarmos logon Sqlplus /nolog 4. Para tirarmos o listener do ar efetuamos o comando abaixo: C:\> lsnrctl stop Para efetuarmos o processo inverso.) Agora conectamos no banco de dados utilizando uma conta com poder administrativo de SYSDBA. ou seja. SQL> connect system/fateb as sysdba 5.) No passo 5 tiramos a instância do ar mas não o listener.3.) Colocar a instância 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 Instância .

ele trabalha sempre no modelo 2-Tier.4. um sistema. Basicamente temos a seguinte configuração: No servidor: Como o nome diz. ele tem a função de servir os clientes com informações. o mesmo fica escutando as solicitações na rede para estabelecer conexões entre o servidor e o cliente que esta solicitando informações. ou seja client-server. Para isto o mesmo utiliza um processo chamado listener (escutador). sendo que este cliente pode ser uma pessoa. Para isto ele utiliza o protocolo de comunicação da Oracle chamado de TNS (Transparent Network Service). . Mesmo que tenhamos sistemas desenvolvidos em n-tiers. um servidor de aplicações. para o banco o acesso sempre será considerado como vindo de um cliente. através deste protocolo ele conversa com o listener do Oracle buscando acesso para estabelecer uma comunicação com o servidor. etc.) Configurando a Camada de Rede    Entendendo a Configuração de Rede O conceito para rede no banco de dados Oracle é bem simples. No cliente: O cliente esta buscando o acesso as informações disponíveis no servidor.

porém a área de memória utilizada é compartilhada e faz parte da região de memória da SGA (System Global Area). ou conexões gerenciadas por um pool de algum application Server. possuem processos próprios. C++. As conexões shared. liberando o listener para escutar novas solicitações. uma porta única TCP. Modos de criação de Processos cliente/Servidor Como citamos o servidor Oracle cria processos exclusivos para cada conexão efetuada ao servidor. Este tipo de processo utiliza uma memória que chamamos PGA (Process Global Area)  SHARED Para evitar problemas com consumo excessivo de memória. Quando a comunicação é estabelecida o cliente pode gerar e obter informações do servidor. Este protocolo pode ser encontrado em:  Software e programas clientes da Oracle  Acesso Nativo da Oracle para compilação com sistemas C. Delphi. VB. ou seja. etc.  Camada de comunicação de banco de dados do Java / . Para isto ele trabalha com dois tipos de processos:  DEDICATED Cada conexão ao servidor recebe um processo dedicado.Named Pipes . ele terá um programa próprio de comunicação. portas de comunicação TCP.Net Tipos de protocolos de rede aceitados O servidor Oracle além de trabalhar com a camada básica de comunicação através do protocolo TCP. uma região de memória exclusiva. Tipos de clientes e programas de acesso: Como citamos a comunicação entre o cliente e o servidor Oracle é feita através de um protocolo chamado TNS. próprias.Quando a comunicação é estabelecida: O Servidor Oracle dependendo da configuração de comunicação com o cliente (shared/dedicated) cria uma área de memória exclusiva e um processo para gerenciar a conexão estabelecida entre o servidor e o cliente. a Oracle criou o conceito de conexões shared. também pode aceitar os protocolos abaixo: TCP TCPS NMP . Utilizamos este tipo de processo quando temos poucas conexões simultâneas ao banco de dados.TCP com dados encriptados .Protocolo padrão de comunicação . e poder aumentar significativamente o número de usuários simultâneos que acessam uma base Oracle.

Ferramentas para a Configuração de Rede

Para efetuarmos as configurações de rede, temos de efetuar configurações tanto em nível de servidor como nos clientes que irão acessar nosso servidor. Para configurarmos tanto o servidor como o cliente a Oracle utiliza a ferramenta chamada NETCA (Assistente de Configuração de Rede).

A ferramenta NETCA nos permite efetuar 4 tipos de configurações:  Configuração de Listener  Configuração de Métodos de Nomeação  Configuração do Nome de Serviço de Rede Local  Configuração do Uso de Diretórios

- Configuração de Listener (servidor) A configuração do listener é responsável por configurar o sistema de comunicação de rede do servidor, para que o mesmo possa ser acessado por clientes. - Configuração dos métodos de Nomeação (cliente) Os métodos de nomeação 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. - Configuração do Nome de Serviço de Rede Local (cliente) Este item configura as informações das instâncias Oracle criadas em servidores, para que os processos clientes possam ter acesso. Também chamamos a configuração deste item de configuração do TNS ou do DSN de acesso. - Configuração do uso de diretórios Utilizado quando a infra-estrutura de servidores utiliza servidores de diretório LDAP para gerenciar as configurações de servidor de banco de dados.

Visualizando e alterando a Configuração do LISTENER
1.) Iniciamos no servidor a aplicação NETCA, via menu do Oracle chamando o atalho 2.) Escolhemos a opção de configuração do Listener

3.) Nesta próxima tela temos a opção adicionar, reconfigurar, deletar e até renomear um listener 4.) Quando fizemos a instalação da instância pela instalação do software automaticamente foi criado o listener padrão chamado LISTENER. 5.) Então podemos visualizá-lo, alterá-lo ou até excluí-lo. Vamos optar por saber como ele esta configurado

6.) Apesar de escolhermos a opção de reconfigurar, vamos apenas ver as configurações. 7.) Como só temos um listener ativado. Só aparecerá 1 na lista. NOTA: Em que situações criaríamos mais de um listener ? Como citamos o listener é o responsável na rede por estabelecer as comunicações entre clientes e servidores Oracle. Em algumas situações podemos ter servidores com diversas placas de rede, uma para saída web e outra para rede interna. Neste caso necessitaríamos de 2 listeners. Outra situação quando necessitamos ter acesso ao Oracle por portas diferentes da padrão.

nenhuma nova conexão de rede poderá ser efetuada.) Vamos escolher sim 10. para ser reconfigurado. NOTA: Quando você desativa o listener. recebe solicitações apenas pela porta TCP. 9.8.) Quando escolhemos a opção de reconfigurar o Oracle entende que você quer fazer alguma alteração e para isto alerta que o Listener esta ativo e o mesmo a partir deste ponto será desativado. .) Vemos que o nosso listener de nome LISTENER. porém as conexões já estabelecidas são mantidas.

11.) Outra informação importante é que o mesmo só recebe solicitações pela porta default a 1521 12.) Pronto terminamos de configurá-lo e vamos informar que não queremos efetuar nenhuma nova alteração .

ora .ora Veja o conteúdo abaixo do listener. a.) O arquivo de configuração esta localizado no diretório $ORACLE_HOME/network/admin e chama-se listener.Bom fizemos a configuração mais simples e trivial utilizando a ferramenta de configuração de redes da Oracle. teremos de editar o arquivo de configuração manualmente. Porém se quisermos visualizar a configuração e termos poder para configurar o listener de formas mais complexas e personalizadas.

0\db_1\network\admin\tnsnames.ora Network Configuration File: c:\oracle\product\11.# tnsnames. ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521)) ) (CONNECT_DATA = (SID = CLRExtProc) (PRESENTATION = RO) ) ) Nota esta configuração acima do LISTENER é dinâmica.ora # Generated by Oracle configuration tools.1. ou criarmos uma nova a mesma automaticamente será publicada no LISTENER. ou seja automaticamente sempre que subirmos a instância. .

Net e tiver utilizando a API interna da linguagem para acessar o servidor Quando seu acesso ao dado seja através de um serviço WEB . PRO-C. Access e até Excel. no tópico SHUTDOWN/STARTUP DE INSTÂNCIAS ORACLE.Quando queremos bloquear novas conexões via rede      Configurando Estações Clientes Este processo é muito parecido com a instalação do servidor. Quando queremos extrair ou incluir e mesclar informações com outros bancos de dados como SQL-Server. Starting and Shutting Down do LISTENER Já comentamos sobre este assunto no capítulo 3. Quando você necessita ter o client do Oracle Instalado ?      Quando você necessita que seu usuário acesse diretamente as informações contidas nos bancos de dados. Para recordarmos podemos parar e reiniciar o serviço. PRO-COBOL e PROFortran Quando você quer ter ferramentas de pesquisa e administração do servidor instaladas em sua estação cliente. Em caso de servidores de Aplicação / COM e DCOM Quando você não necessita ter o client do Oracle Instalado ?   Quando seu programa de acesso for a Java / . Por que motivo temos de parar o listener ? . ou via o comando lsnrctl. via gerenciador de serviços do Windows. efetuando o que chamamos de querys SQL. Quando você tem programas que não possuem acesso nativo ao Oracle e dependem de drivers de conexão como ODBC.Para manutenções na configuração . OLE.

Vamos fazer um passo a passo juntos para instalarmos o cliente e acessarmos os dados do nosso servidor.PROCESSO DE INSTALAÇÃO NOS COMPUTADORES CLIENTES No nosso caso hoje os computadores clientes são os computadores dos alunos. Segue informações de conexão do servidor: Hostname: Sid: Port: NCOLCHESQUI FATEB 1521 Veja o passo a passo abaixo: 1.) Vamos acionar o programa de instalação de clientes que esta na pasta c:\soft\oracle_cliente no seu computador 2.) Esta é a tela inicial do instalador .

) Clique em próximo e escolha o tipo de instalação que deseja.) Selecionei como minha instalação a console do Administrador 5.) Selecione o local onde será instalado o cliente . 4.3.

Tela de pré-requisitos Clique em instalar e aguarde o término da instalação .

existe uma versão em Java standalone.Sistema Operacional .Servidores de Aplicação . (acionamento do NETCA – opcional) 5. Também na versão 10g surgiu o monitorador centralizado de ambientes chamado Oracle Grid Control. que além de banco de dados monitorava itens como: . Iremos neste treinamento nos basear na versão 11g da OEM. A partir da versão 10g surgiu também uma versão em formato WEB. . O OEM é a principal ferramenta de administração e monitoração feita pela Oracle para gerenciamento dos seus bancos de dados.Oracle Applications Services e outros Com a versão 11g novas funcionalidades vem sendo adicionadas.) Overview do Oracle Enterprise Manager     Introdução do Oracle Enterprise Manager O Oracle Enterprise Manager ou OEM como iremos apresentá-lo daqui para frente em nossos textos desta apostila. alarmes e incluía ferramentas de gerenciamento de backup e auditoria. como melhorias no esquema de controle de backups e Jobs. que contemplava itens como monitoração de ambiente. thresoulds. IP. Os itens de monitoração eram separados em ferramentas distintas. Porta e instância para criar a comunicação entre o cliente e o servidor. Até a versão Oracle 10g.Servidores de Web .Após o termino da instalação o Oracle automaticamente irá solicitar as informações de servidor. mas esta versão só trata de itens de administração.

Clique em Continuar no site se você estiver utilizando o IE8. conectar como normal. IMPORTANTE: Lembro a todos que estamos em um ambiente compartilhado e a conta SYSTEM é a conta máster do ORACLE. Deverá aparecer a tela abaixo No campo usuário SYSTEM senha FATEB. Contamos com sua colaboração. . Acessando o Oracle Enterprise Manager Para acessar o OEM acesse o link https://ncolchesqui:1158/em ou o item DATABASE CONTROL – FATEB pelo servidor. portanto máximo de cuidado para não causar “desastres” e prejudicar seu colega.

Logoff . do software OEM e Oracle No decorrer do treinamento iremos conhecer cada uma destas abas e estudar as principais para administração do ambiente.Gráficos que mostram como esta a performance Disponibilidade .Administração do banco de dados Oracle Esquema .Pagina inicial de abertura com resumo do ambiente Desempenho .Efetuar configurações do OEM . Devido ao nosso tempo escasso.Help da ferramenta .Ajuda .Preferências .Configuração de backup e recover Servidor .Configurar preferências de notificação de alertas . De dados . nos iremos ater a temas principais. .Configurar .Sair e encerrar a conexão do OEM No link abaixo chamado Banco de Dados.Configuração e Ger.Administração dos objetos do Banco Oracle Mov. sempre nos retornará a tela inicial a HOME Nos links de grupo temos os seguintes assuntos: Home . temos: . deixando certas opções e/ou configurações não cobertas neste treinamento.Processo de transferência de dados entre ambientes Software e suporte .Veja a tela após a conexão: VAMOS NAVEGAR UM POUCO NA FERRAMENTA E CONHECERMOS MELHOR Nos primeiros links no canto superior direito.

Armazenamento Lógico . vamos revisar agora. ou seja tudo que utilizamos. Podemos separar a estrutura de armazenamento do Oracle de duas formas: .Armazenamento lógico Armazenamento Físico São todos os arquivos utilizados pela instância Oracle e que ficam fisicamente armazenados em disco. dados que armazenamos ficarão contidos em alguma tablespace.6. neste caso não há formatação de SO no disco. .) Gerenciando as Estruturas de Armazenamento  Estruturas de Armazenamento do Banco de Dados Revisão: No capítulo 2 no passo 12 do processo de instalação do Oracle conhecemos e falamos brevemente do que era uma tablespace e quais as principais utilizadas pelo Oracle. Em algumas instalações de ambiente Oracle como a RAC (Real Application Cluster) poderemos visualizar não mais arquivos mais sim disco físicos destinados diretamente a instância de dados. Vamos revisar o capitulo 3 e verificar se ficou alguma dúvida. Neste capitulo revisaremos estes itens verificando como visualizá-los e administrá-los pela ferramenta Oracle Enterprise Manager. tabelas que criamos. pois o mesmo será o que chamamos de raw-device (disco cru). No capitulo 2 falamos sobre as principais tablespaces do Oracle.Tablespaces Quando falamos em armazenamento lógico em Oracle estamos nos referindo a TABLESPACES.Armazenamento Físico . No capítulo 3 – Overview de uma instância Oracle nos aprofundamos de como fisicamente o Oracle trabalha e utiliza seus arquivos.

Acesso o menu servidor Acesse o link tablespaces e veja como estão as tablespaces padrão .

(ou pelo menos ter idéia de um) .Tablespace do “desfazer erros” – rollback . etc.Contém os objetos básicos da instância Oracle (catalogo) . o que existe são boas práticas e sugestões fornecidas pela Oracle para facilitar esta atividade.Tablespace de armazenamento padrão para usuários  Executando Tarefas Comuns de Armazenamento do Banco de Dados Uma das funções do DBA é gerenciar da melhor forma possível a administração do espaço existente para o armazenamento das informações que ficarão residentes no banco de dados.Como pudemos observar nossas tablespaces básicas foram criadas no momento da instalação da instância FATEB. sorts.contém objetos do Oracle para opcionais que decidimos instalar . Não existe uma regra especifica de como o DBA deve administrar o banco de dados.Objetos temporários (joins. As instâncias básicas tem cada uma sua funcionalidade: SYSAUX SYSTEM TEMP UNDOTBS1 USERS . rebuilds.) . Para que o DBA possa definir qual será a estrutura física/lógica de um banco de dados é necessário estar em um projeto em que foi citado ou mencionado qual seria a utilidade do banco de dados.

Separe em discos/controladoras diferentes os seguintes tipos: Dados. Temporários. Cabe então ao DBA na fase inicial do projeto utilizar o bom senso. tentando ao máximo balancear as cargas de I/O entre os discos/controladoras disponíveis. . Software Ou seja teremos agora 6 separações 2ª. 3. Como disse antes as regras de boa pratica não são obrigatórias. O fato é que se pegássemos as 3 regras juntos com um banco que contenha 3 sistemas de negócio administrado poderíamos ter no mínimo 12 discos/controladoras disponíveis. Normalmente isto nunca existe.) Regra . A atividade do DBA é monitorar a utilização de espaço e concorrência de I/O. são dicas de como podemos otimizar a performance de nosso ambiente. As boas praticas dizem por questões de performance dizem: 1ª. mudando parâmetros e localização de arquivos para que o banco administrado sempre tenha a melhor performance e a melhor utilização do espaço em disco.Objetos dentro do sistema com alta utilização e que sejam concorrentes entre si.Separe suas tablespaces de dados e índices por sistemas / necessidades de negócio e coloque-as em discos diferentes.) Regra . Redo. Undo.) Definir a estrutura física do banco de dados A definição física basicamente serve para definir onde estarão localizados fisicamente os arquivos do banco de dados.) Regra .Separe em discos/controladoras diferentes . Índices.Dentro desta regra podemos citar as seguintes atuações: a. Mesmo em um ambiente de uma grande empresa.Separe em discos/controladoras diferentes .

Para fixar nosso exemplo criaremos as seguintes tablespaces .: 100 Mb . .TS_FATEB_DOCENCIA_IX . 50Mb . Toda tablespace terá sempre um datafile ou mais a ela atrelado e este é exclusivo desta mesma tablespace.Índice das tabelas de administração Tam 5 Mb .TS_FATEB_ADMIN_TB . profes.TS_TREINA_01 . notas.Tablespace para o aluno 01 do treinamento Clique no botão criar para criar novas tablespaces .Tabelas referentes aos cursos.TS_FATEB_ADMIN_IX . 5 Mb. Tam.b.Índices Tam. alunos.) Definir a estrutura lógica do banco de dados Definir a estrutura lógica nada mais é do que definirmos quais serão as tablespaces que utilizaremos em nosso banco de dados.Nome da Tablespace Tamanho da tablespace Blocagem – tamanho do bloco de dados Localização dos datafiles. Para definirmos a tablespace utilizaremos as seguintes informações: .Contém tabelas da administração da faculdade Tam.TS_FATEB_DOCENCIA_TB .

Nesta tela é perguntado informações sobre o tipo de tablespace que se esta desejando criar. . No nosso caso explicaremos cada item mas manteremos o que esta definido por padrão.

Veja abaixo as telas de monitoração de tablespace e de configuração de alertas. Para tanto é importante que haja uma monitoração sobre o ambiente e nosso caso o banco de dados.Ajustando a base de dados .Gerenciar e acompanhar o crescimento dos dados Uma das principais atividades do DBA é manter o ambiente ativo e seguro. planejando com antecedência como resolverá os problemas de espaço em disco. . .Solicitando aquisição de mais discos Com a ferramenta Enterprise Manager podemos monitorar o crescimento de nossas tablespaces e também gerar alertas e ações para níveis que entendamos como critico. . Poderíamos configurar no Enterprise Manager para que nos envie email quando um determinado threshould fosse atingido.Comando gerado quando efetuamos a criação de uma tablespace. O DBA pode com acompanhamento e informações recebidas planejar como será o crescimento de sua base de dados administrada. Um dos fatores que costumam a ter problemas e o gerenciamento do espaço utilizado.

  Gerenciando as Estruturas de Undo do Banco de Dados Efetuando Mudanças nas Estruturas de Armazenamento do Banco de Dados .

PRIVILÉGIOS Os privilégios são os tipos de acessos que concedemos aos usuários para acessarem determinado objeto dentro do banco de dados. Tendo diversas formas de manter os usuários. Com os privilégios podemos garantir que o usuário só tenha o acesso necessário para que exerça suas atividades. Um usuário no Oracle pode ser um usuário comum ou o que chamamos de Owner.7. . faz necessário que o SGBD garanta que só os usuários autorizados tenham o acesso necessário para utilizar a informação. a forma de autenticação dos usuários e a restrição e/ou liberação do acesso. para isto chamamos este usuário de usuário local ou usuário de rede. Para conseguir isto o banco faz o uso do recurso de controle de usuários e seus privilégios. o owner é proprietário de objetos dentro do banco de dados e pode compartilhar seus objetos com outros usuários.)    Administrando Usuários e Privilégios  Overview de Usuários e Privilégios USUARIOS Como o acesso a dados criados no banco de dados Oracle é controlado e tem de ser seguro para garantir integridade da informação. O usuário do banco de dados pode ser ou não um usuário existente no sistema operacional /domínio.

ou seja foi feito então 10000 grants. Administrando Roles 1º. é um recurso do banco de dados Oracle que permite agrupar diversos privilégios em um único grupo. Com isto reduzimos para 100 grants de usuário. e cada usuário então terá acesso a apenas uma role. Veja o problema abaixo que seria executado sem a role: Seu banco possui 100 usuários e cada um possui cerca de 100 privilégios. Se não tivéssemos as roles teríamos que conceder os privilégios 1 a 1 para cada usuário que criássemos no banco de dados. Se utilizarmos o conceito de roles os 100 privilégios podem virar 1. automaticamente afetará todos os usuários a este associado. Este agrupamento facilita em muito a administração de segurança de banco de dados pois permite ao DBA ou gestor de segurança criar perfis de acesso de acordo com regras e necessidades do negócio ou empresa. . Uma das grandes vantagens da role é que qualquer alteração nos direitos e privilégios concedidos ao papel. Entendendo o conceito de roles Roles (tradução papeis ou atribuições).

A administração permitira a você adicionar ou retirar privilégios de uma role. nos conectamos. portanto entendendo o funcionamento de uma todas as outras serão parecidas. As telas de edição e criação de objetos no Oracle Enterprise Manager seguem um formato padrão. abrimos o Oracle Enterprise Manager.2º. Criando e administrando roles Para acessar a tela acima de criação de roles. Esta tela permite gerenciar as roles que possuímos e criar novas. . selecionamos a opção servidor e depois a opção Atribuições.

Como exemplo iremos criar a role RL_FATEB com direito de conexão e apenas de leitura em todos os objetos do banco de dados. As outras opções permitem neste momento já adicionarmos os privilégios que nossa role terá.Segue abaixo a tela para a criação de uma role Para criarmos uma role necessitamos basicamente informar o nome da nova role. neste caso estamos criando uma role chamada RL_FATEB. 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.

Para isto iremos entrar na tela de administração de usuários. Associar a role criada ao usuário Uma role criada que não esta associada a ninguém ou a nenhuma outra role. escolher um usuário e conceder a atribuição da role. .3º. Veja os passos abaixo: Escolhemos a opção Servidor e dentro de servidor a opção de usuário. Precisamos associá-la neste exemplo ao nosso usuário. não tem função nenhuma.

.Escolhi o usuário EMERSON_COLCHESQUI e vou conceder o direito a role que criamos.

Escolha a opção Editar para editar o usuário e alterar suas informações .

Mem e I/O) .Tempo de conexão / Inatividade As restrições de recursos que criamos em perfis. Caso contrario o banco não controlará as restrições. .Limitação de recursos (CPU. Administrando Profiles Os profiles nos permite criar regras de segurança e utilização para os usuário. as regras que podemos trabalhar com profiles é: .Restrições de controle de senha (expiração. para funcionarem é necessário que o parâmetro resource_limit esteja setado como true para o banco de dados.Limitação de sessões concorrentes . bloqueios) .

Vamos criar um perfil chamado P_FATEB. . que restringira o número de conexões simultâneas em 2 e demais itens ficarão como default (unlimited)l. devemos escolher os usuários que farão parte deste perfil de usuário. Vamos deixar isto para falarmos no próximo item. Agora assim como fizemos com a role.

Reset de senhas Entre outras atividades na administração de usuários. No item de Administração de roles adiantamos um pouco o item de alteração e administração de usuários.Criação de novos usuários .Usuário DBA de banco de dados.Bloqueio/desbloqueio de contas . Administrando Usuários A administração dos usuários constitui nas atividades de: .ALUNO_XXX . Senha será FATEB.Usuário com papel de consulta e perfil restrito . Vamos criar dois usuários para cada aluno neste treinamento: .ADM_ALUNO_XXX .Administração de acessos de usuários existentes . Veja o exemplo abaixo e tente fazer você mesmo: .

.Deixe apenas a role RL_FATEB Pronto criamos o usuários. Como pode ver não demos o acesso diretamente ao usuário e sim através da role RL_FATEB e restringimos o nosso novo usuário através do perfil P_FATEB.

Altera e gerencia as tablespaces default do usuário . .Grupo de consumidores Se for configurado o grupo de consumidores no banco de dados.Altera senha de usuário (reset) .Assim como o nome diz você concede direitos específicos do Oracle diretamente ao usuário.) diretamente ao usuário.Define as roles que o usuário tem acesso . Um usuário não poderá gravar mais do que sua cota de espaço permite.Defini os dados básicos de um usuário .Usuários de Proxy Mascaramento de usuários e utilização de usuários como se fosse outro.COTAS As tablespaces que definimos na criação de usuário como default tablespace. Podemos dar cotas ao usuário também em outras tablespaces além da tablespace default.As outras opções existentes na administração de usuários são: . A configuração de grupo de consumidores permite definir priorização de utilização do uso da CPU. Isto não quer dizer que o usuário tem acesso de gravação na tablespace default. .Privilégios de Objetos . restrições permitem que a utilização de CPU sejam restritas. views. Para que isto seja feito é necessário que o mesmo tenha cotas de espaço definidas. . etc.Nesta aba podemos conceder diretamente ao usuário acessos a objetos (tabelas.Privilégios do Sistema . gera apenas um apontamento de onde serão criados os objetos do usuário caso o mesmo não passe o nome da tablespace. (limitado ao tamanho da tablespace) . programas.GERAL .ATRIBUIÇÕES . .

Veja agora criamos os nossos usuários. .

 INDICES São objetos que servem para agilizar e facilitar a pesquisa de um dado em uma determinada tabela. porém permitem retornar um valor como resultado de sua execução.8. agora chegou a hora de explorarmos o funcionamento do gerenciamento lógico do banco de dados Oracle. informações contidas dentro das tabelas. etc.  FUNCIONS Também são blocos de comandos.)    Gerenciando Objetos  Overview dos Objetos de Banco de Dados Aprendemos até o momento muito sobre a estrutura física do banco de dados Oracle. que servem para mascarar. . Quando entramos no conceito lógico falamos sobre as tablespaces e que elas seriam utilizadas para armazenar todos os objetos que criássemos dentro do nosso banco de dados. esconder. juntar. Este objeto estará sempre localizado em uma tablespace.  PROCEDURES São blocos de comandos/programa desenvolvidos na linguagem PL/SQL. 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 informações (dados).. E podem ser utilizadas em querys.  VIEWS Como o nome cita são visões. Aprendemos que fisicamente o Oracle aparece para o sistema operacional como um conjunto de arquivos e processos que ficam executando em memória.

Em sistemas que utilizem o conceito de id único gerado automaticamente é extremamente recomendado a utilização de sequences. para evitar problemas como Dead Locks. PACKAGES Pacotes. ou seja seria como uma tabela de uma única linha e coluna. porém os mesmos não podem ser disparados pelo usuário. O mesmo só pode ser disparado num evento programado. são bibliotecas de procedures e functions agrupadas em um único modulo chamado package.  SEQUENCES Funciona basicamente como um seqüenciador. que cada vez acessada retorna um novo valor. . que contém apenas um valor.  TRIGGERS Também são blocos de comandos. uma seqüência numérica. A vantagem da package é a possibilidade de ocultação de programas com utilização de public/private.

EDUCACIONAL Responsável pelo controle dos itens relacionados a atividades educacionais da faculdade.) . Tendo em mãos a informação acima devemos decidir como o nosso banco de dados ira armazenar as informações. Matérias.FINANCEIRO Responsável pelas atividades do departamento financeiro Como faremos então para preparamos o nosso ambiente: .ADMINISTRATIVO Responsável pela área de administração da faculdade . Notas. (Provas. 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. Alunos. O banco FATEB conterá 3 sistemas: .etc.Conceito de OWNERS Antes de iniciarmos a explicação de cada um dos itens acima é importante sabermos que todos os objetos criados em um banco de dados sempre pertencerão a um dono (que chamamos de OWNER).

3 MB Para criarmos as tablespaces vamos revisar as aulas anteriores.1.5 Mb TBSP_FINANC_TB .50 Mb TBSP_EDUCA_IX .2 Mb TBSP_EDUCA_TB . .) Criar as tablespaces que armazenarão as informações dos sistemas TBSP_ADMIN_TB .30 MB TBSP_FINANC_IX .30 Mb TBSP_ADMIN_IX .

2. Os sistemas específicos deverão utilizar o usuário e senha cadastrados no banco de dados para acesso aos respectivos sistemas.    . Esta conta em ambiente de produção deve ser de responsabilidade do DBA. Ou trabalhar com sistema de conta única.) Criar os OWNERS para cada sistema OWN_ADMIN OWN_EDUCA OWN_FINANC As contas OWN serão associadas as tablespaces que criamos tendo como talbespace default as tablespaces com final TB. As constas OWN são responsáveis por conter os objetos necessários para o funcionamento do sistema especifico. (Isto dependerá de como o sistema é criado). (Sugestão de segurança).

ALUNO NOME CURSO João Sistemas de Informação Maria Sistemas da Informação Como citamos as tabelas são armazenadas em uma tablespace no banco de dados Oracle e portanto consomem espaço em disco.Tabelas particionadas . As colunas contém os campos e tipos de informações armazenadas. e metas de crescimento a cada novo extent (extensão). O processo de reorg irá criar a nova tabela com uma fragmentação menor acertando para isto seu tamanho de volumetria e blocagem. ou seja. são armazenados em linhas X colunas. O espaço mínimo ocupado por uma tabela é 1 bloco de dados da tablespace O espaço máximo é o disponível livre na tablespace. Quando criamos uma tabela definimos sua volumetria. .Tabelas com organização por índice . Somente o Owner ou o DBA do banco de dados poderá conceder direitos sobre uma determinada tabela a um usuário ou role. Toda tabela sempre pertencerá a um único owner e estará contida dentro de uma única tablespace. Em Oracle podemos ter tabelas dos seguintes tipos: . Uma quantidade grande de extents.Tabelas externas. Exemplo: ID 1 2 Tabela OW_EDUCA. Os dados armazenados em uma tabela utilizam o formato bidimensional.Tabelas subparticionadas. As linhas conterão os registros.  Gerenciando Tabelas Como citamos anteriormente tabelas são objetos utilizados pelo banco de dados para armazenar informações. . geram o problema que chamamos de fragmentação de dados e para corrigir o problema é necessário um processo que chamamos de reorg. ou seja seu tamanho inicial.Tabelas normais .

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

vamos Vamos criar uma tabela em nossa conta de conexão e depois criaremos nos owners específicos.) Por padrão ele traz a tela com o usuário que fizemos login. Como ainda não criamos nenhuma tabela para os nossos novos owners. Clique no botão criar Definiremos que será uma tabela padrão Criaremos uma tabela com um nome de teste e o owner será o nosso usuário de login .4.

Opcionais de Tabelas .Na tela de criação de tabelas temos as seguintes opções: Geral Restrições Armazenamento Opções Partições .Tela de cadastramento de restrições/regras .Tela onde definimos a volumetria da tabela .Define formas de particionamento de tabelas No nosso exemplo criamos apenas uma tabela simples para vê-la na listagem de tabelas. .Tela de Definição básica da Tabela .

deletar o conteúdo da tabela (delete) .zerar o conteúdo da tabela (truncate) Vamos escolher o drop excluindo definitivamente a tabela.Com a tabela criada podemos testar editar a tabela. Se observarmos agora não temos mais nenhuma tabela novamente em nossa lista. criando novos campos.Excluir a tabela (drop) . Etc. . restrições. adicionando partições. Vamos ver como seria a tela de exclusão de tabelas Primeiro selecione qual a tabela deseja excluir e clique no botão deletar com opções Esta tela permite que você escolha se quer: .

Digamos que em nosso caso excluímos erroneamente a tabela e desejamos recuperála. OBS: Este recurso limita os objetos no tempo e tamanho pela área que definimos como flash_back_area. Nesta tela visualizamos os objetos que apagamos e podemos recuperá-los. . Na tela de listagem de tabelas clique no botão lixeira.Recuperando objetos Apagados A Oracle a partir da versão 10g criou o conceito de lixeira que permite recuperar rapidamente objetos apagados.

Selecione as tabelas que deseja e clique no botão Eliminação de Flashback Será questionado se você deseja alterar o nome da tabela. clique agora em próximo e depois em submeter e depois ok. Veja a tela com as tabelas recuperada .

Identificador do aluno .Cadastro dos Professores Materias .Vamos Criar agora uma nova tabela e explanar um pouco mais as opções existentes: Criaremos a tabela aluno em no owner OWN_EDUCA Descrição da tabela: Owner: Tabela: Tablespace: Comment: OWN_EDUCA ALUNO TBSP_EDUCA_TB Tabela que contém o cadastro dos alunos Descrição 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 Observação varchar2(100) .Observação sobre o aluno Agora crie tabelas que deverão se amarrar em nossa tabela de aluno Ex: Notas_Faltas .Ano Letivo e Materias lecionadas Cursos .Número do Telefone .Professor X Materia Lecionada.Tabela que conterá o controle de notas e faltas Ano_Materias .Descrição do email .Cadastro dos cursos Professores .Materias Lecionadas Professor_Materia . ETC .Nome do Aluno .Data de inicio na faculdate .

Índices bitmaps . ** Chave primaria: serve para identificar um registro de forma única em um tabela.Índice referenciando apenas uma coluna . . Existem dois tipos de índices em Oracle: .Índices Simples .Índices compostos . pois a mesma foi definida como chave primária. Não existe acesso de usuário a índice diretamente. quem faz a utilização do mesmo é o otimizador de acessos do Oracle.Índices Únicos .Não permitem repetição do dado .Índices contendo mais de uma coluna Assim como em um livro ou documento o índice nos auxilia a encontrar o capítulo ou a informação que desejamos de forma rápida.PK NM_CLIENTE CPF Como você pode observar apenas a coluna ID_CLIENTE possui um índice criado.Permitem repetição do dado Os índices ainda podem ser: . quando o banco efetua esta restrição ele automaticamente gera um índice nas colunas da chave primária.conhecidos com b-tree índex . No exemplo anterior criamos uma tabela que possuía um campo definido como chave primária (PK). Nesta tabelas temos as colunas: ID_CLIENTE .Índices Normais .Índices não únicos .utilizados em pesquisas de baixa granularidade Para ambos os índices acima podemos ter: . Esta é sua funcionalidade na tabela. Ou seja não são possíveis consultas/queries em índices. Exemplo de conceito: Imagine a seguinte situação você possui uma tabela de clientes com 1 milhão de clientes. Gerenciando Índices Como citamos anteriormente a função do índice é melhorar e agilizar a pesquisa ao dado em uma determinada tabela.

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

porém para atualizações de dados ele gera um custo dobrado. Como citamos anteriormente o índice resolve problemas de pesquisa de dados em tabelas. Vamos ver abaixo como criar um índice na tabela de testes que criamos: . Quanto mais índices tivermos pior será o nosso tempo de atualização dos dados na tabela. porém para tudo temos um custo. Isto ocorre porque tanto a tabela quanto o índice agora terão de ser atualizados. Portanto utilize índices com sabedoria evite ficar criando índices “de bobeira”. O índice gera excelente performance para pesquisas.UM INDICE NÃO É A CHAVE MÁGICA PARA RESOLVER TODOS OS PROBLEMAS DO MUNDO.

. Ele localizou que possuímos um índice com a tabela aluno e o índice foi criado automaticamente na criação da PK da tabela. Vamos criar um índice pela coluna CPF agora.Agora vamos achar as tabelas que criamos. para realizarmos a pesquisa. clicamos no botão ir. Clique no botão criar para criarmos um novo índice.

Sempre que o usuário acessa a view na verdade ele executa a query por esta armazenada. com campos como salário.O que são e para que servem as outras opções da tela de criação de índices: Geral Armazenamento Opções Partições Estatísticas .Informações de estatísticas para o otimizador  Gerenciando Views Como citamos a VIEW (visão) são utilizadas para criamos visões de como mostrar o dado. . telefone. CPF.Opções extras para a criação dos índices . Porém o RH permite que outras áreas da empresa acessem uma visão da tabela de funcionários. excluindo os campos confidenciais. Podemos utilizar as views para restringir acesso a informações confidenciais de usuários não autorizados.Definição básica para criação do índice . O conteúdo desta tabela é de uso exclusivo do RH.Definição para particionamento do Índice . Ex: Temos uma tabela de funcionários. A view nada mais é do que um select que armazenamos dentro do banco de dados.Informações de armazenamento e crescimento .

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

    


Pronto criamos a nossa visão restrita. Qualquer tipo de query pode ser utilizada para a criação de uma view, inclusive joins entre tabelas.

NOTA: Existe também o tipo chamada VIEW MATERIALIZADA, que na verdade é um processo de extração 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, porém também podemos desenvolver blocos de programas utilizando a linguagem JAVA.

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

Na tela acima vemos que existe uma seção especifica para a especificação de programas.

Para nosso exemplo iremos criar uma pequena procedure sem fugir a regra “Hello World’” 1. Para quem conhece programação a mesma é muito parecida com a estrutura do pascal. .) Selecione a tela de procedures Clique no botão criar para criarmos a procedure.

. Ou seja o mesmo pode ser executado.Veja abaixo o código que geramos: Após compilarmos nosso programa vemos que o mesmo esta com status valido.

permitia fazer backups incrementais físicos e copiava apenas blocos gravados. O que é um backup ? Um backup nada mais é do que uma cópia de segurança que fazemos de nossos dados.9. de regra jurídica. . permitindo ao usuário criar suas rotinas de backup e automatizá-las. export e Backup Físico. No Oracle até a versão 8i tínhamos basicamente dois tipos de backup: .dump de objetos (export) .)    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. que fazia os mesmos backup. isto devido a uma necessidade de negócio. A partir da versão 10g foi implementada na ferramenta Oracle Enterprise Manager o sistema RMAN. porém gerenciava também as informações de retenção.backup físico (feito via scripts ou agentes) Na versão 9i surgiu a ferramenta RMAN. Se você percebeu nas primeiras aulas já informamos ao banco que queríamos um backup automático. periodicidade e retenção da informação. ou nos piores casos de falha ou perda de nossa informação no banco de dados. Definimos um backup porque pensamos que um dia poderemos ter a necessidade de retornarmos a informação gravada (restore). de acordo com uma criticidade.

tempo que necessitamos esperar no processo de restore Vamos falar então dos tipos de backups e onde são utilizados normalmente: 1.volumetria do banco de dados .) Backups DUMP Backups dumps são feitos com banco online. O backup offline nada mais é do que copiar todos os arquivos existentes da instância Oracle para um outro local.Tipos de BACKUP Em Oracle definimos se desejamos primeiro ter backups com banco ONLINE ou OFFLINE. Backups dumps são utilizados normalmente para pequenos volumes.tipo de utilização do banco de dados . O backup offline é necessário quando o sistema não possui archive-logs ativos. Dumps em Oracle são feitos utilizando a ferramenta export. Dumps são muitos uteis em transferência de dados entre bancos. O banco de dados Oracle permite ter seus backups ativos. O dump é uma forma rápida de restauramos uma tabela. podendo garantir assim 24x7x365 dias. São normalmente utilizados quando existem janelas de manutenção de servidores. exemplos sistemas de cargas massivas como Dataware houses. 2.utilizamos ferramentas externas ou o próprio Oracle . são feitos com a instância do banco de dados fora do ar. A política de backup que utilizamos depende de fatores como: . O restore de dados deste tipo de backup é sempre do tipo full. .) Backups Offline Backups offline como o nome diz. ou seja em modo online. O Dump permite exportar dados entre versões de Oracle em Sistemas Operacionais diferentes.

Criamos o conceito de “lixeira” dentro do banco de dados.RMAN São como os backups online. Não existe limitação de volume para este tipo de backup. Isto nos permite que restore imediatos de informações e objetos apagados possam ser recuperados instantaneamente. Este backup pode ser feito via script.) Flash Recovery Area Apesar de este não ser um processo ou tipo de backup.3. quando configuramos em nosso banco de dados uma área em disco para ser utilizada como flash recovery área. Os restores podem ser feitos por datafiles e com tipo de restore de transação em determinado momento do tempo. porém ocorrem com o banco online. 4. conhecido como point in time. ou via um agente de programa externo de backups.) Backups Online . Permite tipos de cópias de dados diferenciadas.) Backups Online – Cópia Física São cópias físicas assim como é feito no backup offline. Os programas mais novos de backup utilizam como interface de agente o RMAN Permite backup apenas de blocos utilizados Permite backup incremental de blocos físicos Restore é semelhante ao do processo anterior do item 3. É obrigatória a utilização de processos de archive logs ativos para este tipos de backup. São utilizados em sistemas que devem ficar online 24 horas por dia. Esta é uma característica que apareceu na versão 10g e foi melhorada na versão 11g do Oracle. . porém armazenam as informações de backups efetuados (catalogo). 5.

Configurando o Banco de Dados para Backup e Restore

Agora vamos colocar a mão 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 Instância escolheremos o item Disponibilidade, este link é o responsável pela configuração dos backups e restores.

Clicamos em Definições de Backup

Definimos que queremos uma copia do tipo imagem Na tela abaixo colocamos as credencias de usuário com poder de gravação na pasta bakcup.

Na tela abaixo definimos a quantidade de backup que queremos

Nesta próxima tela definimos a opção de fazer backup da configuração

Nesta tela definimos qual será a política de retenção da informação backupeada Pronto criamos a definição de como será o nosso backup. .

Voltamos a tela de Disponibilidade e selecionamos a opção Programar Backup   . Backup do Banco de Dados Agora que já definimos como será o nosso backup vamos executá-lo manualmente e ver também como funciona o agendamento.

vamos optar por backup personalizado.Vamos adotar que queremos fazer o backup do nosso jeito. Escolheremos que será do banco de dados inteiro Tipo do Backup: Completo Modo do Backup: On-line Faça backup dos logs arquivados Escolhemos que o nosso backup será feito em disco .

Quero que seja imediato. Por fim submetemos o job para a execução Vamos verificar o andamento do nosso job clicando em exibir job .Definimos agora a periodicidade que o nosso job de backup irá rodar.

Se formos à tela relatório de backups veremos que efetuamos o backup com sucesso.      .

ALUNO e que a mesma não esta mais na lixeira. Vamos simular uma situação de restore: Digamos que apagamos sem querer a tabela EMERSON_COLCHESQUI. NOTA: A diferença entre restore e recovery é que o restore o banco de dados esta vivo e ativo e no recovery temos uma situação de banco de dados fora do ar em que devemos recuperá-lo. . Primeiro vamos excluir a tabela: (Lembrando que os índices irão juntos) Vamos ao gerenciamento de tabelas e excluiremos a tabela criada. Restore e Recover do Banco de Dados Conforme vimos anteriormente existem muitas formas de efetuarmos backups. Escolhemos a opção de tabelas eliminadas para flashback e clicamos no botão recuperar. portanto termos de restaurá-la de um backup. Entramos na tela de recuperação e escolhemos a opção de recuperarmos uma tabela A recuperação de tabela procura primeiro ver se as informações estão na área de flashback. e para tanto existem igual situações de tipos de restore e recovery.

Encontramos a tabela que excluímos Selecionamos e clicamos em próximo .

Também é informado que os objetos dependentes serão recuperados. como os índices e restrições. Submetemos o processo a recuperação. Pronto objetos recuperados. .

ou seja. rede. com isto o administrador ganha a flexibilidade de ter toda a monitoração ativa de seu ambiente em uma única ferramenta. etc. um DBA que monitora os principais pontos do banco de dados e toma medidas e ações para evitar que um problema que esteja prestes a acontecer afete o usuário final. Os alarmes obtidos pela ferramenta podem gerar ações como enviar emails. O nosso foco do treinamento será a ferramenta OEM que vem junto com a instalação do servidor de banco de dados. A ferramenta OEM trabalha com agentes que ficam monitorando o ambiente o tempo todo. servidores de email. SMS. abrir tickets em sistemas de help-desk. monitorando aspectos de Sistema Operacional. Banco de Dados. etc. . também pode monitorar sistemas e bancos heterogêneos. Uma ferramenta mais abrangente da Oracle é o Enterprise Manager Grid.) Monitorando e Ajustando o Banco de Dados    Monitoração Pró-Ativa do Banco de Dados Uma das atividades principais que definem um bom DBA é o trabalho de monitoração pró-ativa do banco de dados. entre outros serviços. que além de englobar as funcionalidades do OEM. Muitas da coisas que aprenderemos aqui também servirão para o OEM Grid Control.10.

. como esta sendo mostrado no exemplo.Quantidade de sessões ativas Quantidade de sessões ativas na base ** Dica: Uma quantidade excessiva de sessões ativas geram problemas de performance devido ao consumo de memória. conseguimos ver: . Deve-se verificar se há problemas no programa que esta abrindo conexões e esquecendo de fechá-las .Vamos a nossa primeira tela “home” Nesta primeira tela temos um resumo geral de nosso ambiente.Se a instância de banco esta ativa Temos a informação desde quando nossa instância esta ativa.O status de utilização da CPU Se tivermos problemas de performance da CPU a mesma gerará um alerta. ** Dica: Uma atividade excessiva de CPU pode gerar problemas de performance no tempo de resposta do banco de dados. ** Dica: Se a instância estiver fora do ar seremos alertados .

.Resumo do sistema de diagnóstico O Sistema de diagnóstico da Oracle monitora o arquivo de log do banco de dados e alerta sempre que um problema critico (ORA-xxx) esta ocorrendo. antes que os problemas ocorram.Resumo da utilização de espaço em disco Este é um item de extrema importância e que deve ser monitorado sempre. .. poderá parar todo o ambiente e/ou sistema(s). Pois uma falta de espaço em disco. para níveis de aviso e critico. ** Dica: Apesar da monitoração dos sistemas críticos é importante sempre olharmos o arquivo de log para entendermos o momento em que o problema ocorreu . . Um ambiente seguro e estável só é assim se tiver um backup confiável.Tempo de resposta das querys SQL Este é um indicador importante pois mostra o tempo de resposta que os usuários estão tendo no retorno de suas querys. cabe ao DBA fazer uma analise da query e do ambiente e procurar identificar onde esta o problema. ** Dica: Os fatores que influenciam o problema de lentidão de tempo de resposta de uma query são muitos (inclusive os que já falamos anteriormente).Disponibilidade do ambiente Disponibilidade do ambiente nos mostra o tempo necessário para uma recuperação da instância em caso de falhas e se o backup foi efetuado com sucesso e quando. você pode ajustar as métricas conforme você achar prudente. ** Dica: O alerta sempre ocorrerá de acordo com a limitação da métrica colocada. O importante é sempre monitorar o histórico de crescimento e dimensionar o espaço necessário com antecedência. ** Dica: O principal ponte de atenção nesta métrica é a monitoração da execução do backup.

se clicarmos nestes links teremos informações mais detalhadas. Diagnosticando Problemas de Performance O diagnóstico de problemas de performance parte do principio que você esta com problemas e esta recebendo alertas do seu sistema de monitoração. iremos partir do nosso ambiente atual. e buscarmos todas as informações que a ferramenta nos fornece para tomarmos decisões e atacarmos os problemas. Já vimos a tela home. . Existe também a tela desempenho que nos dará uma visão mais detalhada do desempenho do banco de dados. O trabalho a ser efetuado é um trabalho investigativo. se vocês perceberam algumas das informações estão em formatos de links.

No final da tela também temos links de monitoramento adicionais que são muitos uteis. Vamos falar sobre os principais:  Principais Consumidores Este link nos mostra quem são os principais consumidores de recursos do banco de dados. . fornecendo sugestões para que as mesmas sejam melhoradas. Sessões bloqueadoras Este link mostra quais sessões estão efetuando lock de objetos e travando processos.   Como já temos um certo conhecimento neste momento da navegabilidade sobre a ferramenta. Analisador de desempenho SQL Este link pega as piores querys de desempenho e executa o analisador da Oracle. vamos mostrar algumas das telas de monitoração e investigação de problemas.

Tela de Resumo de monitoração do Sistema Operacional Tela de moitoração do Sistema Operacional .

Top dos principais processos consumidores de CPU no SO Conexões estabelecidas com o listener .

Principais consumidores do banco de dados Principais sessões consumidoras .

Dumps gerados em caso de erro de processos .) Gerenciando o Software Oracle     Gerenciando Arquivos e Logs Como já estudamos a instância Oracle é um conjunto de arquivos físicos e processos em memória.local dos logs .11. Segue abaixo informações do conteúdo da pasta admin: C:\oracle\admin C:\oracle\admin\fateb Adump Dpdump Bdump Cdump . Alguns destes arquivos são logs de atividades do banco e traces/dumps que são gerados quando ocorrem problemas no banco. .os logs são separados por instâncias .Dumps gerados pelo processo data pump . No nosso servidor instalamos o software Oracle na pasta C:\ORACLE. Os arquivos de log e traces se encontram na base (ORACLE_BASE) de onde instalamos o software Oracle.Log do banco de dados e traces .dumps críticos de aborts C:\oracle\diag\rdbms\fateb\fateb Na versão 11g os logs migraram para a pasta diag e alguns estão em formato XML. Dentro da pasta admin estão localizados os arquivos de logs e traces.

baixar patches de softwares da Oracle. Na maioria das aplicações de patche a instância deve estar desativada e ser executado um programa Windows / Unix feito em Java visual. Cada patche possui sua própria maneira de ser instalada.oracle. . pré-requisitos necessários e procedimento de instalação. ** DICA: Hoje a partir da versão 10g também é possível automatizar a aplicação de patches no banco de dados. Aplicação de Patches O processo de aplicação de patches depende de que você possua uma licença valida com a Oracle onde você receberá um CSI que permite acessar o site de suporte metalink.com. Neste site é permitido você abrir chamados de suporte.

org/ http://www.sqlmagazine.site de cursos.br/ WWW.oraug-br.com/sessao.com Oramag.site da Oracle do Brasil .br .oracle.com . Sites utilizados como referência e obtenção dos gráficos Wikipedia – Conceito de Banco de Dados http://www.profissionaloracle.com.apostilando.site de download (clientes) .site da comum idade de estudos .com.site oficial da Oracle .oracle.com Edelyvery.php?cod=18 BLOG do Antonio Campos .com/sessao.Revista Oracle Magazine .oracle. Todo o texto inserido neste manual foi de autoria de Emerson Colchesqui.com.com.br Otn.php?cod=18 Sites Oracle: WWW.br/blogs/antoniodba/2009/08/19/arquitetura-oracle-eseus-componentes/ Apostilas na WEB .oracle.oracle.com Metalink.apostilando.Utilizada como base para formatação da apostila http://www.com Education. manuais e certificações Alguns Sites da Comunidade Oracle: http://www.site de suporte da Oracle (clientes) .Esquemas e desenhos http://profissionaloracle.Bibliografia Foi utilizado para a confecção deste manual sites na WEB para obtenção de desenhos e esquemas gráficos.oracle.oracle.com WWW.

Segue meus contatos: Emerson Colchesqui Email: colchesqui@ig. Saulo pela autorização junto a faculdade para o treinamento. ** Desejo a todos os alunos sorte e sucesso em suas carreiras profissionais.com. Daniel pela preparação do CPD FATEB e suporte prestado.: (11) 6766-6792 Faculdade de Ciências e Tecnologia de Birigui www.br .Considerações finais: Espero que este treinamento possa ter agregado o conhecimento básico necessário para formar um administrador de banco de dados Oracle. dúvidas e criticas. FATEB – Autorização da utilização de suas instalações para a realização do curso. Aos alunos que dedicaram seu tempo a participarem deste treinamento ** Fico a disposição para sugestões.com Cel.br MSN: ecolchesqui@hotmail.fateb. Celso e Dalton pela atitude de trazer este curso para a FATEB. Agradecimentos Ricardo.

Sign up to vote on this title
UsefulNot useful