You are on page 1of 34

Funcionalidades do SGDB Oracle

Por: Ulisses da Silva Jardim e


Harly Carreiro Varo

Histria

pioneiro na tecnologia de BDRs, sendo o


mais respeitado, e unaminidade;
possudo pela empresa de mesmo nome a
Oracle Corporation;

Foi o carro-chefe da Oracle corporation;

Hoje encontra-se na verso 11g;

Organizao fsica

Arquivos em disco (datafiles);

reas de memria;

Organizao lgica

Objetos so organizados em esquemas por


usurios;
Esquemas so o conjunto de objetos de
usurios;
O primeiro usurio que j vem no Oracle o
sys;
Os objetos j existentes no oracle fazem parte
do esquema do usurio sys na tablespace
system;

Organizao lgica

Todos os objetos do tablespace system e


pertencentes ao usurios sys, so para
administrao do banco de dados;

Esquema lgico

Tabelas

ndices

Vises

Sequencias

Procedures

Functions

Triggers

Package

etc.

Arquivos

Datafiles: So os arquivos que contm


fsicamente as tabelas, ndices, e etc.
Controlfiles: So os arquivos de controle do
BD, responsveis por sincronizar as alteraes
nos arquivos do BD;
Redo Log Files: Histricos de transaes
comitadas;
Arquivos de log;

Instancia Oracle

PGA Oracle - rea privada da sesso;

SGA rea de trfego das sqls;

Tablespaces

So subdivises lgicas em um BD, que


agrupam objetos relacionados;
Uma tablespace pode ser gravada em vrios
datafiles;
Vrios usurios podem escrever na mesma
tablespace;

Backup e Recover

Exportao: Ato de colocar uma base de dados


ou o schema de usurio em um outro SGBD
Oracle;
Importao: O inverso da exportao. Receber
uma base de dados ou schema de usurio de
um outro SGBD Oracle;
Importante: Para ex/importar so usados os
datafiles;

ColdBackup

Backup simples: Com o banco desligado copiase os arquivos e depois liga-se o banco;

HotBackup

Backup com o banco em funcionamento,


porm o mesmo deve estar no modo
ARCHIVELOG.

Recover
Instncia Derrubada
ControFile Inacessvel

DataFile Inacessvel
LogFile Inacessvel

RMAN

Recuperao automtica basta religa-la


Basta alterar o parmetro control_file para que
no faca referencia ao arquivo perdido:
Caso, todos tenha sido perdidos :
alter database backup controlfile to trace;
create control file;
Alter database mount;
Alter database datafile ______ offline drop;
Impossivel de recuperalos, Devem ser
multiplexados ou constar em discos
espelhados;

Objetos lgicos - Database

uma coleo de dados vista como unidade.


(Oracle).

Armazena e recupera as informaes.

Tem uma estrutura fsica e lgica.

Pode ser executado em mltiplos ns.

carregado dentro de uma instncia.

Objetos lgicos Database link

um recurso que permite uma base de dados


acessar objetos em outra base de dados. Para
isso, no necessrio que esta outra base de
dados esteja num SGBD Oracle.
Para criar um database link simples, basta a
partir da base de dados que est logado, dar o
seguinte comando:
create database link link_to_cadastro_cidades
connect to cidades_usr using
'senha_cidades_usr';

Objetos lgicos - sequence

um objeto utilizado para gerar uma


sequncia nmerica.
Exemplo de criao de sequence:
CREATE SEQUENCE supplier_seq MINVALUE 1
MAXVALUE 999999999999999999999999999
START WITH 1
INCREMENT BY 1
CACHE 20;

Objetos lgicos - sinnimos

um apelido para os objetos no banco de dados.


Geralmente utilizado para dar nomes mas curtos, e
menos complexos a objetos do banco.
Por exemplo, digamos que para acessar a tabela
cidades necessrio utilizar o seguinte texto:
link_to_cadastro_cidades@cidades
possvel definir um sinnimo para a seguinte tabela
como abaixo: create or replace synonym cidades to
link_to_cadastro_cidades@cidades

Objetos lgicos - tabela

unidade bsica de armazenamento no banco de


dados oracle. Cada tabela constituda por linhas e
colunas.

Exemplo de criao de tabela:

CREATE TABLE employees_demo (

employee_id

first_name

VARCHAR2(20),

last_name

VARCHAR2(25)

CONSTRAINT emp_last_name_nn NOT NULL,

email

NUMBER(6),

);

VARCHAR2(25)

Objetos lgicos - ndices

objetos que so associados a tabelas, para


