Oracle Grid Infrastructure 12cR1 - Parte 1 - Visão Geral e Novos Recursos

Por Victor Armbrust
Postado em janeiro 2014

Introdução

O Oracle Clusterware / Grid Infrastructure é um Produto muito utilizados por empresas no mundo tudo e muito comum na vida de um DBA. A seguir nos próximos capítulos deste artigo, será explicado como configurar, parametrizar e instalar o Oracle Grid Infrastructure 12cR1 juntamente com um Database (CDB) vazio.

O ambiente de Banco de Dados é composto por 2 (dois) servidores configurados com Oracle Grid Infrastructure Clusterware. Neste documento trataremos da instalação e Configuração do Ambiente completo apra instalação do Grid Infrastructure Clusterware + Database.

Veja a seguir todo o artigo.

1. Oracle Grid Infrastructure 12cR1 - Parte 1 - Visão Geral e Novos Recursos
2. Oracle Grid Infrastructure 12cR1 - Parte 2 - Configurando o Sistema Operacional
3. Oracle Grid Infrastructure 12cR1 - Parte 3 - Pré-Requisitos do Sistema Operacional
4. Oracle Grid Infrastructure 12cR1 - Parte 4 - Configurando DNS
5. Oracle Grid Infrastructure 12cR1 - Parte 5 - Pré-Requisitos do Grid Infrastructure
6. Oracle Grid Infrastructure 12cR1 - Parte 6 - Instalando o Grid Infrastructure
7. Oracle Grid Infrastructure 12cR1 - Parte 7 - Instalando o Database Software
8. Oracle Grid Infrastructure 12cR1 - Parte 8 - Criando Diskgroups no ASM
9. Oracle Grid Infrastructure 12cR1 - Parte 9 - Criando o Database
10.Oracle Grid Infrastructure 12cR1 - Parte 10 - Validações Finais

Motivadores

Como melhor prática a Oracle sempre recomenda a atualização da versão dos produtos de Banco de Dados para a última versão. Além desta recomendação, existe uma série e diferenças entre as versões 9i/10g/11g para 12cR1. A Seguir algumas delas.

Visão Geral do Oracle RAC 12cR1

Um clusterconsiste em multiplos computadores interconectados ou servidores que tem como objetivo compartilhar / processar requisições de usuários em aplicações para usuários finais. O Oracle RAC permite que um Database seja clusterizado. O Oracle RAC utiliza o Oracle Grid Infrastructure e Clusterware como infraestrutura para processar várias instances como um sistema único.

Abaixo o funcionamento do Oracle RAC:

Exemplo de ambiente utilizando Oracle Real Application Clusters 12cR1 (Hub-Nodes):

Ordem de StartUp

Para iniciar o cluster existe uma ordem para o startup dos Serviços, isso garante a inicialização correta do Oracle RAC:

Principais Processos do Oracle RAC

Um clusterconsiste em vários processos no SO.

Os Processos GCS, GES e GRD consistem no funcionamento do Oracle Cache Fusion (Responsável por troca de blocos em memória entre os Nodes do Cluster.) Abaixo alguns processos do Oracle RAC:

- ACMS: Atomic Controlfile do Memory Service
Num ambiente Oracle RAC, o ACMS contribui para garantir que as atualizações naMemória SGA seja distribuída entre os nodes, com sucesso ou falha.

- GTX0-j: Global Transaction Process
O processos GTX0-j suporta transações globais num ambiente Oracle RAC. O Database automaticamente calcula o numero desses processos baseando-se na carga de transações XA globais.

- LMD: Global Enqueue Service Daemon
Este processo gerencia cara uma das requisições remotas de recursos de cada uma das instances.

- LMS: Global Cache Service Process
O processo LMS mantém registros dos status dos Datafiles e de cada bloco em cache registrados no Global Resource Directory (GRD). O Processo LMS também controla as mensagens para instancias remotas e gerencia o acesso e transmissão de blocos da Buffer Cache entre as diferentes Instances do cluster. Esse processo faz parte da feature Cache Fusion.

- LCK0: Instance Enqueue Process
O processo LCK0 administra as requisições de recursos que não são da Cache Fusion como por exemplorequisições library w row cache.

- RMSn: Oracle RAC Management Processes Administra e gerencia tarefas do Oracle RAC.Algumas dessas tarefas incluem criação de recursos quando adcionada uma nova instância em um cluster.

Principais mudanças no Oracle Database 12cR1 e Oracle Real Application Clusters 12cR1

