Sei sulla pagina 1di 7

Curso DBA Oracle 11g - Parte 1

Aulas 01 e 02

Oriens Assessoria & Solues
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Solues Ltda. http://www.oriens.inf.br
Todos os direitos reservados
2
Primeira vdeo-aula
Introduo ao curso
Ol! Seja bem-vindo ao curso de administrao de banco de dados Oracle 11g parte 1.
Antes de comearmos o curso propriamente dito, temos de definir o que significa a expresso
DBA Oracle que est no ttulo deste curso. DBA a sigla para database administrator.
E o que Oracle? um gerenciador de banco de dados relacional. Assim, um DBA Oracle um
profissional cuja funo administrar bancos de dados Oracle. Ou seja, algum responsvel
pelo banco de dados desde a sua criao. Ele deve criar o banco de dados, parametriz-lo
adequadamente ao ambiente em que ser instalado (levando em conta o servidor, o sistema
operacional e a forma de armazenamento dos arquivos fsicos, alm dos diversos recursos que
podem ser agregados ao banco de dados, como, por exemplo, memria flash), monitorar o seu
funcionamento e a performance dos diversos aplicativos que o utilizam, configurar e gerenciar
os backups, definir estratgias de contingncia e segurana de dados.
Com a srie de vdeo-aulas deste curso, vamos mostrar os contedos necessrios para o incio da
formao de um DBA. Por meio desses contedos teremos uma viso de conjunto a respeito do
que o banco de dados Oracle e daquilo que necessrio fazer para cri-lo, configur-lo e
mant-lo funcionando de forma adequada s necessidades do ambiente de produo. Veremos as
principais estruturas que compe o banco de dados e como utiliz-las para criar e gerenciar um
banco customizado para os dados que queremos armazenar e acessar a partir dele.
O nico pr-requisito deste curso o conhecimento da linguagem SQL (sigla para Structured
Query Language Linguagem Estruturada de Consulta). Essa a linguagem com a qual ns
podemos consultar e manipular as informaes armazenadas no banco de dados Oracle. Usando
SQL tambm possvel criar as principais estruturas de armazenamento de dados, que so as
tabelas. Sem o conhecimento da linguagem SQL, o DBA no dispe do meio mais fundamental
de manipulao da informao contida no banco de dados e no tem condies tambm de
recuper-la. A linguagem SQL a ferramenta mnima que permite acesso aos dados e
imprescindvel que o DBA Oracle seja capaz de domin-la.
Alm da linguagem SQL, outra ferramenta importante na administrao do banco de dados
Oracle o Enterprise Manager, uma interface visual que permite ao DBA total controle sobre as
operaes do banco de dados. Em suas verses iniciais, o Oracle Enterprise Manager facilitava
ao DBA a realizao das tarefas mais repetitivas. Hoje, com o banco Oracle cada vez mais auto-
gerencivel e realizando um nmero cada vez maior de tarefas automticas, o Enterprise
Manager tornou-se uma console de administrao e gerenciamento do banco de dados.
No decorrer deste curso, teremos oportunidades para operar o banco de dados atravs do
Enterprise Manager, tanto quanto atravs do uso direto da linguagem SQL em prompt de
comando, sempre que possvel, pois o DBA Oracle no deve ser um simples operador de
interface visual, mas precisa ter um conhecimento profundo a respeito do que se passa no banco
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Solues Ltda. http://www.oriens.inf.br
Todos os direitos reservados
3
de dados e das diversas formas de gerenci-lo para obter o melhor resultado possvel na
manipulao e na segurana da informao.
Para um melhor aproveitamento de tudo o que ser dito e demonstrado em nossas aulas,
recomendamos o download do software Oracle 11gR2, no seguinte link: http://otn.oracle.com.
No h custo de licena para estudo, mas no permitido fazer qualquer uso comercial do
software sem o devido licenciamento.
Nas prximas aulas, antes de mostrarmos como fazer a instalao do banco de dados Oracle,
vamos falar sobre a estrutura fsica e lgica do banco Oracle e, em seguida, sobre a sua
arquitetura. Estas primeiras trs aulas sero mais tericas e vo formar a base para o nosso
estudo. Depois teremos uma aula sobre a instalao do software Oracle 11g e, em seguida, outra
sobre criao do banco dados Oracle 11g. A partir da, as aulas sero tanto tericas como
prticas. Continue conosco!

