O Oracle é um sistema vasto e complexo, mas aqui está um colapso de seus principais componentes e como eles trabalham juntos, concentrando -se no sistema de gerenciamento de banco de dados relacional (RDBMS), que é o núcleo das ofertas da Oracle:
1. Componentes principais: * Banco de dados
Oracle (o RDBMS): Este é o coração do sistema, responsável por armazenar, organizar e recuperar dados. Ele é construído em torno do modelo relacional, onde os dados são organizados em tabelas com linhas (registros) e colunas (atributos).
*
Oracle SQL (linguagem de consulta estruturada): A linguagem padrão usada para interagir com o banco de dados. Você usa o SQL para definir estruturas de banco de dados (tabelas, índices, etc.), inserir, atualizar, excluir e, o mais importante, * consulta * dados. A implementação do SQL da Oracle, conhecida como PL/SQL, inclui extensões processuais para criar procedimentos, funções e gatilhos armazenados.
*
Sistema Global Area (SGA): Uma área de memória compartilhada usada por todos os processos do Oracle Server. É crucial para o desempenho. As principais partes do SGA incluem:
*
Buffer de banco de dados Cache: Armazenadas frequentemente acessavam blocos de dados a partir dos arquivos do banco de dados. Isso reduz a necessidade de ler do disco.
*
Pool compartilhado: Declarações SQL de cache, código PL/SQL e informações do dicionário de dados. A análise e a execução do código usado com frequência se torna muito mais rápido.
*
refazer o buffer de log: Os buffers refazem registros, que são alterações feitas no banco de dados. Eles são usados para recuperação em caso de falha do sistema.
*
Programa Global Area (PGA): Uma área de memória dedicada para cada processo de servidor conectado ao banco de dados. Ele mantém dados e informações de controle exclusivamente para esse processo.
*
Processos de fundo: Estes são processos de servidor que executam tarefas de manutenção para o banco de dados. Exemplos incluem:
*
Bathabase Writer (DBWN): Grava blocos de dados modificados no cache do buffer do banco de dados nos arquivos de dados no disco.
*
Log Writer (LGWR): Grava as entradas de log Redo do buffer de log Redo para os arquivos de log de refazer no disco.
*
Monitor do sistema (SMON): Realiza a recuperação de instância na inicialização, limpa segmentos temporários e coalesce o espaço livre.
*
Monitor do Processo (PMON): Limpa os processos de usuário com falha.
*
Archiver (Arch): Cópias refaz os arquivos de log para arquivar arquivos de log. Isso é essencial para a recuperação pontual.
*
DataFiles: Arquivos físicos no disco onde os dados reais são armazenados.
*
refazer arquivos de log: Arquivos físicos que registram todas as alterações feitas no banco de dados. Eles são usados para fins de recuperação. Eles são escritos para sequencialmente. O Oracle geralmente usa um log de refazer circular, ou seja, quando chega ao final de um log, ele começa no início (depois de arquivar o antigo, se o arquivamento estiver ativado).
*
Arquivos de controle: Arquivos pequenos que contêm metadados críticos sobre o banco de dados, como o nome do banco de dados, o local dos arquivos de dados e refazer os arquivos de log e o registro de data e hora de criação do banco de dados.
*
Instância: Quando você inicia um banco de dados Oracle, você está iniciando uma instância * *. Uma instância consiste na SGA (memória compartilhada) e nos processos em segundo plano. Um único servidor pode executar várias instâncias de banco de dados.
2. Como os dados são armazenados e acessados: 1.
Conexão do usuário: Um usuário (ou aplicativo) se conecta ao banco de dados usando uma ferramenta ou API cliente (por exemplo, JDBC, ODBC). A ferramenta cliente envia solicitações SQL para o Oracle Server.
2. Analisando e otimização:
* O Oracle Server recebe a instrução SQL e * analisa * para verificar sua sintaxe e validade.
* O * otimizador * analisa a instrução SQL e escolhe o plano de execução mais eficiente. O otimizador considera fatores como índices, tamanhos de tabela e distribuição de dados.
3.
Execução: * O servidor de banco de dados executa a instrução SQL de acordo com o plano de execução escolhido.
* Os dados são recuperados dos arquivos de dados (potencialmente usando índices para acelerar a pesquisa).
* Os dados recuperados são colocados no cache do buffer do banco de dados no SGA.
* As alterações feitas nos dados são registradas no buffer de log de refazer.
4.
Retorno de dados: Os resultados da consulta SQL são retornados ao usuário ou aplicativo.
5.
Persistência de dados: * O processo DBWN grava periodicamente blocos de dados modificados do cache do buffer do banco de dados para os arquivos de dados no disco.
* O processo LGWR grava as entradas de log de refazer do buffer de log refazer para os arquivos de log de refazer no disco.
3. Gerenciamento de transações: * O Oracle suporta propriedades de ácido (atomicidade, consistência, isolamento, durabilidade) para transações. Isso garante a integridade dos dados.
*
Atomicidade: Uma transação é tratada como uma unidade de trabalho única e individual. Todas as alterações são aplicadas ou nenhuma é.
*
Consistência: Uma transação deve manter as restrições de integridade do banco de dados.
* Isolamento
: As transações são isoladas uma da outra, evitando interferências. O Oracle suporta diferentes níveis de isolamento para equilibrar a simultaneidade e a integridade dos dados.
*
durabilidade: Depois que uma transação é cometida, as alterações são permanentes, mesmo no caso de uma falha do sistema. Os registros refazer desempenham um papel crucial para garantir a durabilidade.
4. Conceitos importantes: *
Indexação: Os índices são usados para acelerar a recuperação de dados. Eles são semelhantes aos índices em um livro. Criar um índice em uma coluna frequentemente consultada pode melhorar significativamente o desempenho.
*
Partições: Tabelas grandes podem ser divididas em partições menores e mais gerenciáveis. Isso pode melhorar o desempenho da consulta, simplificar o gerenciamento de dados e facilitar o arquivo de dados.
*
visualizações: As visualizações são tabelas virtuais com base nas consultas SQL. Eles podem ser usados para simplificar consultas complexas, restringir o acesso a determinados dados ou apresentar dados em um formato diferente.
*
Procedimentos, funções e gatilhos: *
Procedimentos armazenados: Código SQL e PL/SQL pré -compilados armazenados no banco de dados. Eles podem ser chamados por aplicativos ou outros procedimentos.
*
Funções: Semelhante aos procedimentos armazenados, mas foram projetados para retornar um valor.
*
gatilhos: Código PL/SQL que executa automaticamente em resposta a eventos de banco de dados específicos (por exemplo, inserção, atualização ou exclusão de dados).
5. Escalabilidade e alta disponibilidade: *
Clusters de aplicativos reais (RAC): O RAC da Oracle permite que vários servidores acessem o mesmo banco de dados simultaneamente. Isso fornece alta disponibilidade e escalabilidade. Se um servidor falhar, os outros servidores poderão continuar operando.
*
Guard de dados: O Data Guard é uma solução de recuperação de desastres que permite criar um banco de dados em espera que seja sincronizado com o banco de dados primário. No caso de uma falha no site principal, o banco de dados em espera pode ser ativado, minimizando o tempo de inatividade.
em resumo: A Oracle funciona fornecendo um RDBMS robusto e rico em recursos que permite armazenar, gerenciar e acessar dados de maneira eficiente e confiável. Sua arquitetura inclui áreas de memória compartilhada, processos em segundo plano e recursos sofisticados de gerenciamento de transações para garantir a integridade dos dados e o alto desempenho. É um sistema muito poderoso e complexo, usado por empresas em todo o mundo. Há muito mais * mais, mas isso oferece uma boa visão geral.