admbancoora
Post on 08-Apr-2018
215 Views
Preview:
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
top related