Académique Documents
Professionnel Documents
Culture Documents
Contedo
Oracle........................................................................................................................................................1
BANCO DE DADOS............................................................................................................................2
BANCO DE DADOS ORACLE...........................................................................................................2
3.
ESTRUTURAS LGICAS............................................................................................................3
4.
ESTRUTURAS FSICAS..................................................................................................................4
5.
ARQUITETURA FSICA.................................................................................................................4
6.
MEMRIAS......................................................................................................................................5
7.
8.
SCHEMA..........................................................................................................................................7
9.
Startup e Shutdown........................................................................................................................8
10.
Backup Datatype............................................................................................................................9
11.
12.
13.
TRIGGER ORACLE....................................................................................................................11
14.
BANCO DE DADOS
O BD ORACLE dividido em um Conjunto de Contas de usurio conhecido como SCHEMAS. Cada schema
est associado a um ID de usurio, sem esse ID ou senha o usurio no pode acessar informaes do DB.
Conjunto de programas que manipulam arquivos de dados.
A arquitetura cliente/servidor foi desenvolvida para trabalhar com ambientes computacionais, nos quais
um grande nmero de PCs, estaes de trabalho e servidores especializados (de arquivos, de impresso,
de banco de dados, etc.) e outros equipamentos esto conectados via rede.
As mquinas clientes oferecem aos usurios as interfaces apropriadas para utilizar os servidores, bem
como o poder de processamento para executar as aplicaes locais.
Muitas aplicaes para Web utilizam a arquitetura de trs camadas, que possui uma camada
intermediria entre o cliente e o servidor de banco de dados.
Essa camada intermediria, ou camada de meio, , algumas vezes, chamada de servidor de aplicaes
ou servidor Web. Esse servidor desempenha um papel intermedirio armazenando as regras de negcio
(procedimentos ou restries) que so usadas para acessar os dados do servidor de banco de dados.
O BD Relacional suporta uma estrutura nica e Lgica, denominada relao, que a estrutura de dados
Bidimensional, chamada de Tabela, j os Atributos contm informaes sobre a estrutura.
O BD Oracle suporta Tabelas e ndices Particionados.
O Oracle pode ser Implementa o BD Orientado a Objetos, podendo definir os objetos.
Toda essa parte em cinza SGA (System Global Area) rea responsvel por compartilhar todos os
processos do servidor e de background, compartilhando dados e informaes de controle para a
instncia.
Dentro da SGA, encontramos database buffer cache, Redo Log buffer, Java pool, Streams Pool, Large
Poole Shared Pool. Ao lado vemos o PGA (Program Global Area), uma rea privada de cada processo
do servidor e de background, existe uma PGA para cada processo O volume de memria PGA usada e
de seu contedo varia se a instancia estiver configurado em modo de servidor compartilhado.
E na parte de baixo o famoso DATABASE (data files, Control files, Archive log, Online redo Log
files), onde fica fisicamente os arquivos no sistema operacional.
Toda vez que uma instancia iniciada uma rea de SGA alocada, os processos em background so
iniciados e montado o database. O prximo passo o usurio se conectar na base, nesse momento ocorre a
connection que o processo do usurio se conectar na instancia, aps este processo o usurio estabelece a
session e neste momento ele interage com a instancia. A connection feita com o User Process (do lado do
usurio) e com o Server process (do lado do servidor).
3. ESTRUTURAS LGICAS
O Oracle divide o Banco de Dados em unidades menores para gerenciar, armazenar e recuperar os dados de
forma eficiente. Os itens a seguir apresentam um overview das estruturas lgicas.
TABLESPACES: O Banco de Dados est logicamente dividido, no nvel mais alto, em estruturas
menores chamadas Tablespaces. O DBA pode utilizar as Tablespaces para organizar melhor o Banco de
Dados (por aplicao, por funo, por departamento, etc.). Esta diviso lgica ajuda a administrar uma
parte do BD sem afetar outras.
o
Quando voc cria um novo Banco de Dados, o Oracle criar um padro a Tablespace: SYSTEM
(Contm o Dicionrio de Dados).
EXTENTS: Formam o prximo nvel da estrutura lgica. So formados por um agrupamento de blocos
contguos.
SEGMENTS: Um Segmento composto por um conjunto de Extents alocados para uma estrutura
lgica: tabela, ndice, etc. Quando uma dessas estruturas criada, o Oracle aloca um segmento contendo
pelo menos um Extent, que por sua vez dever conter pelo menos um Bloco. Um Segmento pode estar
associado a uma nica Tablespace. A figura a seguir apresenta a relao entre Tablespaces, Segments,
Extents e Blocks.
SCHEMA: uma estrutura lgica utilizada para agrupar objetos em um Banco de Dados. Porm, um
Schema no est relacionado diretamente a uma Tablespace ou qualquer outra estrutura lgica
apresentada at o momento. Os objetos pertencentes a um Schema podem estar em diferentes
Tablespaces, e uma Tablespace pode conter objetos pertencentes a vrios Schemas. Os objetos de um
Schema podem ser: tabelas, ndices, synonyms, procedures, triggers, etc.
4. ESTRUTURAS FSICAS
A estrutura fsica de um Banco de Dados consiste em trs tipos de arquivos:
Online REDO LOG FILES: Gravam todas alteraes nos dados do Banco.
O Oracle possui dois ou mais desses arquivos, porque eles so gravados de forma
cclica. Atravs deles podem-se obter informaes sobre os dados alterados. So
fundamentais nas operaes de recovery. aconselhvel manter cpias mltiplas destes
arquivos de preferncia em discos diferentes.
CONTROL FILES: Cada Banco de Dados Oracle tem pelo menos um Control File.
Eles mantm informaes sobre a estrutura fsica do Banco de Dados.
O Oracle manter mltiplas cpias destes arquivos e recomenda-se esta prtica.
O Control File contm o nome do Banco de Dados e o timestamp de sua criao, bem
como os nomes e localizao de todos os Data Files e Redo Log Files.
5. ARQUITETURA FSICA
A arquitetura de banco Oracle inclui estruturas lgicas e fsicas que compem o Banco de Dados.
O Servidor Oracle um RDBMS (Relational Database Management System) ou SGBDR (Sistema de
Gerenciamento de Banco de Dados Relacionais) que oferece uma abordagem aberta, abrangente e integrada ao
gerenciamento de informaes.
O servidor Oracle consiste em uma INSTNCIA Oracle e em um BANCO DE DADOS Oracle.
INSTNCIA
a combinao dos processos de segundo plano e das estruturas de memria (SGA). A instncia deve ser
iniciada para acessar os dados do banco de dados. Toda vez que uma instncia iniciada, uma SGA (System
Global Area rea global do sistema) alocada e os processos de segundo plano do Oracle so iniciados .
6. MEMRIAS
PGA (Program Global Area)
Regio privativa de cada sesso na qual so armazenados dados temporrios, tais como:
variveis ou endereos de rotinas.
uma estrutura de memria privada para execuo de processos do servidor.
um buffer de memria que contm dados e algumas informaes de controle de sesso de um usurio.
criado e alocado quando um novo processo inicializado no servidor.
Existe uma rea de memria PGA para cada usurios que est executando seus trabalhos no Oracle.
uma regio de memria compartilhada por todos os usurios e alocada pelo ORACLE. Contm os
dados e as informaes de controle de uma instncia.
criada quando uma Instncia inicializada e liberada quando a instncia finalizada.
Os dados da SGA so compartilhados pelos usurios que esto conectados no banco de dados.
O USO da SGA deve ser o maior possvel, assim o uso de I/O no BD reduzido, aumentando a
performance.
dentro do SGA que ficam os buffers responsveis por qualquer os dados temporrios.
Contm a execuo dos processos em segundo plano.
Est alocada na memria virtual do computador no qual o servidor Oracle foi instalado. A SGA consiste em
diversas estruturas de memria:
SGA (System Global rea) formada por 3 estruturas principais:
SHARED POOL;
DATABASE BUFFER CACHE;
REDO LOG BUFFER.
Outras estruturas no muito utilizadas na SGA so: o streams pool, o java pool e a large pool.
o SHARED POOL:
o
o
o
utilizado para armazenar as alteraes feitas no banco de dados pelos processos e servidores
pelos processos em segundo plano. Todas as entradas redo log neste buffer so escritas nos
arquivos redo log, que so usados para a recuperao do banco de dados, se necessrio.
A PRINCIPAL funcionalidade de tornar possvel refazermos uma determinada
transao que possa ter sofrido algum tipo de problema.
Registra alteraes usadas no Rollback;
Registra transaes comitadas;
O Database Writer (DBW0) grava os dados alterados do Data Buffer Cache nos Data Files.
o O processo Database Write Process, escreve o buffer sujo (dirty) no cache do Database
Buffer Cache para o data file. gravado de forma assncrona, periodicamente at o
ponto de verificao.
O Log Writer (LGWR) grava as alteraes registradas no Redo Log Buffer nos Redo Log
Files.
o
Este processo o responsvel pela gesto do redo log buffer, escrevendo as entradas do redo
Log Buffer no Online redo log files.
O Process Monitor (PMON) disponibiliza recursos se um dos processos Oracle falhar. Por exemplo,
limpa os processos de usurio que falharam e libera os recursos que o usurio estava usando.
o
Exemplo: Voc esta fazendo uma consulta no banco muito grande e de repente a sua mquina
desligada por falta de luz. O processo PMON ir verificar se a sua conexo esta ativa, se ela
perceber que voc perdeu a conexo, ela interrompe o processo que voc estava fazendo.
O Checkpoint Process (CKPT) atualiza as informaes de status do banco de dados nos Control
Files e nos Data Files, sempre que as alteraes efetuadas no Data Buffer Cache ficam registradas no
banco de dados de forma permanente.
o um processo em background do Oracle que utiliza timestamps, que marca todos os datafiles e
control files (usando o DBWn e LOGWR) para indicar um ponto de recuperao, em caso de
falhas ser possvel a recuperao. A estrutura de dados define um nmero de modificaes no
sistema (SCN).
Este processo copia os dados do redo log files e armazena dentro do Archived Log file, aps o registro do
switch. S ir funcionar este processo de ARC se o banco de dados estiver no modo ARCHIVELOG mode e se
o arquivamento estiver ativado automaticamente. Uma instancia oracle pode ter at 10 processos Arc. O
processo LGWR inicia um processo Arc novo sempre que o nmero atual de processos Arc for insuficiente
8. SCHEMA
Quando criamos um usurio com o comando create user criamos tambm um schema a ele associado de mesmo
nome. O usurio usado para acessar o banco a conta que a pessoa tem para issso. J o schema composto do
conjunto de objeto que pertencem quele usurio, tabelas, views, sequences, ndices e etc.
Para acessar objetos de um certo schema, prefixamos o nome do objecto com o nome do schema:
SELECT * FROM SCOTT.EMP;
Para estabelecermos acesso ao banco de dados ORACLE precisamos de um USER. Associado a cada
usurio existe um SCHEMA.
Usurio e Schema so duas caractersticas de um banco de dados ORACLE extremamente relacionadas
e indissolveis.
9. Startup e Shutdown
Quando a Oracle inicia uma instncia, ele l o arquivo de parmetro de servidor (SPFILE) ou arquivo de
parmetro de inicializao para determinar os valores de parmetros de inicializao. Em seguida, ele aloca um
SGA, que uma rea comum de memria usada para informaes de banco de dados, e cria processos em
segundo plano.
Para iniciar uma instncia, a Oracle deve ler um arquivo de parmetro de inicializao ou um arquivo de
parmetro de servidor. Esses arquivos contm uma lista de parmetros de configurao para essa instncia e
banco de dados. A Oracle tradicionalmente armazenados parmetros de inicializao em um arquivo de
parmetro de inicializao de texto, ou em um arquivo binrio de parmetro de servidor
(SPFI LE).
Parmetros de inicializao so divididos em dois grupos: bsica e avanada. Na maioria dos casos, necessrio
definir e ajustar apenas os parmetros bsicos para obter um desempenho razovel.
Os trs passos para iniciar um banco de dados Oracle e tornando-o disponvel para uso em todo o sistema so:
Iniciar uma instncia.
Monte o banco de dados.
Abra o banco de dados.
Um administrador de banco de dados pode executar essas etapas usando o SQL * Plus STARTUP
declarao ou Enterprise Manager.
Voc tambm pode usar o Recovery Manager (RMAN) para executar o comando STARTUP e SHUTDOWN.
Voc pode preferir fazer isso se voc est dentro do ambiente de RMAN e no quiser chamar SQL *
Plus.emails de publicitrios
10.Backup Datatype
Para efetuar backups online (hot backup), no havendo necessidade de parar o banco para fazer (cold
backup). preciso ativar o modo archivelog, desta maneira, os redo logs online so arquivados, criando
arquivos de log de todas as transaes do banco de dados.
O Oracle grava nos arquivos de redo log online de maneira cclica: aps preencher o primeiro arquivo
de log, ele comea a gravar no segundo, at que ele esteja cheio, e em seguida, comea a gravar no
terceiro, uma vez que o ltimo arquivo de redo log online esteja cheio, o processo em segundo plano
LGWR (log write) comea a sobrescrever o contedo do primeiro arquivo.
Por default o modo NOARCHIVELOG vem como padro, ele protege a integridade do banco de dados no
caso de falha de uma instncia ou uma queda de sistema, porque todas as transaes encerradas com commit,
mas que ainda no foram gravadas nos arquivos de dados estaro disponveis nos arquivos de redo log online.
Quando o Oracle est executando no modo ARCHIVELOG, o processo em background ARCn (archiver
process) faz uma cpia de cada arquivo de redo log antes de sobrescrev-lo. Exemplo: se o disco que esta os
data files der algum problema, com os archives logs podemos reconstruir o banco de dados at o momento
anterior ao problema, devido a um backup recente dos data files e aos arquivos de redo log que foram gerados
desde que ele ocorreu.
Realizando Backup num BD Oracle
O processo de backup pode ser classificado em duas categorias:
Backups fsicos, onde os arquivos fsicos do banco de dados so copiados para uma mdia qualquer que
no a original. Desta forma um backup fsico pode ser executado da seguinte forma:
o
Os cold backups que constituem cpias fsicas dos arquivos importantes do banco de dados com
este fora do ar;
Os hot backups que constituem cpias fsicas importantes do banco de dados com este rodando;
Backups lgicos, os quais utilizam o utilitrio Export, gerando um arquivo binrio do sistema
operacional.
Esses dados podem ser recolocados em um banco de dados qualquer, utilizando-se para isso um utilitrio de
importao.
Tipos de Backups
Consideremos que uma instncia esteja sendo executada em um computador (servidor de um banco de
dados).
Um computador usado para executar uma aplicao (poro cliente ou front end) executa uma aplicao
de um usurio. Essa aplicao cliente tenta estabelecer uma conexo com o servidor usando o driver
apropriado do SQL*Net.
O processo servidor recebe o comando e verifica se as reas shared SQL, armazenadas na shared pool
area, contm um comando idntico ao emitido pelo usurio. Se localiza uma rea shared SQL com um
comando idntico, o processo servidor verifica os privilgios de acesso do usurio aos dados
requisitados e o plano de execuo definido usado para buscar os dados solicitados. Se o comando
emitido pelo usurio no estiver presente nessa rea, uma nova estrutura para o comando alocada e
ento ele pode ser analisado e processado.
O processo servidor recupera qualquer valor armazenado nos arquivos de dados ou os busca da
memria, se l estiverem, no database buffer cache.
O processo servidor modifica os dados na SGA. O processo DBWR escreve os dados modificados em
disco, quando necessrio. No momento do comando COMMIT, o processo LGWR escreve
imediatamente os registros das transaes no arquivo redo log que estiver sendo usado no momento.
O ORACLE registra todas as alteraes feitas em um banco de dados na estrutura redo log buffer
cach.
Um processo em background denominado LGWR escreve as informaes desses buffers para o
disco, sob certas circunstncias.
Um outro processo em background conhecido como ARCH pode ser opcionalmente utilizado para
armazenar as informaes sobre as alteraes feitas nos dados em outro dispositivo, sempre que um
arquivo redo log for preenchido.
Two-phase-Commit
O redo log buffer cache uma estrutura de memria de uso circular que contm buffers ou conjuntos de
blocos ORACLE com informaes sobre todas as alteraes feitas nos dados de um banco de dados.
Essas informaes so armazenadas sob a forma de entradas de redo log e so usadas para recosntruir as
informaes dos segmentos alterados, inclusive os segmentos de ROLLBACK.
Os Triggers do tipo ROW LEVEL podem ser usados sempre que precisarmos que um Trigger trate
de valores em uma transao,
Usados para:
Gravao de Log;
Verificao de dados;
STATEMENT (Tabela).
Os Triggers do tipo STATEMENT tem a finalidade de tratar a execuo de aes sobre tabelas
independentemente de quantas linhas forem afetadas.
Alm disso, os Triggers podem ocorrer (BEFORE) antes ou (AFTER) depois que a ao tenha
ocorrido, e por fim pode ocorrer para as aes de INSERT, UPDATE e DELETE em uma tabela.
TABLESPACE
SYSTEM
UNDOTBS
TEMP
TOOLS
USERS
DATAFILES
QUESTES
1. Aps a tabela PROCESSO ter sido criada, observou-se um requisito informando que campo
vara_processo deve permitir apenas valores entre 0 e 28. Para adicionar tal restrio na
tabela deve-se digitar a instruo.
ALTER TABLE processo ADD CONSTRAINT check_vara CHECK (vara_processo BETWEEN 0
AND 28);
Ferramenta que analisa comandos SQL e faz recomendaes de como melhor-los. Esta
ferramenta pode ser executada automaticamente durante os perodos de manuteno
(normalmente noite). Durante cada execuo automtica, ela seleciona consultas SQL de alta
carga (high-load) e gera recomendaes para ajustar essas consultas . Permite realizar anlises
estatsticas, criao de perfis SQL, anlise de caminho de acesso e anlise de estruturas SQL.
SQL Tuning Advisor