Você está na página 1de 6

Capitulo I

Components and Architecture


DBMS : Database management system

Oracle é um DBMS relacional

Relational Databases

RDBMS: Relational database management system (Consiste em um conjunto de objetos


relacionais.)

Oracle Database 12c Objects


Table: Uma tabela é a forma básica de armazenamento de dados.

View: Um modo de exibição é uma consulta armazenada. Nenhum espaço de armazenamento


de dados é ocupado para dados de exibição.

Index: Um índice é uma estrutura opcional que é útil para buscar dados mais rapidamente.

Materialized View: Exibições materializadas são usadas para resumir e armazenar dados. Eles
são semelhantes as views, mas pega espaço de armazenamento para armazenar dados.

Index-organized table: Uma tabela index-organized armazenas os dados da tabela com o


índice, em vez de armazenar a tabela e o índice separado.

Cluster: Um cluster é um grupo de tabelas que compartilham uma coluna comum. O cluster
armazenas as linhas das tabelas junto com as colunas comum armazenadas uma vez.

Constraints: Regra armazenada para garantir a integridade dos dados.

Sequence: Uma sequência fornece um mecanismo para geração continua de números.

Synonym: Um alias para um objeto de esquema de banco de dados.

Trigger: Um gatilho é uma unidade de programa PL/SQL executada quando ocorre um evento.

Stored function: Funções armazenadas são programas PL\SQL que podem ser usadas para criar
as funções definidas pelo usuário para retornar um valor.

Stored Procedure: Procedimento armazenados são programas PL/SQL para definir um


processo de negócios.

Package: um pacote é uma coleção de procedimentos, funções e outras construções de


programa.

Java: Procedimentos Java armazenados podem ser criados no Oracle para definir processos de
negócios.

Database Link: Os links de Banco de Dados são usados para se comunicar entre banco de
dados.
Architecture
RAC: Real Application Clusters

Cada banco de dados deve ter pelo menos uma instância associada a ele. É possível que várias
instâncias acessem um único banco de dados. Configuração conhecida como RAC.

O que é um SCHEMA?

*Diferença entre um schema e user:

User: Um usuário é uma entidade de banco de dados definida que tem um conjunto de
habilidades para executar atividades com base em seus direitos concedidos.

Schema: Um esquema, que está associado a uma entidade de usuário, é definido mais
adequadamente como uma coleção de objetos de banco de dados.

A principal diferença é que os usuários são as entidades que executam o trabalho, e os


esquemas são as coleções de objetos nos quais os usuários executam o trabalho.

USER and SERVER PROCESS


Uma vez que uma conexão é feita, o usuário estabelece uma sessão na instância, depois de
estabelecer uma sessão, cada usuário inicia um processo de servidor no próprio servidor host.

PGA: Program global area.

Armazena informações de sessão especificas do usuário, como variáveis de vinculação e


variáveis de sessão. Cada processo de servidor no servidor tem uma área de memória PGA.

A memória PGA não é compartilhada. Cada processo de servidor tem um PGA associado a ele e
é exclusivo. Como DBA, você define a memória total que pode ser alocada para toda memória
do PGA alocada para todos os processos de servidor e background.

Os componentes PGA são:

SQL WORK AREA: Área usada para operações com uso intensivo de memória, como classificar
ou criar uma tabela de hash durante operações de junções joins.

PRIVATE SQL AREA: Contém informações dobre instruções SQL e os valores de variável Bind.

O PGA pode ser configurado para gerenciar automaticamente, definindo o paramentro


PGA_AGGREGATE_TARGET.

Exemplo: Cada vez que você se conecta a um banco de dados, uma área de memória no
servidor será dada exclusivamente para você.

The Oracle Instance


SGA: System global area
Uma instancia de Banco de Dados Oracle consiste na estrutura de memória principal da Oracle
SGA.

Quando o usuário acessa os dados no banco de dados é o SGA com o qual o processo do
servidor se comunica.

Oracle Memory Structures


SGA: é uma área de memória compartilhada. Todos os usuários do banco de dados
compartilham as informações mantidas nessa área.

Oracle aloca memória para o SGA quando a instância é iniciada e desloca quando é desligada.

 Componentes Obrigatórios
Shared pool: Armazena em cache as instruções SQL usadas mais recentemente que
foram emitidas por usuários do banco de dados.

DataBase buffer cache: Armazena em cache os dados que foram acessados mais
recentemente por usuários de banco de dados.

Existem 3 tipos de buffers:


- Dirty buffers (Buffers sujos): São os blocos que precisam ser gravados nos arquivos de
dados. Os dados nesses buffers foram alterados e ainda não foram gravados no disco.

- Free buffers (Buffers livres): Não contém dados ou estão livres para serem
substituídos.

- Pinned buffers (Buffers fixos): São buffers que estão atualmente sendo acessados ou
explicitamente mantidos para uso futuro.

Uma das principais funções é manter os blocos de dados mais solicitados


recentemente em memória, evitando desta forma releituras físicas de um mesmo
bloco de dados.

Redo log buffer: Armazena informações de transações para fins de recuperação,


contém informações dobre alterações feitas nos banco de dados.

 Componentes Opcionais
Java Pool: Armazena em cache os objetos Java usados mais recentemente e o código
de aplicativo quando a opção JVM do Oracle é usada

Large Pool: Armazena em cache dados para operações de grande porte, como backup
do gerenciador de recuperação (RMAN) e atividades de restauração e componentes de
servidor compartilhado.
Steams pool: Armazena em cache os dados associados às solicitações de mensagens
enfileiradas quando a opção de enfileiramento avançado da Oracle é usada.

