30 de octubre de 2015

Post Clone DB 11.2.0.X - EBS 12.1.3

Requisitos previos para Correr un PreClone.
Antes de Copiar el motor y los datafiles al servidor destino, se tiene que correr un preclone, que genera los archivos necesarios para rearmar la DB en un nuevo servidor.


1) Validar no tener variables seteadas, ya que el postclone tiene que generar el .env que las seteá

2) Según la Version del SO, en la mayoria de los casos, hace falta setear la variable perl

export ORACLE_HOME=/u01/oracle/PROD/db/11.2.0.4
export PERL5LIB=$ORACLE_HOME/perl/lib/5.10.0:$ORACLE_HOME/perl/site_perl/5.10.0:$ORACLE_HOME/appsutil/perl
export PATH=$ORACLE_HOME/perl:$ORACLE_HOME/perl/lib:$ORACLE_HOME/perl/bin:$PATH

3) Datos necesarios para ejecutar el postclone DB 
Hostname="Por lo gral toma automáticamente el nombre del hosts si esta correctamente configurado en /etc/hosts"
RAC=Entender si la base esta en RAC o NO, en este caso es single instance
SID=Nombre de DB, por lo gral que haga referencia al entorno DESA,TEST,PROD
Base Directory=Suele ser el un nivel superior al ORACLE_HOME, se crea la carpeta inst que utiliza EBS en algunas ocasiones.
DATA_TOP=el numero de directorios que tienen datafiles.

4) Ejecutar PostClone DB
cd $ORACLE_HOME/appsutil/clone/bin
$ perl adcfgclone.pl dbTier

                     Copyright (c) 2002 Oracle Corporation
                        Redwood Shores, California, USA
                        Oracle Applications Rapid Clone
                                 Version 12.0.0
                      adcfgclone Version 120.31.12010000.8

Enter the APPS password : ********

Running:
$ORACLE_HOME/appsutil/clone/bin/../jre/bin/java -Xmx600M -cp $ORACLE_HOME/appsutil/clone/jlib/java:$ORACLE_HOME/appsutil/clone/jlib/xmlparserv2.jar:$ORACLE_HOME/appsutil/clone/jlib/ojdbc5.jar oracle.apps.ad.context.CloneContext -e $ORACLE_HOME/appsutil/clone/bin/../context/db/CTXORIG.xml -validate -pairsfile /tmp/adpairsfile_28514.lst -stage $ORACLE_HOME/appsutil/clone  2> /tmp/adcfgclone_28514.err; echo $? > /tmp/adcfgclone_28514.res

Log file located at $ORACLE_HOME/appsutil/clone/bin/CloneContext_0505162221.log

Provide the values required for creation of the new Database Context file.

Target System Hostname (virtual or normal) [applserver] : [ENTER]
Target Instance is RAC (y/n) [n] : [ENTER]
Target System Database SID : DESA
Target System Base Directory : /u01/oracle/DESA
Target System utl_file_dir Directory List : /usr/tmp      
Number of DATA_TOP's on the Target System [1] : [ENTER]
Target System DATA_TOP Directory 1 [/u01/oracle/PROD/db/apps_st/data] : /u01/oracle/data
Target System RDBMS ORACLE_HOME Directory [/u01/oracle/PROD/db/tech_st/11.1.0] : /u01/oracle/DESA/db/11.2.0.4
Do you want to preserve the Display [srvebsdf12dt:0.0] (y/n)  : n
Target System Display [srvebsdfdbp:0.0] : [ENTER]
Do you want the the target system to have the same port values as the source system (y/n) [y] ? : y
Complete port information available at $ORACLE_HOME/appsutil/clone/bin/out/DESA_applserver/portpool.lst

Creating the new Database Context file from :
  $ORACLE_HOME/appsutil/template/adxdbctx.tmp
The new database context file has been created :
  $ORACLE_HOME/appsutil/DESA_applserver.xml

Log file located at $ORACLE_HOME/appsutil/clone/bin/CloneContext_0824151749.log
Check Clone Context logfile 

Running Rapid Clone with command:
perl $ORACLE_HOME/appsutil/clone/bin/adclone.pl java=$ORACLE_HOME/appsutil/clone/bin/../jre mode=apply stage=$ORACLE_HOME/appsutil/clone component=dbTier method=CUSTOM dbctxtg=$ORACLE_HOME/appsutil/DFPROD_srvebsdfdbp.xml showProgress contextValidated=true
Running:
perl $ORACLE_HOME/appsutil/clone/bin/adclone.pl java=$ORACLE_HOME/appsutil/clone/bin/../jre mode=apply stage=$ORACLE_HOME/appsutil/clone component=dbTier method=CUSTOM dbctxtg=$ORACLE_HOME/appsutil/DFPROD_srvebsdfdbp.xml showProgress contextValidated=true
APPS Password : 

Beginning database tier Apply - Mon Aug 24 15:20:24 2015

