Esta seção do Gist Luferat descreve o roteiro, passo-a-passo, de instalação do Oracle Linux 8 em uma máquina virtual do Oracle VM VirtualBox rodando em um hospedeiro Windows 10 ou 11 com o objetivo final de configurar e operar o SGBD Oracle Database XE para estudos avançados de gestão de bancos de dados nesta poderosa ferramenta. Todos os procedimentos, desde a preparação da VM até a operação do ambiente do Oracle Database serão publicados e atualizados aqui.
Esta é uma seção colaborativa, então esteja, desde já, convidada(o) a participar, enviando suas colaborações.
Clique nos links abaixo para acessar diretamente cada parte do artigo ou siga os links no final das páginas:
Uma instituição de ensino técnico precisa preparar e atualizar alguns instrutores para ministrar o novo curso Banco de Dados com base no sistema operacional Oracle Linux e no SGBD ORacle Database XE.
O Oracle Linux é uma distribuição de sistema operacional Linux desenvolvida e mantida pela Oracle Corporation. Embora seja amplamente utilizado como a base para os produtos e serviços da própria Oracle, incluindo o Oracle Database e a Oracle Cloud Infrastructure, ele também está disponível gratuitamente para download, uso e distribuição. É um dos sistemas operacionais homologados para o Oracle Database, sendo o recomendado pela Oracle.
Aqui estão os principais aspectos técnicos do Oracle Linux:
Compatibilidade com Red Hat Enterprise Linux (RHEL): O Oracle Linux é 100% binário compatível com o Red Hat Enterprise Linux (RHEL). Isso significa que a maioria dos softwares e aplicativos desenvolvidos para o RHEL funcionarão sem modificações no Oracle Linux, tornando-o uma alternativa popular para empresas que buscam reduzir custos de licenciamento e suporte sem comprometer a compatibilidade.
Unbreakable Enterprise Kernel (UEK): Uma das características distintivas do Oracle Linux é a inclusão do Unbreakable Enterprise Kernel (UEK) como o kernel padrão. O UEK é um kernel Linux otimizado pela Oracle, baseado no kernel upstream do Linux, mas com melhorias significativas em desempenho, escalabilidade e confiabilidade, especialmente para cargas de trabalho empresariais e bancos de dados Oracle. O Oracle Linux também oferece o Red Hat Compatible Kernel (RHCK) como opção, para compatibilidade máxima.
DTrace: O Oracle Linux inclui o DTrace, um poderoso framework de rastreamento dinâmico originário do Solaris. O DTrace permite que os administradores e desenvolvedores obtenham insights detalhados sobre o comportamento do sistema operacional e dos aplicativos em tempo real, facilitando a depuração e o ajuste de desempenho.
Ksplice: Um recurso chave para alta disponibilidade, o Ksplice permite que o kernel do Linux e bibliotecas críticas sejam atualizados com patches de segurança e correções de bugs sem a necessidade de reiniciar o sistema. Isso minimiza o tempo de inatividade para servidores de missão crítica, uma vantagem significativa para ambientes de produção.
Ferramentas de Virtualização: O Oracle Linux oferece suporte robusto a virtualização, incluindo o hipervisor KVM (Kernel-based Virtual Machine) e ferramentas de gerenciamento como o Oracle Linux Virtualization Manager (baseado no oVirt). Isso permite a criação e o gerenciamento eficiente de máquinas virtuais.
Ferramentas de Automação e Gerenciamento: O Oracle Linux integra ferramentas de automação baseadas em Ansible e oferece soluções para gerenciamento do ciclo de vida do software, como o Oracle Linux Automation Manager e o OS Management Hub (especialmente útil na Oracle Cloud Infrastructure), que centralizam e simplificam a aplicação de patches e atualizações.
Segurança e Conformidade: Priorizando a segurança, o Oracle Linux incorpora recursos como a detecção de exploits e oferece certificações FIPS (Federal Information Processing Standards) e Common Criteria, atendendo a requisitos rigorosos de conformidade.
Ecossistema Cloud Native: O Oracle Linux é fundamental para o Oracle Cloud Native Environment, que inclui um Kubernetes certificado pela Cloud Native Computing Foundation (CNCF) e uma pilha de software de código aberto para implantar e gerenciar aplicações nativas da nuvem.
Suporte: Embora o software seja gratuito, a Oracle oferece um serviço de suporte pago (Oracle Linux Support) que inclui acesso à Unbreakable Linux Network (ULN), backports de patches, indenização e um suporte abrangente para ambientes corporativos.
Em resumo, o Oracle Linux é um sistema operacional robusto e otimizado, ideal para cargas de trabalho empresariais, especialmente aquelas envolvendo produtos Oracle. Sua compatibilidade com RHEL, o kernel otimizado UEK e recursos como DTrace e Ksplice o tornam uma escolha atraente para organizações que buscam desempenho, segurança e alta disponibilidade.
Neste tutorial usaremos o Oracle Linux 8, recomendado para o Oracle Database 21c XE.
O Oracle Database é um sistema de gerenciamento de banco de dados relacional (RDBMS) multimodelos, proprietário, desenvolvido e comercializado pela Oracle Corporation. É um dos SGBDs mais amplamente utilizados no mundo, especialmente em ambientes corporativos de grande porte e missões críticas, devido à sua robustez, escalabilidade, segurança e conjunto abrangente de recursos.
Aqui estão alguns dos principais aspectos técnicos do Oracle Database:
Modelo de Dados Convergente (Converged Database): Embora tradicionalmente conhecido como um banco de dados relacional (usando SQL), o Oracle Database evoluiu para um banco de dados multimodelos. Isso significa que ele pode armazenar e gerenciar diferentes tipos de dados e cargas de trabalho no mesmo sistema, incluindo:
Relacional: Dados estruturados em tabelas com linhas e colunas.
JSON e XML: Suporte nativo para documentos JSON e XML, permitindo armazenamento, consulta e manipulação eficientes.
Espacial e Gráfico: Capacidades para armazenar e analisar dados geográficos (Spatial) e relacionamentos complexos em redes (Graph).
Séries Temporais (Time Series): Otimizações para dados sequenciais baseados em tempo.
Vetorial (Vector): Novas capacidades para armazenamento e busca de vetores, essenciais para aplicações de inteligência artificial e aprendizado de máquina (presente no Oracle Database 23ai).
Linguagem de Consulta: O Oracle Database utiliza o SQL (Structured Query Language) como sua linguagem principal para manipulação e recuperação de dados. Além disso, a Oracle desenvolveu o PL/SQL (Procedural Language/SQL), uma extensão procedural do SQL que permite a criação de blocos de código, procedimentos armazenados, funções, triggers e pacotes, aumentando a capacidade de programação dentro do banco de dados.
Arquitetura: A arquitetura do Oracle Database é composta por:
Instância: Um conjunto de processos de memória (SGA - System Global Area) e processos de fundo que gerenciam a base de dados.
Banco de Dados: Os arquivos físicos no disco que armazenam os dados (datafiles, control files, redo log files, etc.).
Multitenant (Arquitetura Pluggable Database - PDB): A partir do Oracle 12c, introduziu a arquitetura Multitenant, onde um único contêiner de banco de dados (CDB - Container Database) pode hospedar múltiplos bancos de dados plugáveis (PDBs). Isso otimiza o uso de recursos e simplifica o gerenciamento e a consolidação de bancos de dados.
Alta Disponibilidade e Escalabilidade:
Oracle Real Application Clusters (RAC): Permite que várias instâncias do Oracle Database em diferentes servidores acessem simultaneamente um único banco de dados compartilhado, fornecendo alta disponibilidade, balanceamento de carga e escalabilidade horizontal.
Active Data Guard: Oferece recuperação de desastres e alta disponibilidade, mantendo uma ou mais cópias de um banco de dados de produção (físico ou lógico) em outros locais. As cópias em espera podem ser abertas em modo somente leitura, permitindo relatórios e consultas.
Flashback Technologies: Permite recuperar dados para um ponto no tempo específico, desfazer operações de tabela ou recuperar tabelas removidas acidentalmente, sem a necessidade de restaurar de um backup.
Performance:
Optimizer: Otimiza a execução de consultas SQL, escolhendo o plano de execução mais eficiente.
Automatic Storage Management (ASM): Um sistema de gerenciamento de volumes que simplifica o gerenciamento de arquivos de banco de dados e otimiza o desempenho de I/O.
In-Memory Database: Permite armazenar dados em memória para acesso ultrarrápido a certas cargas de trabalho analíticas.
Segurança: Oferece um vasto conjunto de recursos de segurança, incluindo:
Criptografia de Dados: Criptografia transparente de dados (TDE) para dados em repouso e criptografia de rede.
Controle de Acesso Granular: Gerenciamento robusto de usuários, papéis, privilégios e políticas de segurança.
Auditoria: Registro detalhado de atividades no banco de dados para conformidade e detecção de anomalias.
Data Masking e Subsetting: Para proteger dados sensíveis em ambientes de não produção.
Gerenciamento:
Oracle Enterprise Manager (OEM): Uma plataforma abrangente para gerenciar, monitorar e automatizar tarefas em ambientes Oracle.
Autonomous Database: No contexto da nuvem (Oracle Cloud Infrastructure - OCI), a Oracle oferece o Autonomous Database, que é um banco de dados autônomo, auto-gerenciável, auto-reparável e auto-otimizável, utilizando inteligência artificial e aprendizado de máquina para automatizar muitas tarefas administrativas.
Em resumo, o Oracle Database é uma solução de banco de dados altamente sofisticada e versátil, projetada para atender às demandas mais rigorosas de empresas, oferecendo desempenho, escalabilidade, segurança e confiabilidade em uma ampla gama de modelos de implantação (on-premises, cloud, híbrido).
Neste tutorial usaremos a versão Oracle Database 21c XE (Express Edition) que é totalmente gratuita.