Professional Documents
Culture Documents
Objetivo
O objetivo deste guia to somente o de servir como referncia, um lembrete, da sintaxe dos comandos de administrao de bancos de dados Oracle mais usuais. Sendo assim ele no tem o objetivo de expor, ou apresentar, a sintaxe completa dos comandos. Os exemplos aqui apresentados so meramente didticos, e parte-se do pressuposto de que quem vai utiliz-los conhece suas finalidades e tambm as suas conseqncias. Sendo assim, a Abstratos Tecnologia, se isenta de qualquer responsabilidade quando da m utilizao, ou utilizao imprpria, dos comandos apresentados, ao mesmo tempo em que nos colocamos inteiramente disposio dos nossos clientes para fazer uso corretos dos mesmos atravs dos nossos servios de suporte.
Notaes
Os smbolos < e > , menor e maior, respectivamente, so usados para delimitar os parmetros das clusulas dos comandos. Ou seja, os valores que so passados para as clsulas dos comandos, que esto apresentados na cor verde. Os smbolos [ e ], abre e fecha colchetes, so usados para salientar partes dos comandos, ou clusulas dos comandos, que so opcionais. J o simbolo |, conhecido como pipe, utilizado para representar opes que so mutuamente exclusivas. Ou seja, ou se usa a primeira opo esquerda do pipe, ou ento a segunda opo, direita do pipe.
Tpicos
Este Guia de Referncia de comandos est sub-dividido nos seguintes tpicos : 1 - Manuteno de Tablespaces 2 - Manuteno dos Grupos de Redolog 3 - Manuteno de Tabelas 4 - Manuteno de ndices 5 - Coletando Estatsticas 6 - Utilizao dos Utilitrios Export e Import 7 - Atribundo e Revogando Privilgios 8 - Criando Roles - Atribuies 9 - Criando um Database Link 10 - Criando Sinnimos
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
1. Manuteno de Tablespaces
1.1- Criando um tablespace de dados
Sintaxe : create tablespace <nome da tablespace> datafile '<nome do arquivo>' size <tamanho do arquivo><m|k>; Exemplo: Criando uma tablespace de DADOS com tamanho de 1GB. SQL>create tablespace TS_DADOS datafile '/oracle/oradata/dbteste/TS_DADOS01.dbf' size 1024m;
1.2 Aumentando o espao de uma tablespace 1.2.1.Adicionando arquivo de dados ao tablespace de dados
Sintaxe : alter tablespace <nome da tablespace> add datafile '<nome do arquivo>' size <tamanho do arquivo><m|k>; Exemplo: Adicionando um segundo datafile de 512MB ao tablespace TS_DADOS. SQL>alter tablespace TS_DADOS add datafile '/oracle/oradata/dbteste/TS_DADOS02.dbf' size 512m;
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
1.2.3.Aumentando o tablespace
Observao : Esse mtodo se aplica somente a tablespaces BIGFILE. Sintaxe : alter tablespace <nome da tablespace> resize <novo tamanho do tablespace ><m|k>; Exemplo: Aumentando o tablespace TS_DADOS para 512m. SQL>alter tablespace TS_DADOS resize 512m;
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
Sintaxe : create undo tablespace <nome da tablespace> datafile '<nome do arquivo>' size <tamanho do arquivo><m|k>; Exemplo : Criando uma segunda tablespace de UNDO, UNDOTBS2 SQL>create undo tablespace UNDOTBS2 datafile '/oracle/oradata/dbteste/UNDOTBS201.dbf' size 512m;
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
OBS.: Um grupo pode ter mais de um aquivo de redolog, utilizando a sintaxe de comando abaixo: Sintaxe : alter database add logfile group <nmero do grupo> ('<nome do arquivo1>','nome do arquivo 2'...) size <tamanho do arquivo>; Exemplo : Criando um grupo de redo log com apenas 1 membro e com 100MB de tamanho. SQL>alter database add logfile group 5 ('/oracle/oradata/dbteste/redo05.log') size 100m; Criando um grupo de redo log com apenas com espelhamento, 2 membros, e com 100MB de tamanho. SQL>alter database add logfile group 6 ('/oradb1/oradata/dbteste/redo06a.log', '/oradb2/oradata/dbteste/redo06b.log') size 100m;
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
3. - Manuteno de Tabelas
3.1- Criano de tabelas
Sintaxe : Sintaxe de um esqueleto de uma tabelas com 6 campos, onde <tipo> seria substituido pelo tipo de dados ex.: number, varchar2(50), date, etc... create table <nome da tabela> ( <campo 1> <tipo>, <campo 2> <tipo>, <campo 3> <tipo>, <campo 4> <tipo>, <campo 5> <tipo>, <campo 6> <tipo>) tablespace <nome da tablespace>; Exemplo : Criando uma tabela bsica de clientes. SQL>create table TB_CLIENTE ( CD_CLIENTE NUMBER(5) PRIMARY KEY, NM_CLIENTE VARCHAR2(100), DT_NASCIMENTO DATE, NU_CEP NUMBER(8), FL_SEXO VARCHAR2(1) NOT NULL, DS_ENDRECO VARCHAR2(100)) tablespace TS_ERPX_D;
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
Exemplo : SQL>alter table TB_CLIENTE add ( FL_SITUACAO VARCAHR2(1)); 3.2.2 - Excluindo um campo da tabela. Observao : Esta sintaxe funciona somente a partir da verso 8i Sintaxe : alter table <nome da tabela> drop column <nome do campo>; Exemplo : Eliminando a coluna FL_SITUACAO da tabela de clientes. SQL>alter table TB_CLIENTE drop column FL_SITUACAO; 3.2.3 - Excluindo uma tabela. Sintaxe : drop table <nome da tabela> [ CASCADE ]; Exemplo : Eliminando a tabela de clientes SQL>drop table TB_CLIENTE; Observao : Se a tabela tiver filhos, chaves estrangeiras apontando para as chaves primrias, deve adicionar a clusla cascade. Com isso as chaves estrangeiras sero eliminandas e caso seja necessrio devero ser recriadas.
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
Sintaxe : alter table <nome da tabela> move tablespace <nome da tablespace>; Exemplo : SQL>alter table TB_CLIENTE move tablespace TB_MANUTENCAO_D; Observao : Esta operao pode ser realizada com o objetivo de desfragmentar o banco de dados. 3.3.2 - Reorganizando a tabela na mesma tablespace Observaes : Opo disponvel apenas a partir do 10g. Sintaxe : alter table <nome da tabela> enable row movement; alter table <nome da tabela> shrink space; alter table <nome da tabela> disable row movement; Exemplo : SQL> alter table hr.employees enable row movement; SQL> alter table hr.employees shrink space; SQL> alter table hr.employees disable row movement; Observao : Esta operao pode ser realizada com o objetivo de desfragmentar a tabela do banco de dados.
4. - Manuteno de ndices
4.1 Criando um ndice.
Sintaxe : create index <nome do indice> on <nome da tabela> (<campo1,campo2,campo3...> ) tablespace <nome da tablespace>;
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
10
Exemplo : Criando um ndice simples, com apenas uma coluna DT_NASCIMENTO, na tabela de clientes. SQL>create index IX_CLIENTE1 on TB_CLIENTE (DT_NASCIMENTO) tablespace TB_ERPX_I;
5. - Coletando Estatsticas
5.1- Para coletar estatsticas em tabelas(verso 8.0)
Sintaxe : analyze table <nome da tabela> compute statistics; Exemplo : Coletando estatsticas para a tabela TB_CLIENTE. SQL>analyze table TB_CLIENTE compute statistics;
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
11
analyze index <nome do indice> compute statistics; Exemplo : Coletando estatsticas para o ndice IX_CLIENTE1. SQL>analyze index IX_CLIENTE1 compute statistics; Observao : Para as verses 8i e superiores recomenda-se utilizar um pacote chamado dbms_stats para coleta de statsticas.
12
Exemplo : Fazendo um export completo, FULL, do banco de dados. C:\>exp userid=system/manager file=exp_FULL.dmp log=exp_FULL.log full=y
No caso de sistemas UNIX/Linux o comando deve ser rodado cmo usurio oracle, e no como usurio root. Observao : O Usurio de export deve possuir o privilgio export_full_database, em muitos casos o system utilizado para fazer esta tarefa.
13
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
14
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
15
10. - Criando sinnimos 10.1- Sinnimos Privados Visveis para um usurio especfico
Sintaxe : create synonym <owner do sinnimo>.<nome do sinnimo> for <owner do objeto>.<nome do objeto>; Exemplo :
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
16
criando um sinnimo chamado CLIENTES para o usurio CLI_ERP1 apontando para a tabela TB_CLIENTE do usurio, dono, ERP. SQL>create synonym CLI_ERP1.CLIENTES for ERP.TB_CLIENTE;
Abstratos Tecnologia Av. Baro de Studart N, 1165 Sala 707 (85) 3086-0886 (85) 88790085
17