Title: Letting%20Go:%20A%20DBA's%20Guide%20to%20AutoConfig%20and%20Rapid%20Clone
1Letting Go A DBA's Guide to AutoConfig and Rapid
Clone
- Mark Morgan
- siMMian systems, inc.
- 415-585-4242
- morgan_at_simmian.com
2AutoConfig and Rapid Clone
- Overview
- Implementation and Operation
- Troubleshooting, Tips, and Tricks
3AutoConfig Overview
- 10.7 --gt 2 config files
- APPSORA.env
- FNDENV
- 11.5.9 --gt 100? config files
- Database
- DB Networking
- Apache
- Framework (jsp, AOL.J,pls,servlets, TCF)
- Applications environment
- Discoverer server
- Portal
4AutoConfig Overview
- Context file (XML)
- Template files
- File drivers
- lists of template files
- AD scripts
- shell scripts, perl, SQL, java
5AutoConfig Implementation
- Doc 165195.1
- Oracle Applications Maintenance Procedures
6AutoConfig Implementation
- Patch Current
- ADX E
- TXK H
- AD F
- 2873456 (Context Editor)
- 2674529 (Apache pre 11.5.8)
- OAM G (optional)
- zip 2.3
- JDK 1.3.1
7Migrate to AutoConfig
- Will need to migrate if
- pre 11.5.7 installation
- applied templates patch
8Migrate to AutoConfig
- Apps Tier
- adbldxml.sh
- adconfig.sh
- DB Tier
- admkappsutil.sh
- adbldxml.sh
- adconfig.sh
- Always check logs after running scripts!
9Maintaining AutoConfig
- Apps Tier
- COMMON_TOP/admin/scripts/ltCONTEXTgt/adautocfg.sh
- DB Tier
- ORACLE_HOME/appsutil/scripts/ltCONTEXTgt/adautocfg.
sh
10Context File
- APPL_TOP/admin/SID/ltCONTEXTgt.xml
- 3 Ways to Change Configuration
- editcontext
- OAM
- vi
11Context File
- XML
- ltweb_port_pls oa_var"s_webport_pls"
oa_type"PORT"gt8202lt/web_port_plsgt - lturl_protocol oa_var"s_url_protocol"gthttplt/url_p
rotocolgt - ltlocal_url_protocol oa_var"s_local_url_protocol"gt
httplt/local_url_protocolgt - ltoprocmgr_port oa_var"s_oprocmgr_port"
oa_type"PORT"gt8102lt/oprocmgr_portgt
12Restoring an AutoConfig Configuration
- OAM
- restore.sh
- APPL_TOP/admin/ltCONTEXTgt/out/MMDDhhmm
- ORACLE_HOME/appsutil/out/ltCONTEXTgt/MMDDhhmm
13Customizing Configurations
- Apps Tier
- Begin customizations
- ...
- End customizations
- APPL_TOP/customltCONTEXTgt.env
- Doc 236618.1 Personalizing OA Framework
- .profile
14Customizing Configurations
- DB Tier
- tnsname.ora --gt ifile
- init.ora --gt ifile
15AutoConfig Troubleshooting, Tipsand Tricks
- oprocmgr_prt
- s_webport_pls
- s_conctimeout
- s_discostatus
- JDK 131 setups
- TCF Port
- CLASSPATH
- AF_CLASSPATH
- LD_LIBRARY_PATH
- Followsymlinks
- DISPLAY
16AutoConfig Troubleshooting, Tipsand Tricks
- Keep accessible backups of context file
- Don't break out of adautocfg.sh
- Use aoljtest.jsp to test configs
- Updates some profile options
- init.ora db_cache_size does not work (as of ADX
D) - Use adautocg.sh to change apps password after
running FNDCPASS - Keep copies of db configs (init.ora,
listener.ora, tnsnames.ora)
17Rapid Clone Overview
- Builds DB init.ora
- Builds DB controlfiles
- Creates DB networking config files
- Creates all Apps config files for AutoConfig
- Updates Apps profile values
- Updates/builds oraInventory
18Rapid Clone Implementation
- Doc 230672.1
- Oracle Applications Maintenance Procedures
19Rapid Clone Implementation
- Patch Current
- ADX
- OUI
- Current AutoConfig patches
20Running Rapid Clone -- preclone
- Copies current configurations to templates
- DB Tier
- perl adpreclone.pl dbTier
- outputs to ORACLE_HOME/appsutil//clone
- Apps Tier
- perl adpreclone.pl appsTier
- outputs to COMMON_TOP/clone
21Running Rapid Clone -- copy files
- Apps Tier
- APPL_TOP
- OA_HTML
- OA_JAVA
- COMMON_TOP/util
- COMMON_TOP/clone
- 806 ORACLE_HOME
- iAS ORACLE_HOME
22Running Rapid Clone -- copy files
- DB tier
- Cold copy of database files
- ORACLE_HOME (9i/8i)
23Running Rapid Clone -- postclone
- DB Tier
- perl ./adcfgclone.pl dbTier
- control files
- init.ora
- tnsnames.ora
- listener.ora
- starts database and listener
24Running Rapid Clone -- postclone
- Apps Tier
- perl ./adcfgclone.pl appsTier
- applications configurations
- profile values
- starts all services
25Running Rapid Clone -- finishing
- Verify profile options
- Verify printers
- Update workflow
- Verify APPLCSF
- Change passwords
- Update login user responsibilities
26Rapid Clone -- options
- ADX E allows all node cloning options
- multi --gt single
- multi --gt multi
- single --gt multi
27Rapid Clone Troubleshooting
- Always check postclone logfiles for 'ERRORCODE
1' - errors cause rollbacks
- Verify utl_file entries in init.ora
- Verify profile values
- Verify dbc files
- Verify GLOBAL_NAME
28Rapid Clone Troubleshooting
- Verify data
- FND_NODES
- FND_APPLICATION_SERVERS (desupporting)
- AD_APPL_TOPS
- Verify context file entries for
- CLASSPATH
- AF_CLASSPATH
- LD_LIBRARY_PATH
- hostname
- DISPLAY
29Rapid Clone Tips and Tricks
- Set ORACLE_HOME/JRE to relative path
- If selectively refreshing environment, make sure
to copy - COMMON_TOP/clone
- ORACLE_HOME/appsutil/clone
- Before running postclone, verify
/var/opt/oracle/oraInst.loc on target machine
30Rapid Clone Tips and Tricks
- Create script to display paths that will be
entered in postclone - APPL_TOP
- COMMON_TOP
- 806 ORACLE_HOME
- iAS_HOME
31Rapid Clone Tips and Tricks
- To use online backup, follow Appendix A steps to
manually create controlfiles - After cloning, re-login to reset environment
- Truncate FND_CONCURRENT_REQUESTS before Apps Tier
postclone - Truncate WF_NOTIFICATIONS
32Rapid Clone Tips and Tricks
- Modify adcfgclone.pl to verify new context file
-
- print "\nsleeping for 10 minutes to allow fixes
of context file...\n" - sleep 600
-
- run adclone
-
- print "\nRunning Rapid Clone with command\n"
- my syscmd"perl ADCLONE javaJAVA_TOP
modeapply stageSTAGE_DIR component - COMPONENT methodCUSTOM CTX_ARG MERGE_APPL
showProgress " - if (Configosname ne 'MSWin32')
- syscmd s\\\/g
-
33Rapid Clone Tips and Tricks
- Rather than add new record in WF_SYSTEMS
- UPDATE wf_systems
- SET name
- (SELECT global_name FROM global_name),
- display_name
- (SELECT global_name FROM global_name)
-
34Rapid Clone Tips and Tricks
- To update WF_AGENTS
- DECLARE
- v_gname global_name.global_nameTYPE
- v_old_gname global_name.global_nameTYPE
'1' - BEGIN
- SELECT global_name INTO v_gname FROM
global_name - UPDATE wf_agents
- SET address
- substr(address,1,instr(address,'_at_'))v_gname
- WHERE address LIKE '_at_'v_old_gname
- END
- /
35- By letting it go it all gets done. The world
is won by those who let it go. But when you try
and try. The world is beyond the winning. - -- Lao Tzu