Em relação a versões anteriores do Oracle Database existem algumas diferenças, como:

Oracle Database 12cR1

Multitenant Architecture

O Multitenant Container Database (CDB) é um Oracle Database que contém um ou mais Pluggable Databases (PDB). Um PDB é uma coleção portátil de Schemas, Objetos, e objetos gerais que são visualizados por uma aplicação qualquer como um database completo. Este é um novo conceito no Oracle Database 12c.

O Oracle Multitenant permite que que vários PDBs compartilhem recursos de um único CDB, mas ainda sim mantendo cada PDB isolado de outros PDBs. Este recurso facilita muito a consolidação de databases mas ainda sim mantendo estruturas físicas e lógicas de cada Database (PDB) separados.

No Oracle Grid Infrastructure 12c, o Cluster é feito a nível do Container Database (CDB) e cada um de seus PDBs pode ser identificado como um serviço no cluster, usando todos os nodes ou apenas 1 node do cluster.

Pluggable Databases

Um Pluggable Database é um database portátil dentro de um Container Database (CDB) que contém todos os componentes de um database comum (Objetos, Schemas, Datafiles, etc.) Essa coleção de componentes é chamada de Pluggable Database (PDB). É possível remover um PDB de um CDB e transportá-lo completamente para outro CDB.

Consolidação de Databases

Com a utilização da arquitetura Multitenant e o Pluggable Databases a consolidação de Databases / Informações ficou muito mais simplificada, facilitando administração e gerenciamento dos Databases, uma vez que toda a Configuração de Performance, Backup e Clusterização é feito a nível de CDB e não PDB.

Movimentação Online de Datafiles

Um datafile agora pode ser movimentado de um local para outro com o Banco de Dados Online (PDB) e sendo acessado normalmente. Com este novo recurso, datafiles podem ser movimentados de um ponto (file system) para outro, ou ainda para dentro do ASM enquanto o Banco de Dados continua operacional, sem necessidade de outage. Este recurso garante SLA e não necessita downtime.

RMAN Backup Restore Cross-Platform

Agora na versão 12cR1, backups e restores via RMAN podem ser realizados sem a especificação de cláusulas para conversão do backup. O Procedimento foi simplificado para facilitar o lado operacional do DBA.

RMAN MultiSection

Tanto para Backups, Restores, Duplicates ou restores via rede, o RMAN permite o uso de vários setores para uma única operação facilitando operações específicas dividindo as diversas operações em SECTION SIZES além de permitir cópias de datafiles entre databases (PDB).

RMAN Table Recovery

Agora com a versão 12cR1 o RMAN tem a capacidade de realizar Restore e/ou Recover em table-level, evitando a necessidade de restore de tablespaces para exportação de tabelas e depois importação em novo DAtabase..

** IMPORTANTE **
Para visualizer todas as melhorias Gerais do Oracle Database 12c utilize o link abaixo:
http://docs.oracle.com/cd/E16655_01/server.121/e17906/chapter1.htm#AREANO02530

Oracle Real Application Clusters 12cR1

Application Continuity é um recurso que tem a capacidade de omitir falhas de outage para aplicações ou usuários do banco de dados. Este recurso simplesmente faz o replay da solicitação transacional ou não de um usuário ou aplicação e faz com que o tempo de “outage” pareça como simplesmente um Delay na conexão. Com este recurso usuários ou aplicações não identificam perdas de conexão ou outage, mantendo assim o tempo de resposta e evitando alarmes desncessários.

Transaction Guard

Esta é uma API que aplicações podem usar em gerenciamento de erros. É uma API confiável que retornar para a aplicação quando um erro que possa ser recuperado ocorreu em sua conexão. O transaction guard permite que sejam eliminadas dúvidas entre transações que realizaram ou não um commit ou rollback.

Transaction Idempotence

Como complement de Application Continuity e Transaction Guard, este recurso permite que aplicações ou conexões façam recover de suas transações em falhas de comunicação que possam ocorrer. Garante também na grande maioria dos casos que transações sejam executadas no momento desejado.

Flex Clusters

Com a versão 11gR2 costumeiramente eram montados clusters de até 64 nodes, com visao até 100 nodes. Com o Oracle Flex Clusters 12c é possível a configuração de clusters com até 2000 nodes, permitindo maior escalabilidade e performance.

O Oracle Flex Clusters utiliza o conceito de Hub-Nodes em sua topologia

