Escolar Documentos
Profissional Documentos
Cultura Documentos
Administração de Banco de Dados Oracle
Administração de Banco de Dados Oracle
Maro 2006
"
NDICE
INTRODU O!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " #ANCO DE DADO$ RE%ACIONA%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " CONCEITO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! " $&% ' %IN(UA(EM DE )E$&UI$A E$TRUTURADA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! * OUTRO$ CONCEITO$ DE #ANCO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + #ANCO DE DADO$ DI$TRI#UDO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + DATA ,ARE-OU$E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! + RE)%ICA O DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! . ATRI#UI/E$0RE$)ON$A#I%IDADE$ DE UM D#A 1DATA#A$E ADMINI$TRATOR2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! . AR&UITETURA ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 3 E$TRUTURA$ 4$ICA$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 50 IN$T6NCIA ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 55 O#JETO$ DO #ANCO DE DADO$ ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 55 )ROCE$$ANDO COMANDO$ $&%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 57 DATA#A$E #U44ER CAC-E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 57 $E(MENTO$ DE RECON$TRU O8 O 9DE$4A:ER9 DO ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5" O$ )ROCE$$O$ ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5* )RINCI)AI$ )ROCE$$O$ DE $E(UNDO )%ANO 1#AC;(ROUND )ROCE$$2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5* CON4I(URA/E$ DE $ER<IDORE$ DE #ANCO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 56 $ER<IDOR MU%TI%INEAR 1MU%TI'T-READED2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5+ $ER<IDOR DEDICADO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5. %O( DE TRAN$A/E$ 1%O( DE RECON$TRU O8 REDO2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5. REDO %O( 4I%E$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 5. %O( $,ITC-E$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 53 C-EC;)OINT$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 53 O AR&UI<O DE )AR6METRO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 20 E=ERCCIO I!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 22 INICIA%I:ANDO E TERMINANDO UM #ANCO DE DADO$ ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 22 INICIA%I:ANDO 1$TARTU)2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 22 TERMINANDO UM #D ORAC%E 1$-UTDO,N2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 27 A%TER DATA#A$E8 A%TERANDO O E$TADO DO #ANCO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 27 A%TER $>$TEM8 RE$TRIN(INDO O ACE$$O!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2" (ERENCIADO O E$)AO DO #ANCO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2* COM)ONENTE$ DE UM #%OCO ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 26 CONTRO%ANDO O E$)AO %I<RE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 26 E$TUDANDO A$ TA#%E$)ACE$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 26 CRIA O DE TA#%E$)ACE$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2+ A%TERANDO UMA TA#%E$)ACE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2+ DE%ETANDO UMA TA#%E$)ACE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2. CRIANDO $E(MENTO$ DE RECON$TRU O 1RO%%#AC; $E(MENT$2!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 2. CRIANDO UM #ANCO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 23 A%TERANDO UM #ANCO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 70 IN$TA%A O DO ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 70 O AR&UI<O DE )AR6METRO$8 E$TUDANDO O$ )AR6METRO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 70 CRIA O E (ERENCIAMENTO DE U$U?RIO$ DO #ANCO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 75 A%TERANDO UM U$U?RIO DO #ANCO DE DADO$ ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 72 DE%ETANDO UM U$U?RIO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 77 )RI<I%@(IO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 77 COMANDO (RANT!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 7" COMANDO RE<O;E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 7"
A(RU)ANDO )RI<I%@(IO$8 ARO%EB!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! <I$/E$ 1<IE,C$2 DO DICION?RIO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #AC;U) E RECO<ER> DO #ANCO DE DADO$!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #AC;U) COM)%ETO 1A4U%%B2 O44%INE!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! RE$TAURANDO 1RECO<ER>2 DO #D!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! MODO$ DE AR&UI<AMENTO ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! -A#I%ITANDO0DE$A#I%ITANDO O MODO DE AR&UI<AMENTO!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #AC;U) ON%INE )ARCIA%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! E=)ORT0IM)ORT0%OAD DO ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! U$ANDO A #ARRA DE 4ERRAMENTA$ ADMINI$TRATI<A$ DO ORAC%E!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ORAC%E NA INTERNET!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! #I#%IO(RA4IA!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
INTRODU O
%ste material & uma s'ntese da (ntroduo e Administrao de )anco de *ados +racle, e -isa transmitir aos administradores do banco de dados +racle con.ecimentos b/sicos 0ara o gerenciamento/administrao do mesmo.
CONCEITO$
<o estudo de banco de dados con-&m sabermos algumas de1ini=es im0ortantes> Tabelas 8 So as unidades b/sicas de um S6)* 7elacional. ? 1ormada 0or lin.as e colunas, onde as lin.as re0resentam os registros e as colunas os cam0os da tabela. So muito con.ecidas como Tabelas8)ase. %@em0lo> CodABuncionario CodA*e0artamento <omeABuncionario *ataA<ascimento 8 CCA73 #4 8 CCA73 D4 8 EA7CCA7"3! 4 8 *AT%
Colunas 8 Um nome de coluna & o nome 2ue o usu/rio in1ormar/ 0ara re0resentar os -alores de dados 2ue sero entrados sob cada coluna. Lin.as 8 So os registros da tabela. Ealores de dados 8 So os -alores encontrados na interseo de uma coluna e uma lin.a. C.a-e 0rim/ria 8 Uma ou mais de uma coluna 2ue identi1ica uma lin.a, 1acilitando em muito o acesso aos dados. Eiso ou Tabela Eirtual3Eiew4 8 ? uma tabela 1ormada 0or uma 0es2uisa em uma ou mais tabela8base. %la no e@iste, mas 0arece ao usu/rio como se e@istisse. Toda tabela num banco de dados relacional tem 2ue 0ossuir uma C.a-e Prim/ria. As tabelas 0odero tamb&m ter c.a-es estrangeiras, 2ue so cam0os 2ue relacionam as tabelas do banco de dados, 1azendo re1erFncia entre uma e outra tabela.
%inDuaDem de DeIiniJo de Dados 1DD%2 Tem como ob5eti-o de1inir, alterar e eliminar as tabelas usadas 0ara armazenar os dados. C7%AT% TA)L%, C7%AT% E(%H, so comandos de de1inio de dados, dentre outros. EKemLlo> Criao de Tabelas %m S;L as tabelas 0ossuem a 1uno de armazenar os dados do )anco de *ados. + comando 0ara criao de tabelas no S;L & o C7%AT% TA)L%. %@em0lo de C7%AT% TA)L%> C7%AT% TA)L% TABuncionario 3codA1uncionario EA7CCA73"4, nomeA1uncionario EA7CCA73$ 4, endA1uncionario EA7CCA73! 4, C+<ST7A(<T 0IA1uncionario P7(9A7J K%J 3condA1uncionario4, TA)L%SPAC% STA1uncionarioL
%inDuaDem de ConFrole de Dados 1DC%2 A *CL cont&m elementos 2ue sero Mteis num sistema multiusu/rio, onde a 0ri-acidade das in1orma=es & im0ortante, bem como a segurana das tabelas e o estabelecimento de 1ronteiras entre as transa=es. +s comandos 67A<T e 7%E+K% so alguns dos comandos utilizados 0ara o controle de dados.
%inDuaDem de ManiLulaJo de Dados 1DM%2 %sta linguagem cont&m os com0onentes da linguagem e conceitos 0ara a mani0ulao das in1orma=es armazenadas nas tabelas. +s comandos S%L%CT, UP*AT%, (<S%7T, bem como outros, so comandos de mani0ulao. + Comando mais utilizado na linguagem S;L 0ara mani0ulao dos dados & o S%L%CT. Com ele & 2ue 0roduzimos as N;ueriesO, ou se5a, as 0es2uisas no )anco de *ados. EKemLlos8 Selecionando *ados a4 S%L%CT P B7+9 ALU<+L 7etorna todas as lin.as e todas as colunas da tabela ALU<+. b4 S%L%CT 9AT7(CULA, <+9%AALU<+ B7+9 ALU<+L 7etorna todas as lin.as das colunas matr'cula e o nome do aluno da tabela ALU<+. c4 S%L%CT 9AT7(CULA, <+9%AALU<+ B7+9 ALU<+ HC%7% <+9%AALU<+ Q RS+A+ *A S(LEATL 7etorna a matr'cula e o nome do aluno 2ue ten.am nome igual a S+A+ *A S(LEA. d4 S%L%CT 9AT7(CULA B7+9 CU7SA HC%7% 33<+TA1U<+TA"U<+TA$4/$4 V W A<* C*A*(SC(PL(<A Q RP+7TTL 7etorna a matr'cula de todos os alunos 2ue obti-eram m&dia acima de sete na disci0lina P+7T. e4 S%L%CT AE63SALA7(+4 B7+9 %9P7%6A*+L 7etorna a m&dia dos sal/rios dos 1uncion/rios da tabela.
OHs!8 52 A Sinta@e com0leta do comando S%L%CT encontra8se no manual de re1erFncia de S;L da +7ACL%. 22 Podemos usar o comando Select 0ara acessar dados de duas ou mais tabelas, ao mesmo tem0o> S%L%CT C+*A%9P7%6A*+, <+9%A%9P7%6A*+, SALA7(+A%9P7%6A*+ B7+9 BU<C(+<A7(+, SALA7(+ HC%7% BU<C(+<A7(+.C+*A%9P7%6A*+ Q SALA7(+.C+*A%9P7%6A*+L %sta N;uer:O acima retorna os dados da tabela BU<C(+<A7(+ 3C+*A%9P7%6A*+ e <+9%A%9P7%6A*+4 e da tabela SALA7(+ 3SALA7(+A%9P7%6A*+4.
DATA ,ARE-OU$E
%m sua 1orma essencial, um data ware.ouse & um re0ositGrio 0ara in1orma=es organizacionais. Pode incluir tabelas relacionais geradas 0elos sistemas de controle e acom0an.amento, dados consolidados altamente estruturados, documentos e ob5etos multim'dia. Tamb&m 0odem ser enca0suladas regras de negGcio. Sem dM-ida, uma soluo data ware.ouse de-e ser aberta, escal/-el, com -elocidade e 1acilidade de acesso, e de-e ser gerenci/-el. *ada a tendFncia da indMstria 0ara a distribuio de recursos e o dese5o de maior controle e acessabilidade, uma soluo de-e ser 0ro5etada 0ara o0erao geogra1icamente distribu'da ao longo das unidades de negGcio da cor0orao. Bacilidade de instalao, a5ustes, gerenciamento, controle e intero0erabilidade so 0ontos cr'ticos, 0articularmente em um ambiente distribu'do. *ata ware.ouse & uma ar2uitetura, no um 0roduto, e no de-e ser associada com um re0ositGrio de dados es0ecializado, tal como um sistema de gerenciamento de dados multidimensional, e 0ode, de 1ato, ser 0er1eitamente .os0edado em um sistema de gerenciamento de dados relacional, 2ue 0ro-F uma base mais sGlida sobre a 2ual se construir/ as a0lica=es 2ue alimentaro o re0ositGrio de dados. 9ais im0ortante 2ue a 1erramenta 0ara .os0edar o re0ositGrio & o con5unto de a0lica=es e 1erramentas 2ue com0=em as in1orma=es organizacionais. *ata ware.ouse & uma 1orma de uni1icar e 1acilitar o acesso a todas as in1orma=es de 2ue os membros de uma cor0orao necessitam 0ara a e@ecuo, controle e 0lane5amento de ati-idades de negGcio. A construo do re0ositGrio & conse2XFncia da Administrao de *ados, 2ue & res0ons/-el 0ela elaborao de um modelo global de dados 0ara a cor0orao, 2ue normalmente surge como resultado da integrao dos sistemas de transa=es on line. Para o usu/rio, as0ectos im0ortantes so as 1erramentas de 2uer: e an/lise de dados, bem como o grau de integrao com as
1erramentas de automao de escritGrio, 2ue corres0ondem ao dia8a8dia dos usu/rios cor0orati-os. 9uitos -endedores consideram gerenciadores de banco de dados es0ecializados 0ara data ware.ouse, mas esses desconsideram as mel.orias da tecnologia relacional nas /reas de 0rocessamento e otimizao em 0aralelo de 2ueries, bem como a integrao com 1erramentas de acesso, modelagem, a0resentao e an/lise, tais como as 0lanil.as eletrYnicas e bancos de dados de mesa. + +racle Hare.ouse su0orta al&m de dados estruturados da 1orma relacional, outros ti0os de dados, como 0or e@em0lo, te@tos desestruturados, dados es0aciais, -'deo, ... A 0ro0osta do +racle Hare.ouse & a de 0ossibilitar o gerenciamento dos dados da em0resa, inde0endente da origem dos dados, ou se5a, se so dados .istGricos, de 0roduo, etc.
RE)%ICA O DE DADO$
+ +racle 0ermite a re0licao dos dados, isto &, cG0ias de tabelas dos bancos de dados 0odem ser instaladas nas unidades regionais da em0resa, -isando assim a ra0idez no acesso aos mesmos 3e-ita o tr/1ego na rede4.
ATRI#UI/E$0RE$)ON$A#I%IDADE$ ADMINI$TRATOR2
DE
UM
D#A
1DATA#A$E
+ *)A & o administrador do banco de dados +racle e tal 1uno, geralmente & e@ercida 0or um Analista de Sistemas com alguma 1ormao/e@0eriFncia em )anco de *ados. *i-ersas ati-idades de administrao do S6)* +racle, de-em ser e@ercidas 0elo3s4 *)A3s4. *entre elas destacamos> (nstalar e 1azer o U0grade do +racle Ser-er e das 1erramentas di-ersas da +racleL 8 Criar as estruturas e ob5etos 0rim/riosL 8 Plane5ar/calcular, bem como, dis0onibilizar o es0ao necess/rio 0ara o )anco de *ados +racleL 8 9odi1icar a estrutura do banco , 2uando necess/rioL 8 Criar, deletar, dar/remo-er 0ri-il&gios, en1im, gerenciar os usu/rios do bancoL 8 6erar cG0ias de segurana 3)acIu0Ts4 e recu0erar o banco +racleL 8 9anter a segurana do sistema, controlando o acesso ao banco de dados utilizando os recursos de segurana do sistema o0eracional, do sistema de rede e do +racleL 8 9onitorar e otimizar a 0er1ormance do )anco de dados.
AR&UITETURA ORAC%E
+ *)A de-e con.ecer a ar2uitetura +racle, isto &, como o +racle Ntrabal.aO, tendo assim subs'dios 0ara a administrao do3s4 banco3s4.
A ArEuiFeFura OraMle
InsFNnMia OraMle
CKPT DBWR
Shared Pool
$(A
Redo %oD
9emGria 7A9
[rea em disco
ConFrol 4iles
UsuRrio
)arameFer 4ile
E$TRUTURA$ 4$ICA$
+ )anco de *ados +racle & com0osto 0or $ ti0os de estruturas 1'sicas 3ar2ui-os4> *ados 3data 1iles4L Controle 3control 1iles4L Log 3redo log 1iles4 e Par\metros 30arameter 1ile4. Data files ^ Cont&m todos os dados do banco. %struturas lGgicas, tabelas, 'ndices, -is=es e outros ob5etos so armazenados nestes ar2ui-os. Um ou mais data 1iles 0odem com0or uma tables0ace 3ob5eto lGgico 2ue armazena os ar2ui-os de dados4. Control files ^ Ar2ui-os 2ue armazenam in1orma=es sobre as estruturas 1'sicas do banco de dados 3nome, localizao, ...4. Todos os data 1iles e redo log 1iles so identi1icados no control 1ile, bem como o nome do banco de dados. 7ecomenda8se 2ue se ten.a no m'nimo dois Control Biles, armazenados em discos di1erentes 3se 0oss'-el4. Redo log files ^ Ar2ui-os 2ue guardam todas as altera=es e1etuadas nos dados das tabelas do banco e so utilizados 0ara recu0erao destas. Para garantir uma boa recu0erao cada redo log 1ile de-e Ter no m'nimo uma r&0lica. Um con5unto de redo log 1iles iguais recebe o nome de gru0o, e um gru0o & 1ormado 0or membros 3redo log 1ile original e suas r&0licas4. Ao terminar o es0ao dis0on'-el nos membros de um gru0o redo log, a gra-ao continua nos membros do gru0o seguinte 3log switc.4. + gru0o anterior 1ica ento dis0on'-el 0ara Ter seu conteMdo co0iado 0ara outro local 3arc.i-e log 1iles4, 0ois, ao terminar o es0ao no Mltimo gru0o, o 0rocesso ir/ reutilizar o 0rimeiro, sobregra-ando8o. Al&m dos $ ti0os de ar2ui-os citados acima temos tamb&m o Parameter 1ile ^ Para inicializar uma inst\ncia, o +racle de-e ler um ar2ui-o de 0ar\metros de nome 0adro init_nomeAdaAinst\nciaV.ora. %ste ar2ui-o & do ti0o te@to e cont&m di-ersos 0ar\metros de con1igurao associados a uma inst\ncia, aos 2uais de-em ser atribu'dos -alores es0ec'1icos. +s -alores dos 0ar\metros sero utilizados 0ara inicializar muitas das con1igura=es de memGria e 0rocessos da inst\ncia +racle. Cada inst\ncia tem seu ar2ui-o de 0ar\metros 2ue de1ine as 0articularidades de cada ambiente.
11
IN$T6NCIA ORAC%E
InsFNnMia OraMle
CKPT DBWR
Shared Pool
DaFaHase Redo %oD $(A $PsFem (loHal Area #uIIer CQaMe #uIIer
9emGria 7A9
A cada inicializao do banco +racle, 0arte da memGria 7A9 do com0utador & alocada 0ara a S6A 3S:stem 6lobal Area4 e 0rocessos +racle de segundo 0lano 3)acIground Process4 so inicializados, -isando controlar o banco. %nto uma (nst\ncia +racle 3(nstance4 & o con5unto da S6A 3bu11ers da memGria 7A94 U 0rocessos +racle de segundo 0lano 3)acIground4, 2ue 5untos o1erecem aos -/rios usu/rios o acesso ao banco de dados. %@iste um banco de dados 0ara cada instance, e & 0oss'-el criar em um mesmo e2ui0amento mais de uma instance, sendo, 0or e@em0lo, uma 0ara conter um banco de dados de 0roduo e outra 0ara conter o banco de dados de teste. <este caso, .a-er/ 0rocessos sendo e@ecutados em bacIground es0ec'1icos 0ara cada instance e uma /rea de memGria inde0endente utilizada em cada instance. +bs.> 14S6A ^ 9emGria com0artil.ada 0or todos os usu/rios +racle. "4(nst\ncia 3instance4 Q S6A U Processos N)acIgroundO $4? no ar2ui-o de 0ar\metros 30arameter 1ile4 2ue determinamos as caracter'sticas da inst\ncia 3instance4
1"
<isJo ou TaHela <irFual1<ieS2 8 ? uma tabela 1ormada 0or uma 0es2uisa em uma ou mais tabela8base. %la no e@iste, mas 0arece ao usu/rio como se e@istisse. 9uitas -ezes o acesso aos dados e@igem N2ueriesO com0le@as. Um usu/rio 0ode construir uma -iso 2ue conten.a uma certa com0le@idade e dis0onibiliz/8la 0ara usu/rios 1inais e 0rogramadores, 2ue 1aro N2ueriesO mais sim0les sobre esta Eiso. EocF estar/ ento, retirando a com0le@idade da na-egao de uma a0licao ou de um usu/rio no acesso aos dados. UsuRrio 8 So as 0essoas 2ue iro acessar o )* +racle. Possui nome e sen.a 0ara o acesso 3`login`4. Cabe ao *)A criar, modi1icar e e@cluir os usu/rios do )*. Role 8 Agru0amento de 0ri-il&gios, ou se5a, em uma role 0odemos agru0ar di-ersos 0ri-il&gios e conceder aos usu/rios, no mais os 0ri-il&gios e sim as roles.
Usurio1
Usurio2
Usurio3
Usurio1
Usurio2
Usurio3
ROLE$"M
Sele t
!nsert
RoFinas armaTenadas 1$Fored )roMeduresU 4unMFions e TriDDers2 8 So gru0os de comandos S;L 2ue 0odero ser ati-ados 0elos usu/rios. Uma `Bunction` retorna um -alor sem0re, en2uanto 2ue as `Procedures` no. As Triggers 3gatil.os4 so tamb&m rotinas armazenadas 2ue so e@ecutadas 3dis0aradas4 2uando ocorre algum e-ento modi1icando alguma tabela 3%@. Ao clicar o boto ...4 ndiMes 8 ;uando criamos 'ndices 0ara uma tabela, es0eci1icando uma coluna, tal tabela & classi1icada de tal 1orma 2ue, sem0re 2ue 1or mencionada uma 2uer:, o sistema usar/ o 'ndice 0ara Ter acesso direto aos dados dese5ados, ao in-&s de -ascul.ar a coluna toda. + ob5eti-o da criao de 'ndices & agilizar a recu0erao de dados, ou se5a, acelerar a 0rocura dos dados na tabela. TaHlesLaMe 8 +b5eto lGgico 2ue guarda os ar2ui-os de dados do )* +racle. Con-&m, antes de de1inir o taman.o da Tables0ace, 1azer uma estimati-a do 2uanto de es0ao em disco ser/ necess/rio 0ara alocar os ob5etos 3tabelas, 'ndices, ...4. %ntretanto, 0odemos aumentar o taman.o da Tables0ace, adicionando data1iles 3ar2ui-os de dados4 a mesma.
1$
1!
%@em0lo> ;uando uma transao inclui uma instruo 0ra atualizar uma lin.a o +racle manda 0ara o database bu11er cac.e o bloco 2ue cont&m a lin.a, atualizando a lin.a logo em seguida. Se outra transao 2uiser atualizar a mesma lin.a, ou outra 2ue est/ no mesmo bloco, no ser/ necess/rio outro acesso a disco, 0ois a lin.a 5/ est/ no database bu11er cac.e 3memGria4.
1D
O$ )ROCE$$O$ ORAC%E
CKPT DBWR
Shared Pool
DaFaHase Redo %oD $(A $PsFem (loHal Area #uIIer CQaMe #uIIer
9emGria 7A9
+s 0rocessos +racle e@ecutam tare1as es0ec'1icas 0ara os usu/rios do banco de dados. Tais 0rocessos trabal.am no sentido de mani0ular as solicita=es en-iadas 0elos 0rocessos de clientes e o0eram as di-ersas 1un=es de um ser-idor de banco de dados +racle. + +racle distingue os 0rocessos de ser-idor de 0rimeiro 0lano dos de segundo 0lano. +s 0rocessos de 0rimeiro 0lano mani0ulam diretamente as solicita=es dos 0rocessos de clientes, en2uanto os 0rocessos de ser-idor de segundo 0lano mani0ulam outros ser-ios do +racle. Buncionamento de um sistema Cliente/Ser-idor +racle> 14Processo cliente en-ia solicitao 0ara o ser-idor +racle. Um 0rocesso des0ac.a 3*is0atc.er4 o mesmo 0ara uma 1ila de solicita=es. "4 Um 0rocesso de ser-idor de 0rimeiro 0lano 0ega a solicitao mais antiga, 0rocessando8a. Ao terminar o 0rocessamento, coloca o resultado numa 1ila de res0ostas. $4+ *is0atc.er gerencia a 1ila de res0ostas, en-iando o resultado de cada solicitao 0ara o 0rocesso cliente 2ue 1ez a solicitao. A 2uantidade de 0rocessos de ser-idor de 0rimeiro 0lano & a5ustada automaticamente 0elo +racle. *e acordo com a necessidade o +racle inicia/encerra 0rocessos de ser-idor de 0rimeiro 0lano, -isando atender as solicita=es dos clientes.
)RINCI)AI$ )ROCE$$2
)ROCE$$O$
DE
$E(UNDO
)%ANO
1#AC;(ROUND
*)H7 3*atabase Hriter4 ^ 6ra-a os dados do *atabase )u11er Cac.e 0ara os ar2ui-os 1'sicos do )anco de *ados 3data1iles4. + *)H7 no 1az esta gra-ao imediatamente a0Gs a e1eti-ao das transa=es. Tal e-ento acontece 2uando> um 0rocesso ser-idor 0recisa ler um no-o bloco 0ara a memGria e no e@iste es0ao dis0on'-el, ou ele est/ ocioso 0or alguns segundos, ou ;uando o +racle e1etua um C.ecI0oint do )anco de *ados ou da Tables0ace.
1#
L6H7 3Log Hriter4 ^ 6ra-a in1orma=es de altera=es e1etuadas sobre o )* do redo log bu11er 0ara os redo log 1iles. A7CC 3Arc.i-er4 ^ ? o0cional. Co0ia automaticamente gru0os de log de transa=es 3redo log 1iles4 0ara um outro local 1'sico 3gerando os arc.i-es redo log 1iles4. Pode ser 0ara 1ita ou 0ara disco. LCKn 3LocI4 8 Baz blo2ueios 3LocIds4 entre inst\ncias em ser-idores 0aralelos. P9+< 3Process 9onitor4 ^ 7ealiza todo o 0rocesso de recu0erao 0ara um 0rocesso de usu/rio 2ue ten.a 1al.ado. Por e@em0lo, se cair a cone@o de um usu/rio com o +racle, o Process 9onitor ir/ des1azer a transao 2ue caiu, liberando os locIds da transao, liberando assim o acesso de outras transa=es aos mesmos dados. S9+< 3S:stem 9onitor4 ^ %@ecuta di-ersas o0era=es de gerenciamento do es0ao a medida 2ue as transa=es liberam mais es0ao 0ara dados do )*. 7%C+ 37eco-erer4 ^ 7ecu0era 1al.as 2ue en-ol-am transa=es distribu'das. CKPT 3C.ecI0oint4 ^ Baz 0eriodicamente uma -eri1icao 3c.ecI0oint4, 0ara se certi1icar de 2ue todas as in1orma=es modi1icadas na memGria esto armazenadas 1isicamente no disco. Tem a 1uno de marcar o 2uanto o log de transa=es 0recisar/ a0licar , caso o sistema -en.a a e@igir uma recu0erao 0or 2ueda. Somente as mudanas 0ro-ocadas 0elas transa=es a 0artir do Mltimo C.ecI0oint sero a0licadas 0ois o +racle sabe 2ue os dados 1oram gra-ados no disco 3anteriores ao Mltimo C.ecI0oint4. Atualiza os N.eadersO de todos os ar2ui-os 1'sicos do )*. *nnn 3*is0atc.er4 ^ *ireciona 0ara a 1ila de solicita=es, as solicita=es dos 0rocessos cliente, e tamb&m, retorna 0ara os clientes as res0ostas 2ue esto na 1ila de res0ostas. Um nMmero limitado de 0rocessos ser-idores so com0artil.ados 0elos usu/rios 3con1igurao multi8t.readed4.e
1W
4ila de $oliMiFaVes
$(A
4ila de ResLosFas
DaFa Iiles
OuGinFe 3Listener4
Cada estao cliente usa um 0rocesso Cliente. + +racle usa a ar2uitetura de ser-idor multilinear ^ 2ue en-ol-e os 0rocessos des0ac.antes 3*is0atc.ers4, ou-inte 3listener4 e ser-idor 3s.ared ser-er4 ^ 0ara atender as solicita=es dos di-ersos clientes. *uas 1ilas so 1ormadas> 1ila de solicita=es 37e2uest ;ueue4 e 1ila de res0ostas 37es0onse ;ueue4. ;uando uma a0licao cliente estabelece uma cone@o com o +racle, o listener 1ornece o endereo de rede de um 0rocesso *is0atc.er, com o 2ual o cliente se conecta. + *is0atc.er ento 0ega a solicitao do cliente e coloca8a na 1ila de solicita=es. As solicita=es so 0rocessadas e os resultados so inseridos na 1ila de res0ostas. A 0artir da' o *is0atc.er retorna os resultados 0ara as a0lica=es clientes ade2uadas.
1Z
$ER<IDOR DEDICADO
$(A
Usu/rio
Datafiles
;uando uma a0licao cliente se conecta ao +racle, o 0rocesso ou-inte inicializa um 0rocesso ser-idor dedicado e conecta o cliente diretamente ao ser-idor dedicado, ignorando a ar2uitetura de ser-idor multilinear. Como um ser-idor dedicado consome uma 2uantidade signi1icati-a de memGria do ser-idor de banco de dados 0ara a0enas um usu/rio, os ser-idores dedicados no de-e ser usados 0ara as cone@=es de a0lica=es clientes, a menos 2ue absolutamente necess/rio.
1]
(ruLo 2
%oD 4ile MemHro 2
(ruLo 7
%oD 4ile MemHro 7
+s 7edo Log Biles armazenam todas as altera=es no )anco de *ados, e so usadas em um 0rocesso de recu0erao. Se os 7edo Log Biles so es0el.ados em -/rios discos, as mesmas in1orma=es so gra-adas nos ar2ui-os es0el.ados. +s 7edo Log Biles so gra-ados de maneira circula, con1orme 1igura acima. Com o es0el.amento dos 7edo Log Biles 0elos discos, todos os gru0os de membros so gra-ados simultaneamente. A -antagem do es0el.amento & 2ue se, 0or e@em0lo, algum 0roblema em um disco, tem8se a cG0ia em outro.
%O( $,ITC-E$
Um Log Switc. 3troca de log4 ocorre 2uando o +racle troca de um redo log 0ara outro. %n2uanto isto o ser-idor 1ica gra-ando no-as transa=es em outro gru0o de log.
C-EC;)OINT$
Processo 2ue -eri1ica se as Mltimas transa=es 2ue esto na memGria 5/ 1oram gra-adas 1isicamente em disco. +corre 2uando> Acontece um Log Switc.L 8 *urante um inter-alo de tem0o 3de1inido no 0ar\metro LogAC.ecI0ointATimeout do ar2ui-o de 0ar\metro4L Acontece um S.utdownL + *)A 1ora um C.ecI0ointL e ;uando a Tables0ace & 0assada 0ara +11line.
"
&
.abilitado
atra-&s
do
0ar\metro
C.ecI0ointAProcess
O AR&UI<O DE )AR6METRO$
<o ar2ui-o de 0ar\metros & 2ue de1inimos os 0ar\metros de inicializao da inst\ncia +racle. %@em0lo 3sistema Uni@4> f Parameter 1ile 0ara o database 0b1 3%@em0lo4 f f f <ome do )anco de *ados dbAname Q 0b1 f Com0atilidade com as caracter'sticas da -erso W.$." com0atible Q W.$." f Localizao dos control1iles controlA1iles Q 3/0rd$/oracle/0b1/dbs/control 1.ctl, /0rd!/oracle/0b1/dbs/control ".ctl, /0rdD/oracle/0b1/dbs/control $.ctl4
f %s0eci1icao dos Segmentos de 7econstruo 37ollbacI Segments4 rollbacIAsegments Q 3r 1,r ",r $,r !4 f *e1inio do taman.o da S6A do )anco f f S6A Q g3 dbAblocIAsize P dbAblocIAbu11ers4 U s.aredA0oolAsize U logAbu11ers e dbAblocAsize Q " !Z s.aredA0oolAsize Q ] f "I f $D f# f] f 1Z f DD f $" logAbu11er Q 1#$Z! )* Pe2ueno )* 9&dio )* 6rande )* com *esigner/" f" )* Pe2ueno )* 9&dio )* 6rande
dbAblocIAbu11ers Q $"
"1
f Parametros de a5uste dos redologs 1iles logA1iles Q $ f <um. *e redo logs 2ue 0odem ser abertos f limitado 0elo 0arametro ma@log1iles do create database f 2ue indica o num. 9/@imo de gru0os de redolog 1iles f o0cao 0or desem0en.o. <unca um c.ecI0oint ser/ f dis0arado 0or Ter atingido este limite 31 mil blocos f de D1" gra-ados, desde o Mltimo c.ecI0oint4. f -alor de1ault 3em segundos4. f utilizacao de arc.i-ing automatico
logAc.ecI0ointAinter-al Q 1
f Localizao dos ar2ui-os de arc.i-ed redologs, trace e log. f Trace 3dum04 dos 0rocessos bacIground, de usu/rios logAarc.i-eAdest Q /0rdD/oracle/0b1/arc./A logAarc.i-eA1ormat Q `7CChs.log` bacIgroundAdum0Adest Q /0rd"/oracle/0b1/bdum0 coreAdum0Adest Q /0rd"/oracle/0b1/cdum0 userAdum0Adest Q /0rd"/oracle/0b1/udum0 ma@Adum0A1ileAsize Q 1 "! f <um. de 0rocessos Q 0roc. Ser-ers U 0roc )acIgs 0rocesses Q D f D )* Pe2ueno f 1 )* 9edio f" )* 6rande
f <umero de blocos lidos 0ara memoria numa o0eracao de (/+ dbA1ileAmultiblocIAreadAcount Q $" f Z )* Pe2ueno f 1# )* 9edio f $" )* 6rande
f Parametros de con1iguracao do As:nc.ronous (/+ useAas:ncAio Q true lgwrAuseAas:ncAio Q true useA0ostAwaitAdri-er Q true f Parametrso de con1iguraL/o do ser-idor multi8t.readed f 9ultiAt.readed ser-er re2uer a instalaL/o do S;LP<et E" mtsAdis0atc.ers mtsAma@Adis0atc.ers mtsAser-ers mtsAma@Aser-ers mtsAser-ice Q Ntc0,"O Q1 Q" Q1 Q 0b1
Consulting Tecnologia & Sistemas Ltda www.consulting.com.br
""
mtsAlistenerAaddress
E=ERCCIO I
14 7es0onda abai@o> a4;uais os ar2ui-os 1'sicos 2ue com0=em um banco de dados +raclei b4Como & com0osta uma inst\ncia +raclei c4Cite, no m'nimo, ! 32uatro4 atribui=es/res0onsabilidades de um *)A d4Localize e e@iba na tela o ar2ui-o de 0ar\metros do +racle 3inst\ncia de1ault +7CL4 e4;uais os 0rocessos de segundo 0lano 3bacIground 0rocesses4 +raclei Para 2ue ser-e cada um delesi 14A S;L & a linguagem 0adro de )*. %la 0ode ser usada de dois modos. ;uais so esses modosi Bale sobre eles. g49onte uma N;uer:O 3comando S%L%CT4 2ual2uer. .4;ual o 0rinci0al ob5eti-o dos )ancos de *ados *istribu'dosi i4Bale sobre o conceito *ata Hare.ouse 54*isserte sobre D 3cinco4 ob5etos +racle
INICIA%I:ANDO 1$TARTU)2
Um 0rocesso de inicializao & com0osto de $ 0assos> STA7T, 9+U<T e +P%<. STA7T ^ + +racle lF o ar2ui-o de 0ar\metrosL aloca es0ao na memGria 0ara a S6AL NstartaO os 0rocesso de segundo 0lano 3bacIground 0rocess4 e abre os ar2ui-os de trace 3bacIground trace 1iles4. 9+U<T ^ Abre o3s4 Control3s4 Bile3s4 e lF os nomes do )anco de dados e dos 7%*+ L+6 B(L%S. +P%< ^ Abre o )anco de *ados dis0onibilizando8o 0ara as transa=es dos usu/rios. Sinta@e> STA7TUP +P%</9+U<T/<+9+U<T database %cCLUS(E%/PA7ALL%L PB(L% Q 0ar1ile 7%C+E%7/B+7C%/7%ST7(CT +nde> +P%< *is0onibiliza o )anco 0ara o acesso aos usu/rios. 9+U<T 9onta o banco 0ara ati-idades de *)A, mas no dei@a li-re o acesso ao )*. <+9+U<T Cria a S6A e NstartaO os 0rocessos de segundo 0lano, mas no dei@a li-re o acesso ao )*.
"$
%cCLUS(E% Permite 2ue somente a inst\ncia corrente se5a acessada. PA7ALL%L *is0onibiliza mMlti0las inst\ncias. PB(L%Q0ar1ile Pega do ar2ui-o de 0ar\metrso es0eci1icado 30ar1ile4 e NstartaO tal inst\ncia. B+7C% Aborta a inst\ncia 2ue est/ NrodandoO 0ara NstartarT a no-a. 7%ST7(CT Permite 2ue sG os usu/rios com 0ri-il&gio 7%ST7(CT S%SS(+< acesse o )*. 7%C+E%7 (nicia 0rocesso de 7eco-er 2uando o banco & Startado. %@> A4 SE7967VSTA7TUP testeL (nicializa o banco de dados teste. )4 STA7TUP %cCLUS(E% 9+U<T teste PB(L% inittest.oraL (nicializa o )* teste, a0enas montando8o, utilizando o ar2ui-o de 0ar\metros inittest.ora +bs.> Com o comando ALT%7 *A)ATAS% 0odemos alterar o modo de banco, ou se5a, 0odemos 0or e@em0lo a0enas mont/8lo, dei@ando em modo %@clusi-o 30ara serem 1eitas ati-idades de *)A. + banco no 1ica dis0on'-el aos usu/rios4.
OHs8 <os )ancos A0artir da -erso ] o comando 0ara inicializar ou terminar o banco & S;LPLUS /<+L+6 Connect / as s:sdba
"!
9+U<T %cCLUS(E%/PA7ALL%L +P%< +nde> *atabase 9+U<T +P%< %cCLUS(E% PA7ALL%L %@.> SE7967VC+<<%CT (<T%7<AL SE7967V ALT%7 *ATA)AS% +P%<L Libera aos usu/rios o acesso ao )*. <ome do )* a ser alterado. 9onta o )* 0ara ati-idades do *)A, mas no dis0onibiza8o aos usu/rios. Permite o acesso dos usu/rios ao )*. Permite 2ue somente a inst\ncia corrente acesse o )*. Permite 2ue -/rias inst\ncias acesse, o )*.
"D
$eDmenF 11"K
#loMos do #D
Ar2ui-o
DaFaHase
As seguintes estruturas so utilizadas 0ara o gerenciamento do es0ao do )*. %strutura )L+C+ %cT%<T S%69%<T TA)L%SPAC% *ATAB(L%S *ATA)AS% *e1inio So blocos 2ue 1icam alocados nos data1iles Com0=em o bloco do data1ile. Armazena um ou mais %cT%<TTs contendo todos os dados na TA)L%SPAC%. %strutura lGgica do +racle 2ue 0ode ter um ou mais data1iles 3ar2ui-os 1'sicos4. Ar2ui-os 1'sicos 2ue armazenam os dados do )*. Coleo lGgica dos dados com0artil.ados 32ue esto armazenados nos TA)L%SPAC%S4
"#
E$TUDANDO A$ TA#%E$)ACE$
As TA)L%SPAC%S so ob5etos lGgicos 2ue armazenam outros ob5etos do )* +racle. Cada TA)L%SPAC% 0ossui um ou mais *ATAB(L%S. Podemos colocar uma TA)L%SPAC%, no estado de +BBL(<% 3desati-ar a mesma4 com e@ ceo da TA)L%SPAC% SJST%9 30ossui o dicion/rio de dados do +racle4. A TA)L%SPAC% SJST%9 cont&m in1orma=es do dicion/rio de dados do +racle, bem como cont&m tamb&m o Segmento de 7econstruo 37+LL)ACK S%69%<T4 denominado SJST%9. +bs> a TA)L%SPAC% SJST%9 0ode conter dados de usu/rios. + uso de outras TA)L%SPAC% di1erente da SJST%9 0ermite uma maior 1le@ibilidade na administrao, 0or 0arte do *)A Tais TA)L%SPAC%S armazenam Segmentos de 7+LL)ACK, segmentos tem0or/rios, dados de a0lica=es, 'ndices, es0ao 0ara os usu/rios.
"W
CRIA O DE TA#%E$)ACE$
Sinta@e> C7%AT% TA)L%SPAC% nomeAdaAtables0ace *ATAB(L% Nes0eci1AdoAdata1ileO *%BAULT ST+7A6% cl/usulas +<L(<%/+BBL(<% +nde> <omeAdaAtables0ace ? o nome da TA)L%SPAC% a ser criada. Nes0eci1AdoAdata1ileO %s0eci1icao do ar2ui-o. Cont&m> nome do data1ile ? o nome do data1ile ou redo log 1ile. S(b% inteiro ? o taman.o do mesmo 3em K ou 9 4 7%US% Permite ao +racle reusar o ar2ui-o. *%BAULT ST+7A6% cl/usulas %s0eci1ica os 0ar\metros de1ault de armazenamento 0ara todos os ob5etos criados na TA)L%SPAC%. +<L(<%/+BBL(<% *is0onibiliza/indis0onibiliza a TA)L%SPAC%. Cl/usulas 3*%BAULT ST+7A6%4> (<(T(AL inteiro K/9 <%cT inteiro K/9 9(<%cT%<TS 9Ac%cT%<TS PCT(<C7%AS% Taman.o em b:tes do 0rimeiro %cT%<T. Taman.o em b:tes do 0rG@imo %cT%<T a ser alocado 0ara a TA)L%SPAC%. Total de %cT%<TS alocados 2uando o ob5eto 1or criado. Total de %cT%<TS, incluindo o 0rimeiro, 2ue o +racle 0ode alocar 0ara o ob5eto. Percentual de incremento 2ue o +racle aloca no-os %cT%<TS 0ara uma Tabela ou jndice.
"Z
A** *ATAB(L% 7%<A9% *ATAB(L% *%BAULT ST+7A6% +<L(<%/+BBL(<% <+79AL T%9P+7A7J (99%*(AT%
Adiciona *ATAB(L% 7enomeia um ou mais *ATAB(L%S da TA)L%SPAC%. Altera as Cl/usulas *is0onibiliza/indis0onibiliza a TA)L%SPAC%. Baz um CC%CKP+(<T 0ara todos os *ATAB(L%S da TA)L%SPAC%. Baz um CC%CKP+(<T 0ara todos os *ATAB(L%S da TA)L%SPAC%, mas no assegura 2ue sero gra-ados dados em todos eles. <o assegura 2ue os data1iles sero dis0onibilizados e no 1az o CC%CKP+(<T.
"]
+PT(9AL 1
K4L
$1
IN$TA%A O DO ORAC%E
<a instalao do +racle geralmente utilizamos o instalador da +racle, 2ue & o +racle (nstaller. Tal 0roduto tanto instala como desinstala os 0rodutos +racle. l de 1/cil utilizao 0ois basta escol.ermos os 0rodutos +racle contratados e selecionar a o0o (nstall. 30ara maiores detal.es -er 9anual de (nstalao do 0roduto4. +bs (m0ortante> Alguns 0rocedimentos 3scri0ts4 de-em ser e@ecutados a0Gs a instalao do +racle Ser-er 3como usu/rio SJS4 a4 CATAL+6.S;L Cria -is=es do dicion/rio de dados. b4 CAT%cP.S;L Cria -is=es do dicion/rio de dados 0ara o uso do %@0ort/(m0ort. c4 CATP7+C.S;L Cria tabelas e -is=es adicionais do dicion/rio de dados 0ara a o0o 0rocedural do +racle. Tais 0rocedimentos 0odem demandar de muito tem0o, 0ois 1ormam muitas estruturas de dados.
$"
s.aredA0oolAsize dbAblocIAbu11ers logAbu11er logA1iles LogAc.ecI0ointAinter-al 9a@Adum0A1ileAsize LogAarc.i-eAstart LogAarc.i-eAdest LogAarc.i-eA1ormat UserAdum0Adest )acIgroundAdum0Adest Processes S2lAtrace AuditAtrail
0ar\metro 2ue de1ine a s.ared 0ool 30ara comando S;L com0artil.ados4 nMmero de blocos armazenados na S6A nMmero de b:tes alocados 0ara o redo log bu11er na S6A nMmero de redo logds 2ue 0odem ser abertos. de1ine a 1re2XFncia dos c.ecI0oints taman.o m/@imo de blocos 0ara os ar2ui-os de trace. Cabilita ou desabilita o modo de ar2ui-amento 3arc.i-elog mode4 localizao dos arc.i-es redo log 1iles 1ormato dos arc.i-es redo log 1iles camin.o dos ar2ui-os de trace dos usu/rios camin.o onde sero gerados ar2ui-os de trace dos 0rocessos bacIground do +racle nMmero m/@imo de 0rocessos 30rocessos ser-idores U 0rocessos bacIground4 .abilita/desabilita o trace do S;L 0ara todas as sess=es de usu/rio .abilita/desabilita o Audit
+bs> Para -er os 0ar\metros usar o comando SC+H PA7A9%T%7 %@em0lo> SE7967VSC+H PA7A9%T%7 *)L SE7967VSC+H PA7A9%T%7 *%STL
$$
o es0ao na TA)L%SPAC% 1ica sem limite 0ara o usu/rio. de1ine o ar2ui-o de 0ro1ile do usu/rio.
SE7967VC7%AT% US%7 ALU<+1 (*%<T(B(%* )J aluno1 *%BAULT TA)L%SPAC% TSATreina T%9P+7A7J TA)L%SPAC% Tem0 ;U+TA D9 +< TSATreina P7+B(L% de1aultL +bs> + +racle 0ossui dois usu/rios es0eciais> o SJS e o SJST%9. + SJS & o usu/rio 0ara colocar/tirar o )* do NarO + usu/rio SJST%9 & o usu/rio administrador do )*.
$!
DE%ETANDO UM U$U?RIO
Comando> *7+P US%7 Sinta@e> *7+P US%7 nomeAusu/rio CASCA*% +nde> <omeAusu/rio CASCA*% %@> SE7967V*7+P US%7 aluno1 CASCA*%L +bs> se o usu/rio est/ conectado ele no 0ode ser deletado antes do 1im da cone@o. As Eis=es 3E(%HTs4 US%7AUS%7S, ALLAUS%7S, *)AAUS%7S, US%7ATSA;U+TAS % *)AATSA;U+TAS so -is=es do dicion/rio de dados com in1orma=es sobre os usu/rios. nome do usu/rio a ser deletado. deleta todos os ob5etos do es2uema do usu/rio 2ue est/ sendo deletado, antes de deletar o usu/rio.
)RI<I%@(IO$
<em todos os usu/rios do +racle 0odem acessar todas as tabelas do )anco de *ados. Para conceder ou re-ogar 0ri-il&gios de acesso/mani0ulao aos usu/rios o *)A utiliza os comando 67A<T e 7%E+K%. Podemos conceder/re-ogar di-ersos ti0os de 0ri-il&gios, de0endendo do usu/rio. Se um usu/rio 1inal ir/ somente consultar Tabelas, Eis=es + *)A conceder/ somente 0ri-il&gios de consulta 3S%L%CT4. %ntretanto 0ara um desen-ol-edor o *)A de-er/ dar, al&m de 0ri-il&gios de consulta, outros 0ri-il&gios 30or e@em0lo, 0ri-il&gios de Criao/Alterao de tabelas, -is=es, etc.4 Um 0ri-il&gio de sistema & um 0ri-il&gio 0oderoso 2ue, se concedido ao usu/rio, dar/ ao mesmo o direito de e@ecutar uma o0erao em n'-el de banco de dados. Cabe 0ortanto ao *)A a tare1a de de1inir 2uais usu/rios do )anco tero tais 0ri-il&gios 30odero ser outros administradores e/ou desen-ol-edores de a0lica=es4. %@em0lo> Um usu/rio com 0ri-il&gio S%L%CT A<J TA)L% 0ode consultar 2ual2uer tabela do banco. Um usu/rio com o 0ri-il&gio ALT%7 *ATA)AS% 0ode alterar a estrutura 1'sica do banco, incluindo no-os ar2ui-os. Um 0ri-il&gio de ob5etos do )* administra uma o0erao do banco de dados sobre um ob5eto es0ec'1ico do )* 3uma tabela, uma -iso, ...4.
$D
%@em0lo> Um usu/rio com 0ri-il&gio de S%L%CT na tabela SAL[7(+S, 0ode consultar a mesma. Um outro usu/rio com 0ri-il&gio de UP*AT%, na tabela SALA7(+S, 0oder/ alterar a mesma 3ao 2ue no 0oder/ ser realizada 0elo usu/rio com 0ri-il&gio de S%L%CT a0enas4.
COMANDO (RANT
Concede 0ri-il&gios aos usu/rios +racle cadastrados. Sinta@e> 67A<T _0ri-il&gioV to m usu/rio n role n 0ublic o g H(TC A*9(< +PT(+< eL %@em0los> 14 67A<T C7%AT% S%SS(+<, C7%AT% TA)L% T+ S+A+L "4 67A<T S%L%CT A<J TA)L% T+ manoelL $467A<T S%L%CT, (<S%7T, UP*AT%, *%L%T% +< TASalario T+ 5oa2uimL +bs> A o0o H(TC A*9(< +PT(+< d/ ao usu/rio o N0oderO de conceder 0ri-il&gios 32ue ele 0ossui4 a outros usu/rios.
COMANDO RE<O;E
+ comando 7%E+K% retira 3re-oga4 o 0ri-il&gio concedido atra-&s do 67A<T. Sinta@e> 7%E+K% m0ri-il&gio n role o B7+9 musu/rio n role n PU)L(C oL %@em0los> 147%E+K% S%L%CT A<J TA)L% B7+9 manoelL "47%E+K% UP*AT% B7+9 5oa2uimL
$#
Usurio1
Usurio2
Usurio3
Usurio1
Usurio2
Usurio3
ROLE$"M
Sele t
!nsert
%@em0lo> 14C7%AT% 7+L% adminAsalariosL "467A<T S%L%CT, (<S%7T, UP*AT%,*%L%T% +< TASALA7(+S T+ adminAsalariosL $467A<T S%L%CT,(<S%7T, UP*AT%, *%L%T% +< TAC+9(SS+%S T+ adminAsalariosL !467A<T adminAsalarios to USUA7(+AA, USUA7(+A), USUA7(+AC, ... <o e@em0lo acima, os usu/rios A, ) e C receberam os 0ri-il&gios da 7+L% adminAsalarios 32ue Seleciona, (nsere, Altera e %limina dados das Tabelas TASALA7(+S e TAC+9(SS+%S4. +bs.> 8 + Comando 7%E+K% 3re-oga 0ri-il&gios4 tamb&m & utilizado com 7+L%S. As 7+L%S *)A, C+<<%CT e 7%S+U7C% so 7+L%S 0adro do +racle. + *)A 0ode, 0or e@em0lo, re-ogar a 7+L% 7%S+U7C% de determinados usu/rios 3concedendo aos mesmos somente alguns 0ri-il&gios, de tal 7+L%4. %@em0lo> 147%E+K% UP*AT% +< TAC+9(SS+%S B7+9 adminAsalariosL
$W
$Z
RE$TAURANDO 1RECO<ER>2 DO #D
Passos> a4Tirar o )* do NarO 3e@ecutar um SCUT*+H< A)+7T, 0ara sair mais r/0ido4. b47estaurar o mais recente dos )acIu0Ts com0leto, incluindo todos os ar2ui-os> data1iles, redo log 1iles e control 1iles. c4(nicializar a inst\ncia no-amente. +bs> Se 1or necess/rio editar o ar2ui-o de 0ar\metros 0ara indicar o no-o camin. do3s4 control 1ile3s4, se necess/rio 3em caso de 0erda de disco4. Por de1ault, o )* 1ica no modo <+A7CC(E%L+6
$]
A7CC(E%L+6 e
<o modo A7CC(E%L+6 o +racle al&m de usar o sistema circular de 0reenc.imento no 7edo Log 1iles, ele co0ia, antes de 1azer a troca, 0ara os Arc.i-es 7edo Log 1iles 30asso administrado 0elo 0rocesso de segundo 0lano A7CC 3-er de1inio deste 0rocesso bacIground no in'cio da a0ostila4. NOARCH!'ELOG
LGWR
REDO %O( 4I%E$ S/ no modo <+A7CC(E%L+6 o +racle somente 1az as trocas, no armazenando em outros ar2ui-os.
"4+s 0ar\metros L+6AA7CC(E%ASTA7T, L+6AA7CC(E%A*%ST e L+6AA7CC(E%AB+79AT, so os 0ar\metros do N0arameter 1ileO 2ue de-em ser alterados 0ara 0assar o modo 0ara A7CC(E%L+6 32uando de um no-o STA7TUP4. %@> L+6AA7CC(E%ASTA7T Q T7U% L+6AA7CC(E%A*%ST Q diretGrio 3ou nome do dis0ositi-o4. L+6AA7CC(E%AB+79ATQnomeAdeAar2ui-o (ncluir no nome do ar2ui-o NhsO 0ara ser ane@ado no nome o nMmero da se2XFncia de log 3log se2uence number4. $4Para trocar o modo de ar2ui-amento automaticamente usa8se o comando ALT%7 SJST%9> %@> SE7967VALT%7 SJST%9 A7CC(E% L+6 STA7T T+ R/camin.o/nomeAar2ui-oT +nde> /camin.o/nomeAar2ui-o ? o nome do diretGrio/ar2ui-o onde ser/ ar2ui-ado os arc.i-es redo log 1iles. Para desabilitar o modo de Ar2ui-amento 3<+A7CC(E%L+64> A4Alterar o 0ar\metro L+6AA7CC(E%ASTA7T do ar2ui-o de 0ar\metros> L+6AA7CC(E%ASTA7T Q BALS% *a', na 0rG@ima inicializao do )* o modo de ar2ui-amento ser/ <+A7CC(E%L+6. )4Para 0arar automaticamente> SE7967VC+<<%CT SJST%9/9A<A6%7L SE7967VALT%7 SJST%9 A7CC(E% L+6 ST+PL
!1
+bs> 8 <o +racle Ser-er 0ara Hindows <T usamos a inter1ace gr/1ica do mesmo, o 2ue 1acilita muito as ati-idades do *)A em relao ao )ACKUP/7%C+E%7. + comando N c0 N utilizado acima & um comando de cG0ia do sistema U<(c.
Logo a0Gs co0ia8se os Control 1iles com o comando ALT%7 *ATA)AS% )ACKUP C+<T7+LB(L%. %@em0lo> SE7967VALT%7 *ATA)AS% )ACKUP C+<T7+LB(L% "V T+ R/tm0/dirAbacIu0/ctrltreina.ctlTL Co0iar tamb&m o3s4 ar2ui-o3s4 de 0ar\metro3s4 , usando comandos do sistema o0eracional. Al&m dos ar2ui-os acima co0iados, con-&m tamb&m ao *)A, co0iar outros ar2ui-os im0ortantes de um ser-idor de )*> Ar2ui-os es0ec'1icos de a0lica=es, como os e@ecut/-eis, cGdigo81onte, ar2ui-os de con1igurao, dentre outros. +s ar2ui-os de con1igurao 0ara o S;LP<et 3T<S<A9%S.+7A, L(ST%<%7.+7A, S;L<%T.+7A, etc.4
E=)ORT0IM)ORT0%OAD DO ORAC%E
+s utilit/rios %cP+7T e (9P+7T do +racle ser-em 0ara mo-er dados de/0ara )* +racle. + %@0ort gra-a dados de um )* +racle 0ara ar2ui-os do sistema o0eracional. S/ o (m0ort lF os dados de ar2ui-os criados 0elo %@0ort de -olta 0ara o )* +racle. + %@0ort ser-e tamb&m 0ara a criao de cG0ias su0lementares de )* -isando aumentar a 1le@ibilidade da recu0erao. Temos di-ersos modos de Ne@0ortarO> 9odo Tabela Usu/rios )anco de *ados com0leto *escrio %@0orta tabelas es0eci1icadas. %@0orta todos os ob5etos de um usu/rio. %@0orta todos os ob5etos do )*.
;uando da Nim0ortaoO alguns 0ri-il&gios o usu/rio Nim0ortadorO de-e 0ossuir> C7%AT% TA)L% e TA)L%SPAC% ;U+TA ou U<L(9(T%* TA)L%SPAC%, (<S%7T TA)L%, ALT%7 TA)L%. OHs8 <o +racle somente usu/rios com 0ri-il&gio %cPABULLA*ATA)AS% 0odem e@0orta o )* com0leto.