melhorar a performance na recuperao de
dados.
Exemplo de criao de ndice:
CREATE INDEX ord_customer_ix ON orders
(customer_id);

Objetos lgicos - triggers

Gatilhos so procedimentos que so


armazenados no banco de dados, e rodam
implicitamente de acordo com eventos gerados
nas tabelas.
Gatilhos so excelentes mecanismos para
auditoria no banco de dados, pois com elas
possvel executar cdigo de acordo com
determinadas condies.

Objetos lgicos - triggers

Uma gatilho no oracle constituda de trs


partes:

1. O evento que dispara o gatilho;

2. A condio para execuo do gatilho;

3. O cdigo de negcio do gatilho;

Objetos lgicos - constraints

So restries que voc estabelece para um campo


da tabela. As constraints pode ser do seguintes tipos:
- Primary Key (PK): cria um ndice nico para um
conjunto de colunas ou uma coluna para Chave
Primaria;
- Unique: determina que um campo no poder ter
dois registros com o mesmo valor;
-Foreign Key (FK ou Chave Estrangeira): determina
um campo ou um conjunto de campos que possuem
valores em outras tabelas;

Objetos lgicos - constraints

-Check: Especifica a condio que o campo precisa


ter para ser salvo;
-Not Null: Determina que o campo tem preenchimento
obrigatrio.

Objetos lgicos - constraints

CREATE TABLE EMPREGADOS (


COD NUMBER(6) NOT NULL CONSTRAINT CODEMP_PK
PRIMARY KEY,
NOME VARCHAR2(20) NOT NULL,
DEPARTAMENTO VARCHAR2(40) NOT NULL CONSTRAINT
DEPTO_FK REFERENCES DEPTO INITIALLY DEFERRED,
SEXO CHAR(1) NOT NULL CONSTRAINT CHECK_SEXO
CHECK (SEXO IN ('F','M')),
IDADE NUMBER(2) CONSTRAINT CHECK_IDADE CHECK
(IDADE > 18),

EMAIL VARCHAR2(40) NOT NULL UNIQUE

)TABLESPACE USERS;

Objetos lgicos - viso

Uma viso uma simples representao em


memria de uma consulta SQL que pode ser
reusada.
Vises no geram nenhum tipo de
armazenamento na base de dados, a no ser
uma entrada no dicionrio de dados do Oracle.

Linguagem PL/SQL

uma linguagem procedural utilizada para construir programas


em um banco de dados Oracle.
PL/SQL estende a SQL, adicionando construes encontradas
em linguagem procedurais (como funes, procedimentos,
laos de repetio, estruturas condicionais), o que resulta em
uma linguagem estruturada mais poderosa que a SQL.
A unidade bsica na PL/SQL o bloco. Todos os programas
PL/SQL so feitos em blocos, os quais podem ser aninhados.
Geralmente, cada bloco executa uma ao lgica no
programa.

Linguagem PL/SQL

declare
/* seo declarativa utilizada para mencionar
as variveis, tipos que faro parte do programa
*/

begin

/* comandos PL/SQL so feitos aqui */

exception

/* manipulao de excees */

end;

Linguagem PL/SQL

Funces, procedures, cursores, pacotes.

Gerenciamento de usurios

um nome definido no BD que representa um


conjunto de permisses para acesso aos
objetos do BD de acordo com condies
estabelecidas pelo administrador do BD.
Todo usurio est ligado a uma tablespace, se
nenhuma tablespace for indicada no comando
de criao ele estar ligado ao tablespace
SYSTEM.

Gerenciamento de usurios

Schema - um conjunto de objetos(tabelas,


ndices, vises e etc) pertencentes a um
usurio.
Papel(Role) - Conjunto de privilgios
agrupados com um nome. Facilita gerncia de
privilgios.
Perfil(Profile) - Limites que restringem as aes
de um usurio.

Gerenciamento de usurios

Existem dois tipos de permisso para usurios


no Oracle:

- De conexo (s conecta);

- De possuir recursos (pode criar objetos);

Role - um grupo de privilgios reunidos sobre


um nico nome, que pode ser concedido a um
ou mais usurios e roles.
Roles tanto para DDL quanto para DML.

Gerenciamento de usurios

Para verificar os privilgios dos usurios:

select * from dba_sys_privs;

Criar usurio

create user ulisses identified by '123'

default tablespace sistema_meu

quota 1M on users

profile default

Account unlock;

Grant Connect, Resource to ulisses;

Gerenciamento de usurios

Alguns privilgios s o DBA pode dar, por


exemplo para execuo de comandos DDL.

Outros s o dono do schema pode dar:

DML tabelas, vises, ndices;

You might also like