Escolar Documentos
Profissional Documentos
Cultura Documentos
Administração de Banco de Dados Oracle PDF
Administração de Banco de Dados Oracle PDF
Maro 2006
NDICE
INTRODUO..............................................................................................................................
4
BANCO DE DADOS RELACIONAL..................................................................................................... 4
CONCEITOS................................................................................................................................
4
SQL - LINGUAGEM DE PESQUISA ESTRUTURADA............................................................................. 5
OUTROS CONCEITOS DE BANCO DE DADOS..................................................................................... 7
BANCO DE DADOS DISTRIBUDOS................................................................................................... 7
DATA WAREHOUSE......................................................................................................................
7
REPLICAO DE DADOS...............................................................................................................
8
ATRIBUIES/RESPONSABILIDADES DE UM DBA (DATABASE ADMINISTRATOR).................................... 8
ARQUITETURA ORACLE................................................................................................................
9
ESTRUTURAS FSICAS.................................................................................................................
10
INSTNCIA ORACLE...................................................................................................................
11
OBJETOS DO BANCO DE DADOS ORACLE...................................................................................... 11
PROCESSANDO COMANDOS SQL..................................................................................................
13
DATABASE BUFFER CACHE.........................................................................................................
13
SEGMENTOS DE RECONSTRUO: O "DESFAZER" DO ORACLE........................................................ 14
OS PROCESSOS ORACLE.............................................................................................................
15
PRINCIPAIS PROCESSOS DE SEGUNDO PLANO (BACKGROUND PROCESS).............................................. 15
CONFIGURAES DE SERVIDORES DE BANCO DE DADOS.................................................................. 16
SERVIDOR MULTILINEAR (MULTI-THREADED)................................................................................ 17
SERVIDOR DEDICADO.................................................................................................................
18
LOG DE TRANSAES (LOG DE RECONSTRUO: REDO).............................................................. 18
REDO LOG FILES......................................................................................................................
18
LOG SWITCHES.........................................................................................................................
19
CHECKPOINTS...........................................................................................................................
19
O ARQUIVO DE PARMETROS......................................................................................................
20
EXERCCIO I.............................................................................................................................
22
INICIALIZANDO E TERMINANDO UM BANCO DE DADOS ORACLE......................................................... 22
INICIALIZANDO (STARTUP)..........................................................................................................
22
TERMINANDO UM BD ORACLE (SHUTDOWN)................................................................................. 23
ALTER DATABASE: ALTERANDO O ESTADO DO BANCO DE DADOS..................................................... 23
ALTER SYSTEM: RESTRINGINDO O ACESSO................................................................................... 24
GERENCIADO O ESPAO DO BANCO DE DADOS............................................................................... 25
COMPONENTES DE UM BLOCO ORACLE......................................................................................... 26
CONTROLANDO O ESPAO LIVRE................................................................................................... 26
ESTUDANDO AS TABLESPACES...................................................................................................... 26
CRIAO DE TABLESPACES.........................................................................................................
27
ALTERANDO UMA TABLESPACE....................................................................................................
27
DELETANDO UMA TABLESPACE....................................................................................................
28
CRIANDO SEGMENTOS DE RECONSTRUO (ROLLBACK SEGMENTS).................................................. 28
CRIANDO UM BANCO DE DADOS..................................................................................................
29
ALTERANDO UM BANCO DE DADOS..............................................................................................
30
INSTALAO DO ORACLE............................................................................................................
30
O ARQUIVO DE PARMETROS: ESTUDANDO OS PARMETROS........................................ 30
CRIAO E GERENCIAMENTO DE USURIOS DO BANCO DE DADOS.................................................... 31
ALTERANDO UM USURIO DO BANCO DE DADOS ORACLE................................................................ 32
DELETANDO UM USURIO...........................................................................................................
33
PRIVILGIOS.............................................................................................................................
33
COMANDO GRANT.....................................................................................................................
34
COMANDO REVOKE...................................................................................................................
34
35
36
36
37
37
38
38
39
40
41
41
42
INTRODUO
Este material uma sntese da Introduo e Administrao de Banco de Dados Oracle, e visa
transmitir aos administradores do banco de dados Oracle conhecimentos bsicos para o
gerenciamento/administrao do mesmo.
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 conhecidas
como Tabelas-Base.
Exemplo:
Cod_Funcionario
Cod_Departamento
Nome_Funcionario
Data_Nascimento
- CHAR(06)
- CHAR(05)
- VARCHAR2(40)
- DATE
Colunas - Um nome de coluna o nome que o usurio informar para representar os valores de
dados 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 o
acesso aos dados.
Viso ou Tabela Virtual(View) - uma tabela formada por uma pesquisa em uma ou mais
tabela-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 tabelas
podero tambm ter chaves estrangeiras, que so campos que relacionam as tabelas do banco de
dados, fazendo referncia entre uma e outra 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_EMPREGADO
FROM FUNCIONARIO, SALARIO
WHERE FUNCIONARIO.COD_EMPREGADO = SALARIO.COD_EMPREGADO;
Esta Query acima retorna os dados da tabela FUNCIONARIO (COD_EMPREGADO e
NOME_EMPREGADO) e da tabela SALARIO (SALARIO_EMPREGADO).
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, dados
consolidados 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 e
acessabilidade, uma soluo deve ser projetada para operao geograficamente distribuda ao
longo 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 repositrio
de dados especializado, tal como um sistema de gerenciamento de dados multidimensional, e
pode, 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 o
repositrio de dados.
Mais importante que a ferramenta para hospedar o repositrio o conjunto de aplicaes e
ferramentas que compem as informaes organizacionais. Data warehouse uma forma de
unificar e facilitar o acesso a todas as informaes de que os membros de uma corporao
necessitam para a execuo, controle e planejamento de atividades de negcio.
A construo do repositrio conseqncia da Administrao de Dados, que responsvel pela
elaborao de um modelo global de dados para a corporao, que normalmente surge como
resultado 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
REPLICAO DE DADOS
O Oracle permite a replicao dos dados, isto , cpias de tabelas dos bancos de dados podem ser
instaladas nas unidades regionais da empresa, visando assim a rapidez no acesso aos mesmos
(evita o trfego na rede).
ATRIBUIES/RESPONSABILIDADES
ADMINISTRATOR)
DE
UM
DBA
(DATABASE
O DBA o administrador do banco de dados Oracle e tal funo, geralmente exercida por um
Analista 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 recursos
de segurana do sistema operacional, do sistema de rede e do Oracle;
- Monitorar e otimizar a performance do Banco de dados.
ARQUITETURA ORACLE
O DBA deve conhecer a arquitetura Oracle, isto , como o Oracle trabalha, tendo assim
subsdios para a administrao do(s) banco(s).
A Arquitetura Oracle
Instncia Oracle
CKPT
DBWR
Shared
Pool
SMON
RECO
LCKn
Processos
Background
LGWR
SGA
ARCH
Database
Buffer
System
Chace
PMON
Redo Log
Buffer
Global Area
Memria RAM
Data Files
rea em disco
Control Files
Usurio
Parameter File
10
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) e
Parmetros (parameter file).
Data files Contm todos os dados do banco. Estruturas lgicas, tabelas, ndices, vises e
outros objetos so armazenados nestes arquivos. Um ou mais data files podem compor uma
tablespace (objeto lgico que armazena os arquivos de dados).
Control files Arquivos que armazenam informaes sobre as estruturas fsicas do banco de
dados (nome, localizao, ...). Todos os data files e redo log files so identificados no control
file, bem como o nome do banco de dados.
Recomenda-se que se tenha no mnimo dois Control Files, armazenados em discos diferentes (se
possvel).
Redo log files Arquivos que guardam todas as alteraes efetuadas nos dados das tabelas do
banco e so utilizados para recuperao destas.
Para garantir uma boa recuperao cada redo log file deve Ter no mnimo uma rplica. Um
conjunto 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 nos
membros 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 inicializar
uma instncia, o Oracle deve ler um arquivo de parmetros de nome padro
init<nome_da_instncia>.ora. Este arquivo do tipo texto e contm diversos parmetros de
configurao associados a uma instncia, aos quais devem ser atribudos valores especficos.
Os valores dos parmetros sero utilizados para inicializar muitas das configuraes de memria
e processos da instncia Oracle. Cada instncia tem seu arquivo de parmetros que define as
particularidades de cada ambiente.
11
INSTNCIA ORACLE
Instncia Oracle
CKPT
DBWR
Shared
Pool
SMON
RECO
LCKn
Processos
Background
LGWR
ARCH
PMON
Database
Redo Log
SGA System
Global Area
Buffer
Chace
Buffer
Memria RAM
A cada inicializao do banco Oracle, parte da memria RAM do computador alocada para a
SGA (System Global Area) e processos Oracle de segundo plano (Background Process) so
inicializados, visando controlar o banco. Ento uma Instncia Oracle (Instance) o conjunto da
SGA (buffers da memria RAM) + processos Oracle de segundo plano (Background), que juntos
oferecem aos vrios usurios o acesso ao banco de dados.
Existe um banco de dados para cada instance, e possvel criar em um mesmo equipamento mais
de uma instance, sendo, por exemplo, uma para conter um banco de dados de produo e outra
para conter o banco de dados de teste. Neste caso, haver processos sendo executados em
background especficos para cada instance e uma rea de memria independente utilizada em
cada instance.
Obs.:
1)SGA Memria compartilhada por todos os usurios Oracle.
2)Instncia (instance) = SGA + Processos Background
3) no arquivo de parmetros (parameter file) que determinamos as caractersticas da instncia
(instance)
12
Viso ou Tabela Virtual(View) - uma tabela formada por uma pesquisa em uma ou mais
tabela-base. Ela no existe, mas parece ao usurio como se existisse.
Muitas vezes o acesso aos dados exigem queries complexas. Um usurio pode construir uma
viso que contenha uma certa complexidade e disponibiliz-la para usurios finais e
programadores, que faro queries mais simples sobre esta Viso. Voc estar ento, retirando
a 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 e
conceder aos usurios, no mais os privilgios e sim as roles.
Usurio1
Usurio2
Usurio3
Usurio1
Usurio2
Usurio3
ROLE_UM
Select
Insert
Update
Select
Insert
Update
13
14
Exemplo:
Quando uma transao inclui uma instruo pra atualizar uma linha o Oracle manda para o
database buffer cache o bloco que contm a linha, atualizando a linha logo em seguida. Se outra
transao quiser atualizar a mesma linha, ou outra que est no mesmo bloco, no ser necessrio
outro acesso a disco, pois a linha j est no database buffer cache (memria).
15
OS PROCESSOS ORACLE
CKPT
DBWR
Shared
Pool
SMON
RECO
LCKn
Processos
Background
LGWR
ARCH
PMON
Database
Redo Log
SGA System
Global Area
Buffer
Buffer
Chace
Memria RAM
Os processos Oracle executam tarefas especficas para os usurios do banco de dados. Tais
processos trabalham no sentido de manipular as solicitaes enviadas pelos processos de clientes
e operam as diversas funes de um servidor de banco de dados Oracle. O Oracle distingue os
processos de servidor de primeiro plano dos de segundo plano. Os processos de primeiro plano
manipulam diretamente as solicitaes dos processos de clientes, enquanto os processos de
servidor 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. Ao
terminar o processamento, coloca o resultado numa fila de respostas.
3)O Dispatcher gerencia a fila de respostas, enviando o resultado de cada solicitao para o
processo 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
PROCESS)
PROCESSOS
DE
SEGUNDO
PLANO
(BACKGROUND
DBWR (Database Writer) Grava os dados do Database Buffer Cache para os arquivos fsicos
do Banco de Dados (datafiles). O DBWR no faz esta gravao imediatamente aps a efetivao
das 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.
16
LGWR (Log Writer) Grava informaes de alteraes efetuadas sobre o BD do redo log buffer
para os redo log files.
ARCH (Archiver) opcional. Copia automaticamente grupos de log de transaes (redo log
files) 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 usurio
que tenha falhado. Por exemplo, se cair a conexo de um usurio com o Oracle, o Process
Monitor ir desfazer a transao que caiu, liberando os locks da transao, liberando assim o
acesso de outras transaes aos mesmos dados.
SMON (System Monitor) Executa diversas operaes de gerenciamento do espao medida
que 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 que
todas as informaes modificadas na memria esto armazenadas fisicamente no disco. Tem a
funo de marcar o quanto o log de transaes precisar aplicar , caso o sistema venha a exigir
uma recuperao por queda. Somente as mudanas provocadas pelas transaes a partir do
ltimo 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, e
tambm, 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).]
17
Fila de
Solicitaes
Despachante
Despachante
Usurio
Usurio
Usurio
SGA
Fila de
Respostas
Servidor
Compartilhado
Servidor
Compartilhado
Servidor
Compartilhado
Data files
Ouvinte (Listener)
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 (shared
server) para atender s solicitaes dos diversos clientes. Duas filas so formadas: fila de
solicitaes (Request Queue) e fila de respostas (Response Queue).
Quando uma aplicao cliente estabelece uma conexo com o Oracle, o listener fornece o
endereo de rede de um processo Dispatcher, com o qual o cliente se conecta. O Dispatcher
ento pega a solicitao do cliente e coloca-a na fila de solicitaes. As solicitaes so
processadas e os resultados so inseridos na fila de respostas. A partir da o Dispatcher retorna
os resultados para as aplicaes clientes adequadas.
18
SERVIDOR DEDICADO
SGA
Usurio
Servidor Dedicado
Datafiles
Quando uma aplicao cliente se conecta ao Oracle, o processo ouvinte inicializa um processo
servidor dedicado e conecta o cliente diretamente ao servidor dedicado, ignorando a arquitetura
de servidor multilinear. Como um servidor dedicado consome uma quantidade significativa de
memria do servidor de banco de dados para apenas um usurio, os servidores dedicados no
deve ser usados para as conexes de aplicaes clientes, a menos que absolutamente necessrio.
19
Grupo 2
Grupo 3
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 gravadas
fisicamente em disco.
Ocorre quando:
Acontece um Log Switch;
- Durante um intervalo de tempo (definido no parmetro Log_Checkpoint_Timeout do arquivo de
parmetro);
Acontece um Shutdown;
O DBA fora um Checkpoint; e
Quando a Tablespace passada para Offline.
20
O processo Checkpoint
(init<instncia>.ora).
habilitado
atravs
do
parmetro
Checkpoint_Process
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 controlfiles
control_files =
(/prd3/oracle/pb1/dbs/control01.ctl,
/prd4/oracle/pb1/dbs/control02.ctl,
/prd5/oracle/pb1/dbs/control03.ctl)
# 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
21
log_archive_start = true
# 50 BD Pequeno
# 100 BD Medio
# 200 BD Grande
# 8 BD Pequeno
# 16 BD Medio
# 32 BD Grande
= tcp,2
= 10
=2
= 10
= pb1
Consulting Tecnologia & Sistemas Ltda
www.consulting.com.br
22
mts_listener_address
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 DBA
d)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 um
deles?
f)A SQL a linguagem padro de BD. Ela pode ser usada de dois modos. Quais so esses
modos? 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 Warehouse
j)Disserte sobre 05 (cinco) objetos 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; starta
os processo de segundo plano (background process) e abre os arquivos de trace (background
trace files).
MOUNT Abre o(s) Control(s) File(s) e l os nomes do Banco de dados e dos REDO LOG
FILES.
OPEN Abre o Banco de Dados disponibilizando-o para as transaes dos usurios.
Sintaxe:
STARTUP OPEN/MOUNT/NOMOUNT database
EXCLUSIVE/PARALLEL
PFILE = parfile
RECOVER/FORCE/RESTRICT
Onde:
OPEN Disponibiliza o Banco para o acesso aos usurios.
MOUNT Monta 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 o
acesso ao BD.
23
Obs: Nos Bancos Apartir da verso 9 o comando para inicializar ou terminar o banco
SQLPLUS /NOLOG
Connect / as sysdba
24
MOUNT EXCLUSIVE/PARALLEL
OPEN
Onde:
Database
MOUNT
OPEN
EXCLUSIVE
PARALLEL
Ex.:
SVRMGR>CONNECT INTERNAL
SVRMGR> ALTER DATABASE OPEN;
Libera aos usurios o acesso ao BD.
Ex:
ALTER SYSTEM ENABLE RESTRICTED SESSION;
25
Segment
112K
Extent
Extent
28KTablespace
84K
Blocos do BD
Arquivo
Database
As seguintes estruturas so utilizadas para o gerenciamento do espao do BD.
Estrutura
BLOCO
EXTENT
SEGMENT
TABLESPACE
DATAFILES
DATABASE
Definio
So blocos que ficam alocados nos datafiles
Compem o bloco do datafile.
Armazena um ou mais EXTENTs contendo todos os dados na
TABLESPACE.
Estrutura lgica do Oracle que pode ter um ou mais datafiles (arquivos
fsicos).
Arquivos fsicos que armazenam os dados do BD.
Coleo lgica dos dados compartilhados (que esto armazenados nos
TABLESPACES)
26
Descrio
Contm informaes gerais do bloco: endereo do bloco, tipo de
segmento.
Armazena informaes sobre as tabelas.
Contm informaes sobre a linha que est no bloco.
o conjunto de bytes do bloco disponvel para operaes de
manipulao (insert, update, ...)
Guarda dados da tabela (ou de ndices).
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 ex
ceo da TABLESPACE SYSTEM (possui o dicionrio de dados do Oracle).
A TABLESPACE SYSTEM contm informaes do dicionrio de dados do Oracle, bem como
contm tambm o Segmento de Reconstruo (ROLLBACK SEGMENT) denominado
SYSTEM.
Obs: a TABLESPACE SYSTEM pode conter dados de usurios.
O uso de outras TABLESPACE diferente da SYSTEM permite uma maior flexibilidade na
administrao, por parte do DBA
Tais TABLESPACES armazenam Segmentos de ROLLBACK, segmentos temporrios, dados de
aplicaes, ndices, espao para os usurios.
27
CRIAO DE TABLESPACES
Sintaxe:
CREATE TABLESPACE nome_da_tablespace
DATAFILE especif_do_datafile
DEFAULT STORAGE clusulas
ONLINE/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 armazenamento
para todos os objetos criados na TABLESPACE.
ONLINE/OFFLINE
Disponibiliza/indisponibiliza a TABLESPACE.
Clusulas (DEFAULT STORAGE):
INITIAL inteiro K/M
NEXT inteiro K/M
MINEXTENTS
MAXEXTENTS
PCTINCREASE
28
ADD DATAFILE
RENAME DATAFILE
DEFAULT STORAGE
ONLINE/OFFLINE
NORMAL
TEMPORARY
IMMEDIATE
Adiciona DATAFILE
Renomeia um ou mais DATAFILES da TABLESPACE.
Altera as Clusulas
Disponibiliza/indisponibiliza a TABLESPACE.
Faz um CHECKPOINT para todos os DATAFILES da
TABLESPACE.
Faz um CHECKPOINT para todos os DATAFILES da
TABLESPACE, mas no assegura que sero gravados dados em
todos eles.
No assegura que os datafiles sero disponibilizados e no faz o
CHECKPOINT.
Ex:
CREATE ROLLBACK SEGMENT rbs1
TABLESPACE SYSTEM
STORAGE (INITIAL 100K, NEXT 100K,
MINEXTENTS 2, MAXEXTENTS 121,
29
OPTIMAL 1000K);
30
31
Obs.:
A Viso V$LOGFILE mostra os grupos e membros de log files.
INSTALAO DO ORACLE
Na instalao do Oracle geralmente utilizamos o instalador da Oracle, que o Oracle Installer.
Tal produto tanto instala como desinstala os produtos Oracle. de fcil utilizao pois basta
escolhermos os produtos Oracle contratados e selecionar a opo Install. (para maiores detalhes
ver Manual de Instalao do produto).
Obs Importante:
Alguns procedimentos (scripts) devem ser executados aps a instalao do Oracle Server (como
usurio SYS)
a) CATALOG.SQL
Cria vises do dicionrio de dados.
b) CATEXP.SQL
Cria vises do dicionrio de dados para o uso do Export/Import.
c) CATPROC.SQL
Cria tabelas e vises adicionais do dicionrio de dados para a opo
procedural do Oracle.
Tais procedimentos podem demandar de muito tempo, pois formam muitas estruturas de dados.
32
shared_pool_size
db_block_buffers
log_buffer
log_files
Log_checkpoint_interval
Max_dump_file_size
Log_archive_start
Log_archive_dest
Log_archive_format
User_dump_dest
Background_dump_dest
Processes
Sql_trace
Audit_trail
33
UNLIMITED
PROFILE arquivo_profile
Ex:
SVRMGR>CREATE USER ALUNO1
IDENTIFIED BY aluno1
DEFAULT TABLESPACE TS_Treina
TEMPORARY TABLESPACE Temp
QUOTA 5M ON TS_Treina
PROFILE default;
Obs:
O Oracle possui dois usurios especiais: o SYS e o SYSTEM. O SYS o usurio para
colocar/tirar o BD do ar O usurio SYSTEM o usurio administrador do BD.
34
DELETANDO UM USURIO
Comando: DROP USER
Sintaxe:
DROP USER nome_usurio CASCADE
Onde:
Nome_usurio
CASCADE
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 E
DBA_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 comando
GRANT e REVOKE.
Podemos conceder/revogar diversos tipos de privilgios, dependendo do usurio. Se um usurio
final ir somente consultar Tabelas, Vises O DBA conceder somente privilgios de consulta
(SELECT). Entretanto para um desenvolvedor o DBA dever dar, alm de privilgios de
consulta, 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 mesmo
o direito de executar uma operao em nvel de banco de dados. Cabe portanto ao DBA a tarefa
de definir quais usurios do Banco tero tais privilgios (podero ser outros administradores e/ou
desenvolvedores 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 objeto
especfico do BD (uma tabela, uma viso, ...).
35
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 <privilgio> 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, DELETE
ON T_Salario TO joaquim;
Obs: A opo WITH ADMIN OPTION d ao usurio o poder de conceder privilgios (que ele
possui) 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;
36
Usurio1
Usurio2
Usurio3
Usurio1
Usurio2
Usurio3
ROLE_UM
Select
Insert
Update
Select
Insert
Update
Exemplo:
1)CREATE ROLE admin_salarios;
2)GRANT SELECT, INSERT, UPDATE,DELETE
ON T_SALARIOS
TO admin_salarios;
3)GRANT SELECT,INSERT, UPDATE, DELETE
ON T_COMISSOES
TO 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;
37
Descrio
Vises do DBA, com informaes de qualquer definio de
objeto do BD.
Vises que podem ser acessadas por qualquer usurio, dando
informaes de seus objetos.
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
USER_USERS
ALL_USERS
DBA_USERS
USER_TS_QUOTAS
DBA_TS_QUOTAS
DBA_DATAFILES
DBA_TABLES
ALL_TABLES
DBA_ROLE_PRIVS
DBA_AUDIT_TRAIL
DBA_EXP_FILES
DBA_ROLES
DBA_SEGMENTS
DBA_TABLESPACE
DBA_ROLLBACK_SEGS
V$DATAFILE
V$PARAMETER
V$LOG_HISTORY
38
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, redo
log 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
39
ARCHIVELOG e
ARCHIVELOG
LGWR
LGWR
40
2)Os
parmetros
LOG_ARCHIVE_START,
LOG_ARCHIVE_DEST
e
LOG_ARCHIVE_FORMAT, so os parmetros do parameter file que devem ser alterados
para passar o modo para ARCHIVELOG (quando de um novo STARTUP).
Ex:
LOG_ARCHIVE_START = TRUE
LOG_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 (log
sequence 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_arquivo
Onde:
/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;
Ex:
SVRMGR>ALTER TABLESPACE TS_Treina BEGIN BACKUP;
SVRMGR>HOST cp $ORACLE_HOME/dbs/treina.dbf /tmp/dir_backup/treina.dbf
SVRMGR>ALTER TABLESPACE TS_Treina END BACKUP;
41
Obs:
- No Oracle Server para Windows NT usamos a interface grfica do mesmo, o que facilita muito
as 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 BACKUP
CONTROLFILE.
Exemplo:
SVRMGR>ALTER DATABASE BACKUP CONTROLFILE
2> 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 importantes
de 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. O
Export grava dados de um BD Oracle para arquivos do sistema operacional. J o Import l os
dados de arquivos criados pelo Export de volta para o BD Oracle. O Export serve tambm para
a criao de cpias suplementares de BD visando aumentar a flexibilidade da recuperao.
Temos diversos modos de exportar:
Modo
Tabela
Usurios
Banco de Dados completo
Descrio
Exporta tabelas especificadas.
Exporta todos os objetos de um usurio.
Exporta todos os objetos do BD.