SlideShare une entreprise Scribd logo
1  sur  7
Télécharger pour lire hors ligne
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
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
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
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
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
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.
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!

Contenu connexe

En vedette

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfmarketingartwork
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024Neil Kimberley
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)contently
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024Albert Qian
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsKurio // The Social Media Age(ncy)
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Search Engine Journal
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summarySpeakerHub
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next Tessa Mero
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentLily Ray
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best PracticesVit Horky
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project managementMindGenius
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...RachelPearson36
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Applitools
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at WorkGetSmarter
 

En vedette (20)

AI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdfAI Trends in Creative Operations 2024 by Artwork Flow.pdf
AI Trends in Creative Operations 2024 by Artwork Flow.pdf
 
Skeleton Culture Code
Skeleton Culture CodeSkeleton Culture Code
Skeleton Culture Code
 
PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 

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

  • 1. Curso DBA Oracle 11g - Parte 1 Aulas 01 e 02 Oriens Assessoria & Soluções
  • 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. 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. 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. 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. 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. 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!