Funcionalidades Oracle

34
Funcionalidades do SGDB Oracle Por: Ulisses da Silva Jardim e Harly Carreiro Varão

description

oracle

Transcript of Funcionalidades Oracle

Page 1: Funcionalidades Oracle

Funcionalidades do SGDB Oracle

Por: Ulisses da Silva Jardim e Harly Carreiro Varão

Page 2: Funcionalidades Oracle

História

É pioneiro na tecnologia de BDRs, sendo o mais respeitado, e unaminidade;

É possuído pela empresa de mesmo nome a Oracle Corporation;

Foi o ”carro-chefe” da Oracle corporation; Hoje encontra-se na versão 11g;

Page 3: Funcionalidades Oracle

Organização física

Arquivos em disco (datafiles); Áreas de memória;

Page 4: Funcionalidades Oracle

Organização lógica

Objetos são organizados em esquemas por usuários;

Esquemas são o conjunto de objetos de usuários;

O primeiro usuário que já vem no Oracle é o sys;

Os objetos já existentes no oracle fazem parte do esquema do usuário sys na tablespace system;

Page 5: Funcionalidades Oracle

Organização lógica

Todos os objetos do tablespace system e pertencentes ao usuários sys, são para administração do banco de dados;

Page 6: Funcionalidades Oracle

Esquema lógico

• Tabelas

• Índices

• Visões

• Sequencias

• Procedures

• Functions

• Triggers

• Package

• etc.

Page 7: Funcionalidades Oracle

Arquivos

Datafiles: São os arquivos que contém físicamente as tabelas, índices, e etc.

Controlfiles: São os arquivos de controle do BD, responsáveis por sincronizar as alterações nos arquivos do BD;

Redo Log Files: Históricos de transações comitadas;

Arquivos de log;

Page 8: Funcionalidades Oracle

Instancia Oracle

PGA Oracle - Área privada da sessão; SGA – Área de tráfego das sqls;

Page 9: Funcionalidades Oracle

Tablespaces

São subdivisões lógicas em um BD, que agrupam objetos relacionados;

Uma tablespace pode ser gravada em vários datafiles;

Vários usuários podem escrever na mesma tablespace;

Page 10: Funcionalidades Oracle

Backup e Recover

Exportação: Ato de colocar uma base de dados ou o schema de usuário em um outro SGBD Oracle;

Importação: O inverso da exportação. Receber uma base de dados ou schema de usuário de um outro SGBD Oracle;

Importante: Para ex/importar são usados os datafiles;

Page 11: Funcionalidades Oracle

ColdBackup

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

Page 12: Funcionalidades Oracle

HotBackup

Backup com o banco em funcionamento, porém o mesmo deve estar no modo ARCHIVELOG.

Page 13: Funcionalidades Oracle

Recover

Instância Derrubada Recuperação automática – basta religa-la

ControFile Inacessível Basta alterar o parâmetro control_file para que não faca referencia ao arquivo perdido:Caso, todos tenha sido perdidos : alter database backup controlfile to trace; create control file;

DataFile Inacessível Alter database mount;Alter database datafile ______ offline drop;

LogFile Inacessível Impossivel de recuperalos, Devem ser multiplexados ou constar em discos espelhados;

RMAN

Page 14: Funcionalidades Oracle

Objetos lógicos - Database

É uma coleção de dados vista como unidade. (Oracle).

Armazena e recupera as informações. Tem uma estrutura física e lógica. Pode ser executado em múltiplos nós. É carregado dentro de uma instância.

Page 15: Funcionalidades Oracle

Objetos lógicos – Database link

É um recurso que permite uma base de dados acessar objetos em outra base de dados. Para isso, não é necessário 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';

Page 16: Funcionalidades Oracle

Objetos lógicos - sequence

É um objeto utilizado para gerar uma sequência númerica.

Exemplo de criação de sequence:

CREATE SEQUENCE supplier_seq MINVALUE 1

MAXVALUE 999999999999999999999999999

START WITH 1

INCREMENT BY 1

CACHE 20;

Page 17: Funcionalidades Oracle

Objetos lógicos - sinônimos

É 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 é necessário utilizar o seguinte texto: link_to_cadastro_cidades@cidades

É possível definir um sinônimo para a seguinte tabela como abaixo: create or replace synonym cidades to link_to_cadastro_cidades@cidades

