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

funcionalidadesoracle-090526182446-phpapp02

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