Neste artigo veremos um passo-a-passo sobre um método manual para converter um instância Simples (single instance) para Oracle database RAC
Informações sobre a instância:
ORACLE_HOME=/u01/app/oracle/product/10.2.0/db_1
ORACLE_SID=prod
Localização dos datafiles = /u03/oradata/prod — /u03 está em formato de arquivo OCFS.
Se seus arquivos estão em sistema de arquivo diferente e não compartilhado, você deve compia-los e renomeá-los quando for o caso.
Versão do banco de dados = 10g R2 (10.2.0.1.0)
Passos para conversão dem uma instância simples "single instance" para RAC
Passo 1) Instale o software clusterware em todos os nós que você usará o RAC
Para detalhes de como instalar o software clusterware, veja o link: http://www.viniciusdba.com.br/blog/?p=316 (sempre em português!). As nomenclaturas de diretórios e detalhes de instalação estarão diferentes, informarei sempre as que estou usando.
Basicamente você precisa configurar o endereço IP e outros arquivos do sistema operacional e variáveis de ambiente, antes de instalar o clusterware. Veja o que o blog apresenta uma solução completa.
Importante: A versão do software clusterware deve ser igual a do banco de dados, nunca misture as versões!!
Detalhes da instalação do software clusterware:
Nome do Cluster : crs
Diretório de instalação do Cluster : /u01/app/oracle/product/10.2.0/crs
Diretório do OCR : /u03/oracrs/ocr.ora
Diretório do Voting disk : /u03/oracrs/vote.crs
Passo 2) instale o banco de dados Oracle RAC em cluster 10g
Novamente siga as dicas excelentes deste blog: http://www.viniciusdba.com.br/blog/?p=396
Lembrando agora outro fato importante, a versão deste ambiente em RAC deve ser obrigatoriamente a mesma que você estava usando quando tinha uma só instância.
Detalhes da instalação:
RAC ORACLE_HOME=/u01/app/oracle/product/10.2.0/db
Número de instâncias = 2
Nome dos nós para as 2 instãncias = ocvmrh2103, ocvmrh2190
/u01 não está sendo compartilhado entre os nós do cluster.
Passo 3) Faça um backup da sua instância e recupere este backup na partição que está sendo compartilhada (BACKUP/RESTORE).
Se você estiver usando usando ASM, esta é a forma mais rápida:
a) Monte os discos usando o caminho do diretório dos datafiles:
mkdir /mnt/datafile
mount /hostdobancooriginal/diretorio/datafile /mnt/datafile -o user=usuario
>>>informe a senha
b) Faça o backup (cópia) do seu banco direto para os discos ASM usando o rman
rman target system/system123@sid
convert datafile '/mnt/datafile/system01.dbf' format '+disk/datafile/system01.dbf' ;
Passo 4) Faça uma cópia do seu init.ora e adicione os parâmetros para o RAC:
bash-3.00$ cp initprod.ora /tmp/initprod.ora
Parâmetros novos no arquivo /tmp/initprod.ora, perceba que as instância agora são numeradas 1 e 2, ok?
*.cluster_database = TRUE
*.cluster_database_instances = 2
*.undo_management=AUTO
prod1.undo_tablespace=UNDOTBS1
prod1.instance_name=prod1
prod1.instance_number=1
prod1.thread=1
prod1.local_listener=listener_ocvmrh2103
prod2.instance_name=prod2
prod2.instance_number=2
prod2.local_listener=listener_ocvmrh2190
prod2.thread=2
prod2.undo_tablespace=UNDOTBS2
Passo 5) Altere a informação sobre a nova localização do arquivo de controle (controlfile), no arquivo /tmp/initprod.ora
Passo 6) Cria seu SPFILE
SQL> create spfile='/u03/oradata/prod/spfileprod.ora' from pfile='/tmp/initprod.ora';
Passo 7) Copie o spfile criado para o diretório : ORACLE_HOME/dbs e crie um novo pfile a partir dele.
bash-3.00$ cp spfileprod.ora /u01/app/oracle/product/10.2.0/db/dbs/spfileprod.ora
bash-3.00$ pwd
/u01/app/oracle/product/10.2.0/db/dbs
bash-3.00$ cat initprod1.ora
spfile='/u01/app/oracle/product/10.2.0/db/dbs/spfileprod.ora'
Passo 8) Cria um novo arquivo de senha (password) para a instância prod1 embaixo do Oracle_home do RAC
bash-3.00$ orapwd file=orapwprod1 password=welcome1
Passo 9) inicialize o banco de dados no modo "MOUNT" e troque os nomes dos datafile e redo log para sua nova localização.
----->>>>Antes confirme se sua varável de ambiente ORACLE_HOME está configurada corretamente:
bash-3.00$ echo $ORACLE_HOME
/u01/app/oracle/product/10.2.0/db
bash-3.00$ echo $ORACLE_SID
prod1
SQL> startup mount pfile=initprod1.ora
ORACLE instance started.
Total System Global Area 838860800 bytes
Fixed Size 1222168 bytes
Variable Size 213912040 bytes
Database Buffers 620756992 bytes
Redo Buffers 2969600 bytes
Database mounted.
Passo 10) Adicione a sugunda partição do RAC (thread) que irá atender a instância 2
SQL> alter database add logfile thread 2 group 4 ('/u03/oradata/prod/redo2_01.dbf') size 50M, group 5 ('/u03/oradata/prod/redo2_02.dbf') size 50M, group 6 ('/u03/oradata/prod/redo2_03.dbf') size 50M;
Database altered.
SQL> ALTER DATABASE OPEN;
Database altered.
SQL> alter database enable public thread 2;
Database altered.
Passo 11) Crie UNDO tablespace para a instância 2
O nome desta tablespace deve ser o mremos que você especificou no arquivo init.ora no passo 4.
QL> CREATE UNDO TABLESPACE UNDOTBS2 DATAFILE '/u03/oradata/prod/undotbs2_01.dbf' size 25M;
ablespace created.
Passo 12) Crie as visões (views) específicas para cluster na instância 1
QL> @?/rdbms/admin/catclust.sql
Passo 13) No segundo nó do cluster:
Configure o ORACLE_HOME e o SID
bash-3.00$ export ORACLE_HOME=/u01/app/oracle/product/10.2.0/db
bash-3.00$ export ORACLE_SID=prod2
Crie o arquivo initprod2.ora igual ao initprod1.ora (da primeira instância). Lembre de copiar também o arquivo spfile para este segundo nó de cluster.
bash-3.00$ pwd
/u01/app/oracle/product/10.2.0/db/dbs
bash-3.00$ ls -lrt spfileprod.ora
-rw-r----- 1 oracle oinstall 3584 Feb 19 12:36 spfileprod.ora
bash-3.00$ cat initprod2.ora
spfile='/u01/app/oracle/product/10.2.0/db/dbs/spfileprod.ora'
Passo 14) Crie um novo arquivo de senhas (password) para esta instância
bash-3.00$ orapwd file=orapwprod2 password=welcome1
Passo 15) Crie os diretórios (mkdir) para os arquivos, conforme informado no init.ora, abaixo:
audit_file_dest
background_dump_dest
user_dump_dest
core_dump_dest
Passo 16) Inicialize a segunda instância
SQL> startup pfile=initprod2.ora
ORACLE instance started.
Total System Global Area 838860800 bytes
Fixed Size 1222168 bytes
Variable Size 213912040 bytes
Database Buffers 620756992 bytes
Redo Buffers 2969600 bytes
Database mounted.
Database opened.
Passo 17) Agora é só adicionar os serviços do cluster
bash-3.00$ srvctl add database -d prod -o /u01/app/oracle/product/10.2.0/db -p /u03/oradata/prod/spfileprod.ora
bash-3.00$ srvctl add instance -d prod -i prod1 -n OCVMRH2103
bash-3.00$ srvctl add instance -d prod -i prod2 -n OCVMRH2190
Referência:
Metalink Note ID : 747457.1
Fique à vontade para tirar dúvidas comigo. Espero que você tenha Sucesso!
Luis Adelson.
Nenhum comentário:
Postar um comentário