Page 18: Funcionalidades Oracle

Objetos lógicos - tabela

unidade básica de armazenamento no banco de dados oracle. Cada tabela é constituída por linhas e colunas.

Exemplo de criação 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)

);

Page 19: Funcionalidades Oracle

Objetos lógicos - índices

objetos que são associados a tabelas, para melhorar a performance na recuperação de dados.

Exemplo de criação de índice: CREATE INDEX ord_customer_ix ON orders

(customer_id);

Page 20: Funcionalidades Oracle

Objetos lógicos - triggers

Gatilhos são procedimentos que são armazenados no banco de dados, e rodam implicitamente de acordo com eventos gerados nas tabelas.

Gatilhos são excelentes mecanismos para auditoria no banco de dados, pois com elas é possível executar código de acordo com determinadas condições.

Page 21: Funcionalidades Oracle

Objetos lógicos - triggers

Uma gatilho no oracle é constituída de três partes:

1. O evento que dispara o gatilho; 2. A condição para execução do gatilho; 3. O código de negócio do gatilho;

Page 22: Funcionalidades Oracle

Objetos lógicos - constraints

São restrições 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 não 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;

Page 23: Funcionalidades Oracle

Objetos lógicos - constraints

-Check: Especifica a condição que o campo precisa ter para ser salvo;

-Not Null: Determina que o campo tem preenchimento obrigatório.

Page 24: Funcionalidades Oracle

Objetos lógicos - 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;

Page 25: Funcionalidades Oracle

Objetos lógicos - visão

Uma visão é uma simples representação em memória de uma consulta SQL que pode ser reusada.

Visões não geram nenhum tipo de armazenamento na base de dados, a não ser uma entrada no dicionário de dados do Oracle.

Page 26: Funcionalidades Oracle

Linguagem PL/SQL

É uma linguagem procedural utilizada para construir programas em um banco de dados Oracle.

PL/SQL estende a SQL, adicionando construções encontradas em linguagem procedurais (como funções, procedimentos, laços de repetição, estruturas condicionais), o que resulta em uma linguagem estruturada mais poderosa que a SQL.

A unidade básica na PL/SQL é o bloco. Todos os programas PL/SQL são feitos em blocos, os quais podem ser aninhados. Geralmente, cada bloco executa uma ação lógica no programa.

Page 27: Funcionalidades Oracle

Linguagem PL/SQL

declare /* seção declarativa utilizada para mencionar

as variáveis, tipos que farão parte do programa */

begin /* comandos PL/SQL são feitos aqui */ exception /* manipulação de exceções */ end;

Page 28: Funcionalidades Oracle

Linguagem PL/SQL

Funcões, procedures, cursores, pacotes.

Page 29: Funcionalidades Oracle

Gerenciamento de usuários

É um nome definido no BD que representa um conjunto de permissões para acesso aos objetos do BD de acordo com condições estabelecidas pelo administrador do BD.

Todo usuário está ligado a uma tablespace, se nenhuma tablespace for indicada no comando de criação ele estará ligado ao tablespace SYSTEM.

Page 30: Funcionalidades Oracle

Gerenciamento de usuários

Schema - é um conjunto de objetos(tabelas, índices, visões e etc) pertencentes a um usuário.

Papel(Role) - Conjunto de privilégios agrupados com um nome. Facilita gerência de privilégios.

Perfil(Profile) - Limites que restringem as ações de um usuário.

Page 31: Funcionalidades Oracle

Gerenciamento de usuários

Existem dois tipos de permissão para usuários no Oracle:

- De conexão (só conecta); - De possuir recursos (pode criar objetos); Role - É um grupo de privilégios reunidos sobre

um único nome, que pode ser concedido a um ou mais usuários e roles.

Roles tanto para DDL quanto para DML.

Page 32: Funcionalidades Oracle

Gerenciamento de usuários

Para verificar os privilégios dos usuários: select * from dba_sys_privs;

Page 33: Funcionalidades Oracle

Criar usuário

create user ulisses identified by '123'

default tablespace sistema_meu

quota 1M on users

profile default

Account unlock;

Grant Connect, Resource to ulisses;

Page 34: Funcionalidades Oracle

Gerenciamento de usuários

Alguns privilégios só o DBA pode dar, por exemplo para execução de comandos DDL.

Outros só o dono do schema pode dar: DML – tabelas, visões, índices;