O Core de um Flex Cluster são os Hub-Nodes. Este grupo utiliza exatamente o mesmo conceito do Cluster 11.2, e pode ser escalonado do mesmo jeito. Deve existir um (e apenas um) grupo de Hub-Nodes no conceito de Flex Clusters, e como no mesmo conceito do Cluster 11.2, todos os Hub-Nodes devem estar conectados a um storage compartilhado (utilizando ASM, por exemplo).

Podem existir ou não Leaf-Nodes conectados a um Flex Cluster. Cada um dos Leaf-Nodes (se existir) devem estar conectados a um Hub-Node, que este sim, tem todo o acesso ao Shared Storage. O Mais interessante é: Diferentemente do Conceito de Extended-RAC do 11.2, os Leaf-Nodes não precisam mais de acesso ao Shared Storage,uma vez que utilizam o acesso de Hub-Nodes para acessar os dados de cada PDB.

**IMPORTANTE:**
Para utilizar o recurso de Flex Clusters, é necessário a configuração do Flex ASM.

Flex ASM

Até a versão 11gR2, os recursos do ASM eram alocados invidividualmente em cada node de um Cluster exigindo assim que cada um desses nodes utilizassem CPU, Memória, Rede e recursos gerais para manter a instance ASM funcionando corretamente e disponível para os recursos alocados em cada node do Cluster.
Na versão 12cR1 foi introduzido um novo conceito: FLEX ASM. Este por sua vez permitem que clients e recursos conectem-se à uma Instância ASM via rede (network). Com o Flex ASM pequenos pools de de instâncias ASM podem ser utilizados para um grande número de Nodes (ou database servers). Neste cenário, quando uma instância ASM falhar, outra instância ASM poderá ser acessada normalmente.

** IMPORTANTE **
O Conceito anterior do ASM ainda permanece (Cada node do Cluster com sua respective instância ASM, este agora porém é chamado de “Standard ASM”).

Considerações Importantes:

- Flex Clusters precisam de Flex ASM;
- Standard ASM não suporta Flex Cluster;
- Flex ASM não precisa de um Flex Cluster;
   - Flex ASM pode ser configurado em um cluster Comum;
   - Flex ASM pode ser utilizado em Hub-Nodes de um Flex Cluster;
- Flex ASM pode ser utilizado em qualquer tipo de Cluster ou Tamanho;

Nas versões anteriores o CSS cluster detinha um acesso à rede publica e um ou mais acessos à rede interconnect (usando HAIP ou não). A Rede publica era utilizada para acesso de clients ao Cluster assim como acesso interconnect para intercomunicação dos nodes do cluster ou acesso ao ASM (No caso do Exadata Database Machine).

Com a Nova topologia do Flex ASM foi introzido um novo conceito: ASM Network. Esta erde é utilizada para comunicação do ASM com seus respectivos clients. Pode existir mais de uma rede ASM em um cluster, o ASM prove todos os seus serviços através da rede ASM (Quando este FLEX ASM). É possível ainda configurar uma única rede para interconexão dos Nodes bem como utilização do Flex ASM.

Sendo assim, com este novo conceito, cada instância ASM possui seu respectivo LISTENER. Este é um novo listener que funciona juntamente com os SCAN Listeners e os LISTENERS para cada Database (VIP).

Nova Topologia – ASM Network

ASM LISTENERs

Shared Oracle ASM Password File in a Disk Group

Este recurso permite que o password file (orapw*) mantenha-se armazenado dentro de um diskgroup do ASM.

Oracle ASM chown, chgrp, chmod e Open Files

Agora através do Console ASMCMD é possível alterar permissão de arquivos do Banco de Dados, ownership e permissões.

Backup OCR in ASM Disk Group

É possível também com a nova versao 12cR1 manter backups do OCR file dentro de diskgroups do ASM, sendo assim em caso de restore, fica mais simplificado o processo mantendo todos os nodes do cluster com essa possibilidade.

Oracle ACFS e ADVM

Estes recursos permanecem tanto para Armazenamento de Oracle Homes ou File Systems com propósito gerais de compartilhamento de arquivos entre o Cluster.

Global Data Services

Utilizando ainda o conceito de Oracle Multitenant o GDS veio para simplificar a adminsitração em cluster deste novo conceito. Similar ao Oracle RAC que suporta serviços para databases específicos, o Global Data Services pode centralizar o gerenciamento de vários bancos dados como failover, load balance e serviços. O mesmo pode ser utilizado para oracle Data Guard, Golden Gate ou outra tecnologia de replicação.