Segunda vdeo-aula
Estrutura de um banco de dados Oracle
Ol! Esta a segunda aula do curso DBA Oracle 11g parte I. Vamos mostrar agora a estrutura
fsica e a estrutura lgica que compe o banco de dados Oracle.
Um banco de dados Oracle formado, primariamente, por tabelas. As tabelas so as principais
estruturas de armazenamento e de acesso aos dados. Elas so estruturas compostas de colunas,
que qualificam a informao que devem conter, e por linhas, que formam um conjunto nico e
identificvel de informao (tambm chamado de registro).
Vamos relembrar o conceito de tabela a partir de um exemplo. Vamos imaginar uma tabela
chamada CADASTRO_DE_CLIENTES em um banco de dados Oracle. Ela poder ter como
colunas: NMERO, NOME, ENDEREO, TELEFONE, E-MAIL, DATA_NASCIMENTO,
CIDADE, ESTADO. Cada uma dessas colunas qualifica a informao que contm, ou seja, cada
coluna um atributo do cliente. E o conjunto de todas essas colunas, que formam a linha,
identifica um determinado cliente.
Depois da tabela, outra estrutura chave do banco de dados Oracle o ndice. Os ndices so
estruturas ou objetos destinados a conferir maior velocidade no acesso aos dados
armazenados nas tabelas. Eles tm esse nome ndice porque, atravs de um algoritmo,
indexam os endereos das informaes contidas nas tabelas e permitem o acesso rpido a esses
endereos. Uma vez recuperado o endereo da informao no banco de dados Oracle, possvel
busc-la diretamente, sem a necessidade de fazer a varredura completa de toda a tabela
operao que pode ter um custo enorme de tempo em tabelas grandes.
Tabelas, ento, so as estruturas-chave para armazenamento de dados, enquanto os ndices so
as estruturas-chaves para maior velocidade de acesso aos dados contidos nas tabelas. Sobre as
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Solues Ltda. http://www.oriens.inf.br
Todos os direitos reservados
4
tabelas e os ndices, fundamentalmente, est assentada toda a infraestrutura dos sistemas que
utilizam o banco de dados Oracle.
Tanto tabelas quanto ndices so segmentos. O que so segmentos? So estruturas ou objetos
do banco de dados Oracle que possuem armazenamento fsico. Ou seja, ocupam espao ao serem
criados e, na medida em que as informaes vo sendo agregadas, crescem, ocupando ainda
mais espao. Eventualmente, um segmento tambm pode ser eliminado do banco de dados
Oracle e, nesse caso, o espao que ele ocupava torna-se espao livre e pode, a partir de ento, ser
aproveitado por outro segmento ainda existente.
Neste ponto, precisamos entender um conceito importante, que a forma como os segmentos
alocam espao no banco de dados Oracle. Para isso, precisamos comear definindo data blocks ou
blocos de dados. Os blocos de dados so a unidade mnima de armazenamento do banco de dados
Oracle. Seu tamanho definido na criao do banco de dados e os valores permitidos para o
tamanho de um bloco de dados so 2 Kb, 4 Kb, 8 Kb, 16 Kb ou 32 Kb. Uma vez definido o
tamanho default do bloco de dados, ele no poder ser modificado, a no ser que o banco de
dados Oracle seja recriado. Porm, possvel utilizar diferentes tamanhos de bloco de dados em
um mesmo banco de dados, ou seja, outros tamanhos alm do tamanho default do bloco de
dados. Trataremos sobre o modo de fazer isto e a utilidade dessa tcnica mais adiante em nosso
curso.
Chamamos de extents ou extenses aos conjuntos contguos de blocos de dados. E ento podemos
voltar aos segmentos e ao modo como eles alocam espao no banco de dados Oracle. Pois os
segmentos so formados por extenses, no necessariamente contguas entre si. Em uma mesma
extenso, sim, todos os blocos de dados so contguos. Quando um segmento uma tabela ou
um ndice, por exemplo criado, est ocorrendo a alocao de uma extenso um conjunto
contguo de blocos de dados para esse segmento. Quando esse mesmo segmento tabela ou
ndice aumenta de tamanho, ento novas extenses so alocadas, extenses essas que podero
no estar contguas, ou seja, podero estar distribudas no espao destinado a elas.
E onde as extenses de um segmento alocam espao? Nas tablespaces, que so as grandes
estruturas destinadas alocao de espao para os segmentos que compe o banco de dados
Oracle. No momento em que so criadas, as tablespaces tem um tamanho total pr-alocado e so
formadas unicamente por extenses livres (tambm estas com um tamanho pr-definido). Na
medida em que os segmentos so criados e, posteriormente, crescem, eles ocupam estas
extenses, que deixam de ser consideradas extenses livres e passam a fazer parte do espao
ocupado das tablespaces.
At aqui vimos as estruturas lgicas de armazenamento do banco de dados Oracle. Mas, alm
dessa hierarquia de estruturas lgicas, existem ainda as estruturas fsicas.
A primeira das estruturas fsicas que temos de ver so os datafiles ou arquivos de dados. Os
datafiles so os arquivos fsicos que correspondem s tablespaces como estruturas lgicas.
Ento, quando criamos uma tabela em um banco de dados Oracle, designamos a tablespace
onde essa tabela dever alocar espao, isto , alocar suas extenses iniciais e suas extenses de
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Solues Ltda. http://www.oriens.inf.br
Todos os direitos reservados
5
crescimento ou de aumento de tamanho. Fisicamente, porm, essa tabela estar ocupando
espao nos datafiles dessa tablespace. Portanto, as tablespaces que so uma estrutura lgica de
armazenamento so compostas de um ou mais datafiles que so estruturas fsicas de
armazenamento do banco de dados Oracle. importante dizer que, quando uma tabela ou um
ndice so criados, podemos especificar a sua tablespace, mas nunca especificamos o seu
datafile. Pois a estrutura fsica do banco de dados Oracle transparente para o DBA, que
trabalha sempre no nvel da estrutura lgica, a no ser quando se ocupa diretamente de tarefas
de manuteno das estruturas fsicas do banco de dados Oracle. Tambm preciso salientar
que, quando o DBA cria uma tabela e designa uma tablespace onde ela dever alocar espao,
essa tabela poder alocar suas extenses em qualquer um dos datafiles que compe essa
tablespace (caso a tablespace seja composta de mais de um datafile). Porm, essa tabela nunca
poder alocar extenses em outras tablespaces, alm desta onde foi criada (a exceo so as
tabelas particionadas, que vamos mencionar mais adiante neste curso).
Os datafiles so considerados a principal estrutura fsica de armazenamento do banco de dados
Oracle porque neles so armazenados os dados propriamente ditos. No entanto, mesmo em
relao ao armazenamento de dados, existem datafiles destinados a funes diferentes. Pois
existem no banco de dados as tablespaces que se destinam a armazenar dados permanentes (os
dados dos diversos sistemas que utilizam o banco de dados Oracle e os dados do Dicionrio de
Dados, que so chamados de metadados) e existem as tablespaces cuja funo fazer um
armazenamento de dados temporrio. Por exemplo, quando um conjunto de dados ordenado
(passa por uma operao ORDER BY), ele deve ser armazenado em um espao temporrio de
memria para passar pela ordenao e, depois que for classificado, ento devolvido o conjunto
final resultante de dados ao sistema ou ao usurio que requisitou essa operao. Se no houver
espao suficiente na rea temporria de memria para realizar a ordenao, ento alocado
espao na tablespace temporria para completar a operao. Ento, assim como as tablespaces
so classificadas em permanentes e temporrias, tambm os datafiles que as compe recebem a
mesma classificao. Os datafiles das tablespaces temporrias recebem o nome especial de
tempfiles.
Mas os datafiles e os tempfiles no so os nicos arquivos fsicos que compe o banco de dados
Oracle. Alm deles, tambm existem mais dois tipos de arquivos fsicos que compe o banco de
dados Oracle: so os control files e os redo log files. Vamos falar um pouco sobre eles, comeando
pelos control files. Os control files so os arquivos responsveis pelo controle do funcionamento
do banco de dados Oracle. Toda base de dados Oracle deve, obrigatoriamente, ter pelo menos 1
control file e poder ter at 8 havendo mais de 1 control file, eles serviro como redundncia
ou espelho um para o outro, pois as informaes que esto contidas nos control files e que a base
de dados periodicamente grava neles so exatamente as mesmas. So os control files que
regulam a inicializao do banco de dados Oracle (startup) e que do a informao bsica sobre
a sua derrubada (shutdown). Pois os control files informam, durante o processo de inicializao,
se o banco foi derrubado de maneira correta, sincronizadamente, de modo que tambm possa
voltar a subir de maneira correta e sincronizada. Tambm, no mesmo processo de inicializao
do banco Oracle, os control files informam onde esto os datafiles pertencentes a esse banco de
dados, de modo que todos possam ser localizados e abertos (e, caso no possam, o banco de
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Solues Ltda. http://www.oriens.inf.br
Todos os direitos reservados
6
dados tambm no poder ser aberto). Os control files contm as informaes sobre o nome da
base de dados, a data e a hora (timestamp) em que ela foi criada e os dados do ltimo checkpoint
ocorrido sobre o checkpoint, porm, e a sincronia entre os datafiles, vamos falar com mais
detalhes nas prximas aulas. Neste ponto, porm, devemos salientar que esta uma questo
muito importante e crtica do banco de dados Oracle e que deve, por isso, ser muito bem
compreendida. Por fim, sobre os control files, precisamos ainda dizer que eles no contm os
dados dos sistemas que utilizam o banco de dados Oracle como meio de armazenamento e de
acesso, mas as informaes sobre a prpria base de dados e que permitem mant-la
funcionando.
Um terceiro tipo de arquivo fsico que compe o banco de dados Oracle so os redo log files. Eles
tambm no armazenam os dados dos sistemas, como os control files. Mas os redo log files
armazenam as transaes que so executadas e confirmadas com o comando commit pelos
usurios no banco Oracle. Os redo log files, ento, so o log de transaes do banco de dados
Oracle. Qual o motivo desse armazenamento de transaes? Por que que se mantm um log
de transaes no banco Oracle? Para permitir a maior recuperabilidade das transaes que j
foram confirmadas (commit) no banco de dados Oracle. Pois os dados das transaes no so
imediatamente gravados em disco logo que essas transaes so finalizadas e confirmadas com
commit. E isso por uma questo de performance, j que o acesso aos dados em disco muito
mais lento do que o acesso aos mesmos dados em memria. Ento, como a transao j foi
confirmada com commit, mas os seus dados permanecem apenas em memria, essa transao
est sujeita a ser perdida, caso haja uma queda de banco, por exemplo. E os dados de uma
transao j confirmada no podem ser perdidos, como regra. Por isso, quando uma transao
commitada, os comandos que compe essa transao so gravados nos redo log files e eles podero
ser usados para recuperar essa transao, no caso de ocorrer algum tipo de queda, corrupo ou
perda no banco de dados Oracle antes que os dados dessa transao sejam gravados nos
datafiles. Ento, o grande objetivo dos redo log files proteger os dados das transaes
commitadas e para isso eles existem. Mais adiante falaremos com mais detalhes sobre o modo
como os redo log files trabalham no banco de dados Oracle.
Por fim, preciso mencionar a existncia dos archived log files ou, simplesmente, archives. Os
archives no so arquivos obrigatrios, como os anteriores. Quer dizer, no existe base de dados
Oracle sem datafiles, redo log files e control files. Mas pode existir base de dados Oracle sem
archives. O que so os archives? So cpias off-line dos redo log files. Porque, como veremos em
algumas aulas, os redo log files trabalham de forma circular e, por causa disso, periodicamente
as informaes da transaes mais antigas, na medida em que os seus dados vo sendo gravados
nos datafiles, vo sendo sobrepostas e no so mais acessveis. No entanto, por causa da
estratgia de backup e para manter um grau mximo de recuperabilidade da base de dados
Oracle, com flexibilidade, pode ser necessrio guardar de alguma maneira e manter acessveis os
comandos dessas transaes mais antigas. O modo de fazer isso mantendo uma cpia do redo
log file antes que ele seja sobreposto. A esta cpia ns damos o nome de archive. Os archives so
muito importantes para a estratgia de backup & recovery do banco de dados Oracle, mas no so
usados pelo banco de dados Oracle em si, pela base que est produzindo. So gerados por ela e,
depois de gerados, no tm nenhuma funcionalidade nessa base de dados.
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Solues Ltda. http://www.oriens.inf.br
Todos os direitos reservados
7
Para terminar esta aula, precisamos falar sobre as formas de armazenamento fsico que o banco
de dados Oracle pode utilizar, ou seja, onde e como os arquivos fsicos que compe o banco de
dados Oracle so armazenados.
Uma primeira forma, certamente a mais bvia e a nica disponvel at a verso Oracle 9i, o
armazenamento em filesystem. Nesse tipo de armazenamento, o banco de dados Oracle se utiliza
do gerenciamento de arquivos realizado pelo sistema operacional. Ento, para realizar qualquer
operao de leitura e de gravao nos arquivos fsicos, o banco de dados Oracle deve requisitar
essa operao ao sistema operacional, seja ele qual for. O sistema operacional, por sua vez,
atravs de seu gerenciador de volumes, realizar a operao e depois, quando a operao de
leitura e/ou de gravao estiver concluda, sinalizar ao banco de dados.
A outra possibilidade, existente desde a verso Oracle 10g e aperfeioada na verso Oracle 11g,
o armazenamento atravs do ASM Automatic Storage Management. Usando esse tipo de
armazenamento, o prprio Oracle que controla as operaes de leitura e gravao em seus
datafiles, control files e redo log files, de modo completamente independente do sistema
operacional, de seu gerenciamento de volumes e dos filesystems. Ou seja, atravs de um
conjunto de processos e de novas estruturas de memria (que compe a instncia ASM, como
veremos detalhadamente mais adiante), o banco de dados Oracle controla o acesso direto ao
disco fsico, sem passar pelo sistema operacional, e nele escreve e l diretamente seus prprios
arquivos datafiles, redo log files e control files sem nenhum tipo de ingerncia do sistema
operacional. Isso quer dizer que o sistema operacional no conhece os volumes que o banco de
dados Oracle gerencia atravs do ASM e nem sabe que h arquivos naquele espao em disco. O
ganho que se obtm com o uso do ASM uma maior autonomia da base de dados Oracle em
relao ao sistema operacional, uma maior independncia, e melhor performance nas operaes
que envolvem acesso a disco, pois no h mais as camadas de sistema operacional e gerenciador
de volumes para as quais o banco Oracle deve requisitar o acesso ao disco. Para fazer acesso ao
disco, quando usa ASM, os processos Oracle da base de dados conversam com processos Oracle
da instncia ASM e isso muito mais rpido do que quando o sistema operacional est no
meio, fazendo a mediao do acesso ao disco.
Tratamos, nesta aula, das estruturas fsicas e lgicas que compe o banco de dados Oracle.
Relembramos os conceitos de tabela e ndice, falamos das tablespaces e de seu espao livre e
ocupado as extenses ou extents, divididos em blocos de dados ou data blocks. Vimos que as
extenses formam os segmentos ou segments e que estes, por sua vez, ficam armazenados nas
tablespaces. Falamos sobre os tipos de arquivos que compe a base de dados datafiles,
controlfiles e redo log files. Por fim, falamos sobre as possibilidades de armazenamento fsico do
banco: filesystem, usando o gerenciador de volumes do sistema operacional, ou ASM, usando um
gerenciamento de volumes prprio, independente do sistema operacional. Na prxima aula,
falaremos sobre a arquitetura Oracle. Continue conosco!

Potrebbero piacerti anche