Escolar Documentos
Profissional Documentos
Cultura Documentos
Fundamentos I SQL
Manual do Exame (Exame 1Z0-051)
SOBRE OS AUTORES
John Watson (Oxford, Reino Unido) trabalha para a BPLC Management
Consultants, lecionando e fazendo consultoria por toda Europa e frica.
Ele esteve com a Oracle University por muitos anos na frica do Sul e, antes
disso, ele trabalhou em vrias empresas, departamentos do governo e ONGs
na Inglaterra e na Europa. Ele tem qualificao OCP tanto em banco de dados
como em administrao de Application Server. John autor de muitos livros e
numerosos artigos sobre tecnologia e tem 25 anos de experincia em TI.
Roopesh Ramklass (frica do Sul), OCP, um especialista independente em
Oracle com mais de 10 anos de experincia em uma grande variedade ambientes
de TI. Nessa experincia, esto inclusos planejamento e desenvolvimento de
software, anlise de sistema, desenvolvimento de software educacional e palestras.
Trabalhou para o Oracle Support e lecionou na Oracle University da frica do
Sul por muitos anos. Roopesh tem experincia em gerenciar e executar projetos
de desenvolvimento de TI, incluindo fornecimento de sistemas de infraestrutura,
desenvolvimento de software e integrao de sistemas.
John Watson
Roopesh Ramklass
Agradeo Silvia por fazer a vida ser algo que vale a pena.
John
Ameetha, voc tem me dado um apoio maravilhoso e quero lhe
agradecer por cada momento que passa comigo.
Roopesh
6805,25(680,'2
10
11
12
169
Apndice. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 533
Glossrio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .537
ndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 555
6805,2
Introduo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . xvii
5HFXSHUDomRGH'DGRV8WLOL]DQGR
D'HFODUDomR64/6(/(&7 . . . . . . . . . . . . . . . . . . . . . . . . . . . .51
Lista as Habilidades das Declaraes SQL SELECT. . . . . . . . . . . . . . . . . . . . . . . . 52
Apresentando a Declarao SQL SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . 52
O Comando de Tabela DESCRIBE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
Exerccios 2-1: Descrevendo o esquema dos Recursos Humanos. . . . . . . . 55
Habilidades da Declarao SELECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .57
Execute uma Declarao SELECT Bsica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
OCA Oracle Database 11g: Fundamentos I SQL Manual do Exame (Exame 1Z0-051)
Sumrio
xi
8WLOL]DQGR)XQo}HVGH&RQYHUVmR
H([SUHVV}HV&RQGLFLRQDLV. . . . . . . . . . . . . . . . . . . . . . . . . . . .227
Descreva Vrios Tipos de Funes de Converso Disponveis em SQL . . . . . . . . 228
Funes de Converso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 228
Utilize as Funes de Converso TO_CHAR, TO_NUMBER e TO_DATE . . . . . .231
Utilizando as Funes de Converso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 232
Exerccio 5-1: Convertendo Datas em Caracteres .
Utilizando a Funo TO_CHAR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239
Aplique Expresses Condicionais em uma Instruo SELECT . . . . . . . . . . . . . . .245
Funes Aninhadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .245
Exerccio 5-2: Utilizando NULLIF e NVL2
para Lgica Condicional Simples. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 251
As Funes Condicionais. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254
Exerccio 5-3: Utilizando a Funo DECODE. . . . . . . . . . . . . . . . . . . . . 260
3 Reviso em Dois Minutos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
P&R Autoavaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265
Pergunta de Laboratrio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .267
Respostas da Autoavaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Resposta do Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
,QIRUPDQGR'DGRV$JUHJDGRV8WLOL]DQGR
as Funes de Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .273
Descreva as Funes de Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274
Definio de Funes de Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .274
Tipos e Sintaxe de Funes de Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .275
Identifique as Funes de Grupo Disponveis . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
Utilizando as Funes de Grupo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .279
Exerccio 6-1: Utilizando as Funes de Grupo . . . . . . . . . . . . . . . . . . . 284
Funes de Grupo Aninhadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 285
Dados de Grupo Utilizando a Clusula GROUP BY
287
Criando Grupos de Dados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .287
A Clusula GROUP BY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 288
Agrupando por Colunas Mltiplas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .291
Exerccio 6-2: Agrupando Dados Baseados em Colunas Mltiplas . . . . . 292
xii
OCA Oracle Database 11g: Fundamentos I SQL Manual do Exame (Exame 1Z0-051)
([LELQGR'DGRVDSDUWLUGH7DEHODV0~OWLSODV . . . . . . . . . . . .309
Grave Instrues SELECT para Acessar Dados de Mais de uma
Tabela Utilizando Junes Equivalentes e No Equivalentes . . . . . . . . . . . 310
Tipos de Junes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 311
Unindo Tabelas Utilizando SQL: Sintaxe 1999 . . . . . . . . . . . . . . . . . . . . . . . 316
Qualificando Nomes de Coluna Ambguos . . . . . . . . . . . . . . . . . . . . . . . . . . 317
A Clusula NATURAL JOIN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .319
Exerccio 7-1: Utilizando a NATURAL JOIN . . . . . . . . . . . . . . . . . . . . . 320
A Clusula Natural JOIN USING . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .321
A Clusula Natural JOIN ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 322
Exerccio 7-2: Utilizando a Clusula NATURAL JOIN...ON. . . . . . . . . 324
Condies de Diversas Junes e Junes Adicionais. . . . . . . . . . . . . . . . . . .327
Junes No Equivalentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 329
Una uma Tabela a Ela Mesma Utilizando Auto-Juno
331
Unindo uma Tabela a Ela Mesma Utilizando a Clusula JOINON . . . . . .331
Exerccio 7-3: Realizando uma Auto-Juno . . . . . . . . . . . . . . . . . . . . . . 332
Visualizar Dados que No Satisfazem uma Condio
de Juno Utilizando Junes Externas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 334
Junes Internas Versus Externas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 335
Junes Externas da Esquerda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 336
Junes Externas da Direita . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .337
Junes Externas Completas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 338
Exerccio 7-4: Realizando uma Juno Externa . . . . . . . . . . . . . . . . . . . . 340
Gere um Produto Cartesianos de Duas ou Mais Tabelas . . . . . . . . . . . . . . . . . . . 342
Criando Produtos Cartesiano Utilizando Junes Cruzadas . . . . . . . . . . . . 342
Exerccio 7-5: Realizando uma Juno Cruzada . . . . . . . . . . . . . . . . . . . . 344
3 Reviso em Dois Minutos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 348
P&R Autoavaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 350
Pergunta de Laboratrio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 352
Respostas da Autoavaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 354
Resposta do Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355
8WLOL]DQGR6XEFRQVXOWDVSDUD5HVROYHU3UREOHPDV. . . . . . . .357
Defina Subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Exerccio 8-1: Tipos de Subconsultas . . . . . . . . . . . . . . . . . . . . . . . . . . . . 359
Sumrio
xiii
8WLOL]DQGRRV2SHUDGRUHVGH&RQMXQWR . . . . . . . . . . . . . . . . .381
Descreva os Operadores de Conjunto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 382
Conjuntos e Diagramas de Venn . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383
Princpios Gerais do Operador de Conjunto . . . . . . . . . . . . . . . . . . . . . . . 384
Exerccio 9-1: Descreva os Operadores de Conjunto
385
Utilize um Operador de Conjunto para combinar consultas
mltiplas em uma nica consulta . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 386
O Operador UNION ALL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .387
O Operador UNION . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .387
O Operador INTERSECT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 388
O Operador MINUS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 389
Exemplos Mais Complexos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 390
Exerccio 9-2: Utilizando os Operadores de Conjunto . . . . . . . . . . . . . . 392
Controle a ordem das linhas retornadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393
Exerccio 9-3: Controle a ordem das linhas retornadas . . . . . . . . . . . . . . 394
3 Reviso Em Dois Minutos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 396
P&R Autoavaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 397
Pergunta de Laboratrio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 398
Respostas da Auto-Avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 400
Resposta de Laboratrio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .401
8WLOL]DQGR'HFODUDo}HV''/SDUD
&ULDUH*HUHQFLDU7DEHODV . . . . . . . . . . . . . . . . . . . . . . . . . . . .403
Descreva cada Instruo de DML (Linguagem de Manipulao de Dados) . . . . . 404
xiv
OCA Oracle Database 11g: Fundamentos I SQL Manual do Exame (Exame 1Z0-051)
INSERT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 405
UPDATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 406
DELETE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407
MERGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 408
TRUNCATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Falhas da Instruo DML . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 409
Insira Linhas em uma Tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .413
Exerccio 10-1: Utilize o Comando INSERT . . . . . . . . . . . . . . . . . . . . . . . 417
Atualize Linhas em uma Tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .419
Exerccio 10-2: Utilize o Comando UPDATE . . . . . . . . . . . . . . . . . . . . . .421
Exclua Linhas de uma Tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Removendo Linhas com DELETE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423
Exerccio 10-3: Utilize o Comando DELETE . . . . . . . . . . . . . . . . . . . . . .424
Removendo Linhas com TRUNCATE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 425
MERGE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 426
Transaes de Controle. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .427
Transaes de Banco de Dados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 428
As Instrues das Transaes de Controle . . . . . . . . . . . . . . . . . . . . . . . . . . .431
Exerccio 10-4: Utilize os Comandos COMMIT e ROLLBACK . . . . . . . 433
3 Reviso em Dois Minutos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 439
P&R Autoavaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .441
Pergunta de Laboratrio. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 444
Respostas da Auto-Avaliao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 446
Resposta do Laboratrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448
8WLOL]DQGR'HFODUDo}HV''/SDUD&ULDU
e Gerenciar Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .449
Categorize os Principais Objetos de Banco de Dados. . . . . . . . . . . . . . . . . . . . . . 450
Tipos de Objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Usurios e Esquemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452
Nomeando Objetos de Esquema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 453
Espao de Nomes de Objeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455
Exerccio 11-1: Determine quais objetos so acessveis a sua sesso. . . . . 455
Revise a Estrutura da Tabela . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 456
Exerccio 11-2: Investigue Estruturas de Tabela . . . . . . . . . . . . . . . . . . . . .457
Especifique os Tipos de Dados que Esto Disponveis para Colunas. . . . . . . . . . .457
Exerccio 11-3: Investigue os Tipos de Dados no esquema HR . . . . . . . . .461
Crie uma Tabela Simples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Criando Tabelas com Especificaes de Coluna . . . . . . . . . . . . . . . . . . . . . 462
Criando Tabelas de Subconsultas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 464
Alterando Definies de Tabela Depois da Criao. . . . . . . . . . . . . . . . . . . 465
Suspendendo e Truncando Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 466
Exerccio 11-4: Crie Tabelas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .467
Sumrio
xv
Apndice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .533
Glossrio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .537
QGLFH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .555
,1752'8d2
xviii
2&$2UDFOH'DWDEDVHJ)XQGDPHQWRV,64/0DQXDOGR([DPH([DPH=
voc percebe que h uma regra de ouro: na dvida, experimente. Em muitos casos,
voc descobre que um simples teste que leva alguns minutos pode poupar horas de
especulao e pesquisa em manuais. Se qualquer coisa no estiver clara, elabore um
exemplo e veja o que acontece. Este livro foi desenvolvido utilizando Windows e
Linux, mas para realizar os exerccios e suas investigaes, pode-se utilizar qualquer
plataforma que suporte Oracle. Sua iniciao ao mundo mgico da administrao
de banco de dados Oracle est prestes a comear. Esta uma matria que voc pode
estudar e apreciar para o resto de sua vida.
1HVWH/LYUR
Este livro est organizado para funcionar com uma reviso detalhada para o OCA
Oracle Database 11g: exame para Fundamentos I SQL para profissionais Oracle.
Cada captulo aborda um aspecto importante do exame; todos os objetivos da
certificao oficial OCA foram cuidadosamente abordados neste livro.
1R&'
O CD-ROM (em ingls) contm um teste prtico que simula o verdadeiro teste
de certificao Oracle Database 11g OCA. Para maiores informaes sobre o CDROM, consulte o apndice.
/LVWDGH9HULILFDomRGH3UHSDUDomRSDUDR([DPH
Ao final desta introduo, voc encontrar uma Lista de Verificao de Preparao para
o Exame. Essa tabela contm os objetivos oficiais do exame. A lista tambm permite que
voc determine seu nvel de habilidade em cada objetivo no comeo de seus estudos.
Isso deve ajud-lo a verificar seu progresso e garantir que voc passe o tempo que precisa
em sees mais difceis ou que no so conhecidas. Cada objetivo est exatamente como
a Oracle Corporation apresenta, incluindo o captulo e a pgina de referncia.
(P&DGD&DStWXOR
Este livro contm uma srie de componentes de captulos que chamam sua
ateno para itens importantes, reforam pontos importantes e fornecem dicas
teis para o momento do exame. Confira o que voc encontrar em cada
captulo:
n
Introduo
O fluxo de log de
recuperao inclui todas as mudanas: as
que so aplicadas a segmentos de dados
xix
n
P&R n
Algumas sugestes
Assim que terminar de ler este livro, separe algum tempo para fazer uma reviso
completa. Voc pode querer voltar ao livro muitas vezes e utilizar todos os
mtodos que ele oferece para revisar o material antes de realizar o exame.
xx
OCA Oracle Database 11g: Fundamentos I SQL Manual do Exame (Exame 1Z0-051)
Releia todas as revises de dois minutos ou pea que algum lhe faa
perguntas. Voc tambm pode utilizar as revises como uma forma de
fazer um estudo rpido antes do exame.
Estrutura do Teste
Os exames OCA so questes de mltipla escolha, mas no so necessariamente
questes que se deve escolher uma resposta. Algumas pediro duas ou trs respostas,
algumas diro nas entrelinhas para escolher todas as alternativas corretas. A
maioria das questes composta por textos, mas algumas tm um quadro, que pode
ser um diagrama ou talvez uma captura de tela que ilustra a questo.
Leia todas as questes atentamente. Em alguns casos, quando a questo
pede uma resposta, voc pode pensar que esto todas erradas ou que muitas
esto corretas. Sempre, ao reler a questo cuidadosamente, voc ver o que os
examinadores esto procurando.
Voc ter uma mdia de somente um minuto ou dois para cada questo. Faa
todas, rpido, respondendo as que voc sabe e marcando as que no sabe para
revisar depois. Ento, volte s questes marcadas. Isso tomar a maior parte do
tempo. Se h algumas questes que voc realmente no sabe, chute a resposta: no
se diminui nota por respostas incorretas.
&RPRVHSUHSDUDUSDUDR([DPH
Estude e pratique! Volte a cada captulo do livro, fazendo todos os exerccios
e experimentando novos testes. Faa uso de outros recursos se algo ainda no
estiver claro: a Biblioteca de Documentao Oracle (um download gratuito do
website da Oracle Corporation) de leitura essencial. Se tiver oportunidade de
fazer um curso da Oracle University ou ter acesso a cursos individuais on-line da
Oracle University, tudo isso pode ter muita valia.
Introduo
xxi
Exam 1Z0-051
2EMHWLYR2ILFLDO2&$
&DStWXOR
Pgina
52
59
104
136
142
170
177
228
231
245
279
279
287
294
310
331
xxii
OCA Oracle Database 11g: Fundamentos I SQL Manual do Exame (Exame 1Z0-051)
2EMHWLYR2ILFLDO2&$
&DStWXOR
Pgina
334
342
Defina Subconsultas
358
360
364
369
382
386
393
10
404
10
413
10
419
10
423
Transaes de Controle
10
427
11
450
11
456
11
457
11
462
11
469
12
488
12
497
12
501
12
509
12
498
1
Oracle Server
Technologies e
Paradigma Relacional
2%-(7,926'$&(57,),&$d2
1.01
Posicionando as Tecnologias
de Servidor
1.02
1.03
1.04
1.05
P&R
Criar Esquemas
de Demonstrao
Reviso em Dois Minutos
Autoavaliao
2%-(7,926'$&(57,),&$d2
O modelo de processamento inserido pelo servidor Oracle de processamentocliente/servidor, sempre chamado de duas camadas. No modelo cliente/servidor,
a gerao da interface de usurio e muito da lgica de aplicativos so separados
do gerenciamento dos dados. Para um aplicativo desenvolvido utilizando SQL
(como todos os aplicativos de banco de dados relacional sero), isso significa que
a camada do cliente cria os comandos SQL e a camada do servidor os executa.
Essa a diviso bsica de cliente/servidor, com (como regra geral) uma rede local
de rea entre os dois lados. O protocolo de comunicaes de rede utilizado entre
o processo de usurio e o processo de servidor o protocolo de proprietrio da
Oracle, a Oracle Net.
A camada do cliente consiste em dois componentes: os usurios e os
processos de usurio. A camada do servidor tem trs componentes: os
processos de servidor que executam SQL, a instncia e o prprio banco de
dados. Cada usurio interage com um processo de usurio. Cada processo
de usurio interage com um processo de servidor, normalmente, sobre uma
rede local de rea. Os processos de servidores interagem com a instncia e
a instncia com o banco de dados. A Figura 1-1 mostra a relao em forma
de diagrama. Uma sesso um processo de usurio em comunicao com
um processo de servidor. Haver normalmente um processo de usurio e
um processo de servidor por processo de usurio. Os processos de usurio
e servidor que formam as sesses so ativados sob demanda por usurios
e finalizados quando no so mais necessrios. Esse o ciclo de logon e
logoff. Os processos de instncia e as estruturas de memria so ativados
pelo administrador do banco de dados e persistem at que o administrador,
deliberadamente, os finaliza. Esse o ciclo de inicializao e encerramento.
O processo de usurio pode ser qualquer software do lado do cliente que seja
capaz de se conectar a um processo de servidor Oracle.
Ao longo deste livro, dois processos de usurios sero utilizados
extensivamente: SQL*Plus e SQL Developer. Esses so processos simples
fornecidos pela Oracle para estabelecer sesses contra um servidor Oracle e
emitir SQL ad hoc.
),*85$
A conexo
indireta entre
um usurio e um
banco de dados
Instncia
Usurio
Processo de usurio
Processo de servidor
Componentes de sesso
Banco de Dados
),*85$
Navegador
O modelo de
pool de conexes
Navegador
Navegador
Servidor de
Aplicativos
Navegador
Sesses no persistentes sem
preservao de estado sobre HTTP
Servidor de
banco de dados
Controle de Grade.
Computao em Grade
Um item crtico ao conceito de computao em grade a virtualizao. Isso significa
que em todos os nveis h uma camada de abstrao entre o que solicitado e o que
fornecido. Os usurios finais pedem um servio de aplicativo e deixam a Grade
decidir qual servidor de aplicativo de J2EE, armazenado em cluster, pode fazer o
melhor fornecimento. Os servidores de aplicativo pedem um servio de banco de
dados e permitem que a Grade decida qual n RAC melhor atender aos dados.
Dentro de Grade h um mapeamento de possveis servios para fornecedores de
servio disponveis, e h algoritmos para designar a carga de trabalho e os recursos
apropriadamente.
O resultado: os usurios finais no tm necessidade nem capacidade de saber de
onde seus recursos de computao so realmente fornecidos. A analogia, que sempre
feita com o fornecimento de eletricidade domstica, fornecida sob demanda, e o
proprietrio da casa no tem como dizer qual estao de energia est lhe servindo no
momento. A Grade no exclusivo para o Oracle. No nvel fsico, alguns sistemas
operacionais e fornecedores de hardware fornecem recursos similares a Grade. Eles
incluem a habilidade de particionar servidores em mquinas virtuais e adicionar ou
remover dinamicamente CPU(s) e memrias RAM das mquinas virtuais de acordo
com a demanda. Isso conceitualmente similar abordagem da Oracle de dinmica
de designer recursos de servidor de aplicativo e servidor de banco de dados a servios
lgicos. No h razo para que as duas abordagens no sejam combinadas. Ambas
esto trabalhando para o mesmo objetivo e podem trabalhar juntas. O resultado deve
ser um ambiente onde recursos adequados esto sempre disponveis sob demanda,
sem encarar os problemas de excesso de capacidade algumas vezes e mau desempenho
em outras. Tambm possvel desenvolver um ambiente Grade sem nenhum ponto
de falha, atingindo assim a meta de 100% de tempo em funcionamento mesmo que
esteja sendo demandando por muitos usurios.
O desenvolvedor de aplicativo SQL no precisa saber como a Grade foi
implementada. O SQL ser invocado a partir de um servidor de aplicativo e
executado por uma instncia contra um banco de dados: a Grade garantir que
a qualquer momento, pools de servidores de aplicativo e instncias medidas
apropriadamente para a carga de trabalho atual estejam disponveis.
(;(5&&,2
Investigue seu Ambiente de Banco de Dados e de Aplicativo
Esse um exerccio impresso em papel, sem uma soluo especfica.
Tente identificar os processos de usurio, servidores de aplicativo e servidores
de banco de dados utilizados em seu ambiente. Tente verificar onde o SQL est
sendo gerado e onde est sendo executado. Tenha em mente que, normalmente,
os processos de usurio utilizados pelos usurios finais sero grficos e passaro
frequentemente por servidores de aplicativo; a administrao do banco de dados
e o pessoal de desenvolvimento sempre preferiro utilizar ferramentas de cliente/
servidor que se conectam ao servidor de banco de dados diretamente.
10
2%-(7,926'$&(57,),&$d2