Curso DBA Oracle 11g - Parte 1
Aulas 01 e 02
Oriens Assessoria & Soluções
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br
Todos os direitos reservados
2
...
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br
Todos os direitos reservados
3
...
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br
Todos os direitos reservados
4
...
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br
Todos os direitos reservados
5
...
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br
Todos os direitos reservados
6
...
Curso DBA Oracle 11g Parte 1
ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br
Todos os direitos reservados
7
...
Próximos SlideShares
Carregando em…5
×

Curso DBA Oracle 11g R2 Parte 1 - Aulas 01 e 02 - Texto

356 visualizações

Publicada em

Texto para acompanhamento das aulas 01 e 02 do Curso DBA Oracle 11g R2 Parte 1, disponível para acesso completo pelo site http://www.oriens.inf.br.

Publicada em: Tecnologia
0 comentários
0 gostaram
Estatísticas
Notas
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Sem downloads
Visualizações
Visualizações totais
356
No SlideShare
0
A partir de incorporações
0
Número de incorporações
11
Ações
Compartilhamentos
0
Downloads
0
Comentários
0
Gostaram
0
Incorporações 0
Nenhuma incorporação

Nenhuma nota no slide

Curso DBA Oracle 11g R2 Parte 1 - Aulas 01 e 02 - Texto

  1. 1. Curso DBA Oracle 11g - Parte 1 Aulas 01 e 02 Oriens Assessoria & Soluções
  2. 2. Curso DBA Oracle 11g Parte 1 ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br Todos os direitos reservados 2 Primeira vídeo-aula Introdução ao curso Olá! Seja bem-vindo ao curso de administração de banco de dados Oracle 11g – parte 1. Antes de começarmos o curso propriamente dito, temos de definir o que significa a expressão “DBA Oracle” – que está no título 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 função é administrar bancos de dados Oracle. Ou seja, é alguém responsável pelo banco de dados desde a sua criação. 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 físicos, além dos diversos recursos que podem ser agregados ao banco de dados, como, por exemplo, memória flash), monitorar o seu funcionamento e a performance dos diversos aplicativos que o utilizam, configurar e gerenciar os backups, definir estratégias de contingência e segurança de dados. Com a série de vídeo-aulas deste curso, vamos mostrar os conteúdos necessários para o início da formação de um DBA. Por meio desses conteúdos teremos uma visão de conjunto a respeito do que é o banco de dados Oracle e daquilo que é necessário fazer para criá-lo, configurá-lo e mantê-lo funcionando de forma adequada às necessidades do ambiente de produção. Veremos as principais estruturas que compõe 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 nós podemos consultar e manipular as informações armazenadas no banco de dados Oracle. Usando SQL também é possível criar as principais estruturas de armazenamento de dados, que são as tabelas. Sem o conhecimento da linguagem SQL, o DBA não dispõe do meio mais fundamental de manipulação da informação contida no banco de dados e não tem condições também de recuperá-la. A linguagem SQL é a ferramenta mínima que permite acesso aos dados e é imprescindível que o DBA Oracle seja capaz de dominá-la. Além da linguagem SQL, outra ferramenta importante na administração do banco de dados Oracle é o Enterprise Manager, uma interface visual que permite ao DBA total controle sobre as operações do banco de dados. Em suas versões iniciais, o Oracle Enterprise Manager facilitava ao DBA a realização das tarefas mais repetitivas. Hoje, com o banco Oracle cada vez mais auto- gerenciável e realizando um número cada vez maior de tarefas automáticas, o Enterprise Manager tornou-se uma console de administração e gerenciamento do banco de dados. No decorrer deste curso, teremos oportunidades para operar o banco de dados através do Enterprise Manager, tanto quanto através do uso direto da linguagem SQL em prompt de comando, sempre que possível, pois o DBA Oracle não deve ser um simples operador de interface visual, mas precisa ter um conhecimento profundo a respeito do que se passa no banco
  3. 3. Curso DBA Oracle 11g Parte 1 ORIENS Assessoria e Soluções 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 possível na manipulação e na segurança da informação. 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. Não há custo de licença para estudo, mas não é permitido fazer qualquer uso comercial do software sem o devido licenciamento. Nas próximas aulas, antes de mostrarmos como fazer a instalação do banco de dados Oracle, vamos falar sobre a estrutura física e lógica do banco Oracle e, em seguida, sobre a sua arquitetura. Estas primeiras três aulas serão mais teóricas e vão formar a base para o nosso estudo. Depois teremos uma aula sobre a instalação do software Oracle 11g e, em seguida, outra sobre criação do banco dados Oracle 11g. A partir daí, as aulas serão tanto teóricas como práticas. Continue conosco! Segunda vídeo-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 física e a estrutura lógica que compõe o banco de dados Oracle. Um banco de dados Oracle é formado, primariamente, por tabelas. As tabelas são as principais estruturas de armazenamento e de acesso aos dados. Elas são estruturas compostas de colunas, que qualificam a informação que devem conter, e por linhas, que formam um conjunto único e identificável de informação (também 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: NÚMERO, NOME, ENDEREÇO, TELEFONE, E-MAIL, DATA_NASCIMENTO, CIDADE, ESTADO. Cada uma dessas colunas qualifica a informação que contém, 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 são estruturas – ou objetos – destinados a conferir maior velocidade no acesso aos dados armazenados nas tabelas. Eles têm esse nome – índice – porque, através de um algoritmo, indexam os endereços das informações contidas nas tabelas e permitem o acesso rápido a esses endereços. Uma vez recuperado o endereço da informação no banco de dados Oracle, é possível buscá-la diretamente, sem a necessidade de fazer a varredura completa de toda a tabela – operação que pode ter um custo enorme de tempo em tabelas grandes. Tabelas, então, são as estruturas-chave para armazenamento de dados, enquanto os índices são as estruturas-chaves para maior velocidade de acesso aos dados contidos nas tabelas. Sobre as
  4. 4. Curso DBA Oracle 11g Parte 1 ORIENS Assessoria e Soluções 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 são segmentos. O que são segmentos? São estruturas – ou objetos – do banco de dados Oracle que possuem armazenamento físico. Ou seja, ocupam espaço ao serem criados e, na medida em que as informações vão sendo agregadas, crescem, ocupando ainda mais espaço. Eventualmente, um segmento também pode ser eliminado do banco de dados Oracle e, nesse caso, o espaço que ele ocupava torna-se espaço livre e pode, a partir de então, ser aproveitado por outro segmento ainda existente. Neste ponto, precisamos entender um conceito importante, que é a forma como os segmentos alocam espaço no banco de dados Oracle. Para isso, precisamos começar definindo data blocks ou blocos de dados. Os blocos de dados são a unidade mínima de armazenamento do banco de dados Oracle. Seu tamanho é definido na criação do banco de dados e os valores permitidos para o tamanho de um bloco de dados são 2 Kb, 4 Kb, 8 Kb, 16 Kb ou 32 Kb. Uma vez definido o tamanho default do bloco de dados, ele não poderá ser modificado, a não ser que o banco de dados Oracle seja recriado. Porém, é possível utilizar diferentes tamanhos de bloco de dados em um mesmo banco de dados, ou seja, outros tamanhos além do tamanho default do bloco de dados. Trataremos sobre o modo de fazer isto e a utilidade dessa técnica mais adiante em nosso curso. Chamamos de extents ou extensões aos conjuntos contíguos de blocos de dados. E então podemos voltar aos segmentos e ao modo como eles alocam espaço no banco de dados Oracle. Pois os segmentos são formados por extensões, não necessariamente contíguas entre si. Em uma mesma extensão, sim, todos os blocos de dados são contíguos. Quando um segmento – uma tabela ou um índice, por exemplo – é criado, está ocorrendo a alocação de uma extensão – um conjunto contíguo de blocos de dados – para esse segmento. Quando esse mesmo segmento – tabela ou índice – aumenta de tamanho, então novas extensões são alocadas, extensões essas que poderão não estar contíguas, ou seja, poderão estar distribuídas no espaço destinado a elas. E onde as extensões de um segmento alocam espaço? Nas tablespaces, que são as grandes estruturas destinadas à alocação de espaço para os segmentos que compõe o banco de dados Oracle. No momento em que são criadas, as tablespaces tem um tamanho total pré-alocado e são formadas unicamente por extensões livres (também estas com um tamanho pré-definido). Na medida em que os segmentos são criados e, posteriormente, crescem, eles ocupam estas extensões, que deixam de ser consideradas extensões livres e passam a fazer parte do espaço ocupado das tablespaces. Até aqui vimos as estruturas lógicas de armazenamento do banco de dados Oracle. Mas, além dessa hierarquia de estruturas lógicas, existem ainda as estruturas físicas. A primeira das estruturas físicas que temos de ver são os datafiles ou arquivos de dados. Os datafiles são os arquivos físicos que correspondem às tablespaces como estruturas lógicas. Então, quando criamos uma tabela em um banco de dados Oracle, designamos a tablespace onde essa tabela deverá alocar espaço, isto é, alocar suas extensões iniciais e suas extensões de
  5. 5. Curso DBA Oracle 11g Parte 1 ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br Todos os direitos reservados 5 crescimento ou de aumento de tamanho. Fisicamente, porém, essa tabela estará ocupando espaço nos datafiles dessa tablespace. Portanto, as tablespaces – que são uma estrutura lógica de armazenamento – são compostas de um ou mais datafiles – que são estruturas físicas de armazenamento do banco de dados Oracle. É importante dizer que, quando uma tabela ou um índice são criados, podemos especificar a sua tablespace, mas nunca especificamos o seu datafile. Pois a estrutura física do banco de dados Oracle é transparente para o DBA, que trabalha sempre no nível da estrutura lógica, a não ser quando se ocupa diretamente de tarefas de manutenção das estruturas físicas do banco de dados Oracle. Também é preciso salientar que, quando o DBA cria uma tabela e designa uma tablespace onde ela deverá alocar espaço, essa tabela poderá alocar suas extensões em qualquer um dos datafiles que compõe essa tablespace (caso a tablespace seja composta de mais de um datafile). Porém, essa tabela nunca poderá alocar extensões em outras tablespaces, além desta onde foi criada (a exceção são as tabelas particionadas, que vamos mencionar mais adiante neste curso). Os datafiles são considerados a principal estrutura física de armazenamento do banco de dados Oracle porque neles são armazenados os dados propriamente ditos. No entanto, mesmo em relação ao armazenamento de dados, existem datafiles destinados a funções 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 Dicionário de Dados, que são chamados de metadados) e existem as tablespaces cuja função é fazer um armazenamento de dados temporário. Por exemplo, quando um conjunto de dados é ordenado (passa por uma operação ORDER BY), ele deve ser armazenado em um espaço temporário de memória para passar pela ordenação e, depois que for classificado, então é devolvido o conjunto final resultante de dados ao sistema ou ao usuário que requisitou essa operação. Se não houver espaço suficiente na área temporária de memória para realizar a ordenação, então é alocado espaço na tablespace temporária para completar a operação. Então, assim como as tablespaces são classificadas em permanentes e temporárias, também os datafiles que as compõe recebem a mesma classificação. Os datafiles das tablespaces temporárias recebem o nome especial de tempfiles. Mas os datafiles e os tempfiles não são os únicos arquivos físicos que compõe o banco de dados Oracle. Além deles, também existem mais dois tipos de arquivos físicos que compõe o banco de dados Oracle: são os control files e os redo log files. Vamos falar um pouco sobre eles, começando pelos control files. Os control files são os arquivos responsáveis 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 servirão como redundância ou espelho um para o outro, pois as informações que estão contidas nos control files e que a base de dados periodicamente grava neles são exatamente as mesmas. São os control files que regulam a inicialização do banco de dados Oracle (startup) e que dão a informação básica sobre a sua derrubada (shutdown). Pois os control files informam, durante o processo de inicialização, se o banco foi derrubado de maneira correta, sincronizadamente, de modo que também possa voltar a subir de maneira correta e sincronizada. Também, no mesmo processo de inicialização do banco Oracle, os control files informam onde estão os datafiles pertencentes a esse banco de dados, de modo que todos possam ser localizados e abertos (e, caso não possam, o banco de
  6. 6. Curso DBA Oracle 11g Parte 1 ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br Todos os direitos reservados 6 dados também não poderá ser aberto). Os control files contém as informações 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, porém, e a sincronia entre os datafiles, vamos falar com mais detalhes nas próximas aulas. Neste ponto, porém, devemos salientar que esta é uma questão muito importante e crítica 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 não contém os dados dos sistemas que utilizam o banco de dados Oracle como meio de armazenamento e de acesso, mas as informações sobre a própria base de dados e que permitem mantê-la funcionando. Um terceiro tipo de arquivo físico que compõe o banco de dados Oracle são os redo log files. Eles também não armazenam os dados dos sistemas, como os control files. Mas os redo log files armazenam as transações que são executadas e confirmadas com o comando commit pelos usuários no banco Oracle. Os redo log files, então, são o log de transações do banco de dados Oracle. Qual é o motivo desse armazenamento de transações? Por que é que se mantém um log de transações no banco Oracle? Para permitir a maior recuperabilidade das transações que já foram confirmadas (commit) no banco de dados Oracle. Pois os dados das transações não são imediatamente gravados em disco logo que essas transações são finalizadas e confirmadas com commit. E isso por uma questão de performance, já que o acesso aos dados em disco é muito mais lento do que o acesso aos mesmos dados em memória. Então, como a transação já foi confirmada com commit, mas os seus dados permanecem apenas em memória, essa transação está sujeita a ser perdida, caso haja uma queda de banco, por exemplo. E os dados de uma transação já confirmada não podem ser perdidos, como regra. Por isso, quando uma transação é commitada, os comandos que compõe essa transação são gravados nos redo log files e eles poderão ser usados para recuperar essa transação, no caso de ocorrer algum tipo de queda, corrupção ou perda no banco de dados Oracle antes que os dados dessa transação sejam gravados nos datafiles. Então, o grande objetivo dos redo log files é proteger os dados das transações 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 existência dos archived log files ou, simplesmente, archives. Os archives não são arquivos obrigatórios, como os anteriores. Quer dizer, não existe base de dados Oracle sem datafiles, redo log files e control files. Mas pode existir base de dados Oracle sem archives. O que são os archives? São cópias 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 informações da transações mais antigas, na medida em que os seus dados vão sendo gravados nos datafiles, vão sendo sobrepostas e não são mais acessíveis. No entanto, por causa da estratégia de backup e para manter um grau máximo de recuperabilidade da base de dados Oracle, com flexibilidade, pode ser necessário guardar de alguma maneira e manter acessíveis os comandos dessas transações mais antigas. O modo de fazer isso é mantendo uma cópia do redo log file antes que ele seja sobreposto. A esta cópia nós damos o nome de archive. Os archives são muito importantes para a estratégia de backup & recovery do banco de dados Oracle, mas não são usados pelo banco de dados Oracle em si, pela base que está produzindo. São gerados por ela e, depois de gerados, não têm nenhuma funcionalidade nessa base de dados.
  7. 7. Curso DBA Oracle 11g Parte 1 ORIENS Assessoria e Soluções Ltda. – http://www.oriens.inf.br Todos os direitos reservados 7 Para terminar esta aula, precisamos falar sobre as formas de armazenamento físico que o banco de dados Oracle pode utilizar, ou seja, onde e como os arquivos físicos que compõe o banco de dados Oracle são armazenados. Uma primeira forma, certamente a mais óbvia e a única disponível até a versão 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. Então, para realizar qualquer operação de leitura e de gravação nos arquivos físicos, o banco de dados Oracle deve requisitar essa operação ao sistema operacional, seja ele qual for. O sistema operacional, por sua vez, através de seu gerenciador de volumes, realizará a operação e depois, quando a operação de leitura e/ou de gravação estiver concluída, sinalizará ao banco de dados. A outra possibilidade, existente desde a versão Oracle 10g e aperfeiçoada na versão Oracle 11g, é o armazenamento através do ASM – Automatic Storage Management. Usando esse tipo de armazenamento, é o próprio Oracle que controla as operações de leitura e gravação 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, através de um conjunto de processos e de novas estruturas de memória (que compõe a instância ASM, como veremos detalhadamente mais adiante), o banco de dados Oracle controla o acesso direto ao disco físico, sem passar pelo sistema operacional, e nele escreve e lê diretamente seus próprios arquivos – datafiles, redo log files e control files – sem nenhum tipo de ingerência do sistema operacional. Isso quer dizer que o sistema operacional não conhece os volumes que o banco de dados Oracle gerencia através do ASM e nem sabe que há arquivos naquele espaço em disco. O ganho que se obtém com o uso do ASM é uma maior autonomia da base de dados Oracle em relação ao sistema operacional, uma maior independência, e melhor performance nas operações que envolvem acesso a disco, pois não 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 instância ASM – e isso é muito mais rápido do que quando o sistema operacional está no meio, fazendo a mediação do acesso ao disco. Tratamos, nesta aula, das estruturas físicas e lógicas que compõe o banco de dados Oracle. Relembramos os conceitos de tabela e índice, falamos das tablespaces e de seu espaço livre e ocupado – as extensões ou extents, divididos em blocos de dados ou data blocks. Vimos que as extensões formam os segmentos ou segments e que estes, por sua vez, ficam armazenados nas tablespaces. Falamos sobre os tipos de arquivos que compõe a base de dados – datafiles, controlfiles e redo log files. Por fim, falamos sobre as possibilidades de armazenamento físico do banco: filesystem, usando o gerenciador de volumes do sistema operacional, ou ASM, usando um gerenciamento de volumes próprio, independente do sistema operacional. Na próxima aula, falaremos sobre a arquitetura Oracle. Continue conosco!

×