Shared Grid Naming Service

Uma única instância do GNS pode servir vários clusters.

What-If Command Evaluation

O Oracle Clusterware 12cR1 possui uma séria de comandos para validar o impacto no ambiente de algum commando ou alteração específico(a) antes que o mesmo seja executado. Este recurso ajuda os Administradores de Banco de Dados determinar qual o impacto que sera gerado devido a alguma determinada operação ou commando.

Restrições de registro de Serviços

Este recurso permite que somente alguns Ips permitam registro de serviços no listener.

Oracle High Available NFS

É possível também nesta nova versão utilizar File Systems ACFS como NFS. Neste cenário caso uma instância do ACFS esteja offline, ainda sim é possível utilizar o ACFS como High Available e disponível para todas os nodes do Cluster.

Policy-Based Cluster Management and Administration

O Oracle Clusterware pode executar diversas aplicações entre os nodes do Cluster. Com essa nova tecnologia é possível alocar recursos e aplicações através do uso de politicas para cada aplicação. A Distribuição de Workload pode ser modificada no cluster de acordo com a necessidade de cada aplicação.

** IMPORTANTE **
Para visualizer todas as melhorias de High Availability do Oracle Database 12c utilize o link abaixo:
http://docs.oracle.com/cd/E16655_01/server.121/e17906/chapter1.htm#AREANO02520

Recursos e Parâmetros depreciados na versão 12cR1

Os recursos já existentes na versão 11gR2 permanecem, tais como:

Parâmetros Obsoletos

Parâmetros depreciados nesta nova versao:

active_instance_count
background_dump_dest
buffer_pool_keep
buffer_pool_recycle
commit_write
cursor_space_for_time
fast_start_io_target
global_context_pool_size
instance_groups
lock_name_space
log_archive_local_first
log_archive_start
max_enabled_roles
parallel_automatic_tuning
parallel_io_cap_enabled
parallel_server
parallel_server_instances
plsql_v2_compatibility
remote_os_authent
resource_manager_cpu_allocation
sec_case_sensitive_logon
serial_reuse
sql_trace
standby_archive_dest
user_dump_dest

Recursos Obsoletos

Alguns recursos que foram depreciados na nova versão 12cR1 do Oracle Database:

  • Oracle EM Database Control
    • Substituido por Oracle EM Express
  • Upgrade Utility (catuprd.sql )
    • Substituido por Parallel Upgrade Utility (catctl.pl)
  • Oracle Streams
  • Advanced Replication
  • Single Character SRVCTL
    • Utilizado somente opções com nome completo
  • OCFS para Windows
  • Raw Devices
  • OWB não faz mais parte do Oracle Database HOME

** IMPORTANTE **
Para visualizer todas as melhorias do Oracle Database 12c utilize o link abaixo:
http://docs.oracle.com/cd/E16655_01/server.121/e17642/deprecated.htm#UPGRD60000

Features mantidas no Oracle Real Application Clusters 12cR1

Os recursos já existentes na versão 11gR2 permanecem, tais como:

ADR – Automatic Diagnostic Repository

Ferramenta para auxiliar na prevenção, detecção e diagnóstico de problemas com BUG’s em banco de dados. O ADR centraliza todos os traces e logs de todos os componentes, tais como ASM, CRS, LISTENER.

Senhas

As senhas agora por padrão são SENSITIVE CASE, portanto, muita atenção com usuários de aplicação, isso poderá ser um problema em uma migração. O recurso pode ser desligado alterando o parâmetro

sec_case_sentitive_logon = FALSE.

SCAN – Single Access Name

Single Client Access Name (SCAN) é uma nova feature do Oracle RAC11gR2 que dispõe de um nome qualificado para o acesso do Oracle Databaseem um cluster. Alguns dos benefícios é a possibilidade de adicionar ou removernodes de um cluster sem a necessidade de alterar os clients. O SCAN é oresponsável por load balancing e failover, mudando consideravelmente oOracle Net de um ambiente em cluster.

LOAD Balance em conexões via SCAN

Oracle Grid Infrastructure

