Sunday 13 February 2011

Multi node to Single node Cloning – 11i + post clone checks


Pre-cloning Tasks
1. Apply application tier patches using adpatch
Apply patch 4038964
Apply patch 4175764
Both the above patches are include in the consolidated update 2 or CU2 so in case you are on 11.5.10.2 or later you can ignore this step.
2. Maintain snapshot information
Log in as the applications user on each application tier node and run ‘Maintain Snapshot Information’ by using adadmin.
3. Merge existing APPL_TOPs
Log in to the primary node of your application tier as the application user user and run:
$ cd [COMMON_TOP]/admin/scripts/[CONTEXT_NAME]
$ perl adpreclone.pl appsTier merge
This will prompt you with option to merge secondary nodes
Now log in as the applications user to each of the secondary application tier nodes being merged and run:
$ cd [COMMON_TOP]/admin/scripts/[CONTEXT_NAME]
$ perl adpreclone.pl appltop merge
4. Prepare the source system database tier.
Log on to the database tier of the source system as the oracle user and run the following commands:
$ cd [RDBMS ORACLE_HOME]/appsutil/scripts/[CONTEXT_NAME]
$ perl adpreclone.pl dbTier
With this all the pre clone tasks on the source system have been completed.
Steps to be performed on target system
1. Create OS user accounts
Create a OS user account for your applications
$ useradd -g dba -d [home_directory] -p password username
Similarly create a OS user account for your database
2. Modify the orainventory to reflect the new location
$ vi /etc/oraInst.loc
3. Copy the following application tier directories
Copy the following application tier directories from the primary node of your source system to the target application tier node, retaining the original directory structure:
– [APPL_TOP]
– [OA_HTML]
– [OA_JAVA]
– [COMMON_TOP/util]
– [COMMON_TOP/clone>
– [806 ORACLE_HOME]
– [iAS ORACLE_HOME]  4. Copy the required files for merging
Log in as the applications user to each of the secondary source nodes and recursively copy:
directory [COMMON_TOP]/clone/appl
- to -
directory [COMMMON_TOP]/clone/appl on the target system node
Before proceeding with the next steps you must shutdown your oracle applications services and the database on the source system
5. Copy the database tier file system
Log on to the source system as the database user
Copy the database (DBF) files from the source to the target system
Copy the source database ORACLE_HOME to the target system
After this you can now startup the database and applications services on your source system and release it for use.
6. Configure the target system database server
Log on to the target system as the database user and type the following commands to configure and start the database:
$ cd [RDBMS ORACLE_HOME]/appsutil/clone/bin
$ perl adcfgclone.pl dbTier
This will prompt for new ORACLE_SID,ORACLE_HOME,Port Pool,JAVA_TOP and DATA_TOP give the appropriate values matching your target system
Once successful this should start your database and listener
7. Configure the application tier server nodes
The database and its listener should remain up before executing the next set of commands.
Log in to the merged APPL_TOP node as the applications user and execute the following commands:
$ cd [COMMON_TOP]/clone/bin
$ perl adcfgclone.pl appsTier
This will prompt you new port pool for applictaion tier services as well as new APPLTOP,COMMON_TOP,ORACLE_HOME and IAS_TOP
Successful completion of this task will bring up your application tier services on the target or the cloned node.


Post-cloning Tasks

THE CHECKS/STEPS LISTED HERE SHOULD BE PERFORMED AFTER DATABASE CLONE BEFORE APPLICATIONS CLONE
1- Change the directories – if any need to be changed
select 'CREATE OR REPLACE DIRECTORY '||DIRECTORY_NAME||' AS '||''''||DIRECTORY_PATH||''''||';'
from all_directories;

- Edit the commands by replacing PROD with DEV ie source with target and Execute.
- You would also be required to check and recreate the DB links as per tns entries and requirements in the Target Instance.

2- Update apps.wf_systems (This should show the target Instance and not the source Instance)
SQL>select name,display_name from apps.wf_systems;
SQL>update apps.wf_systems set name=’’,display_name=’ .’;
SQL>COMMIT;


3- Update Notification status (This needs to be bone before running adcfgclone on the apps tier , to avoid any Notifications to be sent from the Target Instance)

UPDATE wf_notifications SET status ='CLOSED', mail_status ='SENT', end_date ='01-JAN-01' WHERE mail_status in ('MAIL','INVALID','OPEN') ;
Commit;

update wf_agents set address = replace ( address,'PROD','DEV' ) ;
select name ,display_name from wf_systems;
update wf_systems set
DISPLAY_NAME = replace ( DISPLAY_NAME, 'PROD.DBALOUNGE.COM','DEV.DBALOUNGE.COM');
Commit;


4- Update the target node in CM fnd_concurrent_queues table :
update fnd_concurrent_queues set node_name='' where node_name='';
commit;

THE CHECKS/STEPS LISTED HERE SHOULD BE PERFORMED AFTER APPLICATIONS CLONE BUT with APPS SERVICES DOWN


5- remove the log files from APPLCSF/APPLLOG:

6- Make sure Dir are existing ; Use command to confirm
cd $APPLCSF/$APPLLOG
Delete all files under $APPLCSF/$APPLLOG


7- You can set the logfile to NULL
update fnd_concurrent_requests set logfile_name = null, logfile_node_name = null,
outfile_name = null, outfile_node_name = null;
commit;

8- You may need to run
exec FND_CONC_CLONE.SETUP_CLEAN;
commit;
to clear FND_NODES entries and rerun autoconfig (on all application tiers) as per step given below
For Details , Refer to : How-to-cleanup-FND_NODES-table-to-clear-corrupted-setup

9- Run Autoconfig

10- Change apps , system and sysadmin and a module specific passwords.

11- Log in to the target system application tier node as the APPLMGR user.
Run the following tasks in adadmin for all products:
- generate JAR files
- generate message files
- relink executables
- copy files to destination
- Remove the temporary directory [COMMON_TOP]/clone/appl to reduce disk space usage.


17 Bring up all services

18 Set the Site Name Profile Option

19 Set the Java Color profile option
Changing-Look-and-feel-of-Oracle-Application&highlight=java+color

20 Configure Workflow Mailer

Login to OAM. Click on
Notification Mailer => Edit Button => Advanced.
Make sure to type in the Target instance password.

PROCESS and DISCARD should exist on the Server for wf user.
The name of the Process and the Discard directory can be got from the workflow configuration

21 Check and Schedule the Concurrent Requests - these would include Gather Statistics , Purge old data and Workflow related Concurrent Requests.
You can submit these Conc. Requests using forms or use CONCSUB as described in Concsub-to-Quickly-submit-Concurrent-Requests

Purge-concurrent-request-and-or-manager-data
Purge-Obsolete-Workflow-Runtime-Data-Concurrent-Program
Purge-Obsolete-Workflow-Runtime-Data-Concurrent-Program



* Helpful commands:
tar cvf - fmsprod* | gzip < fmsprod.tar.gz
gunzip < /fmstest/fmsclone/
fmsprod.tar.gz | tar xvf -


tar cf - * | ssh bahix08 '(cd /fmstest/fmsclone/fmsclonedata; tar xf - )'




Some Clone issues which I got during my work
===================================================================================
OUI-10197:Unable to create a new Oracle Home at /fmsclone/fmsclonedb. Oracle Home already exists at this location. Select another lo
cation.
SEVERE:OUI-10197:Unable to create a new Oracle Home at /fmsclone/fmsclonedb. Oracle Home already exists at this location. Select ano
ther location.
ERRORCODE = 255 ERRORCODE_END
./runInstaller  -silent -detachHome ORACLE_HOME=


$  ./fmsclone/fmsclonedb/oui/bin/runInstaller  -silent -detachHome ORACLE_HOME=/fmstest/upgr/upgrdb

runInstaller  -silent -detachHome ORACLE_HOME=/fmstest/upgr/upgrdb
runInstaller  -silent -detachHome ORACLE_HOME=/fmstest/upgr/upgrora/iAS
runInstaller  -silent -detachHome ORACLE_HOME=/fmstest/upgr/upgrora/8.0.6


Starting Oracle Universal Installer...

No pre-requisite checks found in oraparam.ini, no system pre-requisite checks will be executed.
The inventory pointer is located at /etc/oraInst.loc
The inventory is located at /etc/oraInventory
'DetachHome' was successful.
$


===================================================================================

silentInstall2011-10-21_09-43-41PM.log
Oracle Universal Installer has detected that there are processes running in the currently selected Oracle Home. The following processes need to be shutdown before continuing:
 oracle
Oracle Universal Installer has detected that there are processes running in the currently selected Oracle Home. The following processes need to be shutdown before continuing:
 oracle
This silent installation was unsuccessful.

Just shutdown the database , detach home again and re-ren cfgclone

===================================================================================

RC-00118: Error occurred during creation of database
Raised by oracle.apps.ad.clone.ApplyDatabase


StackTrace:
java.lang.Exception: Control file creation failed
        at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:734)
        at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:376)
        at oracle.apps.ad.clone.ApplyDatabase.(ApplyDatabase.java:347)
        at oracle.apps.ad.clone.ApplyDBTier.(ApplyDBTier.java:165)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:80)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:44)
        at java.lang.reflect.Constructor.newInstance(Constructor.java:315)
        at oracle.apps.ad.clone.util.CloneProcessor.run(CloneProcessor.java:68)
        at java.lang.Thread.run(Thread.java:568)