$ORACLE_HOME/appsutil/clone/bin/../jre/bin/java -Xmx600M -DCONTEXT_VALIDATED=true  -Doracle.installer.oui_loc=$ORACLE_HOME.4/oui -classpath $ORACLE_HOME/appsutil/clone/jlib/xmlparserv2.jar:$ORACLE_HOME/appsutil/clone/jlib/ojdbc5.jar:$ORACLE_HOME/appsutil/clone/jlib/java:$ORACLE_HOME/appsutil/clone/jlib/oui/OraInstaller.jar:$ORACLE_HOME/appsutil/clone/jlib/oui/ewt3.jar:$ORACLE_HOME/appsutil/clone/jlib/oui/share.jar:$ORACLE_HOME/appsutil/clone/jlib/oui/srvm.jar:$ORACLE_HOME/appsutil/clone/jlib/ojmisc.jar   oracle.apps.ad.clone.ApplyDBTier -e $ORACLE_HOME/appsutil/DFPROD_srvebsdfdbp.xml -stage $ORACLE_HOME/appsutil/clone   -showProgress
APPS Password : Log file located at $ORACLE_HOME/appsutil/log/DESA_applserver/ApplyDBTier_08241520.log
  -     100% completed       

Completed Apply...
Mon Aug 24 15:25:38 2015

Starting database listener for DESA:
addlnctl.sh: exiting with status 0

"El postClone nos deja el Listener y la DB iniciados"

5) Agregar al .bash_profile el seteo de variables

. /u01/oracle/DESA/db/11.2.0.4/DESA_applserver.env

Nota Referencia406982.1

21 de octubre de 2015

Usar url virtual en EBS

Modificando 4 parámetros simples, podemos modificar la url de acceso a EBS, sin que se pierdan los cambios al correr autoconfig, .

* Es recomendable hacerlo desde OAM, pero tambíen se podria modificar directamente en el $CONTEXT_FILE

1) agregamos al /etc/hosts el alias virtual
vi /etc/hosts
 Do not remove the following line, or various programs
# that require network functionality will fail.
127.0.0.1       localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
10.0.20.30     hostname.domain.com.ar hostname virtualname

2) Desde OAM cambiamos estos 4 parametros del $CONTEXT_FILE
s_webentrydomain = dominio.com.ar
s_login_page = http://virtualname.dominio.com.ar:8000/OA_HTML/AppsLogin
s_external_url = http://virtualname.dominio.com.ar:8000
s_webentryhost= virtualname

Nota Referencia:
#380489.1 - Using Load-Balancers with Oracle E-Business Suite Release 12

17 de octubre de 2015

Que archivos del SO se pueden depurar en un EBS?

Ejemplo de un crontab:

# Se limpian archivos temporales
/usr/bin/find $INST_TOP/appltmp/* -name '*.*' -mtime +7 -exec rm {} \;

# Se limpian archivos de temporales de reportes
/usr/bin/find $INST_TOP/logs/ora/10.1.2/reports/cache/ -name '*.*' -mtime +1 -exec rm {} \;

# Se limpian logs de Apache
/usr/bin/find $INST_TOP/logs/ora/10.1.3/Apache/ -name '*.*' -mtime +7 -exec rm {} \;

#Elimina posibles archivos cores
/usr/bin/find $INST_TOP/logs/ora/10.1.2/forms/ -name '*core*' -mtime +1 -exec rm {} \;

# -Depura Logs de Preclone de mas de 15 dias de antiguedad
/usr/bin/find $INST_TOP/admin/log/Stage*.log -mtime +15 -exec /bin/rm -f {} \; 2>/dev/null

# -Depura archivos *rti, log que deja forms cuando se cierra de la cruz Note Reference #470850.1
/usr/bin/find $INST_TOP/logs/ora/10.1.2/forms/* -name '*.*' -mtime +15 -exec rm {} \;

# -Depura archivos frmweb_dump que deja forms cuando se cuelga  Note Reference #1674590.1
/usr/bin/find $INST_TOP/logs/ora/10.1.2/forms/* -name "frmweb_dump*" -mtime +15 -exec rm -f {} \;

# -Depura archivos shm.em, shm.sem de Apache, dejando los ultimos 60 Note Ref #1110046.1
/usr/bin/find $INST_TOP/pids/10.1.3/Apache/logs -name '*.*' -mtime +60 -exec rm -f {} \;

# -Depura logs opmn, Note Ref #2005894.1
/usr/bin/find $INST_TOP/logs/ora/10.1.3/opmn -name '*.*' -mtime +30 -exec rm -f {} \;


# -Depurar log de errores de reports. Note Ref #842850.1 (se puede optar por un backup previo o limpiarlo)
> $APPLCSF/$APPLLOG/reports.log

Páginas Utiles para un Apps DBA de EBS

#405565.1 - Oracle E-Business Suite Release 12 Installation Guidelines
#732713.1 - Purging Strategy for E-Business Suite
#396009.1 - Database Initialization Parameters for Oracle E-Business Suite R12
#1058763.1 - Interoperability Notes EBS 12.0 and 12.1 with Database 11gR2
#406982.1 - Cloning Oracle Applications Release 12 with Rapid Clone
#828157.1 - Useful Articles for the Oracle E-Business Suite Technology Stack for Technical