Upload
junior-wagner-lopes
View
2
Download
0
Embed Size (px)
DESCRIPTION
Oracle
Citation preview
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 copia-se 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 Recuperao automtica basta religa-laControFile Inacessvel 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;
DataFile Inacessvel Alter database mount;Alter database datafile ______ offline drop;
LogFile Inacessvel Impossivel de recuperalos, Devem ser multiplexados ou constar em discos espelhados;
RMAN
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 NUMBER(6), first_name VARCHAR2(20), last_name VARCHAR2(25) CONSTRAINT emp_last_name_nn NOT NULL, email 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;
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 21Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34