Applsysd01.dbf not moved durnig the ftp :)
===================================================================================

http 403
Forbidden
You don't have permission to access /OA_HTML/AppsLocalLogin.jsp on this server.

apache not considering the symbolic link




32.Temporarily enable iAS to use symbolic links.
Replace all occurrences of

'Option -FollowSymLinks'
for 'Option +FollowSymLinks' 


in  $IAS_ORACLE_HOME/Apache/Apache/conf/httpd.conf 
and  $IAS_ORACLE_HOME/Apache/Apache/conf/httpd_pls.conf 
and bounce apache. If this is the issue, you should then go back and implement the changes via autoconfig. The value from this is controllable from your Apps Context, see s_options_symlinks .
"s_options_symlinks">Options +FollowSymLinks



rm -Rf $OA_HTML/_pages/*rm -Rf $COMMON_TOP/_pages/*
rm -Rf $IAS_ORACLE_HOME/Apache/modplsql/cache/*
 

466739.1
JSP Error:
Request URI:/OA_HTML/AppsLocalLogin.jsp
Exception:
java.lang.NoSuchMethodError: oracle/apps/fnd/sso/HttpLanguageMap.getOracleFromHttp(Ljava/lang/String;)Ljava/lang/String;



mod_security: Access denied with code 400. Pattern match "!^([-_@|#!=A-Za-z0-9/ :.$]){0,255}$" at ARGS_NAMES. [hostname "bahix09.aemeweb.com"] [uri "/oprocmgr-service"]

============================================================

APP-FND-01926:The custom event WHEN-LOGON-CHANGED raised unhandled exception:
ORA-06508: PL/SQL: could not find program unit being called
The issue can be reproduced at will with the following steps:
1. Login to http://hostname.domain:port/OA_HTML/AppsLocalLogin.jsp
2. Navigate to any forms-based application
After applying new patches, the forms and pl/sql libraries were not regenerated.
  1. Tried copying source CUSTOM.pll from backup
  2. re-compiling existing $AU_TOP/resource/CUSTOM.pll
  3. Copy and re-compile CUSTOM.pll
None of the above three helped in my case.
Finally, I did the following
1. Use adadmin and generate JAR files with force option.
2. Use adadmin and run Generate Form Files and PL/SQL Library Files

No comments:

Post a Comment

Number of Visitors