Com o Oracle Grid Infrastructure, o ASM e o Clusterware são instalados em único home, tornando-se uma plataforma unificada de infraestrutura do Oracle RAC. Arquivos do Clusterware como OCR e Voting Disks, podem ser armazenados no ASM, unificando as soluções de armazenamento. Para novas instalações a opção de armazenamento dos arquivos de Clusterware em raw devices, não é mais suportada. Estas consigurações também se aplicam para a configuração STANDALONE SERVER.
ACFS – Automatic Storage Management Cluster File System é um novo recurso de armazenamento, suportando todas as plataformas, provendo uma file system dinâmica, distribuída performaticamente, balanceamento sobre todos os discos envolvidos. Substituí o antigo OCFS.
Cluster Time Synchronization Service – CTSS, serviço responsável por manter o sincronismo de tempo entre os nodes.
Oracle Universal Installer do Grid Infrastructure gera scripts automaticamente para fix de pré-requisitos não atendidos.

Online Application Upgrade

Nessa versão é permitido que sejam realizados upgrades online sem qualquer indisponibilidade para aplicações. Anteriormente quando um commando DDL era executado e outra sessão tentava realizar um DML no mesmo objeto ocorria falha. Isto não acontece mais. Melhorias nos processos Create e Rebuild index (no waits).
O modelo de dependências do banco mudou para o chamado “finegrained”.
Ex: Adicionar uma nova coluna em uma tabela ou um novo subprograma
para uma package spec, não invalidará suas dependências.

Servidores

O ambiente é composto de 2 (dois) servidores Linux, descrito abaixo:

Racnode1

Versão de SO

Oracle Enterprise Linux 5.8 (tikanga)

Versão de Kernel

2.6.32.300.10.1.el5uek

Versão Oracle

Grid Infrastructure 12.1.0.1 / Database 12.1.0.1

Modelo de Hardware

VMware - Virtualizado

Forma de Fábrica

2U

Memória

4 Gb

Qtd de CPU´s

2  @ Intel® Xeon® 5600 series

Interfaces de Rede

4 (1000mbp/s)

Switch Interconnect

N/A

Swap

3,5GB

Redundância

Bonding + HAIP

IP Servidor

192.168.1.11

IP Virtual (Público)

192.168.1.21

IP interconnect

10.1.0.1

IP interconnect

10.11.0.1

IP Listener (Scan)

192.168.1.5

IP Listener (Scan)

192.168.1.6

IP Listener (Scan)

192.168.1.7

Domínio

home.local

Disco Local

2x 20GB

Software / Discos

iSCSI

Storage

Openfiler – 192.168.1.10

Nome dos Banco de Dados

oradb

 

racnode2

Versão de SO

Oracle Enterprise Linux 5.8 (tikanga)

Versão de Kernel

2.6.32.300.10.1.el5uek

Versão Oracle

Grid Infrastructure 12.1.0.1 / Database 12.1.0.1

Modelo de Hardware

VMware - Virtualizado

Forma de Fábrica

2U

Memória

4 Gb

Qtd de CPU´s

2  @ Intel® Xeon® 5600 series

Interfaces de Rede

4 (1000mbp/s)

Switch Interconnect

N/A

Swap

3,5GB

Redundância

Bonding + HAIP

IP Servidor

192.168.1.12

IP Virtual (Público)

192.168.1.22

IP interconnect

10.1.0.2

IP interconnect

10.11.0.2

IP Listener (Scan)

192.168.1.5

IP Listener (Scan)

192.168.1.6

IP Listener (Scan)

192.168.1.7

Domínio

home.local

Disco Local

2x 20GB

Software / Discos

iSCSI

Storage

Openfiler – 192.168.1.10

Nome dos Banco de Dados

oradb

 

** IMPORTANTE **

- Sistema Operacional

O ambiente foi montado com OEL 5.8 devido a problemas de configuração do OPENFILER com Kernel uek do OEL6. O ideal é a configuração deste ambiente com OEL 6.

Vale lembrar também que este artigo conta com a instalação padrão do Sistema Operacional, onde os pacotes necessários para o Oracle Grid Infrastrucutre / Database serão instalados posteriormente.

- Storage Compartilhado

Neste artigo foi utilizado o Openfiler (http://www.openfiler.com) como software para storage compartilhado, de qualquer forma não será tratado neste artigo soluções de storage uma vez que este deve ser previamente definido antes da Instalação. Existem inúmeros vendors no mercado para oferecer soluções que atendam o compartilhamento de informações para um Cluster.

 


Victor Armbrust é DBA há 10 anos, especialista em Banco de Dados Oracle e Bacharel em Ciências da Computação. Com sólidos conhecimentos em Banco de Dados e Sistemas operacionais, possui certificações OCP 10g/11g. Eleito Oracle ACE Member em 2013.
 Consultor de Banco de Dados na Oracle ACS Brasil.