Release 11i and RAC


Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide

Release 11i and RAC

  1. 1. Release 11 i Workshops Release 11 i … Please Add RAC Session Leader Kevin Dahl, Solution Beacon Release 11 i Workshops San Ramon, CA • Worthington, MA • Los Angeles, CA • St. Louis, MO • Orlando, FL TRAIL to TEXAS sm
  2. 2. Introduction <ul><li>The Challenge </li></ul><ul><ul><li>Customer wanted to run Release 11 i and could only afford to be down 5 minutes </li></ul></ul><ul><li>The 50,000 Foot Solution </li></ul><ul><ul><li>Implement SUN Cluster 3.0 on 2 nodes </li></ul></ul><ul><ul><li>Implement 11 i with 9i RAC </li></ul></ul><ul><ul><li>Utilize 2 apps servers </li></ul></ul>
  3. 3. Introduction Install 11 i Install 9 i Upgrade 8 i to 9 i Configure RAC Install SUN Cluster 3.0 OVERVIEW
  4. 4. Choosing the Oracle Software <ul><li>11 i and RAC </li></ul><ul><ul><li>Customer decided Release 11 i would best meet their software needs </li></ul></ul><ul><ul><li>Explained that Oracle9 i Real Application Clusters (RAC) was an architecture that allowed multiple instances to access a shared database of datafiles </li></ul></ul><ul><ul><li>Customer was shown that Oracle9 i RAC would meet their 5 minutes down time requirement </li></ul></ul>
  5. 5. Choosing the Hardware <ul><li>What was chosen? </li></ul><ul><ul><li>SUN V880s. 2 clustered nodes for backend, and 2 non-clustered nodes for middle tier </li></ul></ul><ul><ul><li>A T3 storage array is in the same storage enclosure as the SunFire V880. That means there are two T3 storage arrays connected via an optical hub. The arrays provide both storage that is local to a given database server and storage that is shared between the two database servers </li></ul></ul>
  6. 6. Implementation – Hardware
  7. 7. Implementation – SUN Cluster 3.0 <ul><li>Install SUN Cluster 3.0 (SUN did this) </li></ul><ul><ul><li>A cluster is a collection of loosely coupled computing nodes that provides a single client view of network services or applications, including databases, web services, and file services </li></ul></ul><ul><ul><li>Each cluster node is a standalone server that runs its own processes. These processes can communicate with one another to form a virtual single system </li></ul></ul>
  8. 8. 11 i RAC Leaving the Overview – The Detail
  9. 9. Implementation – Release 11 i <ul><li>Install Release 11 i via Rapidwiz </li></ul><ul><ul><li>2-tier </li></ul></ul><ul><ul><li>post install steps </li></ul></ul><ul><ul><li>backed up database </li></ul></ul>
  10. 10. Get 11 i Ready for 9 i <ul><li>Applied Interoperability Patch </li></ul><ul><ul><li>This patch is necessary for Oracle9 i to be used in place of Oracle8 i when using Release 11 i </li></ul></ul><ul><ul><li>The patch number is 1833692 </li></ul></ul>
  11. 11. Install Oracle9 i (9.0.1) <ul><li>runInstaller </li></ul><ul><ul><li>chose enterprise installation type </li></ul></ul><ul><ul><li>did NOT install a database </li></ul></ul><ul><li>Modify init.ora and iflecbo.ora </li></ul><ul><ul><li>copied init and ifilecbo and modified as follows: </li></ul></ul><ul><ul><ul><li>remove obsolete parms </li></ul></ul></ul><ul><ul><ul><li>set aq_tm_processes = 0 </li></ul></ul></ul><ul><ul><ul><li>set job_queue_processes = 0 </li></ul></ul></ul>
  12. 12. Install Oracle9 i (9.0.1)... <ul><li>Modify init.ora and iflecbo.ora... </li></ul><ul><ul><ul><li>Set the parameter _SYSTEM_TRIG_ENABLED to FALSE </li></ul></ul></ul><ul><ul><ul><li>change ifile entry in the init.ora to point to new location </li></ul></ul></ul><ul><ul><ul><li>db_block_buffers= (at least 2000) </li></ul></ul></ul><ul><ul><ul><li>shared_pool_size= (at least 150MB) </li></ul></ul></ul><ul><ul><ul><li>java_pool_size= (at least 20MB) </li></ul></ul></ul><ul><ul><ul><li>cluster_database=false </li></ul></ul></ul><ul><ul><ul><li>event=&quot;10619 trace name context forever, level 1&quot; </li></ul></ul></ul><ul><ul><ul><li>event=”10932 trace name context level 32768“ </li></ul></ul></ul><ul><ul><ul><li>event=”10933 trace name context level 512“ </li></ul></ul></ul><ul><ul><ul><li>event=”10943 trace name context level 16384“ </li></ul></ul></ul>
  13. 13. Upgrade Oracle9 i <ul><li>9.0.1 db to (1/03 upgraded to </li></ul><ul><ul><li>note these are the Oracle9 i binaries just installed -- not the Release11 i db installed (it’s Oracle8 i ) </li></ul></ul><ul><ul><li>done via patch 2271678 </li></ul></ul><ul><ul><li>DO NOT PERFORM any sql scripts, database update steps or POST INSTALL STEPS NOW -- DO THOSE AFTER THE DATABASE IS UPGRADED </li></ul></ul>
  14. 14. Upgrade Apps 8 i to 9 i <ul><li> db to </li></ul><ul><ul><li>include home in ORACLE_HOME, PATH, LD_LIBRARY_PATH </li></ul></ul><ul><ul><li>start db restrict using modified init.ora </li></ul></ul><ul><ul><li>run upgrade script u0801070.sql (runs several hours) </li></ul></ul><ul><ul><li>run $ORACLE_HOME/rdbms/admin/utlip.sql because db was moving from 32 to 64 bit </li></ul></ul><ul><ul><li>shutdown Oracle9 i db </li></ul></ul>
  15. 15. Upgrade Apps 8 i to 9 i <ul><li> db to </li></ul><ul><ul><li>Re-adjusted init.ora file </li></ul></ul><ul><ul><ul><li>Changed _system_trig_enabled = TURE </li></ul></ul></ul><ul><ul><ul><li>O7_DICTIONARY_ACCESSIBILITY=TRUE </li></ul></ul></ul><ul><ul><ul><li>Optimizer_features_enable = 9.0.1 </li></ul></ul></ul><ul><ul><ul><li>restarted db </li></ul></ul></ul><ul><ul><li>ran relevant scripts per Oracle9 i migration manual </li></ul></ul><ul><ul><ul><li>Jserver, XDK for java, Session Namespace, CORBA and OSE, jsp, oracle spatial, intermedia, oracle text </li></ul></ul></ul><ul><ul><li>ran post install steps per patch 2271678 </li></ul></ul>
  16. 16. Upgrade Apps 8 i to 9 i <ul><li> db to </li></ul><ul><ul><li>Copy/Modify the listener.ora and tnsnames.ora to reflect Oracle9 i locations </li></ul></ul><ul><ul><li>reset the following in init.ora </li></ul></ul><ul><ul><ul><li>set aq_tm_processes parameter = 1 </li></ul></ul></ul><ul><ul><ul><li>set job_queue_processes = 2 </li></ul></ul></ul>
  17. 17. More 11 i Adjustments for 9 i <ul><li>Remove from applora.txt </li></ul><ul><ul><ul><li>_complex_view_merging </li></ul></ul></ul><ul><ul><ul><li>_optimizer_mode_force </li></ul></ul></ul><ul><ul><ul><li>_optimizer_undo_changes </li></ul></ul></ul><ul><ul><ul><li>_or_expand_nvl_predicate </li></ul></ul></ul><ul><ul><ul><li>_ordered_nested_loop </li></ul></ul></ul><ul><ul><ul><li>_push_join_predicate </li></ul></ul></ul><ul><ul><ul><li>_push_join_union_view </li></ul></ul></ul><ul><ul><ul><li>_sort_elimination_cost_ratio </li></ul></ul></ul><ul><ul><ul><li>_use_column_stats_for_function </li></ul></ul></ul><ul><ul><ul><li>always_anti_join </li></ul></ul></ul><ul><ul><ul><li>always_semi_join </li></ul></ul></ul><ul><ul><ul><li>optimizer_percent_parallel </li></ul></ul></ul>
  18. 18. More 11 i Adjustments for 9 i ... <ul><li>Perform object maintenance </li></ul><ul><ul><li>Compile all apps objects </li></ul></ul><ul><ul><li>Recreate grants and synonyms (adadmin) </li></ul></ul><ul><li>Increase MAXINSTANCES parameter </li></ul><ul><ul><li>to change this parameter, the database control file needs to be recreated, MAXINSTANCES parameter modified and the create control file sql executed </li></ul></ul><ul><li>shutdown/backup DB </li></ul>
  19. 19. Add RAC <ul><li>Raw files are required </li></ul><ul><ul><li>shutdown db </li></ul></ul><ul><ul><li>cooked files must become raw </li></ul></ul><ul><ul><li>shared disk volumes must be configured for </li></ul></ul><ul><ul><ul><li>database files </li></ul></ul></ul><ul><ul><ul><li>redologs </li></ul></ul></ul><ul><ul><ul><li>control files </li></ul></ul></ul><ul><ul><li>existing cooked files copied to raw locations </li></ul></ul><ul><ul><li>the above was done with a combination veritas and dd commands </li></ul></ul>
  20. 20. Add RAC... <ul><li>Modify init.ora…node 1 </li></ul><ul><ul><li>modified init.ora for RAC </li></ul></ul><ul><ul><ul><li>maxinstances=2 (customer had 2 nodes) </li></ul></ul></ul><ul><ul><ul><li>cluster_database=true </li></ul></ul></ul><ul><ul><ul><li>instance_name=mcprod1 </li></ul></ul></ul><ul><ul><ul><li>instance_number=1 </li></ul></ul></ul><ul><ul><ul><li>thread=1 </li></ul></ul></ul><ul><ul><ul><li>local_listener = &quot;(address=(port=1522)(protocol=tcp)(host=sundb1))&quot; </li></ul></ul></ul>
  21. 21. Add RAC... <ul><li>Change db file locations…node 1 </li></ul><ul><ul><li>create a sql script that will alter the location of the database files to reflect the new raw locations </li></ul></ul><ul><ul><li>startup the database mount </li></ul></ul><ul><ul><li>run the alter sql created above </li></ul></ul>
  22. 22. Add RAC... <ul><li>Modify init.ora…node 2 </li></ul><ul><ul><li>ensure instance is shutdown </li></ul></ul><ul><ul><li>modified init.ora for RAC </li></ul></ul><ul><ul><ul><li>maxinstances=2 (customer had 2 nodes) </li></ul></ul></ul><ul><ul><ul><li>cluster_database=true </li></ul></ul></ul><ul><ul><ul><li>instance_name=mcprod2 </li></ul></ul></ul><ul><ul><ul><li>instance_number=2 </li></ul></ul></ul><ul><ul><ul><li>thread=2 </li></ul></ul></ul><ul><ul><ul><li>local_listener = &quot;(address=(port=1522)(protocol=tcp)(host=sundb2))&quot; </li></ul></ul></ul>
  23. 23. Add RAC... <ul><li>Configure listener.ora on node 1 </li></ul><ul><ul><li>mcprod1 = </li></ul></ul><ul><ul><li>(DESCRIPTION = </li></ul></ul><ul><ul><li>(LOAD_BALANCE = OFF) </li></ul></ul><ul><ul><li>(ADDRESS = (PROTOCOL = TCP)(HOST = sundb1)(PORT = 1522)) </li></ul></ul><ul><ul><li>) </li></ul></ul><ul><ul><li>SID_LIST_mcprod1 = </li></ul></ul><ul><ul><li>(SID_LIST = </li></ul></ul><ul><ul><li>(SID_DESC = </li></ul></ul><ul><ul><li>(ORACLE_HOME = /u20/oracle/mc11idb) </li></ul></ul><ul><ul><li>(SID_NAME = mcprod1))) </li></ul></ul>
  24. 24. Add RAC... <ul><li>Configure listener.ora on node 2 </li></ul><ul><ul><li>mcprod2 = </li></ul></ul><ul><ul><li>(DESCRIPTION = </li></ul></ul><ul><ul><li>(LOAD_BALANCE = OFF) </li></ul></ul><ul><ul><li>(ADDRESS = (PROTOCOL = TCP)(HOST = sundb2)(PORT = 1522)) </li></ul></ul><ul><ul><li>) </li></ul></ul><ul><ul><li>SID_LIST_mcprod2 = </li></ul></ul><ul><ul><li>(SID_LIST = </li></ul></ul><ul><ul><li>(SID_DESC = </li></ul></ul><ul><ul><li>(ORACLE_HOME = /u20/oracle/mc11idb) </li></ul></ul><ul><ul><li>(SID_NAME = mcprod2))) </li></ul></ul>
  25. 25. Add RAC... <ul><li>tnsnames.ora </li></ul><ul><ul><li>mcprod2= </li></ul></ul><ul><ul><li>(description= </li></ul></ul><ul><ul><li>(address=(protocol=tcp)(host=sundb2)(port=1522)) </li></ul></ul><ul><ul><li>(connect_data=(service_name=mcprod))) </li></ul></ul><ul><ul><li>mcprod1= </li></ul></ul><ul><ul><li>(description= </li></ul></ul><ul><ul><li>(address=(protocol=tcp)(host=sundb1)(port=1522)) </li></ul></ul><ul><ul><li>(connect_data=(service_name=mcprod))) </li></ul></ul>
  26. 26. Add RAC... <ul><li>Tnsnames.ora… </li></ul><ul><ul><li>mcprod= </li></ul></ul><ul><ul><li>(description=(load_balance=off)(failover=on) </li></ul></ul><ul><ul><li>(address_list= (address=(protocol=tcp)(host=sundb1)(port=1522)) </li></ul></ul><ul><ul><li>(address=(protocol=tcp)(host=sundb2)(port=1522)) ) </li></ul></ul><ul><ul><li>(connect_data=(service_name=mcprod) (failover_mode=(type=select)(method=basic) </li></ul></ul><ul><ul><li>(backup=mcprod2)))) </li></ul></ul>
  27. 27. Add RAC... <ul><li>Start Instances and APPS </li></ul><ul><ul><li>started instance 1: startup parallel </li></ul></ul><ul><ul><li>added redo thread for instance 2 </li></ul></ul><ul><ul><li>started instance 2: startup parallel </li></ul></ul><ul><ul><li>started relevant apps processes on db tier </li></ul></ul><ul><ul><li>started relevant apps processes on app tier </li></ul></ul>
  28. 28. Add RAC... <ul><li>A virtual middle tier </li></ul><ul><ul><li>Round robin dns was implemented because this customer had 2 apps boxes; Round robin dns requires adjustments to dns entries resulting in the ability to access either apps server with the same name; Later, this was replaced with Big IP </li></ul></ul><ul><li>Parallel Concurrent Processing </li></ul><ul><ul><li>Concurrent processing was parallelized according the instructions in the system administration guide for Release 11 i and MetaLink note 185489.1; In addition, a transaction manager should be setup via MetaLink note 240818.1 </li></ul></ul>
  29. 29. Conclusion <ul><li>The process is complex </li></ul><ul><ul><li>Release 11 i increases the complexity of implementing RAC </li></ul></ul><ul><ul><li>RAC increases the complexity of managing Release 11 i (use oem and veritas volume mgr) </li></ul></ul><ul><ul><li>Attention getters </li></ul></ul><ul><ul><ul><li>Parallel concurrent processing </li></ul></ul></ul><ul><ul><ul><li>Middle tier load balancing </li></ul></ul></ul><ul><ul><ul><li>Management of raw files </li></ul></ul></ul>
  30. 30. References <ul><li>Sources used for this presentation </li></ul><ul><ul><ul><li>metalink note 162091 – Interoperablility Notes: Oracle Applications Release 11 i with Oracle9 i Release 9.0.1 </li></ul></ul></ul><ul><ul><ul><li>metalink note 183649.1 – Database upgrade from 32 to 64 bit (This note was written for Oracle8 i - ensure you ignore items that no longer apply to Oracle9 i </li></ul></ul></ul><ul><ul><ul><li>Oracle White paper by Ahmed Alomari of Oracle Corporation: Migrating Your E-Business Suite Single Instance to Real Application Clusters (RAC) </li></ul></ul></ul><ul><ul><ul><li>Oracle9 i Database Migration Manual, Part Number A90191-02 (Manual upgrade section) </li></ul></ul></ul><ul><ul><ul><li>several tars </li></ul></ul></ul>
  31. 31. Kevin Dahl [email_address] Hope you enjoyed this Release 11i session! Remember: KISS Keep It Simple and Supportable sm Q&A