Oracle Cluster 11GR2 with Oracle Applications
#11900
Yury Velikanov & Maris Elsins
Agenda
Applications & Single Client Access Name
Applications & RAC Load Partitioning
Autoconfig & ClusterAutoconfig & ASM
About Yury
Google: Yury Oracle[phone|email]
Twitter, LinkedIn, Blog, Slideshare, YouTube
Oracle ACE Director (1 from 8 Apps, RAC SIG board)
Oracle Certified Master (9i/10g/11g + 15 OCP certificates)
Oracle DBA with 12+ years Apps experience
Oracle 11G SCAN: Concepts and Implementation Experience Sharing (author)3000+ views on SlideShare.net
About Maris Elsins
Google: Elsins Oracle[phone|email]
Twitter, LinkedIn, Blog, Slideshare, Latvia
• Oracle [Apps] DBA 8 years PL/SQL Developer 3 years
• Oracle Certified Master OCP 9i/10g/11g/11i OC
• Speaker at Oracle conferences since 2007
• Pythian since 2011 (1 year = 3 years)Running E-Business Suite Database on Oracle Database ApplianceRoom 507, Mon. Apr. 8, 9:45 am - 10:45 am
About Pythian• Recognized Leader:
Global industry-leader in remote database administration services and consulting for Oracle, Oracle Applications, MySQL and Microsoft SQL Server
Work with over 250 multinational companies such as Forbes.com, Fox Sports, Nordion and Western Union to help manage their complex IT deployments
• Expertise:
Pythian’s data experts are the elite in their field. We have the highest concentration of Oracle ACEs on staff - 10 including 3 ACE Directors—and 2 Microsoft MVPs.
Pythian holds 7 Specializations under Oracle Platinum Partner program, including Oracle Exadata, Oracle GoldenGate & Oracle RAC
• Global Reach & Scalability:
Around the clock global remote support for DBA and consulting, systems administration, special projects or emergency response
5 © 2013 Pythian
Applications & Single Client Access Name
1. Concepts introduction2. Implementation
SCAN Introduction• Single Client Access Name• Addresses the TNSNAMES multi address issue
• Old - 10G FAILOVER• Complex TNS entries• Complex to manage (add a node)• Previous Oracle Clients support
• New - 11GR2• One Simple TNS entry on client side• Easy to add nodes (address forwarding)• Transparent to Oracle Client versions• Load balancing & Failover management on Cluster side
SCAN Introduction
RAC: Frequently Asked Questions [ID 220970.1]How to Troubleshoot Connectivity Issue with 11gR2 SCAN Name [ID 975457.1]11gR2 Grid Infrastructure SCAN Explained [ID 887522.1]SCAN & EBS 11i [ID 823581.1 ] R12 [823587.1]
scan.clustgrid-prod.yourdomain.com + service
Oracle 11G SCAN: Concepts and Implementation Experience Sharing
Node 1
LISTENER (default) remote_listener
local_listener
LISTENER_ERP (custom)
Node 2
DNS resolves scan-cluster_a.mycomany.com to 3 SCAN IP addresses
SCAN (remote) listeners register and distribute information about local listeners serving a SERVICE
Oracle Instance: 1. registers SERVICES it running in LOCAL listeners 2. registers LOCAL listeners serving a service in SCAN listeners
LISTENER LISTENER LISTENER
1.
2.
service_name
SCAN & Apps
• R12 Apps & SCAN integration is optional• Apps could be configured to use traditional failover setup• Third party applications can leverage SCAN if necessary
• R12 & SCAN• There is a separate Apps listener• Running from Apps DB home• Managed by crvstl utility
Applications & Single Client Access Name
Implementation
SCAN & Apps Implementation
Using Oracle 11g Release 2 Real Application Clusters with Oracle E-Business Suite Release 12 [ID 823587.1]
Appendix D : Enabling/Disabling SCAN Listener Support in Autoconfig
• Step1: Configure SCAN context variables on DB nodes
<scanName oa_var="s_scan_name">mg-prod-oda01
<scanPort oa_var="s_scan_port">1524
<scanUpdateFlag oa_var="s_update_scan">TRUE
SCAN & Apps Implementation
• s_scan_name • a SCAN name used during initial RAC installation. This name should be
resolved all SCAN IP addresses by a network DNS service and shouldn’t be defined in any hosts file
• s_scan_port • a port SCAN listeners are listening on. This port is defined during initial
RAC installation
• s_update_scan • instructs AutoConfig to update database with the parameters specified
earlier (s_scan_name and s_scan_port)
SCAN & Apps Implementation
• s_db_listener • EBS listener name. EBS uses local listener started from EBS database oracle
home. Note that the name should be in the LISTENER_<ENV> formant on all DB nodes. This allows to define and manage the listeners as one listener cluster resource across all RAC nodes
• s_dbport• EBS listener port. This port should be different from Cluster’s VIP listener port• Both EBS local and Cluster’s local listeners uses the same VIP addresses
• s_instRemoteListener • the variable sets remote_listener parameter in the init.ora file. The variable is set
by AutoConfig utility if s_update_scan variable is set to TRUE.
• s_instLocalListener • the variable sets local_listener parameter in the init.ora file. The variable it
updated by AutoConfig utility if s_update_scan variable is set to TRUE.
SCAN & Apps Implementation
• Step 2: Run AutoConfig on ALL database nodes
• updates database init.ora• generates SCAN related configuration files
• populates several tables including • FND_DATABASES => IS_RAC_DB, SCAN_NAME,SCAN_PORT• FND_TNS_ALIASES• FND_DATABASE_INSTANCES …
• It is very important AutoConfig executed successfully on ALL RAC nodes
SCAN & Apps Implementation
• Step 3: Run AutoConfig on ALL application nodes
• generate INST1, INST2, etc and <SID>_BALANCE tns aliases that uses the SCAN parameters
• Verify that ALL tns aliases reference SCAN listener• INSTANCE_NAME=INSTx
• All set• Check SCAN & EBS listeners• Check connectivity from apps nodes
SCAN & Apps Implementation
PRDB1= (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=mg-prod-oda01)(PORT=1524)) (CONNECT_DATA= (SERVICE_NAME=PRDB) (INSTANCE_NAME=PRDB1) ) )
PRDB_BALANCE= (DESCRIPTION= (ADDRESS_LIST= (LOAD_BALANCE=YES) (FAILOVER=YES) (ADDRESS=(PROTOCOL=tcp)(HOST=mg-prod-oda01)(PORT=1524)) ) (CONNECT_DATA= (SERVICE_NAME=PRDB) ) )
SCAN & Apps ImplementationPROBLEMS • Missing sqlnet.ora file reference
[ID 823587.1]• ADD IT
• Wrong "<scan_name>:<scan_port>" entry on database side’s tnsnames.ora• REMOVE IT
• Missing ORA_NLS10 parameter• ADD ITsrvctl setenv database -d <database_name> -t "TNS_ADMIN=$ORACLE_HOME/network/admin,ORA_NLS10=$ORACLE_HOME/nls/data/9idata“
APPLICATIONS & RAC LOAD PARTITIONING
CONCURRENT PROCESSING
Default configuration
Default configuration
• Good for small & other provisioned hardware systems
• Pros• easy to configure and maintain• high availability out of the box• allows smaller number of apps nodes
• Cons• opened to performance issues
Parallel Concurrent Processing
Parallel Concurrent Processing
• Pros• controlled load partitioning• controlled high availability• good performance
• Cons• requires at least the same number of apps nodes as DB
nodes• expensive to maintain
Target Instance (concurrent program)
Target Instance
• Pros• functional load partitioning• good performance• doesn’t requires the same number of applications nodes as
RAC nodes
• Cons • complex to maintain• limited fail-over options• can use instances names only (tns aliases)• doesn’t support all concurrent programs / managers
Using Services (vision)
Using Services (vision)
• Pros• No dependences from number of Apps nodes• Easy and well planed failover• Leverages setup we are use for years now• Single service balances across one or many nodes• Easy switchover or reconfiguration• Most reconfiguration is online• Leverages Oracle 11GR2 Cluster services • Resource manager • Resources (e.g. CPU, IO, etc) per service (e.g. payroll,
finance, etc.)• Cons
• Oracle Dev work :)
CONCLUSIONS
Conclusions• SCAN is One of the biggest Cluster 11GR2 features
• Oracle Applications R12 supports SCAN• Implementation is optional• There are still missing bits (services support)
• You should be careful implementing SCAN• There are some know issues
• You should consider functional load partitioning for big and active systems• Today the options are still a bit limited
Questions? Comments?
Google: Oracle Yury | Oracle Elsins Blog, Twitter, Linkedin, ACED … email, phone number
THANK YOU
Google: Oracle Yury | Elsins