Este artigo descreve os passos necessários para clonar manualmente uma instalação existente do banco de dados Oracle para um novo servidor Linux. Antes de iniciar o processo é interessante ler as seguintes notas:
· Para fazer uma clonagem
num ambiente de produção esse método pode não ser recomendado. O ideal é fazer
as instalações e clonar somente a base de dados, utilizando “export/import” ou
via “backup/restore”
· O método apresentado assume que não há serviços relacionados ao
cluster, portanto, não abrange as instalações usando o ASM ou RAC.
· Este método assume que a base de dados origem e a base de dados destino
têm exatamente a mesma configuração. Ou seja, todos os pré-requisitos da Oracle
foram executados no servidor de destino. Neste exemplo, a diferença entre os
dois servidores é o nome do servidor (hostname) e endereço IP (TCP/IP).
· Existem várias notas do suporte Oracle em instalações usando o
Oracle Universal Installer (OUI) e o Grid Control (GC), deve-se considerar essas
notas antes de utilizar este método de clonagem. Veja o artigo: Master Note For Cloning Oracle Database Server
ORACLE_HOME's Using the Oracle Universal Installer (OUI) (Doc ID 1154613.1).
- Baixar
o banco de dados Oracle
- Criar um arquivo de “backup” (TAR File)
- Transferir o arquivo (TAR File)
- Extrair o arquivo (TAR File)
- Verificar
as permissões dos arquivos
- Configurar
os scripts de “root”
- Configurar os arquivos de ambiente
- Levantar o banco de dados
Baixar
o banco de dados Oracle
Desativar
todas os serviços Oracle relacionados, incluindo o Grid Control, o banco de
dados e o “listener”.
$ # EM
$ emctl stop dbconsole
$ # database and listener (>=10g)
$ dbshut $ORACLE_HOME
$ # listener (<10g)
$ lsnrctl stop
Criar um arquivo de “backup” (TAR File)
Executar o comando “TAR” e opcionalmente compactar o ponto de montagem que contém o software Oracle. Neste caso, todos os produtos de software Oracle e arquivos de dados estão sob o diretório "/u01". Executar o seguinte comando como usuário "root".
# tar -cvf
/tmp/u01.tar /u01
# gzip
/tmp/u01.tar
Quando estiver finalizado, pode-se
reiniciar o banco de dados Oracle no servidor de origem, levantando o “listener”,
o banco de dados e o Grid Control, ver o item “Levantar o banco de dados Oracle”.
Transferir
o arquivo (TAR File)
Deve-se
copiar o arquivo do servidor de origem para o servidor de destino. Para essa
transferência será utilizado o comando SCP.# scp /tmp/u01.tar.gz root@192.108.1.2:/tmp/u01.tar.gz
Extrair
o arquivo (TAR File)
Descompactar
e extrair o conteúdo do arquivo TAR no servidor de destino. Executar os
seguintes comandos como o usuário "root" no servidor de destino.
# gunzip
/tmp/u01.tar.gz
# cd /
# tar -xvf
/tmp/u01.tar
Verificar
as permissões dos arquivos
Verificar
as permissões dos arquivos "/u01" diretórios e seus conteúdos. As
permissões devem coincidir com as permissões do servidor de origem, caso
contrário deve-se alterá-la, usar:
# chown -R
oracle:oinstall /u01
Configurar
os scripts de “root”
Executar
o script “orainstRoot.sh”, gerados como parte da instalação original, o
servidor de destino como o usuário "root".
# /u01/app/oraInventory/orainstRoot.sh
# /u01/app/oracle/product/11.2.0/db_1/root.sh
Configurar os arquivos de ambiente
Ajustar o arquivo ".bash_profile" como parte do programa de configuração do servidor de destino, copie o arquivo de origem para o servidor de destino.
# scp /home/oracle/.bash_profile oracle@192.108.1.2:/home/oracle/.bash_profile
Editar o arquivo ".bash_profile" no servidor de destino, alterar o valor correto para a variável de ambiente ORACLE_SID.
Alterar o nome de “host” ou “IP” referências nos arquivos de "listener.ora" e "tnsnames" no diretório "$ORACLE_HOME/network/admin".
Editar o arquivo "/etc/oratab" certificando-se que todas as instâncias estão referenciadas corretamente.
DB11G:/u01/app/oracle/product/11.2.0/db_1:Y
Levantar
o banco de dados Oracle
Levantar
o “listener” e o banco de dados.
$ # listener
(<10g)
$ lsnrctl start
$ # database
and listener (>=10g)
$ dbstart
$ORACLE_HOME
O banco de dados agora deverá funcionar normalmente no servidor de destino.
Rubens Oliveira
DBA Oracle Consultor
olivert.dba@consultant.com