segunda-feira, 19 de outubro de 2009

ORACLE - DICAS PARA O DIA A DIA

Ambiente : Windows 2003 Server / Unix Linux Oracle 10g (funciona também com 9i)

Seguem alguns comandos para nos ajudar no dia a dia em ambientes ORACLE.
É importante conhecermos as definições de cada comando antes de utilizá-las pois caso o seu banco não possua, ou não esteja trabalhando, com flash recover, os dados poderão ser perdidos definitivamente em um comando truncate por exemplo


DDL (Data Definition Language): São comandos de definição de dados de Definição de Dados que tratam como a criação, alteração e exclusão de objetos de banco como por exemplo usuários, procedures, funções, tabelas, etc.


DML (Data Manipulation Language):  São comandos de Manupulação de Dados como Select, Insert, Update,Lock, etc Tratam de fato da manipulação de dados inseridos ou a serem inseridos no banco.


DCL (Data Control Language): Trata do controle para o acesso a dados e utilizan-se principalmente dos comandos de Grant e Revoke de determinado objeto para usuários ou Roles.

Exemplo para comando DDL

Criar usuário
 Vamos criar o primeiro usuário para nosso banco de dados RMATOS
  Importante sempre levar em consideração o que este usuário deverá fazer, informações estas que podem vir do desenvolvedor do aplicativo.
 Em nosso exemplo o usuário irá apenas ser criado e definido posteriormente direito de conexão ao banco.

 USUARIO = ROGERIO
 SENHA     = rogeriomatos
 BANCO    = RMATOS
 TBSPACE =  ESTOQUE
 TEMP        = ESTOQUETMP

CREATE USER 'ROGERIO' IDENTIFIED BY rogeriomatos DEFAULT TABLESPACE ESTOQUE TEMPORARY TABLESPACE ESTOQUETMP;

O que fizemos acima foi dizer que o usuário foi criado para que tenha acesso ao banco RMATOS sendo que as tablespaces referen-se a um objeto chamado ESTOQUE.

Exemplo para comando DCL
Agora que temos o usuário criado precisamos ao menos dar ao mesmo o direito de conexão. Para tanto utilizamos aqui um exemplo de comando que agrega direitos a determinado usuário. Estamos conectados com perfil que permita lesta liberação, como por exemplo sysdba.

GRANT CONNECT TO ROGERIO ;

Uma boa prática para manutenção de bancos é permitir que um usuário criado, e apenas um, tenha totais direitos ao banco, como um sysdba, preservando assim os usuarios nativos 'sys' e 'system'  com a senha inicial definida para qualquer emergência.,com senha bem guardada preferencialmente de conhecimento apenas do DBA da área. Vamos dar este direito ao usuário criado.

GRANT DBA TO ROBERIO;

CRIANDO DATABASE LINK

Quando estamos conectados a uma base de dados, por exemplo RMATOS e precisamos acessar dados de outra base de dados, por exemplo KAREN cujo a tabela se chama 'PESSOAS';

Nome do dblink = BUSCA
Banco loca         = RMATOS
Banco destino    =  KMATOS
Tabela               = PESSOAS
TNSNAMES    = KMATOS.WORLD (deve estar no servidor local, no caso RMATOS)
Senha                = skmatos

CREATE DATABASE LINK BUSCA CONNECT TO KMATOS IDENTIFIED BY skmatos USING KMATOS.WORLD

Feito, basta testar buscando o que se deseja da tabela PESSOAS

  SELECT * FROM PESSOAS@BUSCA ;

Seguidores