Result cache: Versão 12c, armazena resultados de consultas SQL e funções PL/SQL
para melhor desempenho.

Oracle Background Process

 Database Writer (BDWn)


Os dados modificados ou novos não são necessariamente escritos em um arquivo de
dados imediatamente. Para reduzir a quantidade de acesso ao disco e aumentar o
desempenho de acesso ao disco e aumentar o desempenho, os dados são agrupados
na memória e escritos nos arquivos de dados apropriados de uma vez (em massa).

 CheckPoint (CKPT)
Quando uma alteração é confirmada em um banco de dados, o Oracle identifica a
transação com um número exclusivo chamado de número de alteração de sistema
(SCN). O valor de um SCN é um ponto lógico no tempo em que as alterações são feitas
em um banco de dados. Um checkpoint é quando o processo DBWn, grava todos os
buffers sujos para os arquivos de dados.

 Log Writer (LGWR)


Redo Log: Consiste em dois ou mais arquivos pré alocados que armazenam todas as
alterações feitas no banco de dados à medida que ocorrem. Toda instancia tem um log
associado para proteger o banco de dados em caso de falha de instância.

Só pode haver um processo de LGWR no banco de dados.

LGWR grava as entradas para o disco rápido suficiente para garantir que a sala está
disponível para o processo do servidor para gravar as entradas de redo log.

Mesmo se um dos arquivos de log do grupo estiver danificado, LGWR gravará as


informações de refazer para os arquivos disponíveis. LGWR grava os arquivos de log ou
redo sequencialmente para que as transações possam ser aplicadas em ordem em
caso de falha.

 Process Monitor (PMON)


Limpa os processos de usuário com falha e libera todos os recursos usados pelo
processo com falha.

 System Monitor (SMON)


Executa a recuperação da instância ou falha na inicialização do banco de dados usando
arquivos redo log. Também é responsável pela limpeza de segmentos temporários nos
espaços de tabela que não são mais usados e para unir o espaço livre.
Estruturas de Armazenamento Oracle
(Oracle Storage Structures)

Uma instância é uma estrutura de memória, mas o banco de dados consiste em um


conjunto de arquivos físicos que residem nas unidades de disco do servidor host.
As estruturas de armazenamento físico incluem três tipos de arquivos.

- Control Files
- Data Files
- Redo log Files

 Control Files
São componentes críticos do banco de dados, porque armazenam informações
importantes que não estão disponíveis em nenhum outro lugar.
*Nome do banco
*timestamp de criação do banco de dados
*Os nomes, locais e tamanhos dos arquivos de dados e redo arquivos de log.
*Informação de tablespace
*Informações de redo log usados para recuperar o banco de dados no caso de uma
falha de disco ou erro do usuário
*Informações de log arquivados
*Informações de backup do RMAN
*Checkpoint

Como uma perda dos arquivos de controle afeta negativamente a capacidade de


recuperar o banco de dados.

No banco de dados, os arquivos de controle controlam os nomes, locais e tamanhos


dos arquivos de banco de dados.

 Data Files
Os arquivos de dados são os arquivos físicos que realmente armazenam os dados que
foram inseridos em cada tabela no banco de dados.
Os arquivos de dados são a estrutura física por trás de outra área de armazenamento
de banco de dados chamado tablespace.
Por padrão, deve-se ter pelo menos três tablespace:

System: Armazena o dicionário de dados e PL/SQL Code

Sysaux: Armazena segmentos usados para opções de banco de dados, como


repositório automático de carga de trabalho (OLAP) e Spatial.

Temp: Usado para executar operações de grande classificação. Temp é necessário


quando o tablespace do sistema é criado como um tablespace gerenciado localmente.

 Redo Log Files


Por causa do papel importante que o redo logs desempenham no mecanismo de
recuperação da Oracle eles são geralmente multiplexed. Isso significa que cada log
contém uma ou mais cópias de si mesmo no caso de uma das copias se torna
corrompida ou é perdida por causa de uma falha de Hardware. Os arquivos são
gravados sincronizados.

The logical structure


O Oracle logicamente divide o banco de dados em unidades menores para gerenciar,
armazenar e recuperar dados de forma eficiente.
Visão geral das estruturas lógicas:

Tablespace: O banco de dados é dividido logicamente em unidades menores ao mais


alto nível, chamado tablespace. Um table space tem uma relação direta com a
estrutura física – Um arquivo de dados pode pertencer a um e somente um
tablespace.
Um tablespace pode ter mais de um arquivo de dados associado a ele.

Blocks: Um bloco é a menor unidade de armazenamento em Oracle. Um bloco


geralmente é um múltiplo do tamanho do bloco do sistema operacional. O tamanho
do bloco baseia-se no parâmetro DB_BLOCK_SIZE e é determinado quando o banco de
dados é criado.

Extents: Uma extensão é o próximo nível de agrupamento lógico. É um agrupamento


de blocos contíguos, alocados em um pedaço. Porque eles são alocados em blocos
contíguos, extensões não é possível gerar múltiplos arquivos de dados.

Segments: Um segmento é um conjunto de extensões alocados para estrutura lógica


como tabelas, índices etc... Sempre que você cria uma estrutura lógica que armazena
dados, o Oracle aloca um segmento, que contém pelo menos uma extensão, que por
sua vez tem pelo menos um bloco.

Você também pode gostar