DataARTIGO
Como realizar Clone de ORACLE HOME
Este procedimento tem como principal objetivo realizar um CLONE de um ORACLE HOME existente em um instalação do Oracle Database (10g ou 11g) em ambiente Linux/Unix. O Clone consiste em um cópia exata de arquivos binários e arquivos de configuração.
Este procedimento tem como principal objetivo realizar um CLONE de um ORACLE↳Oracle22 conteúdosOracle lança Java 26 para aumentar produtividade de desenvolvedoresDev (Back & Front) · mar 2026Oracle oferece o primeiro cluster de computação em nuvem em escala ZettaDevSecOps · jan 2025Oracle abre inscrições para o ONE, programa gratuito de formação em tecnologia e inteligência artificialData · dez 2024Ver tudo em Data → HOME existente em um instalação do Oracle Database (10g ou 11g) em ambiente Linux↳Linux34 conteúdosKali Linux em um Servidor VPS: como, quando e por que usar?DevSecOps · dez 2024Construindo um Windows Service ou Linux Daemon com Worker Service & .NET Core – Parte 2Dev (Back & Front) · jul 2020Criando uma WebApi utilizando .NET, Linux e VSCodeDev (Back & Front) · ago 2019Ver tudo em DevSecOps →/Unix. O Clone consiste em um cópia exata de arquivos binários e arquivos de configuração.
Algumas características relevantes:
- Otimização de tempo para instalação de um novo ORACLE HOME;
- Dispensa necessidade de mídia de instalação;
- Não necessita indisponibilidade do ORACLE HOME existente;
- Segurança (não necessita transferência de de arquivos).
Procedimento
Passo 1 (Pré-Requisito)
Instalação do Oracle Database (10g ou 11g).Passo 2
Executar uma cópia do ORACLE HOME de origem: * Executar os passos abaixo como usuário “root”cp -Rpf <ORACLE_HOME_ORIGEM> <ORACLE_HOME_DESTINO>** Observações ** Não é necessário realizar “shutdown” de nenhum Database em execução neste ORACLE HOME. É recomendável a verificação de espaço em disco do File System de destino. Exemplo:
cp -Rp /u01/app/oracle/product/11.2.0.3/dbhome_1 /u01/app/oracle/product/11.2.0.3/dbhome_
Passo 3
Ajustar links simbólicos. * Executar os passos abaixo como usuário “root” Neste passo, deve-se conferir todos os links simbólicos do ORACLE HOME de destino. Procurar por possíveis links que ficaram com PATH do ORACLE HOME de origem. Caso existam, devem ser recriados. Também é importante conferir todas as as permissões (devem ser iguais ao ORACLE HOME de Origem – a dica é utilizar a opção “p” do comando “cp” ou “tar”). Abaixo as permissões comuns:<ORACLE_HOME_DESTINO>/lib rm libclntsh.so.10.1 ln -s libclntsh.so libclntsh.so.10.1
<ORACLE_HOME_DESTINO>/bin rm lbuilder ln -s ../nls/lbuilder/lbuilder lbuilder
Passo 4
Ajustar permissões. * Executar os passos abaixo como usuário “root”div>chown -R oracle:oinstall <ORACLE_HOME_DESTINO>
Passo 5
Realizar o clone. Garantir que o arquivo “/etc/oraInst.loc” exista. Se não existir, crie-o e utilize a opção “inventory_loc=<path_to_oraInventory>” no comando abaixo, especificando o caminho. * Executar os passos abaixo como usuário “root”<ORACLE_HOME_DESTINO>/clone/bin perl clone.pl ORACLE_HOME="<ORACLE_HOME_DESTINO>" ORACLE_HOME_NAME="<NOME_UNICO_NOVO_HOME>" ORACLE_BASE="<ORACLE_BASE>" OSDBA_GROUP=<OSDBA_privileged_group> OSOPER_GROUP=<OSOPER_privileged_group>Exemplo:
cd /u01/app/oracle/product/11.2.0.3/dbhome_2/clone/bin perl clone.pl ORACLE_HOME="/u01/app/oracle/product/11.2.0.3/dbhome_2" ORACLE_HOME_NAME="OraDb11g_dbhome_2" ORACLE_BASE="/u01/app/oracle" OSDBA_GROUP=dba OSOPER_GROUP=oinstall** Observações ** Se o oraInst.loc existir em outro caminho, deve-se editar o arquivo <ORACLE_HOME_DESTINO>/clone/config/cs.properties e colocar a opção com o caminho correto: “-invPtrLoc <path>/oraInst.loc“. Caso não funcione, pode-se forçar com a utilização da opção: “-ignoreSysPrereqs“. Antes de continuar, confira se o nome de ORACLE HOME (UNIQUE_NAME) não é utilizado por nenhum outro ORACLE HOME (<ORACLE_BASE>/oraInventory/ContentsXML/inventory.xml). Caso queria utilizar um ORACLE HOME existente (NOME e/ou PATH), primeiro remova este ORACLE HOME do Inventory:
./runInstaller -detachHome ORACLE_HOME=<target_home>Exemplo:
[oracle@servidor1 bin]$ perl clone.pl ORACLE_HOME="/u01/app/oracle/product/11.2.0.3/dbhome_2" ORACLE_HOME_NAME="OraDb11g_ dbhome_2" ORACLE_BASE="/u01/app/oracle" OSDBA_GROUP=dba OSOPER_GROUP=oinstall ./runInstaller -clone -waitForCompletion "ORACLE_HOME=/u01/app/oracle/product/11.2.0.3/dbhome_2" "ORACLE_HOME_NAME=OraDb11g_dbhome_2" "ORACLE_BASE=/u01/app/oracle" "oracle_install_OSDBA=dba" "oracle_install_OSOPER=oinstall" -silent -noConfig -nowait Starting Oracle Universal Installer...Checking swap space: must be greater than 500 MB. Actual 24575 MB Passed Preparing to launch Oracle Universal Installer from /tmp/OraInstall2012-08-14_04-40-13PM. Please wait ...Oracle Universal Installer, Version 11.2.0.3.0 Production Copyright (C) 1999, 2011, Oracle. All rights reserved.You can find the log of this install session at: /u01/app/oraInventory/logs/cloneActions2012-08-14_04-40-13PM.log ............................................................................... 100% Done.Installation in progress (Tuesday, August 14, 2012 4:40:21 PM AMT) ............................................................................... 79% Done. Install successfulLinking in progress (Tuesday, August 14, 2012 4:40:25 PM AMT) Link successfulSetup in progress (Tuesday, August 14, 2012 4:40:45 PM AMT) Setup successfulEnd of install phases.(Tuesday, August 14, 2012 4:41:06 PM AMT) WARNING: The following configuration scripts need to be executed as the "root" user. /u01/app/oracle/product/11.2.0.3/dbhome_2/root.sh To execute the configuration scripts: 1. Open a terminal window 2. Log in as "root" 3. Run the scripts The cloning of OraDb11g_dbhome_2 was successful. Please check '/u01/app/oraInventory/logs/cloneActions2012-08-14_04-40-13PM.log' for more details.
Passo 6
Executar “root.sh”. * Executar os passos abaixo como usuário “root”<ORACLE_HOME_DESTINO>/root.shExemplo:
[root@servidor1 dbhome_2]# ./root.sh Check /u01/app/oracle/product/11.2.0.3/dbhome_2/install/root_servidor1_2012-08-14_16-43-24.log for the output of root script [root@dm02db01 dbhome_2]# [root@dm02db01 dbhome_2]# cat /u01/app/oracle/product/11.2.0.3/dbhome_2/install/root_servidor1_2012-08-14_16-43-24.logPerforming root user operation for Oracle 11gThe following environment variables are set as: ORACLE_OWNER= oracle ORACLE_HOME= /u01/app/oracle/product/11.2.0.3/dbhome_2Entries will be added to the /etc/oratab file as needed by Database Configuration Assistant when a database is created Finished running generic part of root script. Now product-specific root actions will be performed. Finished product-specific root actions. [root@dm02db01 dbhome_2]#** Observações ** Verificar o arquivo de Inventário do Oracle Universal Installer (OUI).
cat /u01/app/oraInventory/ContentsXML/inventory.xml* Observar novo ORACLE HOME
(...)<HOME NAME="OraDb11g_dbhome_2" LOC="/u01/app/oracle/product/11.2.0.3/dbhome_2" TYPE="O" IDX="4"> <NODE_LIST> <NODE NAME="servidor1"/> <NODE NAME="servidor2"/> <NODE NAME="servidor3"/> <NODE NAME="servidor4"/> </NODE_LIST>(...)Referências Cloning An Existing Oracle11g Release 2 (11.2.0.x) RDBMS Installation Using OUI [MOS ID 1221705.1] Lembrando que este procedimento é homologado pela Oracle e tem o mesmo efeito de uma instalação comum via OUI. Até a próxima.





