Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Oracle 10g
SQL
Rubens Thiago de Oliveira
Novatec Editora
ISBN: 85-7522-054-3
Primeira edio: Julho/2004
Primeira reimpresso: Novembro/2006
Sumrio
Informaes gerais
Informaes gerais
Sobre o autor
Rubens Thiago de Oliveira, natural de Santos SP,
Bacharel em Cincias da Computao pela Universidade
Santa Ceclia (UNISANTA) em 1990, MBA em Gesto
Empresarial pela Fundao Getlio Vargas (FGV) em 2002.
Trabalha h quatorze anos na rea de TI e exerce a funo de
DBA Oracle h dez anos. Participou de projetos em vrias
empresas reconhecidas no mercado atuando em instalaes,
migraes, configuraes, modelagem de dados, tuning de
aplicaes e banco de dados.
Autor dos guias de consulta rpida Oracle 8 SQL (2000) e
Oracle 9i SQL (2002), tambm escreve matrias para o
website de profissionais Oracle.
Para entrar em contato com o autor envie um e-mail para
rubenstoliveira@hotmail.com ou visite sua home page em
http://www.olivert.cjb.net.
[]
{opo1|opo2|..}
Comentrios e sugestes
Comentrios e sugestes sobre este guia sero bastante
apreciados. Podem ser enviados para o e-mail:
leitor@novateceditora.com.br
Conhea o site da Novatec Editora em:
www.novateceditora.com.br
Comandos SQL
Comandos SQL
ALTER CLUSTER
Altera as caractersticas de armazenamento e paralelismo de
um cluster.
ALTER CLUSTER [esquema.]cluster
|[PCTFREE inteiro]|[PCTUSED inteiro]
|[INITRANS inteiro]|[MAXTRANS inteiro]
|{STORAGE (INITIAL inteiro [K | M | G | T]
| NEXT inteiro [K | M ]
| MINEXTENTS inteiro
| MAXEXTENTS [inteiro | UNLIMITED]
| PCTINCREASE inteiro
| FREELISTS inteiro | FREELISTS GROUPS inteiro
| OPTIMAL [ inteiro [K | M]| NULL]]
| BUFFER_POOL [ KEEP | RECYCLE | DEFAULT]]}
|[SIZE inteiro [K | M | G | T]
|[ALLOCATE EXTENT [([SIZE inteiro [K | M | G | T]
|[DATAFILE nome_datafile]| [INSTANCE inteiro])]
|[DEALLOCATE UNUSED [KEEP inteiro {K | M | G | T}]
|[CACHE | NOCACHE]
|[PARALLEL inteiro | NOPARALLEL];
Parmetro
Significado
SIZE
ALLOCATE EXTENT
SIZE
DATAFILE
INSTANCE
DEALLOCATE UNUSED
KEEP
CACHE
NOCACHE
PARALLEL
NOPARALLEL
ALTER DATABASE
Altera as principais caractersticas de um banco de dados,
permite tambm a converso e a realizao de backups.
ALTER DATABASE [banco]
|[MOUNT [STANDBY | CLONE ] DATABASE]
|[OPEN [READ WRITE]
|[RESETLOGS | NORESETLOGS]|[UPGRADE|DOWNGRADE]
|[READ ONLY]
| [clusula_recover]
|[RENAME FILE nome_anterior TO nome_novo]
|[CREATE DATAFILE [arquivo | nmero_arquivo]
AS [arquivo | NEW]]
|[DATAFILE [arquivo | nmero_arquivo]
[ONLINE | OFFLINE |[FOR DROP]]
|[RESIZE [inteiro [K | M | G | T]]
|[AUTOEXTEND [OFF | ON [NEXT inteiro [K | M | G | T]
|[MAXSIZE [UNLIMITED | inteiro [K | M | G | T]]]
|[END BACKUP]
Comandos SQL
|[TEMPFILE [arquivo | nmero_arquivo]|[RESIZE [inteiro [K | M |G | T]]
|[AUTOEXTEND [OFF | ON [NEXT inteiro [K | M | G | T]
|[MAXSIZE [UNLIMITED | inteiro [K | M | G | T]]]
|[DROP INCLUDING DATAFILES]|[ONLINE | OFFLINE]
|[ARCHIVELOG [MANUAL]| NOARCHIVELOG]
|[[NO] FORCE LOGGING]
|[RENAME FILE nome_anterior TO nome_novo]
|[CLEAR [UNARCHIVED] LOGFILE
{GROUP inteiro (arquivo [,arquivo]...) arquivo}
[UNRECOVERABLE DATAFILE]]
|[ADD [STANDBY] LOGFILE [INSTANCE nome_instncia']
|THREAD integer]|[GROUP inteiro] arquivo [,arquivo]...]
|[MEMBER arquivo [REUSE],... TO {GROUP inteiro
(arquivo[,arquivo]...)arquivo }]
|[DROP [STANDBY] LOGFILE]
{GROUP inteiro (arquivo [,arquivo]...) arquivo }...]
|[ADD [STANDY] LOGFILE MEMBER arquivo
|[REUSE] TO {GROUP inteiro (arquivo[,arquivo]...)arquivo }]
|[[ADD|DROP] SUPPLEMENTAL LOG DATA
([ALL | PRIMARY KEY | UNIQUE | FOREIGN KEY])
COLUMNS]
|[CREATE [LOGICAL | PHYSICAL] STANDBY
CONTROLFILE AS arquivo REUSE]
|[BACKUP CONTROLFILE TO arquivo [REUSE]
|[TRACE AS 'nome_arquivo' [REUSE]
|[RESETLOGS |NORESETLOGS]]
|[ACTIVATE [PHYSICAL | LOGICAL] STANDBY DATABASE]
|[SKIP STANDBY LOGFILE]
|[SET STANDBY DATABASE TO MAXIMIZE
[PROTECTION | AVAILABILITY | PERFORMANCE]]
|[REGISTER [OR REPLACE] [PHYSICAL|LOGICAL]
[LOGFILE ,arquivo... FOR nome_sesso_logminer]
|[[PREPARE | COMMIT] TO SWITCHOVER
TO [PHYSICAL | LOGICAL] PRIMARY]
[PRIMARY | STANDBY]|[WTIH|WITHOUT]
SESSION SHUTDOWN [WAIT |NOWAIT]]
|[LOGICAL STANDBY]
|[CANCEL]
|[START LOGICAL STANDBY APPLY [IMMEDIATE][NODELAY]]
|[NEW PRIMARY dblink | INITIAL valor_scn
| SKIP FAILED TRANSACTION | FINISH]]
|[[STOP | ABORT] LOGICAL STANDBY APPLY]
|[NOPARALLEL |PARALLEL inteiro]
|[SET DEFAULT [BIGFILE | SMALLFILE] TABLESPACE]
|[DEFAULT TABLESPACE tablespace]
|[DEFAULT TEMPORARY TABLESPACE
[tablespace | nome_grupo_tablespace]
|[RENAME GLOBAL_NAME TO banco[.domnio]]
|[ENABLE BLOCK CHANGE TRACKING
[USING FILE 'nome_arquivo' REUSE]
|[DISABLE BLOCK CHANGE TRACKING]]
|[FLASHBACK [ON|OFF]]
|[SET TIME_ZONE = '+/- hh:mi ' | regio_zona_tempo]
|[[ENABLE|DISABLE][INSTANCE instncia
[PUBLIC] THREAD [inteiro]]
|[GUARD [ALL | STANDBY | NONE]];
clusula_recover :: =
RECOVER
|[AUTOMATIC] [FROM localizao]|[STANDBY] [DATABASE]
|[UNTIL [CANCEL | TIME data | CHANGE inteiro]
|[USING BACKUP CONTROLFILE]
|[TABLESPACE tablespace]
|[DATAFILE datafile | nmero_arquivo]
Comandos SQL
|[STANDBY][TABLESPACE tablespace
|DATAFILE datafile |nmero_arquivo]
|[UNTIL [CONSISTENT WITH] CONTROLFILE]
|[LOGFILE arquivo_log ]
|[TEST | ALLOW inteiro CORRUPTION
|[NOPARALLEL |PARALLEL inteiro]
|[CONTINUE [DEFAULT]]
|[CANCEL]
|[RECOVER MANAGED STANDBY DATABASE]
|[DISCONNECT [FROM SESSION]
|[TIMEOUT inteiro | NOTIMEOUT]
|[NODELAY | DEFAULT DELAY | DELAY inteiro]
|[NEXT inteiro]
|[EXPIRE inteiro | NO EXPIRE]
|[NOPARALLEL |PARALLEL inteiro]
|[USING CURRENT LOGFILE]|[UNTIL CHANGE inteiro]
|[THROUGH [THREAD inteiro] SEQUENCE inteiro
|[ALL ARCHIVELOG]|[[ALL | LAST | NEXT] SWITCHOVER]
|[CANCEL [IMMEDIATE|[ WAIT|NOWAIT]]
|[DISCONNECT [FROM SESSION]
|[NOPARALLEL |PARALLEL inteiro]
|[FINISH SKIP [STANDBY LOGFILE]|[WAIT|NOWAIT]]]
|[BEGIN | END] BACKUP]
Parmetro
MOUNT
STANDBY
CLONE DATABASE
OPEN
Significado
Comandos SQL
UNTIL TIME
Comandos SQL
NOWAIT
DISCONNECT
FROM SESSION
FINISH
NOWAIT
BEGIN BACKUP
END BACKUP
CREATE DATAFILE
AS NEW
AS
DATAFILE
ONLINE
OFFLINE
FOR DROP
RESIZE
END BACKUP
TEMPFILE
DROP
INCLUDING DATAFILES
AUTOEXTENT ON
AUTOEXTENT OFF
NEXT
MAXSIZE
UNLIMITED
ARCHIVELOG
MANUAL
NOARCHIVELOG
9
Cancela imediatamente a operao de
recuperao de um banco de dados
desprezando a resposta do processo de
recover.
Indica que o processo de recuperao do
banco de dados em modo standby ser
desconectado.
Desconecta a sesso que est fazendo a
recuperao do banco de dados.
Recupera o log file atual do banco de dados
em standby.
Retorna imediatamente o controle do banco
de dados aps concludo o processo de
recuperao.
Indica o incio da operao de backup de
banco de dados.
Indica o trmino da operao de backup de
banco de dados.
Cria um novo datafile vazio no lugar do
datafile antigo. Clusula utilizada para
recriar datafiles.
Cria um datafile com um nome gerado
automaticamente pelo sistema operacional.
Permite que o nome do datafile seja definido
pelo usurio.
Altera os parmetros de um datafile.
Coloca o datafile on-line.
Coloca o datafile off-line.
Elimina o datafile especificado.
Altera o tamanho de um datafile.
Termina um backup caso o banco de dados
tenha sido interrompido por uma falha de
sistema.
Cria ou recria um arquivo temporrio.
Elimina um arquivo temporrio do banco de
dados.
Remove o arquivo temporrio incluindo o
datafile.
Habilita o modo de extenso automtica.
Desabilita o modo de extenso automtica.
Tamanho (em bytes) da prxima extenso.
Tamanho mximo em disco permitido para
as extenses automticas de um datafile.
Permite que uma extenso automtica no
possua limites de espao em disco de um
datafile ou tempfile.
Habilita o modo de arquivamento ativo. O
Oracle armazena as informaes dos redo
logs em arquivos separados em disco,
possibilitando voltar o posicionamento do
banco de dados a qualquer momento.
Permite que o arquivamento dos redo logs
seja controlado pelo usurio.
Desabilita o modo de arquivamento
subescrevendo os arquivos de redo logs,
impossibilitando a volta das transaes do
banco de dados.
Coloca o banco de dados em modo de
Force Logging.
10
Comandos SQL
RENAME FILE
Comandos SQL
PHYSICAL
11
12
Comandos SQL
RESET COMPATIBILITY
ALTER DIMENSION
Altera os atributos de uma dimenso e os relacionamentos
hierrquicos entre elas.
ALTER DIMENSION [esquema.]dimenso
|[ADD]| [LEVEL nvel IS nvel_tabela.nvel_coluna
|(nvel_tabela.nvel_coluna,...)]
|[HIERARCHY hierarquia (nvel_filho CHILD OF nvel_pai
[JOIN KEY coluna_chave_filho
|(colunas_chaves_filho,...)
REFERENCES nvel_pai)]]
|[ATTRIBUTE nvel DETERMINES coluna_dependente
|(colunas_dependentes,...)
|[DROP[LEVEL nvel [RESTRICT|CASCADE]
|[HIERARCHY hierarquia]
|[ATTRIBUTE atributo LEVEL nvel [COLUMN coluna,]]|[COMPILE];
Parmetro
Significado
ADD
DROP
CASCADE
RESTRICT
COMPILE
ALTER DISKGROUP
Altera parmetros de um grupo de discos no banco de dados.
ALTER DISKGROUP nome_grupo_discos
|[ADD [FAILGROUP nome_grupo_falha] DISK 'pto_montagem',...
NAME nome_disco SIZE inteiro [K | M | G | T]
|[FORCE | NOFORCE]]
|[DROP [DISK nome_disco][FORCE | NOFORCE],...
|[DISK IN FAILGROUP nome_grupo_falha |[FORCE | NOFORCE],...]]
|[RESIZE [ALL SIZE inteiro [K | M | G | T]
13
Comandos SQL
|[DISK nome_disco SIZE inteiro [K | M | G | T],...]
|[DISKS IN FAILGROUP nome_grupo_falha
SIZE inteiro [K | M | G | T],...]]
|[[nome_grupo_discos | ALL] UNDROP DISKS]
|[REBALANCE [POWER inteiro]]
|[CHECK |[ALL]|[DISK nome_disco]
|[DISKS IN FAILGROUP nome_grupo_falha]
|[FILE nome_arquivo]|[REPAIR | NOREPAIR]
|[[ADD | ALTER] TEMPLATE nome_template
ATTRIBUTE([MIRROR|UNPROTECTED]|[FINE|COARSE])
|[DROP TEMPLATE nome_template]]
|[ADD DIRECTORY 'nome_arquivo',...]
|[DROP DIRECTORY 'nome_arquivo',...|[FORCE | NOFORCE]]
|[RENAME DIRECTORY 'diretrio_antigo' TO 'diretrio_novo']
|[ADD ALIAS 'apelido' FOR 'apelido',...]
|[DROP ALIAS 'apelido']
|[RENAME ALIAS 'apelido_antigo' TO 'apelido_novo',...]
|[DROP FILE 'nome_arquivo']|[ [nome_grupo_discos | ALL]
[MOUNT | DISMOUNT [FORCE | NOFORCE]]];
Parmetro
nome_grupo_discos
pto_montagem
ADD
FAILGROUP
Significado
14
Comandos SQL
FINE
ALTER FUNCTION
Recompila uma funo no banco de dados.
ALTER FUNCTION [esquema.]funo
|[COMPILE [DEBUG]]
|[nome_parmetro = valor_parmetro]|[REUSE SETTINGS];
Parmetro
Significado
COMPILE
DEBUG
nome_parmetro
valor_parmetro
REUSE SETTINGS
ALTER INDEX
Redefine caractersticas de armazenamento de um ndice.
ALTER INDEX [esquema.]ndice
|[DEALLOCATE UNUSED [KEEP inteiro [K | M | G | T]]]
|[ALLOCATE EXTENT (SIZE inteiro [K | M | G | T]
|DATAFILE arquivo | INSTANCE inteiro)]
|[SHRINK SPACE [COMPACT CASCADE]]
|[clusula_paralelismo]| [clusula_atributos_fsicos]
|[LOGGING | NOLOGGING]
|[REBUILD]
|[PARTITION partio]|[SUBPARTITION subpartio]
|[REVERSE | NOREVERSE]|[clusula_paralelismo]
|[TABLESPACE tablespace]
|[PARAMETERS ('parmetros_recriao_partio')]
|[ONLINE]|[COMPUTE STATISTICS]
|[clusula_atributos_fsicos]
|[COMPRESS inteiro | NOCOMPRESS]
|[LOGGING | NOLOGGING]
|[PARAMETERS ('parmetros_recriao_ndice')]
|[ENABLE | DISABLE]
|[UNUSABLE]
|[RENAME TO nome_novo]
|[COALESCE]
|[[MONITORING | NOMONITORING] USAGE]
|[UPDATE BLOCK REFERENCES]
|[MODIFY DEFAULT ATTRIBUTES [FOR PARTITION partio]]
15
Comandos SQL
|[clusula_atributos_fsicos]
|[TABLESPACE tablespace | DEFAULT]
|[LOGGING | NOLOGGING]
|[ADD PARTITION partio [TABLESPACE tablespace]
|[clusula_paralelismo]]
|[MODIFY PARTITION partio
|[DEALLOCATE UNUSED [KEEP inteiro [K| M | G | T]]]
|[ALLOCATE EXTENT (SIZE inteiro [K | M | G | T]
|DATAFILE arquivo |INSTANCE inteiro)]
|[clusula_atributos_fsicos]|[LOGGING | NOLOGGING]
|[COMPRESS inteiro | NOCOMPRESS]
|[PARAMETERS('parmetros_alterao_ndice')]
|[COALESCE]
|[UPDATE BLOCK REFERENCES]|[UNUSABLE]
|[RENAME [PARTITION partio_nome_atual
| SUBPARTITION subpartio_nome_atual] TO nome_novo]
|[DROP PARTITION partio]
|[SPLIT PARTITION partio_antiga AT (lista_valores,...)
INTO (PARTITION [clusula_atributos_fsicos]
|[TABLESPACE tablespace]|[LOGGING| NOLOGGING]
|[COMPRESS inteiro| NOCOMPRESS]])|[clusula_paralelismo]
|[COALESCE PARTITION |[clusula_paralelismo]]
|[MODIFY SUBPARTITION subpartio [UNUSABLE
|[DEALLOCATE UNUSED [KEEP inteiro [K| M | G | T]]]
|[ALLOCATE EXTENT (SIZE inteiro [K | M | G | T]
|DATAFILE arquivo |INSTANCE inteiro)]];
clusula_atributos_fsicos::= (descrio da clusula na pgina 92)
[PCTFREE inteiro | PCTUSED inteiro
|INITRANS inteiro | MAXTRANS inteiro
|[STORAGE ( INITIAL inteiro [K | M]
| NEXT inteiro [K | M]
| MINEXTENTS inteiro
| MAXEXTENTS inteiro [UNLIMITED] | PCTINCREASE inteiro
| FREELISTS inteiro | FREELISTS GROUPS inteiro
| OPTIMAL [inteiro [K | M] | NULL]]
| BUFFER_POOL [KEEP | RECYCLE | DEFAULT]]
clusula_paralelismo :: =
[PARALLEL inteiro | NOPARALLEL]
Parmetro
Significado
DEALLOCATED UNUSED
Libera os espaos em disco que no esto sendo
utilizados pelo ndice.
KEEP
Quantidade de espao em disco que dever ser
mantida durante a liberao do espao em disco.
ALLOCATE EXTENT Reserva espao em disco para uma nova extenso
do ndice.
SIZE
Tamanho (em bytes) da extenso.
DATAFILE
Nome do datafile na tablespace que ter a nova
extenso.
INSTANCE
Cria uma nova extenso na instncia especificada.
LOGGING | NOLOGGING
Grava ou no as atividades de (incluso/alterao)
nos arquivos de redo log. Este parmetro indicado
para cargas, aumenta o desempenho.
PARTITION
Recria uma partio de um ndice existente.
SUBPARTITION
Recria uma subpartio de um ndice existente.
REBUILD
Recria um ndice existente.
REVERSE
Armazena os bytes do ndice na ordem reversa,
eliminando o ROWID.
NOREVERSE
Armazena os bytes do ndice sem inverter a ordem.
TABLESPACE
Nome da tablespace onde o ndice, partio do
ndice, subpartio do ndice sero recriados.