SQL Performance tunning on RAC environment

Hi,
I am working on oracle 11.2.0.2.0 with 2 node RAC.
We have a batch process with runs everday and comsumes most of the time in cluster waits. Could someone please suggest what SQL / PL SQL changes / Hints are available to tune this cluster waits..
Also, if possible please provide link where can find more information on this.
Thanks

Is your batch process multi-threaded or single-threaded?
If multi-threaded, and each thread is doing similar work, running the same code, and if your connections are load balanced across both nodes, it won't take long to end up waiting on cluster interconnect activity. You might try having the connections related to this batch job all go to one node.
In general, utilizing both nodes at the same time shouldn't be a problem, unless you have code that accesses the same segments on both nodes at the same time. That's when you'll see the worst problems in terms of cluster-related waits.
-Mark

Similar Messages

  • How to improve my pls/sql performance tunning skills

    Hi All , I would like to learn more about pl/sql performance tunning , where or how can i get more knowledge in this area ?
    Is there any tutorials which can help me to understand the Explain plan, Dbms_Profiler, Dbms_Advisor more etc ........Thanks . Bcj

    Explain plan
    http://www.psoug.org/reference/explain_plan.html
    DBMS_PROFILER (10g)
    http://www.psoug.org/reference/dbms_profiler.html
    DBMS_HPROF (11g)
    http://www.psoug.org/reference/dbms_hprof.html
    DBMS_ADVISOR
    http://www.psoug.org/reference/dbms_advisor.html
    DBMS_MONITOR
    http://www.psoug.org/reference/dbms_monitor.html
    DBMS_SUPPORT
    http://www.psoug.org/reference/dbms_support.html
    DBMS_TRACE
    http://www.psoug.org/reference/dbms_trace.html
    DBMS_SQLTUNE
    http://www.psoug.org/reference/dbms_sqltune.html

  • Ps/sql performance tunning

    Hi
    Can any body tell me how to tune pl/sql code
    tnr
    nagesh

    Book 'Oracle PL/SQL Tips and Techniques' by TUSC guys is good one.
    First thing is to use proving coding stretagies, which is key to gain performance even without tuning; then using proper tuning techniques. Tuning is no more than a polishing, if it is a dent, polishing will not solve it.

  • How to create a database link to SQL Server from a RAC environment

    We have a 4 node RAC running 11.2.0.3 binaries on 64-bit linux.
    Grid owns the listener named listener.
    Oracle owns the database.

    Thanks all! But I tried to configure and I am getting
    TNS-01201: Listener cannot find executable /u01/app/oracle/product/11.2.0.3/dbhome_1/bin/InfoEdb10 for SID InfoEdb10
    Listener failed to start. See the error message(s) above...
    So! What I did was
    1. Configure the odbc from the OS (only one node) and create the DSN and its odbc files.  connectivity works from Operating Systems.
    2. Create the listener entry (under GRID) user.
    3. Create the remotedb.ora file under $ORACLE_HOME/hs/admin
    --- Here is listener.ora file
    LISTENER_NODE1_TG =
       (DESCRIPTION_LIST =
        (DESCRIPTION =
           (ADDRESS = (PROTOCOL = TCP)(HOST = devrac-a-01-vip.cssd.pitt.edu)(PORT = 1549)(IP = FIRST))
           (ADDRESS = (PROTOCOL = TCP)(HOST = devrac-a-01.cssd.pitt.edu)(PORT = 1549)(IP = FIRST))
    SID_LIST_LISTENER_NODE1_TG =
       (SID_LIST =
           (SID_DESC =
             (SID_NAME = InfoEdb10)
             (ORACLE_HOME = /u01/app/oracle/product/11.2.0.3/dbhome_1)
             (ENVS = "LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0.3/dbhome_1/lib")
             (PROGRAM = InfoEdb10)
    any  help is appreciated

  • SQL Performance  Tunning

    Hi I am using Oracle 9i, i am having SQL Query like this which is taking mote time to execute , is there any alternate way to modify the same query with Rank and Partition by concepts? The tables(dw_csc_site_mappings smo, dw_csc_companies cco) having 14 million rows approx.
    SELECT /*+ RULE */
    smo.company_target_id, smo.customer_id
    FROM dw_csc_site_mappings smo, dw_csc_companies cco
    WHERE cco.company_target_id = smo.company_target_id
    AND cco.global_target_id IS NOT NULL
    GROUP BY smo.company_target_id, smo.customer_id
    HAVING COUNT (*) =
    (SELECT MAX (COUNT (*))
    FROM dw_csc_site_mappings smi, dw_csc_companies cci
    WHERE smo.customer_id = smi.customer_id
    AND cci.company_target_id = smi.company_target_id
    AND cci.global_target_id IS NOT NULL
    GROUP BY smi.company_target_id, smi.customer_id)
    ORDER BY 1 ASC

    Analytics might help.
    You should try to find a way to access those big tables only once instead of twice.
    untested try
    select company_target_id, customer_id, cnt
    from (
       SELECT smo.company_target_id, smo.customer_id,
           count(*) cnt, max(count(*)) over (partition by smo.company_target_id, smo.customer_id order by count(*)) max_cnt
       FROM dw_csc_site_mappings smo, dw_csc_companies cco
       WHERE cco.company_target_id = smo.company_target_id
       AND cco.global_target_id IS NOT NULL
       GROUP BY smo.company_target_id, smo.customer_id
       ) v
    WHERE v.cnt = v.max_cnt
    ORDER BY 1 ASC

  • How will do the SQL PERFORMANCE TUNNING.

    hi to all:
    i have a query like example: select col1,col2,col3,col4,col5,col6,col7,col8,
    col9,col0,col11,col12,col13,col14,col15 from table_name where col1=100 like that but data contain more like some lack wise reords.this query it's taking so much of time .i want to do the performance kindly give me solution to me...
    anbarasan.

    select dai.GSI_PARTY_ID ,dai.GSI_PARTY_NUM ,dai.CERTIFICATION_LVL,dai.NAME ,dai.DUNS_NUM ,dai.CITY ,dai.STATE ,dai.ZIPCODE ,dai.COUNTRY,dai.ROW_WID,dai.GEO_WID,dai.ACCNT_GEOSTATE_WID,dai.W_CUSTOMER_CLASS,dai.MGR_NAME,dai.MAIN_PH_NUM,dai.ST_ADDRESS ,dai.ACCNT_FLG ,dai.ACCNT_LOC,dai.ACCNT_REVN,dai.ACTIVE_FLG,dai.ACCNT_STATUS,dai.ACCNT_STATUS_I,dai.ACCNT_TYPE_CD,dai.ACCNT_TYPE_CD_I,dai.CUST_TYPE_CODE,dai.CUST_TYPE_NAME,dai.ANNUAL_REVN_CAT,dai.ANNUAL_REVN_CAT_I,dai.BASE_CURCY_CD,dai.BU_NAME,dai.CHANNEL_FLG,dai.CHNL_ANNL_SALES,dai.CHNL_SALES_GRWTH,dai.CHNL_SALES_GRWTH_I,dai.COMPETITOR_FLG,dai.CREATED_DT,dai.DIVN_FLG,dai.DIVN_TYPE_CD,dai.DIVN_TYPE_CD_I,dai.DOMESTIC_ULTIMATE_DUNS_NUM,dai.EMP_COUNT,dai.EXPERTISE,dai.EXPERTISE_I,dai.FORMED_DT,dai.FREQUENCY_CAT,dai.FREQUENCY_CAT_I,dai.FRGHT_TERMS_CD,dai.FRGHT_TERMS_CD_I,dai.GLOBAL_DUNS_NUM,dai.HIST_SLS_VOL,dai.LINE_OF_BUSINESS,dai.MONETARY_CAT,dai.MONETARY_CAT_I,dai.NUM_EMPLOY_CAT,dai.NUM_EMPLOY_CAT_I,dai.ORG_NAME,dai.ORG_MGR_NAME,dai.ORG_MAIN_PH_NUM,dai.ORG_ST_ADDRESS,dai.ORG_CITY,dai.ORG_STATE,dai.ORG_ZIPCODE,dai.ORG_TERR_NAME,dai.ORG_COUNTRY,dai.ORG_FLG,dai.ORG_PRTNR_FLG,dai.ORG_PRTNR_TIER,dai.ORG_PRTNR_TIER_I,dai.ORG_PRTNR_TYPE,dai.ORG_PRTNR_TYPE_I,dai.PARENT_DUNS_NUM,dai.PAR_INTEGRATION_ID,dai.PAR_ORG_NAME,dai.PRI_LST_NAME,dai.PROSPECT_FLG,dai.PRTNRSHP_START_DT,dai.PRTNR_FLG,dai.PRTNR_NAME,dai.PRTNR_SALES_RANK,dai.PR_COMPETITOR,dai.PR_INDUST_NAME,dai.PR_ORG_TRGT_MKT,dai.PR_PTSHP_MKTSEG,dai.PTNTL_SLS_VOL,dai.PTSHP_END_DT,dai.PTSHP_FEE_PAID_FLG,dai.PTSHP_PRTNR_ACCNT,dai.PTSHP_RENEWAL_DT,dai.PTSHP_SAT_INDEX,dai.PTSHP_STAGE,dai.PTSHP_STAGE_I,dai.PUBLIC_LISTING_FLG,dai.RECENCY_CAT,dai.RECENCY_CAT_I,dai.REGION,dai.REGION_I,dai.REVN_GROWTH_CAT,dai.REVN_GROWTH_CAT_I,dai.SALES_EMP_CNT,dai.SERVICE_EMP_CNT,dai.U_ACCNT_RVN,dai.U_ACNTRVN_CURCY_CD,dai.U_ACNTRVN_EXCH_DT,dai.U_CHNL_ANNL_SLS,dai.U_CH_ASLS_CURCY_CD,dai.U_CH_ASLS_EXCH_DT,dai.U_HIST_SLS_VOL,dai.U_HST_SLS_CURCY_CD,dai.U_HST_SLS_EXCH_DT,dai.U_PTL_SLS_CURCY_CD,dai.U_PTL_SLS_EXCH_DT,dai.U_PTL_SLS_VOL,dai.VIS_PR_BU_ID,dai.VIS_PR_POS_ID,dai.VIS_PR_POSTN_DH_WID,dai.ACCNT_AHA_NUM,dai.ACCNT_CLASS,dai.ACCNT_CLASS_I,dai.ACCNT_HIN_NUM,dai.ACCNT_REGION,dai.ACCNT_VALUE,dai.ACCNT_VALUE_I,dai.AGENCY_FLG,dai.AGNC_CONTRACT_DT,dai.ANNUAL_REVENUE,dai.BOOK_VALUE,dai.BRANCH_FLG,dai.CALL_FREQUENCY,dai.CLIENT_FLG,dai.CREDIT_SCORE,dai.CRIME_TYPE_CD,dai.CRIME_TYPE_CD_I,dai.CURR_ASSET,dai.CURR_LIAB,dai.CUST_END_DT,dai.CUST_SINCE_DT,dai.CUST_STATUS_CODE,dai.DIVIDEND,dai.EXCHANGE_LOC,dai.FACILITY_FLG,dai.FACILITY_TYPE,dai.FACILITY_TYPE_I,dai.FIFTYTWO_HIGH,dai.FIFTYTWO_LOW,dai.FIN_METHOD,dai.FIN_METHOD_I,dai.GROSS_PROFIT,dai.GROWTH_HORIZ,dai.GROWTH_HORIZ_I,dai.GROWTH_OBJ,dai.GROWTH_OBJ_I,dai.GROWTH_PERCNTG,dai.IDENTIFIED_DT,dai.INVESTOR_FLG,dai.KEY_COMPETITOR,dai.LEADER_NAME,dai.LEGAL_FORM,dai.LEGAL_FORM_I,dai.LOYAL_SCORE1,dai.LOYAL_SCORE2,dai.LOYAL_SCORE3,dai.LOYAL_SCORE4,dai.LOYAL_SCORE5,dai.LOYAL_SCORE6,dai.LOYAL_SCORE7,dai.MARGIN_VS_INDUST,dai.MARGIN_VS_INDUST_I,dai.MARKET_CLASS,dai.MARKET_CLASS_I,dai.MARKET_TYPE,dai.MARKET_TYPE_I,dai.MED_PROC,dai.MEMBER_NUM,dai.MKT_POTENTIAL,dai.MRKT_CAP_PREF,dai.MRKT_CAP_PREF_I,dai.NET_INCOME,dai.NON_CASH_EXP,dai.NUMB_OF_BEDS,dai.NUM_PROD,dai.NUM_PROD_EFF_DT,dai.OBJECTIVE,dai.OBJECTIVE_I,dai.OPER_INCOME,dai.PERSIST_RATIO,dai.PRIM_MARKET,dai.PRIM_MARKET_I,dai.PROJ_EPS,dai.PR_SPEC_NAME,dai.PR_SYN_ID,dai.QUICK_RATIO,dai.SHARE_OUTST,dai.SRV_PROVDR_FLG,dai.STAT_REASON_CD,dai.STAT_REASON_CD_I,dai.TICKER,dai.TOTAL_DEBT,dai.TOTAL_NET_WORTH,dai.TOT_ASSET,dai.TOT_LIABILITY,dai.TRAIL_EPS,dai.U_EXCH_DT,dai.U_LOYAL_SCORE5,dai.VOLUME_TR,dai.X_NUM_PROD,dai.BIRTH_DT_WID,dai.NO_OF_CHILDREN,dai.LEGAL_NAME,dai.FAMILY_NAME,dai.OTHER_NAME,dai.PREFERRED_NAME,dai.INDV_TITLE,dai.INDV_MARITAL_STATE,dai.INDV_GENDER,dai.EMAIL_ADDRESS,dai.FAX_NUM,dai.PAGER_NUM,dai.MOBILE_NUM,dai.CUST_CAT_CODE,dai.CUST_CAT_NAME,dai.SIC_CODE,dai.SIC_NAME,dai.GOVT_ID_TYPE,dai.GOVT_ID_VALUE,dai.DUNNS_SITE_NAME,dai.DUNNS_GLOBAL_NAME,dai.DUNNS_LEGAL_NAME,dai.CUSTOMER_NUM,dai.ALT_CUSTOMER_NUM,dai.ALT_PHONE_NUM,dai.INTERNET_HOME_PAGE,dai.LEGAL_STRUCT_CODE,dai.LEGAL_STRUCT_NAME,dai.DIRECT_MKTG_FLG,dai.SOLICITATION_FLG,dai.CREATED_BY_WID,dai.CHANGED_BY_WID,dai.CREATED_ON_DT,dai.CHANGED_ON_DT,dai.AUX1_CHANGED_ON_DT,dai.AUX2_CHANGED_ON_DT,dai.AUX3_CHANGED_ON_DT,dai.AUX4_CHANGED_ON_DT,dai.SRC_EFF_FROM_DT,dai.SRC_EFF_TO_DT,dai.EFFECTIVE_FROM_DT,dai.EFFECTIVE_TO_DT,dai.DELETE_FLG,dai.CURRENT_FLG,dai.W_INSERT_DT,dai.W_UPDATE_DT,dai.DATASOURCE_NUM_ID,dai.ETL_PROC_WID,dai.INTEGRATION_ID,dai.TENANT_ID,dai.X_CUSTOM,dai.X_ADDR_CLEANSE_RESULT,dai.X_PR_INDUSTRY_ID,dai.X_PTNR_ACC_LVL_CD,dai.OPN_PIN_NUM,dai.X_ALIAS_NAME,dai.X_URL,dai.X_ACCNT_NAME_LOCAL,dai.X_ADDR_LINE_2,dai.X_ADDR_LINE_3,dai.X_COUNTY,dai.X_FAX_PH_NUM,dai.X_CONTRACT_VIS_FLG,dai.INDUSTRY_ONEVOICE,dai.X_ANNUAL_REVENUE,dai.X_NUM_EMPLOYEES,dai.INDUSTRY_ONEVOICE_SEGMENT,dai.X_GCD_ORG_ID,dai.X_MKTG_CREATED_FLG,dai.X_PR_ASGN_TYPE,dai.X_ADDR_DUNS,dai.X_ADDR_STATUS_CD,dai.X_MKTG_REGION,dai.X_MKTG_SUBREGION,dai.X_TRNSLT_CITY,dai.X_TRNSLT_STATE,dai.X_TRNSLT_POSTALCODE,dai.X_TRNSLT_LANG,dai.X_TRNSLT_ADDR1,dai.X_TRNSLT_ADDR2,dai.X_TRNSLT_ADDR3,dai.X_QUALITYSCORE,dai.X_SOURCE_TYPE_CD,dai.X_SIC_CODE,dai.X_PROVINCE,dai.X_GOVT_TYPE from dimple.gcm_account dai where 1=1 and dai.gsi_party_id=1017247578
    this is my compleate quary ..pls give me solution..

  • Sql performance tunning user guides

    Hi
    Any One Have sql performence usere guids and best optimal how to use explain plan satement .
    thank's

    Maybe you should also have a look to Cost-Based Oracle Fundamentals, from Jonathan Lewis (at Apress), which is a bit more complex but really great on SQL tuning.

  • Oracle Performance tunning genral question

    Hi,
    Below is the list of Areas of Oracle db for which tunning activities are done. You are invited to comment to it weather this is complete list or need some addition or deletion. As I'm learning PT for Oracle now a days, therefore I want to expand my knowledge by sharing what I'm learning and what I need to learn.
    So comment with Open hearts on it. Espically from experts and Gurus.
    Here is the List
    1-Planning for Performance, include Storage consideration( Weather it is SAN, NAS, DAS), Network planning and host OS planning with proper configuration for running Oracle.
    2-Database desining (Not under-Normalized and not Over-Normalized with proper usage of Indexes, views and Stored Procedures)
    3- Instance tunning (Memory structure + B.g Processes)
    4- Session tunning.
    5- Segment Space tunning.
    6- SQL tunning.
    This is what uptill what I've learned. If it needs addition kindly tell me what are these. Please also provide me links(good and precise one) for PT tutorials on web.Also note that I'm discussing this w.r.t Single instance non-rac db.
    Looking for Good sugessions
    Regards,
    Abbasi

    Hello,
    This is the oracle course contents:
    Contents
    Preface
    1 Introduction
    Course Objectives 1-2
    Organization 1-3
    Agenda 1-4
    What Is Not Included 1-6
    Who Tunes? 1-7
    What Does the DBA Tune? 1-8
    How to Tune 1-10
    Tuning Methodology 1-11
    Effective Tuning Goals 1-13
    General Tuning Session 1-15
    Summary 1-17
    2 Basic Tuning Tools
    Objectives 2-2
    Performance Tuning Diagnostics 2-3
    Performance Tuning Tools 2-4
    Tuning Objectives 2-5
    Top Wait Events 2-6
    DB Time 2-7
    CPU and Wait Time Tuning Dimensions 2-8
    Time Model: Overview 2-9
    Time Model Statistics Hierarchy 2-10
    Time Model Example 2-12
    Dynamic Performance Views 2-13
    Dynamic Performance Views: Usage Examples 2-14
    Dynamic Performance Views: Considerations 2-15
    Statistic Levels 2-16
    Statistics and Wait Events 2-18
    System Statistic Classes 2-19
    Displaying Statistics 2-20
    Displaying SGA Statistics 2-22
    Wait Events 2-23
    Using the V$EVENT_NAME View 2-24
    Wait Classes 2-25
    Displaying Wait Event Statistics 2-26
    Oracle Internal & Oracle Academy Use Only
    iv
    Commonly Observed Wait Events 2-28
    Using the V$SESSION_WAIT View 2-29
    Precision of System Statistics 2-31
    Using Features of the Packs 2-32
    Accessing the Database Home Page 2-34
    Enterprise Manager Performance Pages 2-35
    Viewing the Alert Log 2-37
    Using Alert Log Information as an Aid in Tuning 2-38
    User Trace Files 2-40
    Background Processes Trace Files 2-41
    Summary 2-42
    Practice 2 Overview: Using Basic Tools 2-43
    3 Using Automatic Workload Repository
    Objectives 3-2
    Automatic Workload Repository: Overview 3-3
    Automatic Workload Repository Data 3-4
    Workload Repository 3-5
    Database Control and AWR 3-6
    AWR Snapshot Purging Policy 3-7
    AWR Snapshot Settings 3-8
    Manual AWR Snapshots 3-9
    Managing Snapshots with PL/SQL 3-10
    Generating AWR Reports in EM 3-11
    Generating AWR Reports in SQL*Plus 3-12
    Reading the AWR Report 3-13
    Snapshots and Periods Comparisons 3-14
    Compare Periods: Benefits 3-15
    Compare Periods: Results 3-16
    Compare Periods: Report 3-17
    Compare Periods: Load Profile 3-18
    Compare Periods: Top Events 3-19
    Summary 3-20
    Practice 3 Overview: Using AWR-Based Tools 3-21
    4 Defining Problems
    Objectives 4-2
    Defining the Problem 4-3
    Limit the Scope 4-4
    Setting the Priority 4-5
    Top Wait Events 4-6
    Oracle Internal & Oracle Academy Use Only
    v
    Setting the Priority: Example 4-7
    Top SQL Reports 4-8
    Common Tuning Problems 4-9
    Tuning Life Cycle Phases 4-11
    Tuning During the Life Cycle 4-12
    Application Design and Development 4-13
    Testing: Database Configuration 4-14
    Deployment 4-15
    Production 4-16
    Migration, Upgrade, and Environment Changes 4-17
    ADDM Tuning Session 4-18
    Performance Versus Business Requirements 4-19
    Performance Tuning Resources 4-20
    Filing a Performance Service Request 4-21
    RDA Report 4-22
    Monitoring and Tuning Tool: Overview 4-23
    Summary 4-25
    Practice 4 Overview: Identifying the Problem 4-26
    5 Using Metrics and Alerts
    Objectives 5-2
    Metrics, Alerts, and Baselines 5-3
    Limitation of Base Statistics 5-4
    Typical Delta Tools 5-5
    Oracle Database 11g Solution: Metrics 5-6
    Benefits of Metrics 5-7
    Viewing Metric History Information 5-8
    Using EM to View Metric Details 5-9
    Statistic Histograms 5-10
    Histogram Views 5-11
    Server-Generated Alerts 5-12
    Database Control Usage Model 5-13
    Setting Thresholds 5-14
    Creating and Testing an Alert 5-15
    Metric and Alert Views 5-16
    View User-Defined SQL Metrics 5-17
    Create User-Defined SQL Metrics 5-18
    View User-Defined Host Metrics 5-19
    Create User-Defined Host Metrics 5-20
    Summary 5-21
    Practice Overview 5: Working with Metrics 5-22
    Oracle Internal & Oracle Academy Use Only
    vi
    6 Baselines
    Objectives 6-2
    Comparative Performance Analysis with AWR Baselines 6-3
    Automatic Workload Repository Baselines 6-4
    Moving Window Baseline 6-5
    Baselines in Performance Page Settings 6-6
    Baseline Templates 6-7
    AWR Baselines 6-8
    Creating AWR Baselines 6-9
    Single AWR Baseline 6-10
    Creating a Repeating Baseline Template 6-11
    Managing Baselines with PL/SQL 6-12
    Generating a Baseline Template for a Single Time Period 6-13
    Creating a Repeating Baseline Template 6-14
    Baseline Views 6-15
    Performance Monitoring and Baselines 6-17
    Defining Alert Thresholds Using a Static Baseline 6-19
    Using EM to Quickly Configure Adaptive Thresholds 6-20
    Changing Adaptive Threshold Settings 6-22
    Summary 6-23
    Practice 6: Overview Using AWR Baselines 6-24
    7 Using AWR-Based Tools
    Objectives 7-2
    Automatic Maintenance Tasks 7-3
    Maintenance Windows 7-4
    Default Maintenance Plan 7-5
    Automated Maintenance Task Priorities 7-6
    Tuning Automatic Maintenance Tasks 7-7
    ADDM Performance Monitoring 7-8
    ADDM and Database Time 7-9
    DBTime-Graph and ADDM Methodology 7-10
    Top Performance Issues Detected 7-12
    Database Control and ADDM Findings 7-13
    ADDM Analysis Results 7-14
    ADDM Recommendations 7-15
    Database Control and ADDM Task 7-16
    Changing ADDM Attributes 7-17
    Retrieving ADDM Reports by Using SQL 7-18
    Active Session History: Overview 7-19
    Active Session History: Mechanics 7-20
    Oracle Internal & Oracle Academy Use Only
    vii
    ASH Sampling: Example 7-21
    Accessing ASH Data 7-22
    Dump ASH to File 7-23
    Analyzing the ASH Data 7-24
    Generating ASH Reports 7-25
    ASH Report Script 7-26
    ASH Report: General Section 7-27
    ASH Report Structure 7-28
    ASH Report: Activity Over Time 7-29
    Summary 7-30
    Practice 7 Overview: Using AWR-Based Tools 7-31
    8 Monitoring an Application
    Objectives 8-2
    What Is a Service? 8-3
    Service Attributes 8-4
    Service Types 8-5
    Creating Services 8-6
    Managing Services in a Single-Instance Environment 8-7
    Everything Switches to Services 8-8
    Using Services with Client Applications 8-9
    Using Services with the Resource Manager 8-10
    Services and Resource Manager with EM 8-11
    Services and the Resource Manager: Example 8-12
    Using Services with the Scheduler 8-13
    Services and the Scheduler with EM 8-14
    Services and the Scheduler: Example 8-16
    Using Services with Parallel Operations 8-17
    Using Services with Metric Thresholds 8-18
    Changing Service Thresholds by Using EM 8-19
    Services and Metric Thresholds: Example 8-20
    Service Aggregation and Tracing 8-21
    Top Services Performance Page 8-22
    Service Aggregation Configuration 8-23
    Service Aggregation: Example 8-24
    Client Identifier Aggregation and Tracing 8-25
    trcsess Utility 8-26
    Service Performance Views 8-27
    Summary 8-29
    Practice 8 Overview: Using Services 8-30
    Oracle Internal & Oracle Academy Use Only
    viii
    9 Identifying Problem SQL Statements
    Objectives 9-2
    SQL Statement Processing Phases 9-3
    Parse Phase 9-4
    SQL Storage 9-5
    Cursor Usage and Parsing 9-6
    SQL Statement Processing Phases: Bind 9-8
    SQL Statement Processing Phases: Execute and Fetch 9-9
    Processing a DML Statement 9-10
    COMMIT Processing 9-12
    Role of the Oracle Optimizer 9-13
    Identifying Bad SQL 9-15
    TOP SQL Reports 9-16
    What Is an Execution Plan? 9-17
    Methods for Viewing Execution Plans 9-18
    Uses of Execution Plans 9-19
    DBMS_XPLAN Package: Overview 9-20
    EXPLAIN PLAN Command 9-22
    EXPLAIN PLAN Command: Example 9-23
    EXPLAIN PLAN Command: Output 9-24
    Reading an Execution Plan 9-25
    Using the V$SQL_PLAN View 9-26
    V$SQL_PLAN Columns 9-27
    Querying V$SQL_PLAN 9-28
    V$SQL_PLAN_STATISTICS View 9-29
    Querying the AWR 9-30
    SQL*Plus AUTOTRACE 9-32
    Using SQL*Plus AUTOTRACE 9-33
    SQL*Plus AUTOTRACE: Statistics 9-34
    SQL Trace Facility 9-35
    How to Use the SQL Trace Facility 9-37
    Initialization Parameters 9-38
    Enabling SQL Trace 9-40
    Disabling SQL Trace 9-41
    Formatting Your Trace Files 9-42
    TKPROF Command Options 9-43
    Output of the TKPROF Command 9-45
    TKPROF Output with No Index: Example 9-50
    TKPROF Output with Index: Example 9-51
    Generate an Optimizer Trace 9-52
    Oracle Internal & Oracle Academy Use Only
    ix
    Summary 9-53
    Practice Overview 9: Using Execution Plan Utilities 9-54
    10 Influencing the Optimizer
    Objectives 10-2
    Functions of the Query Optimizer 10-3
    Selectivity 10-5
    Cardinality and Cost 10-6
    Changing Optimizer Behavior 10-7
    Using Hints 10-8
    Optimizer Statistics 10-9
    Extended Statistics 10-10
    Controlling the Behavior of the Optimizer with Parameters 10-11
    Enabling Query Optimizer Features 10-13
    Influencing the Optimizer Approach 10-14
    Optimizing SQL Statements 10-15
    Access Paths 10-16
    Choosing an Access Path 10-17
    Full Table Scans 10-18
    Row ID Scans 10-20
    Index Operations 10-21
    B*Tree Index Operations 10-22
    Bitmap Indexes 10-23
    Bitmap Index Access 10-24
    Combining Bitmaps 10-25
    Bitmap Operations 10-26
    Join Operations 10-27
    Join Methods 10-28
    Nested Loop Joins 10-29
    Hash Joins 10-31
    Sort-Merge Joins 10-32
    Join Performance 10-34
    How the Query Optimizer Chooses Execution Plans for Joins 10-35
    Sort Operations 10-37
    Tuning Sort Performance 10-38
    Reducing the Cost 10-39
    Index Maintenance 10-40
    Dropping Indexes 10-42
    Creating Indexes 10-43
    SQL Access Advisor 10-44
    Table Maintenance for Performance 10-45
    Oracle Internal & Oracle Academy Use Only
    x
    Table Reorganization Methods 10-46
    Summary 10-47
    Practice 10 Overview: Influencing the Optimizer 10-48
    11 Using SQL Performance Analyzer
    Objectives 11-2
    Real Application Testing: Overview 11-3
    Real Application Testing: Use Cases 11-4
    SQL Performance Analyzer: Process 11-5
    Capturing the SQL Workload 11-7
    Creating a SQL Performance Analyzer Task 11-8
    SQL Performance Analyzer: Tasks 11-9
    Optimizer Upgrade Simulation 11-10
    SQL Performance Analyzer Task Page 11-11
    Comparison Report 11-12
    Comparison Report SQL Detail 11-13
    Tuning Regressing Statements 11-14
    Preventing Regressions 11-16
    Parameter Change Analysis 11-17
    Guided Workflow Analysis 11-18
    SQL Performance Analyzer: PL/SQL Example 11-19
    SQL Performance Analyzer: Data Dictionary Views 11-21
    Summary 11-22
    Practice 11: Overview 11-23
    12 SQL Performance Management
    Objectives 12-2
    Maintaining SQL Performance 12-3
    Maintaining Optimizer Statistics 12-4
    Automated Maintenance Tasks 12-5
    Statistic Gathering Options 12-6
    Setting Statistic Preferences 12-7
    Restore Statistics 12-9
    Deferred Statistics Publishing: Overview 12-10
    Deferred Statistics Publishing: Example 12-12
    Automatic SQL Tuning: Overview 12-13
    SQL Statement Profiling 12-14
    Plan Tuning Flow and SQL Profile Creation 12-15
    SQL Tuning Loop 12-16
    Using SQL Profiles 12-17
    SQL Tuning Advisor: Overview 12-18
    Oracle Internal & Oracle Academy Use Only
    xi
    Using the SQL Tuning Advisor 12-19
    SQL Tuning Advisor Options 12-20
    SQL Tuning Advisor Recommendations 12-21
    Using the SQL Tuning Advisor: Example 12-22
    Using the SQL Access Advisor 12-23
    View Recommendations 12-25
    View Recommendation Details 12-26
    SQL Plan Management: Overview 12-27
    SQL Plan Baseline: Architecture 12-28
    Loading SQL Plan Baselines 12-30
    Evolving SQL Plan Baselines 12-31
    Important Baseline SQL Plan Attributes 12-32
    SQL Plan Selection 12-34
    Possible SQL Plan Manageability Scenarios 12-36
    SQL Performance Analyzer and SQL Plan Baseline Scenario 12-37
    Loading a SQL Plan Baseline Automatically 12-38
    Purging SQL Management Base Policy 12-39
    Enterprise Manager and SQL Plan Baselines 12-40
    Summary 12-41
    Practice 12: Overview Using SQL Plan Management 12-42
    13 Using Database Replay
    Objectives 13-2
    Using Database Replay 13-3
    The Big Picture 13-4
    System Architecture: Capture 13-5
    System Architecture: Processing the Workload 13-7
    System Architecture: Replay 13-8
    Capture Considerations 13-9
    Replay Considerations: Preparation 13-10
    Replay Considerations 13-11
    Replay Options 13-12
    Replay Analysis 13-13
    Database Replay Workflow in Enterprise Manager 13-15
    Capturing Workload with Enterprise Manager 13-16
    Capture Wizard: Plan Environment 13-17
    Capture Wizard: Options 13-18
    Capture Wizard: Parameters 13-19
    Viewing Capture Progress 13-20
    Viewing Capture Report 13-21
    Export Capture AWR Data 13-22
    Oracle Internal & Oracle Academy Use Only
    xii
    Viewing Workload Capture History 13-23
    Processing Captured Workload 13-24
    Using the Preprocess Captured Workload Wizard 13-25
    Using the Replay Workload Wizard 13-26
    Replay Workload: Prerequisites 13-27
    Replay Workload: Choose Initial Options 13-28
    Replay Workload: Customize Options 13-29
    Replay Workload: Prepare Replay Clients 13-30
    Replay Workload: Client Connections 13-31
    Replay Workload: Replay Started 13-32
    Viewing Workload Replay Progress 13-33
    Viewing Workload Replay Statistics 13-34
    Packages and Procedures 13-36
    Data Dictionary Views: Database Replay 13-37
    Database Replay: PL/SQL Example 13-38
    Calibrating Replay Clients 13-40
    Summary 13-41
    Practice 13: Overview 13-42
    14 Tuning the Shared Pool
    Objectives 14-2
    Shared Pool Architecture 14-3
    Shared Pool Operation 14-4
    The Library Cache 14-5
    Latch and Mutex 14-7
    Latch and Mutex: Views and Statistics 14-9
    Diagnostic Tools for Tuning the Shared Pool 14-11
    AWR/Statspack Indicators 14-13
    Load Profile 14-14
    Instance Efficiencies 14-15
    Top Waits 14-16
    Time Model 14-17
    Library Cache Activity 14-19
    Avoid Hard Parses 14-20
    Are Cursors Being Shared? 14-21
    Sharing Cursors 14-23
    Adaptive Cursor Sharing: Example 14-25
    Adaptive Cursor Sharing Views 14-27
    Interacting with Adaptive Cursor Sharing 14-28
    Avoiding Soft Parses 14-29
    Sizing the Shared Pool 14-30
    Oracle Internal & Oracle Academy Use Only
    xiii
    Shared Pool Advisory 14-31
    Shared Pool Advisor 14-33
    Avoiding Fragmentation 14-34
    Large Memory Requirements 14-35
    Tuning the Shared Pool Reserved Space 14-37
    Keeping Large Objects 14-39
    Data Dictionary Cache 14-41
    Dictionary Cache Misses 14-42
    SQL Query Result Cache: Overview 14-43
    Managing the SQL Query Result Cache 14-44
    Using the RESULT_CACHE Hint 14-46
    Using the DBMS_RESULT_CACHE Package 14-47
    Viewing SQL Result Cache Dictionary Information 14-48
    SQL Query Result Cache: Considerations 14-49
    UGA and Oracle Shared Server 14-50
    Large Pool 14-51
    Tuning the Large Pool 14-52
    Summary 14-53
    Practice Overview 14: Tuning the Shared Pool 14-54
    15 Tuning the Buffer Cache
    Objectives 15-2
    Oracle Database Architecture 15-3
    Buffer Cache: Highlights 15-4
    Database Buffers 15-5
    Buffer Hash Table for Lookups 15-6
    Working Sets 15-7
    Tuning Goals and Techniques 15-9
    Symptoms 15-11
    Cache Buffer Chains Latch Contention 15-12
    Finding Hot Segments 15-13
    Buffer Busy Waits 15-14
    Calculating the Buffer Cache Hit Ratio 15-15
    Buffer Cache Hit Ratio Is Not Everything 15-16
    Interpreting Buffer Cache Hit Ratio 15-17
    Read Waits 15-19
    Free Buffer Waits 15-21
    Solutions 15-22
    Sizing the Buffer Cache 15-23
    Buffer Cache Size Parameters 15-24
    Dynamic Buffer Cache Advisory Parameter 15-25
    Oracle Internal & Oracle Academy Use Only
    xiv
    Buffer Cache Advisory View 15-26
    Using the V$DB_CACHE_ADVICE View 15-27
    Using the Buffer Cache Advisory with EM 15-28
    Caching Tables 15-29
    Multiple Buffer Pools 15-30
    Enabling Multiple Buffer Pools 15-32
    Calculating the Hit Ratio for Multiple Pools 15-33
    Multiple Block Sizes 15-35
    Multiple Database Writers 15-36
    Multiple I/O Slaves 15-37
    Use Multiple Writers or I/O Slaves 15-38
    Private Pool for I/O Intensive Operations 15-39
    Automatically Tuned Multiblock Reads 15-40
    Flushing the Buffer Cache (for Testing Only) 15-41
    Summary 15-42
    Practice 15: Overview Tuning the Buffer Cache 15-43
    16 Tuning PGA and Temporary Space
    Objectives 16-2
    SQL Memory Usage 16-3
    Performance Impact 16-4
    Automatic PGA Memory 16-5
    SQL Memory Manager 16-6
    Configuring Automatic PGA Memory 16-8
    Setting PGA_AGGREGATE_TARGET Initially 16-9
    Monitoring SQL Memory Usage 16-10
    Monitoring SQL Memory Usage: Examples 16-12
    Tuning SQL Memory Usage 16-13
    PGA Target Advice Statistics 16-14
    PGA Target Advice Histograms 16-15
    Automatic PGA and Enterprise Manager 16-16
    Automatic PGA and AWR Reports 16-17
    Temporary Tablespace Management: Overview 16-18
    Temporary Tablespace: Best Practice 16-19
    Configuring Temporary Tablespace 16-20
    Temporary Tablespace Group: Overview 16-22
    Temporary Tablespace Group: Benefits 16-23
    Creating Temporary Tablespace Groups 16-24
    Maintaining Temporary Tablespace Groups 16-25
    View Tablespace Groups 16-26
    Monitoring Temporary Tablespace 16-27
    Oracle Internal & Oracle Academy Use Only
    xv
    Temporary Tablespace Shrink 16-28
    Tablespace Option for Creating Temporary Table 16-29
    Summary 16-30
    Practice Overview 16: Tuning PGA Memory 16-31
    17 Automatic Memory Management
    Objectives 17-2
    Oracle Database Architecture 17-3
    Dynamic SGA 17-4
    Granule 17-5
    Memory Advisories 17-6
    Manually Adding Granules to Components 17-7
    Increasing the Size of an SGA Component 17-8
    Automatic Shared Memory Management: Overview 17-9
    SGA Sizing Parameters: Overview 17-10
    Dynamic SGA Transfer Modes 17-11
    Memory Broker Architecture 17-12
    Manually Resizing Dynamic SGA Parameters 17-13
    Behavior of Auto-Tuned SGA Parameters 17-14
    Behavior of Manually Tuned SGA Parameters 17-15
    Using the V$PARAMETER View 17-16
    Resizing SGA_TARGET 17-17
    Disabling Automatic Shared Memory Management 17-18
    Configuring ASMM 17-19
    SGA Advisor 17-20
    Monitoring ASMM 17-21
    Automatic Memory Management: Overview 17-22
    Oracle Database Memory Parameters 17-24
    Automatic Memory Parameter Dependency 17-25
    Enabling Automatic Memory Management 17-26
    Monitoring Automatic Memory Management 17-27
    DBCA and Automatic Memory Management 17-29
    Summary 17-30
    Practice 17: Overview Using Automatic Memory Tuning 17-31
    Oracle Internal & Oracle Academy Use Only
    xvi
    18 Tuning Segment Space Usage
    Objectives 18-2
    Space Management 18-3
    Extent Management 18-4
    Locally Managed Extents 18-5
    Large Extents: Considerations 18-6
    How Table Data Is Stored 18-8
    Anatomy of a Database Block 18-9
    Minimize Block Visits 18-10
    The DB_BLOCK_SIZE Parameter 18-11
    Small Block Size: Considerations 18-12
    Large Block Size: Considerations 18-13
    Block Allocation 18-14
    Free Lists 18-15
    Block Space Management 18-16
    Block Space Management with Free Lists 18-17
    Automatic Segment Space Management 18-19
    Automatic Segment Space Management at Work 18-20
    Block Space Management with ASSM 18-22
    Creating an Automatic Segment Space Management Segment 18-23
    Migration and Chaining 18-24
    Guidelines for PCTFREE and PCTUSED 18-26
    Detecting Migration and Chaining 18-27
    Selecting Migrated Rows 18-28
    Eliminating Migrated Rows 18-29
    Shrinking Segments: Overview 18-31
    Shrinking Segments: Considerations 18-32
    Shrinking Segments by Using SQL 18-33
    Segment Shrink: Basic Execution 18-34
    Segment Shrink: Execution Considerations 18-35
    Using EM to Shrink Segments 18-36
    Table Compression: Overview 18-37
    Table Compression Concepts 18-38
    Using Table Compression 18-39
    Summary 18-40
    19 Tuning I/O
    Objectives 19-2
    I/O Architecture 19-3
    File System Characteristics 19-4
    I/O Modes 19-5
    Oracle Internal & Oracle Academy Use Only
    xvii
    Direct I/O 19-6
    Bandwidth Versus Size 19-7
    Important I/O Metrics for Oracle Databases 19-8
    I/O Calibration and Enterprise Manager 19-10
    I/O Calibration and the PL/SQL Interface 19-11
    I/O Statistics: Overview 19-13
    I/O Statistics and Enterprise Manager 19-14
    Stripe and Mirror Everything 19-16
    Using RAID 19-17
    RAID Cost Versus Benefits 19-18
    Should I Use RAID 1 or RAID 5? 19-20
    Diagnostics 19-21
    Database I/O Tuning 19-22
    What Is Automatic Storage Management? 19-23
    Tuning ASM 19-24
    How Many Disk Groups per Database 19-25
    Which RAID Configuration for Best Availability? 19-26
    ASM Mirroring Guidelines 19-27
    ASM Striping Granularity 19-28
    What Type of Striping Works Best? 19-29
    ASM Striping Only 19-30
    Hardware RAID Striped LUNs 19-31
    ASM Guidelines 19-32
    ASM Instance Initialization Parameters 19-33
    Dynamic Performance Views 19-34
    Monitoring Long-Running Operations by Using V$ASM_OPERATION 19-36
    ASM Instance Performance Diagnostics 19-37
    ASM Performance Page 19-38
    Database Instance Parameter Changes 19-39
    ASM Scalability 19-40
    Summary 19-41
    20 Performance Tuning Summary
    Objectives 20-2
    Necessary Initialization Parameters with Little Performance Impact 20-3
    Important Initialization Parameters with Performance Impact 20-4
    Sizing Memory Initially 20-6
    Database High Availability: Best Practices 20-7
    Undo Tablespace: Best Practices 20-8
    Temporary Tablespace: Best Practices 20-9
    General Tablespace: Best Practices 20-11
    Internal Fragmentation Considerations 20-12
    Oracle Internal & Oracle Academy Use Only
    xviii
    Block Size: Advantages and Disadvantages 20-13
    Automatic Checkpoint Tuning 20-14
    Sizing the Redo Log Buffer 20-15
    Sizing Redo Log Files 20-16
    Increasing the Performance of Archiving 20-17
    Automatic Statistics Gathering 20-19
    Automatic Statistics Collection: Considerations 20-20
    Commonly Observed Wait Events 20-21
    Additional Statistics 20-22
    Top 10 Mistakes Found in Customer Systems 20-23
    Summary 20-25
    Appendix A: Practices and Solutions
    Appendix B: Using Statspack
    Index

  • Tools in Performance Tunning

    What are the tools in performance Tunning in ABAP/4
    Thanks  Regards,
    Kumar

    Hi kumar,
    Tools provided for Performance Analysis
    Following are the different tools provided by SAP for performance analysis of an ABAP object
    Run time analysis transaction SE30
    This transaction gives all the analysis of an ABAP program with respect to the database and the non-database processing.
    SQL Trace transaction ST05
    The trace list has many lines that are not related to the SELECT statement in the ABAP program. This is because the execution of any ABAP program requires additional administrative SQL calls. To restrict the list output, use the filter introducing the trace list.
    The trace list contains different SQL statements simultaneously related to the one SELECT statement in the ABAP program. This is because the R/3 Database Interface - a sophisticated component of the R/3 Application Server - maps every Open SQL statement to one or a series of physical database calls and brings it to execution. This mapping, crucial to R/3s performance, depends on the particular call and database system. For example, the SELECT-ENDSELECT loop on the SPFLI table in our test program is mapped to a sequence PREPARE-OPEN-FETCH of physical calls in an Oracle environment.
    The WHERE clause in the trace list's SQL statement is different from the WHERE clause in the ABAP statement. This is because in an R/3 system, a client is a self-contained unit with separate master records and its own set of table data (in commercial, organizational, and technical terms). With ABAP, every Open SQL statement automatically executes within the correct client environment. For this reason, a condition with the actual client code is added to every WHERE clause if a client field is a component of the searched table.
    To see a statement's execution plan, just position the cursor on the PREPARE statement and choose Explain SQL. A detailed explanation of the execution plan depends on the database system in use.
    how to perform sql trace:
    Poorly written SQL statements have the greatest impact on application performance. An SQL
    statement using which an Oracle database system reads and/or sorts thousands or even millions of
    rows of data can bring the database to a standstill. Indexes should be used properly to prevent such
    situations from occurring. To analyze such problems you should use the SQL Trace (TCode ST05) to
    with database access operations.
    CAUTION
    Only one person can perform an SQL trace at a time. Remember to turn off the
    trace when you are finished. SQL trace slows the system down.
    1. Using SQL Trace
    1. Open a program that you want to analyze, in the editor, so that it is ready and waiting to be
    executed.
    2. Open a new session using the menu path System   Create session.
    3. Run transaction ST05 (enter /nst05-zero-five, not oh-five in the Command field, or choose
    the menu path System  Utilities  Performance Trace).
    4. Then the initial screen of the test tool appears.
    The status of the Performance Trace is displayed in the lower part of the screen. This status tells you
    three things namely
      Whether any of the Performance Traces are switched on
      The users for whom Performance Trace is enabled
      The user that switched the Performance Trace on
    If the trace is switched on you must switch it off before you can proceed. There are two cases in
    which the trace needs to be switched off. They are
      If the trace was started within the past hour, it is possible that it is still being used. Contact the
    indicated user or try again later
      If the trace was started hours or days ago, the user probably left it on by mistake and it can be
    safely turned off
    To turn off the trace, press the Trace Off pushbutton.
    5. The initial screen has various trace functions such as SQL Trace, Enqueue Trace, RFC
    Trace
    6. Select SQL Trace.
    7. There are various options under which trace can be switched on. They are
      If you want to switch on the trace under your user name, choose Trace on.
      If you want to switch on the trace for another user or user group, choose Trace on for user.
      To enter a single user, specify the user name.
      To enter a user group, specify a search pattern (you can use the normal wildcards).
    If you want to change the user or user group, switch off the Performance Trace and then restart it,
    entering the new users or user group.
    8. Now switch back to the window containing your editor session (the one with your program
    waiting to be executed).
    9. Press F8 to run your program.
    Note Just press F8 and do nothing. Do not even press the Back button.
    10. When your program has run and the hourglass is no longer displayed, switch back to the trace
    window.
    11. Press the Trace Off pushbutton.
    12. Once Performance Trace is switched off, you can analyze the data
    Using Runtime Analysis Tool (SE30)
    1. You can open the Runtime Analysis tool as follows:
    To start from Choose
    Any screen System   Utilities   Runtime Analysis   Execute
    Initial screen of ABAP
    Workbench
    Test   Runtime Analysis
    Initial screen of ABAP Editor Program   Execute  Runtime Analysis
    ABAP Editor Utilities   More utilities   Runtime Analysis
    2. In the simplest case, you would enter a short description and a measurement object
    (transaction, program, or function module) to run the analysis in the current session.
    3. In the Measurement restrictions group box, you can make more specific restrictions for the
    measurement. For example, you may want to include only certain statements or time periods.
    (For further information refer section 3. 0).
    4. To start the measurement, choose Measure runtime. From the initial screen, you can
    specify whether the analysis should run in the same session or in a parallel session using the
    Enable/Disable button in the In parallel session group box.
    5. Run the transaction, program, or function module as normal.
    6. Return to the initial screen of the Runtime Analysis transaction. To do so, either leave
    transaction, program, or function module as normal, or start the runtime analysis again.
    7. The name of the performance data file that has just been created is displayed at the bottom of
    the initial screen. The file created by the system is added to the list of performance data files.
    You can now analyze, print, or delete the file, or save it locally. The Performance file group
    box contains options for analyzing performance files. (For further information refer sections 4.
    0 and 5. 0)
    regards,
    keerthi

  • Discussion Forum Portlet on RAC Environment

    Hi
    I have installed Discussion Forum Portlet but I am seeing the following error intermittently:
    Unable to perform the operation: JBO-26041: Failed to post data to database during "Insert": SQL Statement "BEGIN INSERT INTO MESSAGE_CLOB(ID,AUTHOR_ID,MESSAGE_DATE,CONTENT,THREAD_ID) VALUES (:1,:2,:3,:4,:5) RETURNING ID INTO :6; END;".
    I think the problem is because we have our database in a RAC environment where our Portal schema is. I am not sure how to specify the same details in the bc4j.xcfg file. The following are the details that I have in the bc4j.xcfg:
    <ConnectionDefinition name="df">
    <ENTRY name="JDBC_PORT" value="1521"/>
    <ENTRY name="ConnectionType" value="JDBC"/>
    <ENTRY name="HOSTNAME" value="hamcheese.corp.ihop.com"/>
    <ENTRY name="DeployPassword" value="true"/>
    <ENTRY name="user" value="df"/>
    <ENTRY name="ConnectionName" value="df"/>
    <ENTRY name="SID" value="asdev1"/>
    <ENTRY name="password" value="df"/>
    <ENTRY name="JdbcDriver" value="oracle.jdbc.driver.OracleDriver"/>
    <ENTRY name="ORACLE_JDBC_TYPE" value="thin"/>
    </ConnectionDefinition>
    How can I specify the two hostnames in this file?
    Please let me know.
    Thanks
    Hari

    Hi Hari,
    I am not sure how this would work, but i think you could try posting the issue on the Database / JDBC forums, specifying the issue as
    How to specify connect details for a RAC m/c in the Datasource file.
    You might get some answers there.
    thanks,
    Harsha

  • Transaction Recovery within an Oracle RAC environment

    Good evening everyone.
    I need some help with Oracle 11gR1 RAC transaction-level recovery issues. Here's the scenario.
    We have a three(3) node RAC Cluster running Oracle 11g R1. The Web UI portion of the application connects through WLS 9.2.3 with connection pooling set. We also have a command-line/SQL*Developer component that uses a TNSNAMES file that allows for both failover and load balancing. Within either the UI or the command line portion of the application, a user can run a process by which invokes one or more PL/SQL Packages to be invoked. The exact location of the physical to the database is dependent on which server is chosen from either the connection pooling or the TNSNAMES.ORA Load Balancing option.
    In the normal world, the process executes and all is good. The status of the execution of this process is updated by the Packages once completed. The problem we are encountering is when an Oracle Instance fails. Here's where I need some help. For Application-level (Transaction Level) recovery, the database instances are first recovered by the database background proccesses and then Users must determine which processes were in flight and either re-execute them (if restart processing is part of the process) or remove any changes and restart from scratch. Given that the database instance does not record which processes are "in flight" it is the responsibility of the application to perform its own recovery processing. Is this still true?
    If an instance fails, are "in flight" transactions/connections moved to other instances in the Grid/RAC environment? I don't think this is possible but I don't remember if this was accomplished through a combination of Application and Database Server features that provide feedback between each other. How is the underlying application notified of the change if such an issue occurs? I remember something similar to this in older versions of Oracle but I cannot remember what it was callled.
    Any help or guidance would be great as our client is being extremely difficult in pressing this issue.
    Thanks in advance
    Stephen Karniotis
    Project Architect - Compuware
    [email protected]
    (248) 408-2918

    You have not indicated whether you are using TAF or FCF ... that would be the first place to start.
    My recommendation would be to let Oracle roll back the database changes and have the application resubmit the most recent work.
    If the application knows what it did since the last "COMMIT" then you should be fine with the possible exception of variables stored
    in packages. Depending on packages retaining values is an issue best solved with PRAGMA SERIALLY_REUSABLE ... in other words
    not using the retention feature.

  • AWR on a RAC Environment

    Hello Knowledgeable Guys of Oracle Forums...
    Finally, our management has bought a license for AWR (after years of using the system!!!) because the database performance has been degrading for quite a while....goodbye to statspack!
    I have a question on AWR collection on RAC..
    We have a 5 Node RAC Cluster working on Oracle 10g R2 on Linux 5.1...
    I would like to know:
    1. How to collect AWR snapshots in a RAC environment? Do I need to collect AWR per node (per instance)?
    2. Is there a way to collect AWR for the entire RAC cluster (Node 1 to Node 5)?
    3. What is the proper way (best way) to collect AWR reports in our 5-node RAC?
    4. How does AWR work on RAC?
    Any sample blogsites...or sample actual AWR collection that you use in your system...
    Thank you

    Hi
    1. How to collect AWR snapshots in a RAC environment? Do I need to collect AWR per node (per instance)?
    A: No. You should collect it at DATABASE level
    2. Is there a way to collect AWR for the entire RAC cluster (Node 1 to Node 5)?
    A: Yes. You can simple generate an html or text report for your RAC environment (eg: AWR report)
    3. What is the proper way (best way) to collect AWR reports in our 5-node RAC?
    A: You can use the snapshots to compare periods, or reports
    4. How does AWR work on RAC?
    A: AWR snapshots are collect at database level, and you can use this snapshot to generate your AWR reports.
    You can also take snapshot in a given moment and use them to reports.
    Exeamples:
    TO CHANGE AWR SNAPSHOTS INTERVAL
    * retention /interval in seconds
    Exec dbms_workload_repository.modify_snapshot_settings (retention=>43200, interval=> 60);
    TO TAKE A SNAPSHOT MANUALLY
    execute dbms_workload_repository.create_snapshot;
    TO GENERATE AWR REPORTS
    @?/rdbms/admin/awrrpt.sql
    Victor

  • Instnce name in non-RAC environment

    Hi!
    In non-RAC environment V$INSTANCE.INSTANCE_NAME does not actually displays the name of the instance,that was set in INSTANCE_NAME parameter.
    It always displays DB_NAME instead.
    Is it any way to get instance_name that has service user connected to in this environment?
    LSNRCTL for 32-bit Windows: Version 10.2.0.4.0 - Production on 28-JAN-2010 09:16:25
    Copyright (c) 1991, 2007, Oracle. All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vegas)(PORT=1524)))
    STATUS of the LISTENER
    Alias LISTENER
    Version TNSLSNR for 32-bit Windows: Version 10.2.0.4.0 - Production
    Start Date 28-JAN-2010 09:15:36
    Uptime 0 days 0 hr. 0 min. 48 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File D:\oracle\db\product\10.2.0\network\admin\listener.ora
    Listener Log File D:\oracle\db\product\10.2.0\network\log\listener.log
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vegas)(PORT=1524)))
    Services Summary...
    Service "EMCOR" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    Service "EMCOR_XPT" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    Service "PLSExtProc" has 1 instance(s).
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "RESXDB" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    Service "SRV1" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    Service "SRV2" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    The command completed successfully
    And SQLPLUS said
    C:\Documents and Settings\oradba>sqlplus
    SQL*Plus: Release 10.2.0.4.0 - Production on Thu Jan 28 09:44:59 2010
    Copyright (c) 1982, 2007, Oracle. All Rights Reserved.
    Enter user-name: emcos@emcor_srv2
    Enter password:
    Connected to:
    Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - Production
    With the Partitioning, OLAP, Data Mining and Real Application Testing options
    09:45:04 EMCOS@emcor_srv2 >select name from v$database;
    NAME
    EMCOR
    Elapsed: 00:00:00.00
    09:45:07 EMCOS@emcor_srv2 >select instance_name from v$instance;
    INSTANCE_NAME
    emcor
    Elapsed: 00:00:00.01
    09:45:21 EMCOS@emcor_srv2 >select service_name from v$session where sid=(select unique sid from v$mystat);
    SERVICE_NAME
    SRV2

    Hemant K Chitale wrote:
    The documentation on INSTANCE_NAME in the 10gR2 Reference says :
    "In a single-instance database system, the instance name is usually the same as the database name."
    (this after
    "In a Real Application Clusters environment, multiple instances can be associated with a single database service. Clients can override Oracle's connection load balancing by specifying a particular instance by which to connect to the database. INSTANCE_NAME specifies the unique name of this instance.")
    This would imply that setting INSTANCE_NAME in non-RAC is ignored. The usage of the word "usually" is weak.
    Hemant K ChitaleBut what do says lsnrctl - it says that it is not weak
    11:33:28 SYS@EMCOR_SRV1 >show parameter instance_name
    NAME TYPE VALUE
    instance_name                        string      INST0
    11:33:36 SYS@EMCOR_SRV1 >host lsnrctl status
    LSNRCTL for 32-bit Windows: Version 10.2.0.4.0 - Production on 28-JAN-2010 11:33:50
    Copyright (c) 1991, 2007, Oracle. All rights reserved.
    Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=vegas)(PORT=1524)))
    STATUS of the LISTENER
    Alias LISTENER
    Version TNSLSNR for 32-bit Windows: Version 10.2.0.4.0 - Production
    Start Date 28-JAN-2010 09:15:36
    Uptime 0 days 2 hr. 18 min. 14 sec
    Trace Level off
    Security ON: Local OS Authentication
    SNMP OFF
    Listener Parameter File D:\oracle\db\product\10.2.0\network\admin\listener.ora
    Listener Log File D:\oracle\db\product\10.2.0\network\log\listener.log
    Listening Endpoints Summary...
    (DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=vegas)(PORT=1524)))
    Services Summary...
    Service "EMCOR" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    Service "EMCOR_XPT" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    Service "PLSExtProc" has 1 instance(s).
    Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
    Service "RESXDB" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    Service "SRV1" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    Service "SRV2" has 1 instance(s).
    Instance "INST0", status READY, has 1 handler(s) for this service...
    The command completed successfully
    11:33:50 SYS@EMCOR_SRV1 >select sys_context('USERENV','INSTANCE_NAME') from dual;
    SYS_CONTEXT('USERENV','INSTANCE_NAME')
    emcor
    Elapsed: 00:00:00.00
    11:34:42 SYS@EMCOR_SRV1 >select service_name from v$session where sid=sys_context('USERENV','SID');
    SERVICE_NAME
    SRV1
    Best regards, Sergey

  • Performance tunning in oracle

    Hi friends,
    I am himansu, i am facing a problem during performance tunning of query in oracle , please guide me how to tune a query which will give better performance.

    907977 wrote:
    Hi friends,
    I am himansu, i am facing a problem during performance tunning of query in oracle , please guide me how to tune a query which will give better performance.Welcome to OTN
    Please post your thread at SQL, PL/SQL. PL/SQL
    and provide your sql query.
    Hope this will help you.

  • How to create DIR/File on a raw device in RAC environment.

    Hi all,
    I use a shell script to create DIR and File on a raw device also it creates schema and tablespaces.
    I am facing problem in creating DIR and Files on raw device.
    One more thing, can multiple tablespaces be created on a raw device.
    Thanks & regards,
    Sanjeev

    Thanks for the response. Please help me further.
    About the Script - It asks for the path for creating DIR and uses shell command to create DIR. Later same path and DIR name is used to create Oracle DIR. Now in place of absolute path raw device name is passed. The same script is also used for creating tablespaces and schema.
    There is second script that is .sql script that creates external table in the newly created schema. All this has been working fine on single instance Oracle server. we have tested many times but fails in RAC environment when we use raw device.
    Question is - If I use filesystem will the external table's flat files and Directories be accessible to all the instances.
    I have one application written in java that would be clustered and running on these oracle servers. This application would be accessing those external tables and their flat files. Will there be a problem accessing these flat files accross the instances.
    Regards,
    Sanjeev.

Maybe you are looking for