Visão geral e conceitos fundamentais do Oracle

Objetivos:

Fornecer ao leitor uma visão geral dos conceitos de banco de dados e o Oracle.

Pré-requisitos:

Não há pré-requisitos.

 

Visão geral

O objetivo de um banco de dados é armazenar e recuperar informações relacionadas. Um servidor de banco de dados é a chave da solução do problema de gerenciamento de informações.

Em geral o servidor gerencia uma grande quantidade de dados em um ambiente multiusuário onde vários usuários podem concorrer ao acesso a um mesmo dado.

Tudo isso ocorre enquanto o banco entrega dados em alto desempenho. Um banco de dados Oracle tem estruturas lógicas e estruturas físicas.

Separadas assim o armazenamento dos dados podem ser gerenciados sem afetar o acesso às estruturas lógicas de armazenamento.

 

Estruturas lógicas de banco de dados

As estruturas lógicas do Oracle incluem schemas, data blocks, extens, segments e tablespaces.

 

Schemas e objetos de schemas

Schema é uma coleção de objetos de um banco de dados.

Um schema pertence a um usuário do banco de dados e tem o mesmo nome do usuário. Objetos de um schema são estruturas lógicas que se referem diretamente aos dados do banco. Objetos de um schema incluem estruturas como tables (tabelas), views (visões de tabelas) e index (índices de tabelas).

Não há relação entre tablespaces e schema. Objetos do mesmo schema podem estar em diferentes tablespaces diferente tablespaces podem conter objetos de diferentes schemas.

 

Tables (tabelas)

Uma tabela é uma unidade básica de armazenamento do banco de dados Oracle. Tabelas do banco de dados possuem todos os dados acessíveis ao usuário.

Cada tabela contém um determinado número de linhas e colunas. O Oracle armazena em cada linha de uma tabela no máximo 256 colunas. Uma tabela que contenha dados sobre empregados pode conter uma coluna chamada numero_do_empregado e cada linha desta coluna é um número de determinado empregado.

 

Views (Visões de tabelas)

Views são apresentações customizadas de dados de uma ou mais tabelas ou outras views. Um view pode ser considerada uma query de  armazenamento. Views não contém dados. Os dados de uma view derivam das tabelas bases da view.

Elas são referenciadas como “base tables” (tabelas base).

Como as tabelas, as views podem ser selecionadas, atualizadas, inseridas e eliminadas. Com algumas restrições. Todas as operações efetuadas em uma view afetam as tabelas base.

Views proporcionam um nível adicional de segurança restringido acesso a determinados conjunto de linhas e colunas de uma tabela. Elas também escondem a complexidade dos dados armazenados e a complexidade das querys.

 

Index (Índice)

Índices são estruturas associadas com tabelas. Índices podem ser criados para melhorar o desempenho da recuperação de dados. Como um índice de um livro permite que você acesse rapidamente as informações contidas neste livro os índices do Oracle permitem que os dados sejam acessados mais rapidamente.

Quando processa uma requisição o Oracle utiliza um ou todos os índices disponíveis para localizar as linhas requisitadas de forma eficiente. Índices são especificamente úteis quando aplicações requisitam dados de uma tabela com número de linhas ou quando requisita uma linha específica.

Índices são criados com uma ou mais colunas de uma tabela. Depois de criado o índice é automaticamente mantido e usado pelo Oracle. Mudanças realizadas na tabela são automaticamente incorporadas aos índices com completa transparência para os usuários.

Você pode particionar índices.

 

Cluster (Agrupamento)

Cluster é um grupo de uma ou mais tabelas fisicamente armazenados juntos. Isto ocorre porque elas compartilham colunas comuns e freqüentemente as usam juntas.

Por serem fisicamente armazenadas juntas o acesso a disco é melhorado.

Como os índices os clusters não afetam o desenvolvimento da aplicação. Se uma tabela é parte ou não de um cluster isto é transparente para o usuário e para a aplicação. Dados armazenados em uma tabela de um cluster são acessados da mesma forma que dados de uma tabela não clusterizada.

 

Data blocks, extents e segments.

As estruturas lógicas de armazenamento incluem data blocks, extents e segments. Estes objetos permitem ao Oracle ter um grande controle do espaço em disco.

 

Data blocks (Bloco de dados)

Num nível mais alto de granulidade o Oracle armazena dados nos data blocks.

Um data block corresponde a um número específico de bytes no espaço físico do banco de dados no disco. O tamanho padrão de um data block é especificado no parâmetro DB_BLOCK_SIZE. Adicionalmente você pode especificar mais de cinco tamanhos de blocos. O banco de dados usa e aloca o espaço livre do banco em data blocks.

 

Extents (Extensões)

