Saturday, September 19, 2009

Migrating oracle apps

Migrating Oracle Apps Middle Tiers to Linux
Currently Oracle supports following platforms for its middle tier:
1. HP Tru64
2. HP-UX PA-RISC
3. IBM AIX Based Systems
4. Linux x86
5. Solaris Operating System SPARC
6. Windows 2000/Windows Server 2003 (x86)
For more information go to : https://www.metalink.oracle.com
As an experianced dba you would know that bulk of load will be on database tier where you would prefer bigger proprietry OS/hardware machines. For middle tier i.e. forms, web and conc. manager you would prefer cheaper machines with optional load balancing which also can give you higher availability and scalability (option to add more machines as load increases), than spending millions on one or two large proprietry hardware.
Many organizations nowadays are demanding that they move thier middle tier to cheaper Linux hardware at the same time keep administrative costs low by implemeting multiple middle tier nodes (for HA) and shared application tier (for lower maintenance costs). Oracle provides the ability nowadays to move your middle tier from any one of above mentioned platform to Linux Platform. The migration utility retains your exact Applications patch level, so that no APPL_TOP/Database synchronization is necessary. It also allows you to retain many customizations, thereby lowering your overall cost/time of migrating your application tiers to linux.
Although oracle supports various flavors of Linux (SLES-9,SLES-8, RHEL 3, 4,2.1, Enterprise Linux,AsiaLinux 1.0) , for sake of simplicity I would talk about Red Hat version 4.0 only, in this blog post. Also to have multiple nodes for conc. manager you would have to implement Parallel Concurrent Processing (PCP) which would make things more complex for this article, hence I would talk about only moving your forms/web nodes to Linux platform. The steps for conc. manager will be same if you want to keep one node, however for multi node, after migrating to Linux you would have to implement PCP about which I talk in my later articles.
In short I am going to do the following:




This article talks about middle tier migration only. If you want to migrate your database from one platform to Linux you would have to export/import your apps database. Please follow instructions in the following metalink note:
For 10gR2 : Note:362205.1
For 10gR1 : Note:331221.1
For 9iR2 : Note:230627.1
For 8i : Note:204015.1
1. Prerequisites
a. Database Version should be 8.1.7.4 or higher (Beware that if you are planning to move your database also from windows to linux using export/import, there is a bug in 8.1.7.4. You would have to migrate to 9i first to export/import from windows to linux.)
b. AD mini-pack G or later (minimum recommended by me will be H)
c. Implement Autoconfig if you havent yet, refer to Migrating to AutoConfig on the Application Tier
d. Maintain Snapshot Information: This will sync up your application tier with database.
e. Perl version 5.005
f. JDK version 1.3.1
g. Install Red Hat linux : Will talk about it more in a separate post.
How it works ?
1. Platform Migration Utility Patch: Oracle gives you the ability to change your middle tiers by using its Platform Migration Utility, which comes as a patch (patch#3453499). As of today patch#3453499 is included in TXK (FND & ADX) Autoconfig Rollup Patch N (August 2006) patch#5107107.
2. Create your application tier: You would have to copy your APPL_TOP,OA_HTML,OA_JAVA, COMMON_TOP/util,COMMON_TOP/_pages from your old middle tier node to linux node. Now obviously these files wont work as is on Linux, because all the exeutables will be of old middle tier e.g. if you were on HP-UX and copy files to Linux, all the executable files will be of HP-UX and wont work on linux. This gap is bridged by Platform Migration Utility. After copying the COMMON_TOP/util make sure you remove jre directory in it. This directory will be created when you install tech-stack as mentioned below.
3. Generate customer manifest: After applying platform migration utility patch mentioned above, you will have to run a script in AD_TOP. perl $AD_TOP/bin/adgenpsf.pl
This script will take about minute an generate a text file ($APPL_TOP/admin/$TWO_TASK/out/adgenpsf.txt ), which is called manifest of customer-specific files. You will have to upload this file to: http://updates.oracle.com/PlatformMigration . Oracle will send a e-mail with the link to download a patch and also username and password for this patch. This patch is specific to you only and gives all the files necessary to make your “copied” application files to work on linux (Dont apply this patch yet)
4. Clone your autoconfig xml file: As you have copied your APPL_TOP from old node to new Linux node, you would have autoconfig xml (to learn more about autoconfig please see: Migrating to AutoConfig on the Application Tier ) which has all the entries related to old node. You would have to “Clone” your xml file to new node. To do this:
run the following perl script “perl $AD_TOP/bin/adclonectx.pl migrate java= contextfile=”. This script will ask you about new mount points, ports etc… on new Linux node and will create new xml file in /admin/SID_Hostname.xml.
5. Create technology stack: If you have noticed till now, all this while we didnt have 8.0.6 and iAS homes on new Linux node. We didnt copy them ??? so where will they come from ? This is acheived by using 11.5.10 rapid-install new feature which allows you install just tech-stack from 11.5.10 CDs (DVDs in this case). Refer to chapter 5 of apps installation guide : Oracle Apps Installation Guide
Make sure you have ordered 11.5.10.2 (latest as of now) media from Oracle.
6. Apply Red hat 4.0 Oracle Interoperability patches: You would have to apply the following patches as your target linux node is Red Hat 4.0
3830807 Oracle 8.0.6.3 Interop patch
3170128 Oracle 8.0.6 Interop patch for Discoverer 4i
3846086 8.1.7.4 Interop patch for iAS ORACLE_HOME
7. Generate environment files: At this point you have all the necessary files for apps middle tier, together with autoconfig xml file. Next step will be to apply customer specific patch that you got above. But before that you would need to create environment files that has to be sourced. Run the following shell script to generate env files. /bin/adconfig.sh run=INSTE8_SETUP contextfile=target system ctxfile
8. Apply customer specific patch : Download the customer specific patch that you got above and unzip it. Read the readme carefully and apply the patch, make sure you have sourced the environment files before running adpatch. Important thing to notice here is that adpatch is to be run from “/bin” directory where you have unzipped your patch. The executable in AD_TOP/bin is not yet ready to be executable on linux. This patch will replace all your old executables with Linux and relink them. While relinking if there are any errors related executables to Ilog, Roguewave, Quantum, In that case, answer “yes” when adpatch asks whether to “Continue as if it were successful”.
9. Upgrade to latest developer 6i patchset : This is a good oppurtunity to upgrade your developer patchset level to latest level. As of today patchset 18 is available. For more information refer to : note:125767.1
10. Apply 11.5.10 tech-stack inter-op patch : Since you will be using 11.5.10 tech stack, you will have to apply interop patch so as to make your applications work with this new tech-stack. Read the readme and Apply patch:4139957
11. Regenerate the executables: Run adadmin to generate messages, forms, reports, graphics and jar files.
12. Run AutoConfig to complete the target system configuration : At this point your application tier is migrated to linux, you have to run autoconfig sync-up your new application tier with the database. Run autoconfig as:
$AD_TOP/bin/adconfig.sh contextfile=Target system context file
Finishing Tasks : Depending upon your implementation you may have to look at the following:
1. Custom forms may need recompile.
2. Custom settings in environment files.
3. If using discoverer, SSO, portal etc. need to check them separately if they are working. refer to thier documentation.
4. Update printer settings if you have migrated your conc. node.
5. Update workflow settings for new host.
After making sure everything is alright, try to bring up your services and login into the application. HURRAAHHH.. now you are on Linux. Do a thorough testing on Linux and in the end you can de-comission your old, costly middle tier hardware.
At this point you can bring-in another linux server and implement shared application tier and load balancing. For more details on this, wait for my next post .. till then good luck with Linux and keep reading my blog…

1 comment:

  1. BTW, I often use various data recovery solutions to restore my documents. Please take a closer look at the pdf file fix program, it fixes corrupted files regardless of the root cause of issue

    ReplyDelete