admbancoora

Upload: cleber-da-silva

Post on 08-Apr-2018

215 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/7/2019 admbancoora

    1/41

    Por

    Edson Almeida Junior

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    Maro 2006

    Ultima Atualizao 11/04/2006

  • 8/7/2019 admbancoora

    2/41

    NDICE

    INTRODUO.............................................................................................................................. 4BANCODE DADOS RELACIONAL..................................................................................................... 4CONCEITOS................................................................................................................................ 4

    SQL - LINGUAGEMDE PESQUISA ESTRUTURADA............................................................................. 5OUTROS CONCEITOSDE BANCODE DADOS..................................................................................... 7BANCODE DADOS DISTRIBUDOS................................................................................................... 7DATA WAREHOUSE...................................................................................................................... 7REPLICAODE DADOS............................................................................................................... 8ATRIBUIES/RESPONSABILIDADESDEUM DBA (DATABASE ADMINISTRATOR).................................... 8ARQUITETURA ORACLE................................................................................................................ 9ESTRUTURAS FSICAS................................................................................................................. 10INSTNCIA ORACLE................................................................................................................... 11OBJETOSDO BANCODE DADOS ORACLE...................................................................................... 11PROCESSANDOCOMANDOS SQL.................................................................................................. 13DATABASE BUFFERCACHE......................................................................................................... 13SEGMENTOSDE RECONSTRUO: O "DESFAZER" DO ORACLE........................................................ 14OS PROCESSOS ORACLE............................................................................................................. 15PRINCIPAIS PROCESSOSDE SEGUNDO PLANO (BACKGROUND PROCESS).............................................. 15CONFIGURAESDE SERVIDORESDE BANCODE DADOS.................................................................. 16SERVIDORMULTILINEAR(MULTI-THREADED)................................................................................ 17SERVIDORDEDICADO................................................................................................................. 18LOGDE TRANSAES (LOGDERECONSTRUO: REDO).............................................................. 18REDO LOG FILES...................................................................................................................... 18LOG SWITCHES......................................................................................................................... 19CHECKPOINTS........................................................................................................................... 19O ARQUIVODEPARMETROS...................................................................................................... 20

    EXERCCIO I............................................................................................................................. 22INICIALIZANDOETERMINANDOUM BANCODE DADOS ORACLE......................................................... 22INICIALIZANDO (STARTUP).......................................................................................................... 22TERMINANDOUM BD ORACLE (SHUTDOWN)................................................................................. 23ALTERDATABASE: ALTERANDOOESTADODO BANCODE DADOS..................................................... 23ALTERSYSTEM: RESTRINGINDOOACESSO................................................................................... 24GERENCIADOOESPAODO BANCODE DADOS............................................................................... 25COMPONENTESDEUM BLOCO ORACLE......................................................................................... 26CONTROLANDOOESPAOLIVRE................................................................................................... 26ESTUDANDOAS TABLESPACES...................................................................................................... 26CRIAODE TABLESPACES......................................................................................................... 27

    ALTERANDOUMA TABLESPACE.................................................................................................... 27DELETANDOUMA TABLESPACE.................................................................................................... 28CRIANDO SEGMENTOSDE RECONSTRUO (ROLLBACKSEGMENTS).................................................. 28CRIANDOUM BANCODE DADOS.................................................................................................. 29ALTERANDOUM BANCODE DADOS.............................................................................................. 30INSTALAODO ORACLE............................................................................................................ 30O ARQUIVODE PARMETROS: ESTUDANDO OS PARMETROS........................................ 30CRIAOE GERENCIAMENTODE USURIOSDO BANCODE DADOS.................................................... 31ALTERANDOUM USURIODO BANCODE DADOS ORACLE................................................................ 32DELETANDOUM USURIO........................................................................................................... 33PRIVILGIOS............................................................................................................................. 33

    COMANDO GRANT..................................................................................................................... 34COMANDO REVOKE................................................................................................................... 34

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    2

  • 8/7/2019 admbancoora

    3/41

    AGRUPANDOPRIVILGIOS: ROLE............................................................................................. 35VISES (VIEWS) DO DICIONRIODE DADOS................................................................................. 36BACKUPE RECOVERYDO BANCODE DADOS................................................................................. 36BACKUP COMPLETO (FULL) OFFLINE....................................................................................... 37RESTAURANDO (RECOVERY) DO BD............................................................................................. 37

    MODOSDE ARQUIVAMENTO ORACLE........................................................................................... 38HABILITANDO/DESABILITANDOO MODODE ARQUIVAMENTO............................................................ 38BACKUP ONLINE PARCIAL.......................................................................................................... 39EXPORT/IMPORT/LOADDO ORACLE............................................................................................. 40USANDOA BARRADE FERRAMENTAS ADMINISTRATIVASDO ORACLE................................................. 41ORACLENA INTERNET................................................................................................................ 41BIBLIOGRAFIA........................................................................................................................... 42

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    3

  • 8/7/2019 admbancoora

    4/41

    INTRODUO

    Este material uma sntese da Introduo e Administrao de Banco de Dados Oracle, e visatransmitir aos administradores do banco de dados Oracle conhecimentos bsicos para ogerenciamento/administrao do mesmo.

    BANCO DE DADOS RELACIONAL

    Um banco de dados relacional pode ser definido como um banco de dados que aparece ao usuriocomo uma coleo de tabelas. A caracterstica mais fundamental num banco de dados relacional a de que temos que identificar univocamente seus registros (que chamamos de linhas), ou seja,devemos definir um campo (ou mais de um) dentre os vrios campos do registro, para ser oatributo identificador do mesmo (chave primria).O Oracle um SGBD Relacional - Sistema de Gerenciamento de Banco de Dados Relacional(RDBMS - Relational Database Managemente System) e foi um dos primeiros sistemas de bancode dados a utilizar a Linguagem de Pesquisa Estruturada (SQL - Structured Query Language)como interface do usurio sendo, talvez, por este motivo, agora um dos principais sistemas degerenciamento de banco de dados.

    CONCEITOS

    No estudo de banco de dados convm sabermos algumas definies importantes:Tabelas - So as unidades bsicas de um SGBD Relacional. formada por linhas e colunas,onde as linhas representam os registros e as colunas os campos da tabela. So muito conhecidascomo Tabelas-Base.

    Exemplo:

    Cod_Funcionario - CHAR(06)Cod_Departamento - CHAR(05)Nome_Funcionario - VARCHAR2(40)Data_Nascimento - DATE

    Colunas - Um nome de coluna o nome que o usurio informar para representar os valores dedados que sero entrados sob cada coluna.

    Linhas - So os registros da tabela.Valores de dados - So os valores encontrados na interseo de uma coluna e uma linha.Chave primria - Uma ou mais de uma coluna que identifica uma linha, facilitando em muito oacesso aos dados.

    Viso ou Tabela Virtual(View) - uma tabela formada por uma pesquisa em uma ou maistabela-base. Ela no existe, mas parece ao usurio como se existisse.

    Toda tabela num banco de dados relacional tem que possuir uma Chave Primria. As tabelaspodero tambm ter chaves estrangeiras, que so campos que relacionam as tabelas do banco de

    dados, fazendo referncia entre uma e outra tabela.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    4

  • 8/7/2019 admbancoora

    5/41

    SQL - LINGUAGEM DE PESQUISA ESTRUTURADA

    A SQL - Linguagem de Pesquisa Estruturada (Structured Query Language) devido as suascaractersticas tornou-se a linguagem padro de banco de dados relacionais.

    A Linguagem SQL pode ser usada atravs de dois modos:

    SQL Interativa - Onde os comandos SQL so digitados interativamente, ou seja, logo aps adigitao do comando vemos sua execuo.

    SQL Embutida - Neste modo os comandos SQL ficam embutidos no programa-fonte de umalinguagem de programao. Tal linguagem normalmente chamada linguagem hospedeira.Linguagens de programao como COBOL, C, PASCAL, PL/1, etc, admitem a SQL Embutida.

    A SQL divide-se em trs grupos:- Linguagem de Definio de Dados (DDL)- Linguagem de Controle de Dados (DCL)- Linguagem de Manipulao de Dados (DML)

    Linguagem de Definio de Dados (DDL)

    Tem como objetivo definir, alterar e eliminar as tabelas usadas para armazenar os dados.CREATE TABLE, CREATE VIEW, so comandos de definio de dados, dentre outros.

    Exemplo: Criao de Tabelas

    Em SQL as tabelas possuem a funo de armazenar os dados do Banco de Dados. O comandopara criao de tabelas no SQL o CREATE TABLE.

    Exemplo de CREATE TABLE:

    CREATE TABLE T_Funcionario(cod_funcionario VARCHAR(2),nome_funcionario VARCHAR(30),end_funcionario VARCHAR(40),

    CONSTRAINT pk_funcionario PRIMARY KEY

    (cond_funcionario),TABLESPACE ST_funcionario;

    Linguagem de Controle de Dados (DCL)

    A DCL contm elementos que sero teis num sistema multiusurio, onde a privacidade dasinformaes importante, bem como a segurana das tabelas e o estabelecimento de fronteirasentre as transaes. Os comandos GRANT e REVOKE so alguns dos comandos utilizados parao controle de dados.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    5

  • 8/7/2019 admbancoora

    6/41

    Linguagem de Manipulao de Dados (DML)

    Esta linguagem contm os componentes da linguagem e conceitos para a manipulao dasinformaes armazenadas nas tabelas. Os comandos SELECT, UPDATE, INSERT, bem comooutros, so comandos de manipulao.

    O Comando mais utilizado na linguagem SQL para manipulao dos dados o SELECT. Comele que produzimos as Queries, ou seja, as pesquisas no Banco de Dados.

    Exemplos: Selecionando Dados

    a) SELECT * FROM ALUNO;

    Retorna todas as linhas e todas as colunas da tabela ALUNO.

    b) SELECT MATRICULA, NOME_ALUNO

    FROM ALUNO;Retorna todas as linhas das colunas matrcula e o nome do aluno da tabela ALUNO.

    c) SELECT MATRICULA, NOME_ALUNOFROM ALUNOWHERE NOME_ALUNO = JOAO DA SILVA;

    Retorna a matrcula e o nome do aluno que tenham nome igual a JOAO DA SILVA.

    d) SELECT MATRICULA FROM CURSAWHERE ((NOTA1+NOTA2+NOTA3)/3) > 7AND CD_DISCIPLINA = PORT;

    Retorna a matrcula de todos os alunos que obtiveram mdia acima de sete na disciplina PORT.

    e) SELECT AVG(SALARIO) FROM EMPREGADO;

    Retorna a mdia dos salrios dos funcionrios da tabela.

    Obs.:1) A Sintaxe completa do comando SELECT encontra-se no manual de referncia de SQL da

    ORACLE.2) Podemos usar o comando Select para acessar dados de duas ou mais tabelas, ao mesmo tempo:SELECT COD_EMPREGADO, NOME_EMPREGADO, SALARIO_EMPREGADOFROM FUNCIONARIO, SALARIOWHERE FUNCIONARIO.COD_EMPREGADO = SALARIO.COD_EMPREGADO;

    Esta Query acima retorna os dados da tabela FUNCIONARIO (COD_EMPREGADO eNOME_EMPREGADO) e da tabela SALARIO (SALARIO_EMPREGADO).

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    6

  • 8/7/2019 admbancoora

    7/41

    OUTROS CONCEITOS DE BANCO DE DADOS

    BANCO DE DADOS DISTRIBUDOS

    Permitem o manuseio da informao armazenada no Banco de Dados que se encontra distribudoem diversas mquinas geralmente em locais geogrficos distintos. A distribuio dos dados podeser feita no nvel de uma entidade do esquema conceitual (1 tabela, por exemplo) ou atravs defragmentos (parties da tabela). Os fragmentos podem ser obtidos atravs do uso de tcnicas defragmentao horizontal (seleo de linhas da tabela), fragmentao vertical (seleo de colunasda tabela) ou de forma hbrida (conbinando a fragmentao horizontal e vertical ao mesmotempo).

    A alocao dos fragmentos pode ser realizada com ou sem replicao. No primeiro caso, cpiasde um mesmo fragmento so distribudas pelos diversos ns que compem o Banco de Dadosdistribudo.

    O principal objetivo dos bancos de dados distribdos disponibilizar o dado o mais prximopossvel do local onde mais acessado, permitindo um aumento no desempenho de consultasdevido ao aproveitamento da localidade de acesso e tambm, por trabalhar com um volumemenor de dados.

    DATA WAREHOUSE

    Em sua forma essencial, um data warehouse um repositrio para informaes organizacionais.Pode incluir tabelas relacionais geradas pelos sistemas de controle e acompanhamento, dadosconsolidados altamente estruturados, documentos e objetos multimdia. Tambm podem ser

    encapsuladas regras de negcio. Sem dvida, uma soluo data warehouse deve ser aberta,escalvel, com velocidade e facilidade de acesso, e deve ser gerencivel.

    Dada a tendncia da indstria para a distribuio de recursos e o desejo de maior controle eacessabilidade, uma soluo deve ser projetada para operao geograficamente distribuda aolongo das unidades de negcio da corporao. Facilidade de instalao, ajustes, gerenciamento,controle e interoperabilidade so pontos crticos, particularmente em um ambiente distribudo.

    Data warehouse uma arquitetura, no um produto, e no deve ser associada com um repositriode dados especializado, tal como um sistema de gerenciamento de dados multidimensional, epode, de fato, ser perfeitamente hospedado em um sistema de gerenciamento de dados relacional,

    que prov uma base mais slida sobre a qual se construir as aplicaes que alimentaro orepositrio de dados.

    Mais importante que a ferramenta para hospedar o repositrio o conjunto de aplicaes eferramentas que compem as informaes organizacionais. Data warehouse uma forma deunificar e facilitar o acesso a todas as informaes de que os membros de uma corporaonecessitam para a execuo, controle e planejamento de atividades de negcio.

    A construo do repositrio conseqncia da Administrao de Dados, que responsvel pelaelaborao de um modelo global de dados para a corporao, que normalmente surge comoresultado da integrao dos sistemas de transaes on line. Para o usurio, aspectos importantes

    so as ferramentas de query e anlise de dados, bem como o grau de integrao com as

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    7

  • 8/7/2019 admbancoora

    8/41

    ferramentas de automao de escritrio, que correspondem ao dia-a-dia dos usurioscorporativos.

    Muitos vendedores consideram gerenciadores de banco de dados especializados para datawarehouse, mas esses desconsideram as melhorias da tecnologia relacional nas reas de

    processamento e otimizao em paralelo de queries, bem como a integrao com ferramentas deacesso, modelagem, apresentao e anlise, tais como as planilhas eletrnicas e bancos de dadosde mesa.

    O Oracle Warehouse suporta alm de dados estruturados da forma relacional, outros tipos dedados, como por exemplo, textos desestruturados, dados espaciais, vdeo, ...A proposta do Oracle Warehouse a de possibilitar o gerenciamento dos dados da empresa,independente da origem dos dados, ou seja, se so dados histricos, de produo, etc.

    REPLICAO DE DADOS

    O Oracle permite a replicao dos dados, isto , cpias de tabelas dos bancos de dados podem serinstaladas nas unidades regionais da empresa, visando assim a rapidez no acesso aos mesmos(evita o trfego na rede).

    ATRIBUIES/RESPONSABILIDADES DE UM DBA (DATABASEADMINISTRATOR)

    O DBA o administrador do banco de dados Oracle e tal funo, geralmente exercida por umAnalista de Sistemas com alguma formao/experincia em Banco de Dados.

    Diversas atividades de administrao do SGBD Oracle, devem ser exercidas pelo(s) DBA(s).

    Dentre elas destacamos:

    Instalar e fazer o Upgrade do Oracle Server e das ferramentas diversas da Oracle;

    - Criar as estruturas e objetos primrios;

    - Planejar/calcular, bem como, disponibilizar o espao necessrio para o Banco de Dados Oracle;

    - Modificar a estrutura do banco , quando necessrio;

    - Criar, deletar, dar/remover privilgios, enfim, gerenciar os usurios do banco;

    - Gerar cpias de segurana (Backups) e recuperar o banco Oracle;

    - Manter a segurana do sistema, controlando o acesso ao banco de dados utilizando os recursosde segurana do sistema operacional, do sistema de rede e do Oracle;

    - Monitorar e otimizar a performance do Banco de dados.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    8

  • 8/7/2019 admbancoora

    9/41

    ARQUITETURA ORACLE

    O DBA deve conhecer a arquitetura Oracle, isto , como o Oracle trabalha, tendo assimsubsdios para a administrao do(s) banco(s).

    A Arquitetura Oracle

    Instncia Oracle

    Memria RAM

    Banco de Dados Oracle

    rea em disco

    Parameter File

    Arquitetura Oracle = Instncia + BD Oracle

    Instncia = Memria + Processos Background

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    9

    Processos Background

    SGA System Global AreaShared

    PoolDatabase

    BufferChace

    Redo LogBuffer

    DBWR LGWR

    CKPT

    ARCH PMON

    SMON RECO LCKn

    Data Files Redo Log Files

    Control Files

    Servidor

    Usurio

  • 8/7/2019 admbancoora

    10/41

    ESTRUTURAS FSICAS

    O Banco de Dados Oracle composto por 3 tipos de estruturas fsicas (arquivos):

    Dados (data files);Controle (control files);Log (redo log files) eParmetros (parameter file).

    Data files Contm todos os dados do banco. Estruturas lgicas, tabelas, ndices, vises eoutros objetos so armazenados nestes arquivos. Um ou mais data files podem compor umatablespace (objeto lgico que armazena os arquivos de dados).

    Control files Arquivos que armazenam informaes sobre as estruturas fsicas do banco dedados (nome, localizao, ...). Todos os data files e redo log files so identificados no controlfile, bem como o nome do banco de dados.Recomenda-se que se tenha no mnimo dois Control Files, armazenados em discos diferentes (sepossvel).

    Redo log files Arquivos que guardam todas as alteraes efetuadas nos dados das tabelas dobanco e so utilizados para recuperao destas.Para garantir uma boa recuperao cada redo log file deve Ter no mnimo uma rplica. Umconjunto de redo log files iguais recebe o nome de grupo, e um grupo formado por membros(redo log file original e suas rplicas).

    Ao terminar o espao disponvel nos membros de um grupo redo log, a gravao continua nosmembros do grupo seguinte (log switch). O grupo anterior fica ento disponvel para Ter seu

    contedo copiado para outro local (archive log files), pois, ao terminar o espao no ltimo grupo,o processo ir reutilizar o primeiro, sobregravando-o.

    Alm dos 3 tipos de arquivos citados acima temos tambm o Parameter file Para inicializaruma instncia, o Oracle deve ler um arquivo de parmetros de nome padroinit.ora. Este arquivo do tipo texto e contm diversos parmetros deconfigurao associados a uma instncia, aos quais devem ser atribudos valores especficos.

    Os valores dos parmetros sero utilizados para inicializar muitas das configuraes de memriae processos da instncia Oracle. Cada instncia tem seu arquivo de parmetros que define asparticularidades de cada ambiente.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    10

  • 8/7/2019 admbancoora

    11/41

    INSTNCIA ORACLE

    Instncia Oracle

    Memria RAM

    A cada inicializao do banco Oracle, parte da memria RAM do computador alocada para aSGA (System Global Area) e processos Oracle de segundo plano (Background Process) soinicializados, visando controlar o banco. Ento uma Instncia Oracle (Instance) o conjunto da

    SGA (buffers da memria RAM) + processos Oracle de segundo plano (Background), que juntosoferecem aos vrios usurios o acesso ao banco de dados.Existe um banco de dados para cada instance, e possvel criar em um mesmo equipamento maisde uma instance, sendo, por exemplo, uma para conter um banco de dados de produo e outrapara conter o banco de dados de teste. Neste caso, haver processos sendo executados embackground especficos para cada instance e uma rea de memria independente utilizada emcada instance.

    Obs.:1)SGA Memria compartilhada por todos os usurios Oracle.

    2)Instncia (instance) = SGA + Processos Background3) no arquivo de parmetros (parameter file) que determinamos as caractersticas da instncia(instance)

    OBJETOS DO BANCO DE DADOS ORACLE

    O Oracle possui diversos componentes denominados Objetos do Banco de Dados . Dentre elespodemos destacar:

    Tabelas - So as unidades bsicas de um SGBD Relacional. formada por linhas e colunas,

    onde as linhas representam os registros e as colunas os campos da tabela. So muito conhecidascomo Tabelas-Base (conforme j vimos anteriormente).

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    11

    Processos Background

    SGA System Global AreaSharedPool DatabaseBufferChace

    Redo LogBuffer

    DBWR LGWR

    CKPT

    ARCH PMON

    SMON RECO LCKn

  • 8/7/2019 admbancoora

    12/41

    Viso ou Tabela Virtual(View) - uma tabela formada por uma pesquisa em uma ou maistabela-base. Ela no existe, mas parece ao usurio como se existisse.Muitas vezes o acesso aos dados exigem queries complexas. Um usurio pode construir umaviso que contenha uma certa complexidade e disponibiliz-la para usurios finais e

    programadores, que faro queries mais simples sobre esta Viso. Voc estar ento, retirandoa complexidade da navegao de uma aplicao ou de um usurio no acesso aos dados.

    Usurio - So as pessoas que iro acessar o BD Oracle. Possui nome e senha para o acesso("login").Cabe ao DBA criar, modificar e excluir os usurios do BD.

    Role - Agrupamento de privilgios, ou seja, em uma role podemos agrupar diversos privilgios econceder aos usurios, no mais os privilgios e sim as roles.

    Rotinas armazenadas (Stored Procedures, Functions e Triggers) - So grupos de comandosSQL que podero ser ativados pelos usurios. Uma "Function" retorna um valor sempre,enquanto que as "Procedures" no.As Triggers (gatilhos) so tambm rotinas armazenadas que so executadas (disparadas) quandoocorre algum evento modificando alguma tabela (Ex. Ao clicar o boto ...)

    ndices - Quando criamos ndices para uma tabela, especificando uma coluna, tal tabela classificada de tal forma que, sempre que for mencionada uma query, o sistema usar o ndicepara Ter acesso direto aos dados desejados, ao invs de vasculhar a coluna toda. O objetivo dacriao de ndices agilizar a recuperao de dados, ou seja, acelerar a procura dos dados natabela.

    Tablespace - Objeto lgico que guarda os arquivos de dados do BD Oracle. Convm, antes dedefinir o tamanho da Tablespace, fazer uma estimativa do quanto de espao em disco sernecessrio para alocar os objetos (tabelas, ndices, ...). Entretanto, podemos aumentar o tamanhoda Tablespace, adicionando datafiles (arquivos de dados) mesma.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    12

    Usurio1 Usurio2 Usurio3 Usurio3Usurio2Usurio1

    Select Insert Update

    Select Insert Update

    ROLE_UM

  • 8/7/2019 admbancoora

    13/41

    PROCESSANDO COMANDOS SQL

    Observando a figura anterior, podemos ver a presena de processos de usurios (users) eservidores (servers).

    Todos os comandos SQL so executados pelos processos servidores, dividindo-os em 3 (trs)fases:ParseExecuteFetch.

    ParseCheca a sintaxe do comando;Checa tambm os privilgios do usurio, definindo logo aps, o caminho da pesquisa;Define o plano de execuo do comando.

    ExecuteAnalisa o requerimento que est no buffer (na Shared SQL Area), eFaz a leitura fsica ou lgica (no arquivo datafile ou no Database Buffer Cache).

    Obs.:Na Shared SQL Area temos: o texto do comando SQL (ou PL/SQL), o plano de execuo.

    FetchRetorna o resultado do comando SQL (geralmente chamada de tabela-resultado).

    Obs.:Na Shared SQL Area temos dois caches a saber:a)Cache de biblioteca armazena instrues SQL (e/ou procedimentos) bem como planos deexecuo das instrues (ex.: vrios usurios (clientes) podem estar executando uma mesmaaplicao compilada).b)Cache de dicionrio Armazena informaes contidas no dicionrio de dados do BD,reduzindo as E/S de disco (o Oracle usa as informaes do dicionrio do BD em praticamentetodas as operaes).

    DATABASE BUFFER CACHE

    No Database Buffer Cache dados do BD Oracle so armazenados. O processo DBWR (databasewriter) grava os blocos de dados que as transaes modificam na memria (database buffercache) de volta para os arquivos de dados do BD.

    Os buffer do Database Buffer Cache so compartilhados por todos os processos de usurio doOracle conectados instncia (instance). O tamanho do bloco do database buffer cache determinado no parmetro DB_BLOCK_SIZE. A quantidade de blocos definida no parmetroDB_BLOCK_BUFFERS (parmetros contidos no arquivo de parmetros do Oracle).

    Com a atuao do Database Buffer Cache as E/S de disco so reduzidas, armazenando dados que

    as transaes solicitaram recentemente.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    13

  • 8/7/2019 admbancoora

    14/41

    Exemplo:Quando uma transao inclui uma instruo pra atualizar uma linha o Oracle manda para odatabase buffer cache o bloco que contm a linha, atualizando a linha logo em seguida. Se outratransao quiser atualizar a mesma linha, ou outra que est no mesmo bloco, no ser necessriooutro acesso a disco, pois a linha j est no database buffer cache (memria).

    SEGMENTOS DE RECONSTRUO: O DESFAZER DO ORACLE

    Um Segmento de Rollback do Oracle uma rea utilizada para guardar temporariamente dadosanteriores a uma transao (que atualizou ou eliminou os dados). Se for necessrio, atravs docomando Rollback (comando SQL) os dados so reconstrudos (que estavam no segmento derollback) voltando os dados ao estado anterior.

    O Segmento de Rollback SystemTodo banco de dados Oracle tem um segmento de rollback denominado System. Durante a

    criao do BD, o segmento inicial criado na tablespace System.

    Obs.:Ao se criar uma nova Tablespace devemos criar um Segundo segmento de Rollback denominadoSystem.

    Para se criar um segmento de rollback usa-se o comando CREATE ROLLBACK SEGMENT

    Sintaxe:

    CREATE PUBLIC ROLLBACK SEGMENT rbs01TABLESPACE st_01STORAGE (INITIAL 10K NEXT 10K

    OPTIMAL 20K MAXEXTENTS 121);

    Para colocar o segmento ativo (ONLINE):

    ALTER ROLLBACK SEGMENT rbs01 ONLINE;

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    14

  • 8/7/2019 admbancoora

    15/41

    OS PROCESSOS ORACLE

    Memria RAM

    Os processos Oracle executam tarefas especficas para os usurios do banco de dados. Taisprocessos trabalham no sentido de manipular as solicitaes enviadas pelos processos de clientese operam as diversas funes de um servidor de banco de dados Oracle. O Oracle distingue osprocessos de servidor de primeiro plano dos de segundo plano. Os processos de primeiro planomanipulam diretamente as solicitaes dos processos de clientes, enquanto os processos deservidor de segundo plano manipulam outros servios do Oracle.

    Funcionamento de um sistema Cliente/Servidor Oracle:1)Processo cliente envia solicitao para o servidor Oracle. Um processo despacha (Dispatcher)o mesmo para uma fila de solicitaes.2) Um processo de servidor de primeiro plano pega a solicitao mais antiga, processando-a. Aoterminar o processamento, coloca o resultado numa fila de respostas.3)O Dispatcher gerencia a fila de respostas, enviando o resultado de cada solicitao para oprocesso cliente que fez a solicitao.

    A quantidade de processos de servidor de primeiro plano ajustada automaticamente pelo Oracle.De acordo com a necessidade o Oracle inicia/encerra processos de servidor de primeiro plano,

    visando atender as solicitaes dos clientes.

    PRINCIPAIS PROCESSOS DE SEGUNDO PLANO (BACKGROUNDPROCESS)

    DBWR (Database Writer) Grava os dados do Database Buffer Cache para os arquivos fsicosdo Banco de Dados (datafiles). O DBWR no faz esta gravao imediatamente aps a efetivaodas transaes. Tal evento acontece quando:um processo servidor precisa ler um novo bloco para a memria e no existe espao disponvel,ou ele est ocioso por alguns segundos, ou Quando o Oracle efetua um Checkpoint do Banco de

    Dados ou da Tablespace.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    15

    Processos Background

    SGA System Global Area

    Shared

    Pool

    Database

    BufferChace

    Redo LogBuffer

    DBWR LGWR

    CKPT

    ARCH PMON

    SMON RECO LCKn

  • 8/7/2019 admbancoora

    16/41

    LGWR (Log Writer) Grava informaes de alteraes efetuadas sobre o BD do redo log bufferpara os redo log files.

    ARCH (Archiver) opcional. Copia automaticamente grupos de log de transaes (redo logfiles) para um outro local fsico (gerando os archives redo log files). Pode ser para fita ou para

    disco.

    LCKn (Lock) - Faz bloqueios (Locks) entre instncias em servidores paralelos.

    PMON (Process Monitor) Realiza todo o processo de recuperao para um processo de usurioque tenha falhado. Por exemplo, se cair a conexo de um usurio com o Oracle, o ProcessMonitor ir desfazer a transao que caiu, liberando os locks da transao, liberando assim oacesso de outras transaes aos mesmos dados.

    SMON (System Monitor) Executa diversas operaes de gerenciamento do espao medidaque as transaes liberam mais espao para dados do BD.

    RECO (Recoverer) Recupera falhas que envolvam transaes distribudas.

    CKPT (Checkpoint) Faz periodicamente uma verificao (checkpoint), para se certificar de quetodas as informaes modificadas na memria esto armazenadas fisicamente no disco. Tem afuno de marcar o quanto o log de transaes precisar aplicar , caso o sistema venha a exigiruma recuperao por queda. Somente as mudanas provocadas pelas transaes a partir doltimo Checkpoint sero aplicadas pois o Oracle sabe que os dados foram gravados no disco(anteriores ao ltimo Checkpoint). Atualiza os headers de todos os arquivos fsicos do BD.

    Dnnn (Dispatcher) Direciona para a fila de solicitaes, as solicitaes dos processos cliente, etambm, retorna para os clientes as respostas que esto na fila de respostas. Um nmero limitado

    de processos servidores so compartilhados pelos usurios (configurao multi-threaded).]

    CONFIGURAES DE SERVIDORES DE BANCO DE DADOS

    Em relao configurao de servidores o Oracle pode trabalhar de 2 (dois) modos:Servidor multilinear (Multi-threaded Server);Servidor dedicado (Dedicated Server).

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    16

  • 8/7/2019 admbancoora

    17/41

    SERVIDOR MULTILINEAR (MULTI-THREADED)

    Data files

    Cada estao cliente usa um processo Cliente. O Oracle usa a arquitetura de servidor multilinear que envolve os processos despachantes (Dispatchers), ouvinte (listener) e servidor (sharedserver) para atender s solicitaes dos diversos clientes. Duas filas so formadas: fila desolicitaes (Request Queue) e fila de respostas (Response Queue).

    Quando uma aplicao cliente estabelece uma conexo com o Oracle, o listener fornece oendereo de rede de um processo Dispatcher, com o qual o cliente se conecta. O Dispatcherento pega a solicitao do cliente e coloca-a na fila de solicitaes. As solicitaes soprocessadas e os resultados so inseridos na fila de respostas. A partir da o Dispatcher retornaos resultados para as aplicaes clientes adequadas.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    17

    SGAFila deSolicitaes

    Fila deRespostas

    UsurioUsurio

    Usurio

    DespachanteDespachante

    Ouvinte (Listener)

    ServidorCompartilhadoServidor

    CompartilhadoServidor

    Compartilhado

  • 8/7/2019 admbancoora

    18/41

    SERVIDOR DEDICADO

    SGA

    Datafiles

    Quando uma aplicao cliente se conecta ao Oracle, o processo ouvinte inicializa um processoservidor dedicado e conecta o cliente diretamente ao servidor dedicado, ignorando a arquitetura

    de servidor multilinear. Como um servidor dedicado consome uma quantidade significativa dememria do servidor de banco de dados para apenas um usurio, os servidores dedicados nodeve ser usados para as conexes de aplicaes clientes, a menos que absolutamente necessrio.

    LOG DE TRANSAES (LOG DE RECONSTRUO: REDO)

    O Log de transaes do Oracle registra imediatamente as mudanas feitas no Banco de Dadospelas transaes em andamento, para que, se for necessrio (em virtude, por exemplo, de umafalha), todo o trabalho confirmado seja protegido e recuperado.Na SGA existe o Redo Log Buffer que armazena as informaes que sero gravadas nos Redo

    log Files.

    REDO LOG FILES

    Redo Log Files

    Log File Membro 1 Log File Membro 2 Log File Membro 3

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    18

    UsurioServidor Dedicado

  • 8/7/2019 admbancoora

    19/41

    Redo Log Files Espelhados

    Grupo 1 Grupo 2 Grupo 3

    Log File Membro 1 Log File Membro 2 Log File Membro 3

    Log File Membro 1 Log File Membro 2 Log File Membro 3

    Log File Membro 1 Log File Membro 2 Log File Membro 3

    Os Redo Log Files armazenam todas as alteraes no Banco de Dados, e so usadas em umprocesso de recuperao. Se os Redo Log Files so espelhados em vrios discos, as mesmasinformaes so gravadas nos arquivos espelhados.

    Os Redo Log Files so gravados de maneira circula, conforme figura acima.Com o espelhamento dos Redo Log Files pelos discos, todos os grupos de membros sogravados simultaneamente. A vantagem do espelhamento que se, por exemplo, algum problemaem um disco, tem-se a cpia em outro.

    LOG SWITCHES

    Um Log Switch (troca de log) ocorre quando o Oracle troca de um redo log para outro.Enquanto isto o servidor fica gravando novas transaes em outro grupo de log.

    CHECKPOINTS

    Processo que verifica se as ltimas transaes que esto na memria j foram gravadasfisicamente em disco.Ocorre quando:Acontece um Log Switch;- Durante um intervalo de tempo (definido no parmetro Log_Checkpoint_Timeout do arquivo deparmetro);Acontece um Shutdown;O DBA fora um Checkpoint; eQuando a Tablespace passada para Offline.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    19

  • 8/7/2019 admbancoora

    20/41

    O processo Checkpoint habilitado atravs do parmetro Checkpoint_Process(init.ora).

    O ARQUIVO DE PARMETROS

    No arquivo de parmetros que definimos os parmetros de inicializao da instncia Oracle.

    Exemplo (sistema Unix):

    # Parameter file para o database pb1 (Exemplo)### Nome do Banco de Dados

    db_name = pb1

    # Compatilidade com as caractersticas da verso 7.3.2

    compatible = 7.3.2

    # Localizao dos controlfilescontrol_files = (/prd3/oracle/pb1/dbs/control01.ctl,

    /prd4/oracle/pb1/dbs/control02.ctl,/prd5/oracle/pb1/dbs/control03.ctl)

    # Especificao dos Segmentos de Reconstruo (Rollback Segments)

    rollback_segments = (r01,r02,r03,r04)

    # Definio do tamanho da SGA do Banco## SGA = [( db_block_size * db_block_buffers) + shared_pool_size + log_buffers ]

    db_bloc_size = 2048 # 2k

    shared_pool_size = 9000000 # 3500000 BD Pequeno# 6000000 BD Mdio

    # 9000000 BD Grande# 18000000 BD com Designer/2000

    db_block_buffers = 3200 # 200 BD Pequeno# 550 BD Mdio# 3200 BD Grande

    log_buffer = 163840 # 8192 BD Pequeno# 32768 BD Mdio# 163840 BD Grande

    # SGA = [ ( 2048 * 3200 ) + 9000000 = 163840 ] 15 Mbytes (Aproximadamente)

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    20

  • 8/7/2019 admbancoora

    21/41

    # Parametros de ajuste dos redologs files

    log_files = 3 # Num. De redo logs que podem ser abertos# limitado pelo parametro maxlogfiles do create database

    # que indica o num. Mximo de grupos de redolog files

    log_checkpoint_interval = 10000# opcao por desempenho. Nunca um checkpoint ser# disparado por Ter atingido este limite (10 mil blocos# de 512 gravados, desde o ltimo checkpoint).

    log_checkpoint_timeout = 0 # valor default (em segundos).

    log_archive_start = true # utilizacao de archiving automatico

    # Localizao dos arquivos de archived redologs, trace e log.# Trace (dump) dos processos background, de usurios

    log_archive_dest = /prd5/oracle/pb1/arch/Alog_archive_format = "RCH%s.log"

    background_dump_dest = /prd2/oracle/pb1/bdumpcore_dump_dest = /prd2/oracle/pb1/cdumpuser_dump_dest = /prd2/oracle/pb1/udump

    max_dump_file_size = 10240

    # Num. de processos = proc. Servers + proc Backgs

    processes = 50 # 50 BD Pequeno# 100 BD Medio# 200 BD Grande

    # Numero de blocos lidos para memoria numa operacao de I/O

    db_file_multiblock_read_count = 32 # 8 BD Pequeno# 16 BD Medio# 32 BD Grande

    # Parametros de configuracao do Asynchronous I/O

    use_async_io = truelgwr_use_async_io = trueuse_post_wait_driver = true

    # Parametrso de configura;o do servidor multi-threaded# Multi_threaded server requer a instala;o do SQL*Net V2

    mts_dispatchers = tcp,2mts_max_dispatchers = 10

    mts_servers = 2mts_max_servers = 10mts_service = pb1

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    21

  • 8/7/2019 admbancoora

    22/41

    mts_listener_address = (ADDRESS=(PROTOCOL=tcp) (HOST=durjbf01) (PORT=1521)

    EXERCCIO I

    1) Responda abaixo:

    a)Quais os arquivos fsicos que compem um banco de dados Oracle?b)Como composta uma instncia Oracle?c)Cite, no mnimo, 04 (quatro) atribuies/responsabilidades de um DBAd)Localize e exiba na tela o arquivo de parmetros do Oracle (instncia default ORCL)e)Quais os processos de segundo plano (background processes) Oracle? Para que serve cada umdeles?f)A SQL a linguagem padro de BD. Ela pode ser usada de dois modos. Quais so essesmodos? Fale sobre eles.g)Monte uma Query (comando SELECT) qualquer.h)Qual o principal objetivo dos Bancos de Dados Distribudos?i)Fale sobre o conceito Data Warehousej)Disserte sobre 05 (cinco) objetos Oracle

    INICIALIZANDO E TERMINANDO UM BD ORACLE

    Usamos o comando STARTUP para iniciar um BD e o SHUTDOWN para termin-lo.Antes de inicializar ou terminar um banco Oracle necessrio conectar-se como usurioINTERNAL.

    Obs.: Conectar-se como INTERNAL equivalente a conectar-se como usurio SYS (O donodo dicionrio de dados do Oracle)

    INICIALIZANDO (STARTUP)

    Um processo de inicializao composto de 3 passos: START, MOUNT e OPEN.

    START O Oracle l o arquivo de parmetros; aloca espao na memria para a SGA; startaos processo de segundo plano (background process) e abre os arquivos de trace (backgroundtrace files).

    MOUNT Abre o(s) Control(s) File(s) e l os nomes do Banco de dados e dos REDO LOGFILES.

    OPEN Abre o Banco de Dados disponibilizando-o para as transaes dos usurios.

    Sintaxe:

    STARTUP OPEN/MOUNT/NOMOUNT databaseEXCLUSIVE/PARALLELPFILE = parfileRECOVER/FORCE/RESTRICT

    Onde:OPEN Disponibiliza o Banco para o acesso aos usurios.MOUNTMonta o banco para atividades de DBA, mas no deixa livre o acesso ao BD.

    NOMOUNT Cria a SGA e starta os processos de segundo plano, mas no deixa livre oacesso ao BD.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    22

  • 8/7/2019 admbancoora

    23/41

    EXCLUSIVE Permite que somente a instncia corrente seja acessada.PARALLEL Disponibiliza mltiplas instncias.PFILE=parfile Pega do arquivo de parmetrso especificado (parfile) e starta tal instncia.FORCE Aborta a instncia que est rodando para startar a nova.RESTRICT Permite que s os usurios com privilgio RESTRICT SESSION acesse o BD.

    RECOVER

    Inicia processo de Recover quando o banco Startado.

    Ex:

    A) SVRMGR>STARTUP teste;

    Inicializa o banco de dados teste.

    B) STARTUP EXCLUSIVE MOUNT teste PFILE inittest.ora;

    Inicializa o BD teste, apenas montando-o, utilizando o arquivo de parmetros inittest.ora

    Obs.:

    Com o comando ALTER DABATASE podemos alterar o modo de banco, ou seja, podemos porexemplo apenas mont-lo, deixando em modo Exclusivo (para serem feitas atividades de DBA.O banco no fica disponvel aos usurios).

    Obs: Nos Bancos Apartir da verso 9 o comando para inicializar ou terminar o banco

    SQLPLUS /NOLOGConnect / as sysdba

    TERMINANDO UM BD ORACLE (SHUTDOWN)

    O comando SHUTDOWN fecha o BD e indisponibiliza-o aos usurios.

    Sintaxe:

    SHUTDOWN ABORT/IMMEDIATE/NORMAL;

    Onde:

    ABORT No espera a sada (desconexo) dos usurios, terminando rapidamente.IMMEDIATE Desconect os usurios e depois termina.NORMAL espera todos os usurios conectados sare, para depois terminar o BD.

    ALTER DATABASE: ALTERANDO O ESTADO DO BANCO DE DADOS

    Com o ALTER DATABASE podemos fazer trocas no estado do Banco, para disponibiliz-lo atodos os usurios.

    Sintaxe:

    ALTER DATABASE database

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    23

  • 8/7/2019 admbancoora

    24/41

    MOUNT EXCLUSIVE/PARALLELOPEN

    Onde:

    Database Nome do BD a ser alterado.MOUNT Monta o BD para atividades do DBA, mas no disponibiza-o aos usurios.OPEN Permite o acesso dos usurios ao BD.EXCLUSIVE Permite que somente a instncia corrente acesse o BD.PARALLEL Permite que vrias instncias acesse, o BD.

    Ex.:

    SVRMGR>CONNECT INTERNALSVRMGR> ALTER DATABASE OPEN;

    Libera aos usurios o acesso ao BD.

    ALTER SYSTEM: RESTRINGINDO O ACESSO

    Tem a capacidade de disponibilizar o BD para somente os usurios que tenham o privilgio deRESTRICTED SESSION (s eles se conectam ao BD).

    Sintaxe:

    ALTER SYSTEMENABLE/DISABLE RESTRICT SESSION;

    Onde:

    ENABLE Permite que s os usurios que tem privilgio RESTRICT SESSION acessem oBD.DISABLE Permite acesso ao BD a todos os usurios.

    Ex:ALTER SYSTEM ENABLE RESTRICTED SESSION;

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    24

  • 8/7/2019 admbancoora

    25/41

    GERENCIANDO O ESPAO DO BANCO DE DADOS

    Blocos do BD

    DatabaseAs seguintes estruturas so utilizadas para o gerenciamento do espao do BD.

    Estrutura DefinioBLOCO So blocos que ficam alocados nos datafilesEXTENT Compem o bloco do datafile.SEGMENT Armazena um ou mais EXTENTs contendo todos os dados na

    TABLESPACE.TABLESPACE Estrutura lgica do Oracle que pode ter um ou mais datafiles (arquivos

    fsicos).DATAFILES Arquivos fsicos que armazenam os dados do BD.DATABASE Coleo lgica dos dados compartilhados (que esto armazenados nos

    TABLESPACES)

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    25

    Tablespace

    Segment112K

    Extent28K

    Extent84K

    Arquivo

  • 8/7/2019 admbancoora

    26/41

    COMPONENTES DE UM BLOCO ORACLE

    Um bloco composto das seguintes partes: Cabealho (Header), Diretrio da Tabela (TableDirectory), Diretrio da Linha (Row Directory), Espao Livre (Free Space), Linha de Dados(Row Data).

    Parte DescrioCabealho(Header) Contm informaes gerais do bloco: endereo do bloco, tipo de

    segmento.Diretrio da Tabela(Table Directory) Armazena informaes sobre as tabelas.

    Diretrio da Linha(Row Directory) Contm informaes sobre a linha que est no bloco.Espao Livre(Free Space) o conjunto de bytes do bloco disponvel para operaes de

    manipulao (insert, update, ...)Linha de Dados(Row Data) Guarda dados da tabela (ou de ndices).

    Obs.: O espao livre do bloco tambm pode conter transaes.

    CONTROLANDO O ESPAO LIVRE

    O controle do espao livre para comandos de manipulao no bloco especificado nosparmetros PCTFREE, PCTUSED, INITRANS, MAXTRANS.

    PCTFREE - Armazena o percentual de espao livre no bloco.

    PCTUSED - Permite ao bloco reconsiderar o espao livre para a insero de novas linhas.INITRANS - Define o nmero inicial de transaes para o bloco (default 1, mnimo 1, mximo

    255)MAXTRANS Nmero mximo de transaes concorrentes para o bloco (default 255, mnimo

    1, mximo 255).

    ESTUDANDO AS TABLESPACES

    As TABLESPACES so objetos lgicos que armazenam outros objetos do BD Oracle.Cada TABLESPACE possui um ou mais DATAFILES.

    Podemos colocar uma TABLESPACE, no estado de OFFLINE (desativar a mesma) com exceo da TABLESPACE SYSTEM (possui o dicionrio de dados do Oracle).A TABLESPACE SYSTEM contm informaes do dicionrio de dados do Oracle, bem comocontm tambm o Segmento de Reconstruo (ROLLBACK SEGMENT) denominadoSYSTEM.

    Obs: a TABLESPACE SYSTEM pode conter dados de usurios.

    O uso de outras TABLESPACE diferente da SYSTEM permite uma maior flexibilidade naadministrao, por parte do DBA

    Tais TABLESPACES armazenam Segmentos de ROLLBACK, segmentos temporrios, dados deaplicaes, ndices, espao para os usurios.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    26

  • 8/7/2019 admbancoora

    27/41

    CRIAO DE TABLESPACES

    Sintaxe:

    CREATE TABLESPACE nome_da_tablespaceDATAFILE especif_do_datafileDEFAULT STORAGE clusulasONLINE/OFFLINE

    Onde:

    Nome_da_tablespace o nome da TABLESPACE a ser criada.especif_do_datafile

    Especificao do arquivo. Contm:nome do datafile o nome do datafile ou redo log file.SIZE inteiro o tamanho do mesmo (em K ou M )REUSE Permite ao Oracle reusar o arquivo.

    DEFAULT STORAGE clusulas Especifica os parmetros default de armazenamentopara todos os objetos criados na TABLESPACE.

    ONLINE/OFFLINE Disponibiliza/indisponibiliza a TABLESPACE.

    Clusulas (DEFAULT STORAGE):

    INITIAL inteiro K/M Tamanho em bytes do primeiro EXTENT.NEXT inteiro K/M Tamanho em bytes do prximo EXTENT a ser alocado para a

    TABLESPACE.

    MINEXTENTS Total de EXTENTS alocados quando o objeto for criado.MAXEXTENTS Total de EXTENTS, incluindo o primeiro, que o Oracle pode

    alocar para o objeto.PCTINCREASE Percentual de incremento que o Oracle aloca novos EXTENTS

    para uma Tabela ou ndice.

    ALTERANDO UMA TABLESPACE

    Comando: ALTER TABLESPACE

    Sintaxe:

    ALTER TABLESPACE nome_da_tablespaceADD DATAFILE especif_do_datafileRENAME DATAFILE nome_datafile TO nome_datafileDEFAULT STORAGE ClusulasONLINE/OFFLINE

    NORMAL/TEMPORARY/IMMEDIATEBEGIN/END BACKUP

    Onde:

    nome_da_tablespace o nome da TABLESPACE a ser alterada.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    27

  • 8/7/2019 admbancoora

    28/41

    ADD DATAFILE Adiciona DATAFILERENAME DATAFILE Renomeia um ou mais DATAFILES da TABLESPACE.DEFAULT STORAGE Altera as ClusulasONLINE/OFFLINE Disponibiliza/indisponibiliza a TABLESPACE.NORMAL Faz um CHECKPOINT para todos os DATAFILES da

    TABLESPACE.TEMPORARY Faz um CHECKPOINT para todos os DATAFILES daTABLESPACE, mas no assegura que sero gravados dados emtodos eles.

    IMMEDIATE No assegura que os datafiles sero disponibilizados e no faz oCHECKPOINT.

    DELETANDO UMA TABLESPACE

    Comando: DROP TABLESPACE

    Sintaxe:

    DROP TABLESPACE nome_da_tablespaceINCLUDING CONTENTS [CASCADE CONSTRAINTS]

    Onde:

    Nome_da_tablespace o nome da TABLESPACE a ser apagada.INCLUDING CONTENTS Apaga todo o contedo da TABLESPACE.CASCADE CONSTRAINTS Apaga todas as restries de integridade referencial das tabelas

    fora da TABLESPACE

    CRIANDO SEGMENTOS DE RECONSTRUO (ROLLBACK SEGMENTS)

    Comando: CREATE ROLLBACK SEGMENT

    Sintaxe:

    CREATE ROLLBACK SEGMENT nome_segmentoTABLESPACE nome_da_tablespaceSTORAGE clusulas

    Onde:

    nome_segmento o nome do segmento a ser criado.Nome_da_tablespace TABLESPACE onde o segmento ser criado.STORAGE clusulas Define como o espao ser alocado para o segmento.

    Ex:

    CREATE ROLLBACK SEGMENT rbs1TABLESPACE SYSTEM

    STORAGE (INITIAL 100K, NEXT 100K,MINEXTENTS 2, MAXEXTENTS 121,

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    28

  • 8/7/2019 admbancoora

    29/41

    OPTIMAL 1000K);

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    29

  • 8/7/2019 admbancoora

    30/41

    CRIANDO UM BANCO DE DADOS

    Comando: CREATE DATABASE

    Sintaxe:

    CREATE DATABASE nome_do_bancoCONTROL FILE REUSELOGFILE especif_arquivo GROUP inteiroMAXLOGFILES inteiroMAXLOGMEMBERS inteiroMAXLOGHISTORY inteiroDATAFILE especif_arquivoMAXDATAFILES inteiroMAXINSTANCES inteiro

    ARCHIVELOG/NOARCHIVELOGEXCLUSIVECHARACTER SET charset

    Onde:

    Nome_do_banco Nome do banco de dados a ser criadoEspecif_arquivo

    Especificao do arquivo. Contm:nome do datafile o nome do datafile ou redo log file.SIZE inteiro o tamanho do mesmo (em K ou M )REUSE Permite ao Oracle reusar o arquivo.

    CONTROL FILE REUSE Especifica o control file especificado no arquivo de parmetros(podendo ser reusado).

    LOGFILE GROUP Especifica o nome dos logfiles.MAXLOGFILES mximo de log files que podem ser criados para o banco de

    dados.MAXLOGMEMBERS mximo de membros de log files para um grupo de log files.MAXLOGHISTORY mximo de archived redo logs para ser recuperado

    automaticamente (Oracle Parallel Server).DATAFILE especif_arquivo Nome(s) do(s) datafile(s) a ser(em) usado(s).MAXDATAFILES Mximo de datafiles que podem ser criados para o banco.

    MAXINSTANCES Mximo de instncias que podem ser montadas e abertassimultaneamente pelo banco de dados.

    ARCHIVELOG Habilita o modo de arquivamento.NOARCHIVELOG No habilita o modo de arquivamento.EXCLUSIVE monta o banco no modo exclusivo aps a sua criao.CHARACTER SET Seta o tipo de caracteres que ser usado pelo banco para

    armazenar os dados (Ex. ASCII).

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    30

  • 8/7/2019 admbancoora

    31/41

  • 8/7/2019 admbancoora

    32/41

    shared_pool_size parmetro que define a shared pool (para comando SQLcompartilhados)

    db_block_buffers nmero de blocos armazenados na SGAlog_buffer nmero de bytes alocados para o redo log buffer na SGAlog_files nmero de redo logs que podem ser abertos.

    Log_checkpoint_interval define a freqncia dos checkpointsMax_dump_file_size tamanho mximo de blocos para os arquivos de trace.Log_archive_start Habilita ou desabilita o modo de arquivamento (archivelog mode)Log_archive_dest localizao dos archives redo log filesLog_archive_format formato dos archives redo log filesUser_dump_dest caminho dos arquivos de trace dos usuriosBackground_dump_dest caminho onde sero gerados arquivos de trace dos processos

    background do OracleProcesses nmero mximo de processos (processos servidores + processos

    background)Sql_trace habilita/desabilita o trace do SQL para todas as sesses de usurioAudit_trail habilita/desabilita o Audit

    Obs: Para ver os parmetros usar o comando SHOW PARAMETERExemplo:SVRMGR>SHOW PARAMETER DB;SVRMGR>SHOW PARAMETER DEST;

    CRIAO E GERENCIAMENTO DE USURIOS DO BANCO DE DADOS

    Cada usurio do BD Oracle possui um esquema associado a ele, ou seja, cada objeto criado para(ou pelo) usurio do esquema do mesmo. Ao se criar um usurio Oracle, um esquema com o

    mesmo nome criado para ele.

    Comando: CREATE USER

    Sintaxe:

    CREATE USER nome_usurioIDENTIFIED BY senha/EXTERNALLYDEFAULT TABLESPACE nome_tablespaceTEMPORARY TABLESPACE nome_tablespace_temporaria

    PROFILE arquivo_profileQUOTA inteiro/UNLIMITED ON nome_tablespace

    Onde:

    Nome_usurio nome do usurio a ser criado.BY senha senha do usurioEXTERNALLY usa como senha a senha do sistema operacional.DEFAULT TABLESPACE identifica a TABLESPACE default para os objetos do usurio.TEMPORARY TABLESPACETABLESPACE temporria que armazena os segmentos

    temporrios.

    QUOTA inteiro define o espao da TABLESPACE para o usurio que estsendo criado (nmero inteiro em K ou M bytes).

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    32

  • 8/7/2019 admbancoora

    33/41

    UNLIMITED o espao na TABLESPACE fica sem limite para o usurio.PROFILE arquivo_profile define o arquivo de profile do usurio.

    Ex:

    SVRMGR>CREATE USER ALUNO1IDENTIFIED BY aluno1DEFAULT TABLESPACE TS_TreinaTEMPORARY TABLESPACE TempQUOTA 5M ON TS_TreinaPROFILE default;

    Obs:O Oracle possui dois usurios especiais: o SYS e o SYSTEM. O SYS o usurio paracolocar/tirar o BD do ar O usurio SYSTEM o usurio administrador do BD.

    ALTERANDO UM USURIO DO BANCO DE DADOS ORACLE

    Comando: ALTER USER

    Sintaxe:

    ALTER USER nome_usurioIDENTIFIED BY senha/EXTERNALLYDEFAULT TABLESPACE nome_tablespaceTEMPORARY TABLESPACE nome_tablespace_temporaria

    QUOTA inteiro/UNLIMITED ON nome_tablespacePROFILE arquivo_profileDEFAULT ROLE nome_role/ALL [EXCEPT nome_role]/NONE

    Onde:

    Nome_usurio nome do usurio a ser alterado.BY senha senha do usurioEXTERNALLY usa como senha a senha do sistema operacional.DEFAULT TABLESPACE identifica a TABLESPACE default para os objetos do usurio.TEMPORARY TABLESPACETABLESPACE temporria que armazena os segmentos

    temporrios.QUOTA inteiro define o espao da TABLESPACE para o usurio que est

    sendo criado (nmero inteiro em K ou M bytes).UNLIMITED o espao na TABLESPACE fica sem limite para o usurio.PROFILE arquivo_profile define o arquivo de profile do usurio.DEFAULT ROLE nome_role define a role (conj. de privilgios) default do usurio.

    Ex:

    SVRMGR> ALTER USER aluno1IDENTIFIED BY aluno1

    QUOTA 6M ON TS_Treina;

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    33

  • 8/7/2019 admbancoora

    34/41

    DELETANDO UM USURIO

    Comando: DROP USER

    Sintaxe:

    DROP USER nome_usurio CASCADE

    Onde:

    Nome_usurio nome do usurio a ser deletado.CASCADE deleta todos os objetos do esquema do usurio que est sendo deletado,

    antes de deletar o usurio.

    Ex:

    SVRMGR>DROP USER aluno1 CASCADE;

    Obs:se o usurio est conectado ele no pode ser deletado antes do fim da conexo.As Vises (VIEWs) USER_USERS, ALL_USERS, DBA_USERS, USER_TS_QUOTAS EDBA_TS_QUOTAS so vises do dicionrio de dados com informaes sobre os usurios.

    PRIVILGIOS

    Nem todos os usurios do Oracle podem acessar todas as tabelas do Banco de Dados. Para

    conceder ou revogar privilgios de acesso/manipulao aos usurios o DBA utiliza os comandoGRANT e REVOKE.Podemos conceder/revogar diversos tipos de privilgios, dependendo do usurio. Se um usuriofinal ir somente consultar Tabelas, Vises O DBA conceder somente privilgios de consulta(SELECT). Entretanto para um desenvolvedor o DBA dever dar, alm de privilgios deconsulta, outros privilgios (por exemplo, privilgios de Criao/Alterao de tabelas, vises,etc.)Um privilgio de sistema um privilgio poderoso que, se concedido ao usurio, dar ao mesmoo direito de executar uma operao em nvel de banco de dados. Cabe portanto ao DBA a tarefade definir quais usurios do Banco tero tais privilgios (podero ser outros administradores e/oudesenvolvedores de aplicaes).

    Exemplo:Um usurio com privilgio SELECT ANY TABLE pode consultar qualquer tabela do banco.Um usurio com o privilgio ALTER DATABASE pode alterar a estrutura fsica do banco,incluindo novos arquivos.

    Um privilgio de objetos do BD administra uma operao do banco de dados sobre um objetoespecfico do BD (uma tabela, uma viso, ...).

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    34

  • 8/7/2019 admbancoora

    35/41

    Exemplo:Um usurio com privilgio de SELECT na tabela SALRIOS, pode consultar a mesma.Um outro usurio com privilgio de UPDATE, na tabela SALARIOS, poder alterar a mesma(ao que no poder ser realizada pelo usurio com privilgio de SELECT apenas).

    COMANDO GRANT

    Concede privilgios aos usurios Oracle cadastrados.

    Sintaxe:

    GRANT to { usurio | role | public }

    [ WITH ADMIN OPTION ];

    Exemplos:

    1) GRANT CREATE SESSION, CREATE TABLE TO JOAO;

    2) GRANT SELECT ANY TABLE TO manoel;

    3)GRANT SELECT, INSERT, UPDATE, DELETEON T_Salario TO joaquim;

    Obs: A opo WITH ADMIN OPTION d ao usurio o poder de conceder privilgios (que elepossui) a outros usurios.

    COMANDO REVOKE

    O comando REVOKE retira (revoga) o privilgio concedido atravs do GRANT.

    Sintaxe:

    REVOKE {privilgio | role } FROM {usurio | role | PUBLIC };

    Exemplos:

    1)REVOKE SELECT ANY TABLE FROM manoel;2)REVOKE UPDATE FROM joaquim;

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    35

  • 8/7/2019 admbancoora

    36/41

    AGRUPANDO PRIVILGIOS: ROLE

    Tendo em vista que o Oracle possui uma infinidade de privilgios e que a quantidade ediversidade de perfis de usurios em um banco de dados tambm grande, a administrao dos

    privilgios de todos eles (usurios) seria um tarefa no mnimo bastante trabalhosa. Visandodirimir este problema existe o objeto Oracle denominado ROLE. Em uma ROLE podemosagrupar diversos privilgios e conceder aos usurios, no mais os privilgios e sim as ROLES.

    Exemplo:

    1)CREATE ROLE admin_salarios;

    2)GRANT SELECT, INSERT, UPDATE,DELETEON T_SALARIOSTO admin_salarios;

    3)GRANT SELECT,INSERT, UPDATE, DELETEON T_COMISSOESTO admin_salarios;

    4)GRANT admin_salarios to USUARIO_A, USUARIO_B, USUARIO_C, ...

    No exemplo acima, os usurios A, B e C receberam os privilgios da ROLE admin_salarios (que

    Seleciona, Insere, Altera e Elimina dados das Tabelas T_SALARIOS e T_COMISSOES).

    Obs.:

    - O Comando REVOKE (revoga privilgios) tambm utilizado com ROLES.As ROLES DBA, CONNECT e RESOURCE so ROLES padro do Oracle.O DBA pode, por exemplo, revogar a ROLE RESOURCE de determinados usurios(concedendo aos mesmos somente alguns privilgios, de tal ROLE).

    Exemplo:

    1)REVOKE UPDATE ON T_COMISSOES FROM admin_salarios;

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    36

    Usurio1 Usurio2 Usurio3 Usurio3Usurio2Usurio1

    Select Insert Update

    Select Insert Update

    ROLE_UM

  • 8/7/2019 admbancoora

    37/41

    2)REVOKE USUARIO_B FROM admin_salarios;

    VISES (VIEWS) DO DICIONRIO DE DADOS

    O dicionrio de dados Oracle possui diversas vises que esto divididas em categorias:

    Categoria DescrioDBA_XXX Vises do DBA, com informaes de qualquer definio de

    objeto do BD.USER_XXX Vises que podem ser acessadas por qualquer usurio, dando

    informaes de seus objetos.ALL_XXX Vises que podem ser acessadas por qualquer usurio, com

    informaes de todos os objetos que ele pode acessar.Obs:

    Todas as tabelas e vises do DD podem ser acessadas pelo usurio SYS.Para ver as vises use os comandos DESCRIBE e SELECT.

    Lista de algumas Vises:

    V$SESSION Mostra as sesses logadas.USER_USERS Usurio conectado.ALL_USERS Todos os usurios conectados e outras colunas.DBA_USERS Todas as informaes dos usurios.USER_TS_QUOTAS Limite que o usurio tem (Quota) na TABLESPACE.DBA_TS_QUOTAS Todas as quotas de todos os usurios.DBA_DATAFILES DATAFILES e TABLESPACES do BD.DBA_TABLES Tabelas do DBA

    ALL_TABLES Todas as tabelas.DBA_ROLE_PRIVS Tabela com os privilgios.DBA_AUDIT_TRAIL Conjunto de trilhas de auditoria.DBA_EXP_FILES Descrio dos arquivos exportados.DBA_ROLES As roles do BD.DBA_SEGMENTS Informaes sobre os segmentos do BD.DBA_TABLESPACE Tablespaces do BD.DBA_ROLLBACK_SEGS Segmentos de Rollback.V$DATAFILE Infomaes sobre os DATAFILES do BD.V$PARAMETER Parmetros de inicializao do BD.V$LOG_HISTORY Informaes sobre o Log de transaes do BD.

    BACKUP E RECOVERY DO BANCO DE DADOS

    Mtodos de Backup Oracle: Backup completo (full) ou parcial. Pode ser feito ONLINE ouOFFLINE.

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    37

  • 8/7/2019 admbancoora

    38/41

    BACKUP COMPLETO (FULL) OFFLINE

    Copiar atravs de comando do sistema operacional os arquivos do BD Oracle: datafiles, redo logfiles, control files e parameter file.

    Passos:

    a)Selecionar os arquivos relevantes para o Backup;b)Dar um Shutdown na instncia Oracle,c)Backupear (copiar) todos os datafiles, redo log files, control file(s) e parameter file(s) usandocomandos do Sistema Operacional;d)Reinicializar a instncia Oracle (Startup).

    Ex:

    SVRMGR>CONNECT INTERNALSVRMGR>SHUTDOWN NORMALSVRMGR>HOST CP SVRMGR>STARTUP

    Obs:- Para saber quais os nomes dos arquivos a serem copiados consultar as vises:DBA_DATAFILES, V$LOGFILE (coluna MEMBER) Usar o comando SHOWPARAMETER CONTROL_FILES para ver o nome dos Control Files.

    RESTAURANDO (RECOVERY) DO BD

    Passos:a)Tirar o BD do ar (executar um SHUTDOWN ABORT, para sair mais rpido).b)Restaurar o mais recente dos Backups completo, incluindo todos os arquivos: datafiles, redolog files e control files.c)Inicializar a instncia novamente.

    Obs:Se for necessrio editar o arquivo de parmetros para indicar o novo caminh do(s) control file(s),se necessrio (em caso de perda de disco).

    Por default, o BD fica no modo NOARCHIVELOG

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    38

  • 8/7/2019 admbancoora

    39/41

  • 8/7/2019 admbancoora

    40/41

    2)Os parmetros LOG_ARCHIVE_START, LOG_ARCHIVE_DEST eLOG_ARCHIVE_FORMAT, so os parmetros do parameter file que devem ser alteradospara passar o modo para ARCHIVELOG (quando de um novo STARTUP).

    Ex:LOG_ARCHIVE_START = TRUELOG_ARCHIVE_DEST = diretrio (ou nome do dispositivo).LOG_ARCHIVE_FORMAT=nome_de_arquivo

    Incluir no nome do arquivo %s para ser anexado no nome o nmero da seqncia de log (logsequence number).

    3)Para trocar o modo de arquivamento automaticamente usa-se o comando ALTER SYSTEM:Ex:SVRMGR>ALTER SYSTEM ARCHIVE LOG START TO /caminho/nome_arquivoOnde:/caminho/nome_arquivo o nome do diretrio/arquivo onde ser arquivado os archives

    redo log files.

    Para desabilitar o modo de Arquivamento (NOARCHIVELOG):

    A)Alterar o parmetro LOG_ARCHIVE_START do arquivo de parmetros:

    LOG_ARCHIVE_START = FALSE

    Da, na prxima inicializao do BD o modo de arquivamento ser NOARCHIVELOG.

    B)Para parar automaticamente:

    SVRMGR>CONNECT SYSTEM/MANAGER;SVRMGR>ALTER SYSTEM ARCHIVE LOG STOP;

    BACKUP ONLINE PARCIAL

    Usar o comando ALTER TABLESPACE para preparar a TABLESPACE para o incio dacpia:

    ALTER TABLESPACE nome_tablespace BEGIN/END BACKUP

    Onde:

    BEGIN BACKUP Incio do Backup com a Tablespace Online.END BACKUP Fim do Backup com a Tablespace Online.

    Ex:

    SVRMGR>ALTER TABLESPACE TS_Treina BEGIN BACKUP;

    SVRMGR>HOST cp $ORACLE_HOME/dbs/treina.dbf /tmp/dir_backup/treina.dbfSVRMGR>ALTER TABLESPACE TS_Treina END BACKUP;

    Consulting Tecnologia & Sistemas Ltdawww.consulting.com.br

    40

  • 8/7/2019 admbancoora

    41/41

    Obs:

    - No Oracle Server para Windows NT usamos a interface grfica do mesmo, o que facilita muitoas atividades do DBA em relao ao BACKUP/RECOVER.O comando cp utilizado acima um comando de cpia do sistema UNIX.

    Logo aps copia-se os Control files com o comando ALTER DATABASE BACKUPCONTROLFILE.

    Exemplo:

    SVRMGR>ALTER DATABASE BACKUP CONTROLFILE2> TO /tmp/dir_backup/ctrltreina.ctl;

    Copiar tambm o(s) arquivo(s) de parmetro(s) , usando comandos do sistema operacional.

    Alm dos arquivos acima copiados, convm tambm ao DBA, copiar outros arquivos importantesde um servidor de BD:Arquivos especficos de aplicaes, como os executveis, cdigo-fonte, arquivos de configurao,dentre outros.Os arquivos de configurao para o SQL*Net (TNSNAMES.ORA, LISTENER.ORA,SQLNET.ORA, etc.)

    EXPORT/IMPORT/LOAD DO ORACLE

    Os utilitrios EXPORT e IMPORT do Oracle servem para mover dados de/para BD Oracle. OExport grava dados de um BD Oracle para arquivos do sistema operacional. J o Import l osdados de arquivos criados pelo Export de volta para o BD Oracle. O Export serve tambm paraa criao de cpias suplementares de BD visando aumentar a flexibilidade da recuperao.

    Temos diversos modos de exportar:

    Modo DescrioTabela Exporta tabelas especificadas.Usurios Exporta todos os objetos de um usurio.Banco de Dados completo Exporta todos os objetos do BD.

    Quando da importao alguns privilgios o usurio importador deve possuir: CREATETABLE e TABLESPACE QUOTA ou UNLIMITED TABLESPACE, INSERT TABLE,ALTER TABLE.

    Obs:

    41