O próximo nível lógico de armazenamento é o extent. Um extent é um conjunto contínuo de data blocks obtido em uma alocação individual usada para armazenar um tipo específico de informação.
Segments (Segmentos)

Um segment é a unidade de armazenamento lógico imediatamente acima do extent. Segment é um conjunto de extents armazenados em uma determinada estrutura lógica.

O Oracle aloca dinamicamente espaço quando os extents de um segment estão cheios. Em outras palavras: Quando um extent de um segment esta cheio o Oracle aloca um outro extent para o segment. Por ser alocado apenas quando necessário o extent de segment pode ser ou não contínuo.

 

Tablespaces

Um banco de dados é dividido em unidades lógicas de armazenamento chamadas de tablespaces. Estas unidades agrupam estruturas lógicas relacionadas, por exemplo: Tablespaces comumente agrupam objetos da aplicação simplificando algumas operações administrativas.

 

Databases, tablespaces e data files.

» Cada banco de dados é divido em uma ou mais tablespaces.

» Um ou mais datafiles são criados para armazenar fisicamente os dados de todas as estruturas lógicas de um tablespace.

» O tamanho total dos datafiles de um tablespace é a capacidade do armazenamento do table space.

» A capacidade combinada dos tablespaces de um database é a capacidade do database.

Os tablespaces podem estar on-line ou off-line. Um tablespace precisa estar on-line para que os usuários possam acessar suas informações. Os tablespaces podem ficar off-line para manutenção do database.

 

Estruturas físicas do banco de dados

Iremos dar uma visão geral das seguintes estruturas físicas do banco de dados Oracle: data files, arquivos de log de redo e arquivos de controle.

 

Data files

Todo banco de dados Oracle tem um ou mais data files físicos.  Os data files contém os dados do banco de dados. Os dados das estruturas lógicas como tabelas e índices são fisicamente armazenados nos data files alocados para o banco  de dados.

As características dos data files são:

» Um data file pode ser associado a um único data base.

» Os data files tem uma características que permitem que eles sejam expandidos sempre que o espaço físico do banco de dados terminar.

» Um ou mais data files formam uma unidade lógica de armazenamento chamada tablespace.

Os dados de um data file são lidos, quando preciso, durante as operações normais de banco de dados e armazenados no cachê de memória do Oracle. Por exemplo: Um usuário quer acessa  algum dado armazenado na tabela do banco. Se o dado desejado não ainda não se encontra no cachê do banco ele é lido no data file apropriado e armazenado no cache de memória.

Dados modificados ou alterados não são necessariamente armazenados no data file de imediato. Para reduzir o acesso a disco e melhorar o desempenho, o dado é colocado na memória e gravado no data file todos de uma vez como determinado pelo processos interno do Oracle chamado “database writer process”. Este processo é executado em segundo plano.

 

Redo Log Files

Todo banco de dados Oracle tem um conjunto de um ou mais redo log files. O conjunto de um ou mais redo log files são conhecidos coletivamente como redo log do banco de dados. Os redo log files são criados através de registros de redo.

A função primária destes arquivos e registrar todas as mudanças realizadas nos dados do banco de dados. Se devido a uma falha há necessidade de se recuperar informações do banco de dados isto é possível de ser feito através dos redo log files.

Para evitar falhas envolvendo os arquivos de redo log files o Oracle permite a criação de multiplexed redo log files que são uma ou mais cópias mantidas em diferentes discos.

As informações dos redo log files são usadas somente para recuperar um banco de dados após uma falha do sistema ou do disco.

 

Control files

Todo banco de dados do Oracle tem um control file. Os controls files guardam os registros que especificam as estruturas físicas dos arquivos. Por exemplo, eles contém as seguintes informações:

» Nome do banco de dados

» Nomes e localizações dos redo log files

» A data da criação do banco de dados

Como os redo log files os control files também podem ter cópias mantidas em mais de um disco para efeito de segurança.

 

Data Utilities

A um conjunto de três utilitários do Oracle (data utilities) quer permitem que você faça as operações de importação, exportação e SQL Loader.

 

Utilitário de importação

O utilitário de importação do Oracle insere em um banco de dados objetos retirados de outro banco de dados através do utilitário de exportação.

 

Utilitário de exportação

O utilitário de exportação do Oracle exporta objetos de um banco de dados e insere em outro banco de dados sobre mesma plataforma ou plataforma diferente.

 

SQL Loader

Arquivos gerados pelo utilitário de exportação só podem ser lidos pelo utilitário de importação. Caso necessite ler arquivos em formato ASCII, como arquivos com campos delimitados por vírgula, deverá ser utilizado o utilitário SQL Loader.

Deixe um comentário