Performance issue in ORACLE FORMS

I USED REF CURSOR TO LOAD DATA TO NON DATABASE BLOCK. IT GETS AROUND 50 MINUTES TO LOAD DATA.BUT IN SQL PLUS I RUN THIS QUERY WITH SAME PARAMETES.IT SHOWS RESULTS VERY QUICKLY.(INDEXES ARE ALREDY CREATED ).
WHAT CAN BE THE ISSUE TO TAKE LONG TIME TO VIEW DATA IN THE FORM.
CAN ANY BODY HELP TO SOLVE MY PROBLEM.
THANKS.
GO_BLOCK('BILLED_CALLS_P');
FIRST_RECORD;
OPEN V_C2 FOR SELECT BILL_DATE,TOLL_CHRG_NUM,TERMN_NUM,CALL_DATE,BILL_DURATN,CHRG_AMT,CALL_TYPE_CD,PLACE_NAME_CD,BILL_NUMBER,
CALL_REC_NUMBER,TRUNK_ID1,TRUNK_ID2,SWITCH_CODE,TIMING_INDICATOR
FROM BILLED_CALLS B
,DIRECTORY_NUMBERS D
,PACKAGE_SUBSCRIPTIONS P
WHERE
B.TOLL_CHRG_NUM=D.SERVICE_NUMBER
AND B.TOLL_CHRG_NUM=P.SER_USR_SERVICE_NUMBER
AND D.PRE_PAID='N'
AND P.PAC_PACKAGE_CODE=:TXTPACKAGES
AND B.CALL_TYPE_CD=V_NUM AND B.CALL_DATE BETWEEN vfdate AND vtdate
AND (ROWNUM<=v_rownum OR v_rownum IS NULL);
LOOP
FETCH V_C2 INTO :BILLED_CALLS_P.BILL_DATE,:BILLED_CALLS_P.TOLL_CHRG_NUM,:BILLED_CALLS_P.TERMN_NUM,:BILLED_CALLS_P.CALL_DATE,:BILLED_CALLS_P.BILL_DURATN,:BILLED_CALLS_P.CHRG_AMT,:BILLED_CALLS_P.CALL_TYPE_CD,:BILLED_CALLS_P.PLACE_NAME_CD,
:BILLED_CALLS_P.BILL_NUMBER,:BILLED_CALLS_P.CALL_REC_NUMBER,:BILLED_CALLS_P.TRUNK_ID1,:BILLED_CALLS_P.TRUNK_ID2,:BILLED_CALLS_P.SWITCH_CODE,:BILLED_CALLS_P.TIMING_INDICATOR;
CREATE_RECORD;
EXIT WHEN V_C2%NOTFOUND;
END LOOP;

the difference in time is that you doing the following additional tasks in forms that you dont do in sqlplus:
1. you are retrieving data into the fields of the form.
2. creating the record.
which is a network round-trip for each record. AFAIK.
if its an option for you, I would create a global temporary table and then populate the temporary table with the required data. Then build a base table block based on the global temporary table. This way you can use the forms default functionality and its fast because you dont have to populate all the records on the form before you see the first record!
:>)

Similar Messages

  • Query Performance issue in Oracle Forms

    Hi All,
    I am using oracle 9i DB and forms 6i.
    In query form ,qry took long time to load the data into form.
    There are two tables used here.
    1 table(A) contains 5 crore records another table(B) has 2 crore records.
    The recods fetching range 1-500 records.
    Table (A) has no index on main columns,after created the index on main columns in table A ,the query is fetched the data quickly.
    But DBA team dont want to create index on table A.Because of table space problem.
    If create the index on main table (A) ,then performance overhead in production.
    Concurrent user capacity is 1500.
    Is there any alternative methods to handle this problem.
    Regards,
    RS

    1) What is a crore? Wikipedia seems to indicate that it's either 10,000,000 or 500,000
    http://en.wikipedia.org/wiki/Crore
    I'll assume that we're talking about tables with 50 million and 20 million rows, respectively.
    2) Large tables with no indexes are definitely going to be slow. If you don't have the disk space to create an appropriate index, surely the right answer is to throw a bit of disk into the system.
    3) I don't understand the comment "If create the index on main table (A) ,then performance overhead in production." That seems to contradict the comment you made earlier that the query performs well when you add the index. Are you talking about some other performance overhead?
    Justin

  • Performance issues with Oracle EE 9.2.0.4 and RedHat 2.1

    Hello,
    I am having some serious performance issues with Oracle Enterprise Edition 9.2.0.4 and RedHat Linux 2.1. The processor goes berserk at 100% for long (some 5 min.) periods of time, and all the ram memory gets used.
    Some environment characteristics:
    Machine: Intel Pentium IV 2.0GHz with 1GB of RAM.
    OS: RedHat Linux 2.1 Enterprise.
    Oracle: Oracle Enterprise Edition 9.2.0.4
    Application: We have a small web-application with 10 users (for now) and very basic queries (all in stored procedures). Also we use the latest version of ODP.NET with default connection settings (some low pooling, etc).
    Does anyone know what could be going on?
    Is anybody else having this similar behavior?
    We change from SQL-Server so we are not the world expert on the matter. But we want a reliable system nonetheless.
    Please help us out, gives some tips, tricks, or guides…
    Thanks to all,
    Frank

    Thank you very much and sorry I couldn’t write sooner. It seems that the administrator doesn’t see the kswap going on so much, so I don’t really know what is going on.
    We are looking at some queries and some indexing but this is nuts, if I had some poor queries, which we don’t really, the server would show pick right?
    But he goes crazy and has two oracle processes taking all the resources. There seems to be little swapping going on.
    Son now what? They are all ready talking about MS-SQL please help me out here, this is crazy!!!
    We have, may be the most powerful combinations here. What is oracle doing?
    We even kill the Working Process of the IIS and have no one do anything with the database and still dose two processes going on.
    Can some one help me?
    Thanks,
    Frank

  • Frm-40505:ORACLE error: unable to perform query in oracle forms 10g

    Hi,
    I get error frm-40505:ORACLE error: unable to perform query on oracle form in 10g environment, but the same form works properly in 6i.
    Please let me know what do i need to do to correct this problem.
    Regards,
    Priya

    Hi everyone,
    I have block created on view V_LE_USID_1L (which gives the error frm-40505) . We don't need any updation on this block, so the property 'updateallowed' is set to 'NO'.
    To fix this error I modified 'Keymode' property, set it to 'updatable' from 'automatic'. This change solved the problem with frm-40505 but it leads one more problem.
    The datablock v_le_usid_1l allows user to enter the text (i.e. updated the field), when the data is saved, no message is shown. When the data is refreshed on the screen, the change done previously on the block will not be seen (this is because the block updateallowed is set to NO), how do we stop the fields of the block being editable?
    We don't want to go ahead with this solution as, we might find several similar screens nad its diff to modify each one of them individually. When they work properly in 6i, what it doesn't in 10g? does it require any registry setting?
    Regards,
    Priya

  • Performance Issue in Oracle EBS

    Hi Group,
    I am working in a performance issue at customer site, let me explain the behaviour.
    There is one node for the database and other for the application.
    Application server is running all the services.
    EBS version is 12.1.3 and database version is: 11.1.0.7 with AIX both servers..
    Customer has added memory to both servers (database and application) initially they had 32 Gbytes, now they have 128 Gbytes.
    Today, I have increased memory parameters for the database and also I have increased JVM's proceesses from 1 to 2 for Forms and OAcore, both JVM's are 1024M.
    The behaviour is when users are navigating inside of the form, and they push the down button quickly the form gets thinking (reloading and waiting 1 or 2 minutes to response), it is no particular for a specific form, it is just happening in several forms.
    Gathering statistics job is scheduled every weekend, I am not sure what can be the problem, I have collected a trace of the form and uploaded it to Oracle Support with no success or advice.
    I have just send a ping command and the reponse time between servers is below to 5 ms.
    I have several activities in mind like:
    - OATM conversion.
    - ASM implementation.
    - Upgrade to 11.2.0.4.
    Has anybody had this behaviour?, any advice about this problem will be really appreciated.
    Thanks in advance.
    Kind regards,
    Francisco Mtz.

    Hi Bashar, thank you very much for your quick response.
    If both servers are on the same network then the ping should not exceed 2 ms.
    If I remember, I did a ping last Wednesday, and there were some peaks over 5 ms.
    Have you checked the network performance between the clients and the application server?
    Also, I did a ping from the PC to the application and database, and it was responding in less than 1 ms.
    What is the status of the CPU usage on both servers?
    There aren't overhead in the CPU side, I tested it (scrolling getting frozen) with no users in the application.
    Did this happen after you performed the hardware upgrade?
    Yes, it happened after changing some memory parameters in the JVM and the database.
    Oracle has suggested to apply the latest Forms patches according to this Note: Doc ID 437878.1
    Thanks in advance.
    Kind regards,
    Francisco Mtz.

  • Performance issue in oracle 11.1.0.7 version

    Hi ,
    In production environment we have some cronjobs are scheduled, they will run every Saturday. One of the cronjob is taking more time to finish the job.
    Previous oracle version is 10.2.0.4, that time it was taking 36hrs to complete it. After upgrading to 11gr1, now it's taking 47hrs some time 50hrs to finish.
    I have asked my production DBA take AWR report after finish the cronjob.
    Now he sent the AWR report, but i don't know how to read it. Can you please help me to read the AWR reports, and i need to give some recommendations to reduce the overall running time.
    I don't know how to attach the AWR report here.
    Please help me on this.
    Thanks
    Shravan Kumar

    Hi,
    Now he sent the AWR report, but i don't know how to read it. Can you please help me to read the AWR reports, and i need to give some recommendations to reduce the overall running time.An't you a DBA? Probably you should seek help of you DBA to read the AWR and mean while you should also have AWR of 10g where this job was running previously so that you can compare the things.
    Did you do a testing before upgrade? you SHOULD have done a thorough testing of your applications/reports before the upgrade and resolve the performance issues before the production upgrade.
    Mean while you do investigation, you can set optimizer_features_enable=10.2.0.4 for only cron job session to check whether you job returns to same 26 hours time
    alter session set optimizer_features_enable='10.2.0.4';Salman

  • Performance issue with Adobe forms

    Dear SAP Experts,
    We have the following issue/requirement from our client. The client is on SAP ECC 6.0 - production environment.
    The client is highlighting  performance issue while accessing the adobe forms for HR and FI business process ( both static and interactive ).
                    Examples are
        FI – Invoice Approvals
                    HR – Job Salary Change
    The client is asking us to provide best practices surrounding:
    1.       How to improve the performance of the adobe forms while accessing in SAP.
    2.       Is there any other technology which we can use in SAP to replace the adobe forms which has better performance factor.
    3.       Are there solutions such as webdynpro floor plan manager, UI Fiori which can be alternately used?
    Regards,
    Sakthi

    Hello Priya,
         Adobe forms are easy to develop and much more comfortable than SAP Scripts and Smartforms. Initially they are a bit difficult but once you have your hands on, they are the most simplest things in ABAP.
    Performance in Adobe forms is a mix of both fine tuning the Layout as well as back end coding.
    Performance in Adobe forms cannot be done overnight. A lot of care has to be taken during the initial stage of development.
    As far as my experience is concerned, please consider the below points while developing SAP Adobe forms.
    1) Avoid Scripting (Javascript/Formcalc) as much as possible inside the form. It drastically reduces the performance and makes the form to execute slower. If you still want to use scripting(which cannot be avoided for some requirements), use Formcalc since it is comparatively faster than JavaScript.
    2) Try to avoid the coding inside the Form Interface. You can always handle the maximum coding in the Driver program and pass it to the form.
    3) Use Form Caching.
    For forms that have fixed layout, its a good way to increase the performance of form rendering. In the layout, go to Form Properties. Then Click on Defaults tab and select Allow Form Rendering To Be Cached On Server. Then Click OK.
    For forms that have flowable or dynamic layout, render the forms on the client side because it improves performance.
    Last but not the least, please go through the below post by Otto Gold which is worth a read at least once.
    How to write a messy form

  • Tool for diagnosing performance issues in oracle database

    Is there any tool to diagnose performance issues in queries and stored procedures in oracle similar to sql profiler for sql server
    Thanks

    you can use oem oracle enterprise manager to diagnose and monitor database .
    Chapter 10: Monitoring and Tuning the Database(refer the link , oracle obe series, step by step procedures with screenshot presentation)
    This chapter introduces you to some of the monitoring and tuning operations as performed through Enterprise Manager.
    http://www.oracle.com/technology/obe/2day_dba/monitoring/monitoring.htm
    refer: Monitoring and Tuning the Database
    http://download.oracle.com/docs/cd/B14117_01/server.101/b10742/montune.htm
    hope, this will helps you.
    Edited by: rajeysh on Jul 14, 2010 9:28 PM

  • Text field highlighting Issue in oracle forms 11g after migrating from 10g

    We have migrated the oracle forms from 10g to 11g.
    On 10g oracle form when I click on the text item then text item value gets hilighted in blue color but after converting same form(without making any code changes) into 11g version form when I click on then text item then value is NOT hilighted.
    Could please help me why it's behaving different? Are there any configuration changes required at the application server side?
    Thanks

    christian,
    We have forms 11.1.1.2.0.
    In oracle forms “text item value is highlighted When user clicks on text item” is controlled by form level property “KEEP CURSOR POSITION”.
    This property is not working with JAVA SUN plug-in in forms version 11.1.1.2.0.
    This issue has been fixed under Patch Set 2 (11.1.1.3.0). Please see below meta link.
    https://support.oracle.com:443/CSP/ui/flash.html#tab=KBHome(page=KBHome&id=()),(page=KBNavigator&id=(bmDocDsrc=KB&bmDocType=BULLETIN&bmDocID=1099499.1&from=BOOKMARK&bmDocTitle=Fixed%20Bugs%20List%20-%20Patch%20Set%202%20(11.1.1.3.0)%20for%20Oracle%20Fusion%20Middleware%2011g&viewingMode=1143))
    Thanks,
    Satish N

  • Performance issue with Oracle Text index

    Hi Experts,
    We are on Oracle 11.2..0.3 on Solaris 10. I have implemented Oracle Text in our environment and I am facing a strange performance issue that is happening in our environment.
    One sql having CONTAINS clause is taking forever - more than 20 minutes and still does not complete. This sql has a contains clause and an exists clause and a not exists clause.
    Now if I remove the exists clause and a not exists clause , it completes fast. but with those two clauses it is just taking forever. It is late night so i am not able to post the table and sql query details and will do so tomorrow but based on this general description, are there any pointers for me to review?
    sql query doing fine:
    SELECT
        U.CLNT_OID, U.USR_OID, S.MAILADDR
    FROM
        access_usr U
        INNER JOIN access_sia S
            ON S.USR_OID = U.USR_OID AND S.CLNT_OID = U.CLNT_OID
        WHERE U.CLNT_OID = 'ABCX32S'
        AND CONTAINS(LAST_NAME , 'TO%' ) >0
    --sql query that hangs forever:
    SELECT
        U.CLNT_OID, U.USR_OID, S.MAILADDR
    FROM
        access_usr U
        INNER JOIN access_sia S
            ON S.USR_OID = U.USR_OID AND S.CLNT_OID = U.CLNT_OID
        WHERE U.CLNT_OID = 'ABCX32S'
        AND CONTAINS(LAST_NAME , 'TO%' ) >0
    and exists (--one clause here wiht a few table joins)
    and not exists (--one clause here wiht a few table joins);
    --Now another strange thing I found is if instead of 'TO%' in this sql, if I were to use 'ZZ%' or 'L1%' it works fast but for 'TO%' it goes slow with those two exists not exists clauses!
    I will be most thankful for the inputs.
    OrauserN

    Hi Barbara,
    First of all, thanks a lot for reviewing the issue.
    Unluckily making the change to empty_stoplist did not work out. I am today copying the entire sql here that has this issue and will be most thankful for more insights/pointers on what can be done.
    Here is the entire sql:
    SELECT U.CLNT_OID,
           U.USR_OID,
           S.EMAILADDRESS,
           U.FIRST_NAME,
           U.LAST_NAME,
           S.JOBCODE,
           S.LOCATION,
           S.DEPARTMENT,
           S.ASSOCIATEID,
           S.ENTERPRISECOMPANYCODE,
           S.EMPLOYEEID,
           S.PAYGROUP,
           S.PRODUCTLOCALE
      FROM    ACCESS_USR U
           INNER JOIN
              ACCESS_SIA S
           ON S.USR_OID = U.USR_OID AND S.CLNT_OID = U.CLNT_OID
    WHERE     U.CLNT_OID = 'G39NY3D25942TXDA'
           AND EXISTS
                  (SELECT 1
                     FROM ACCESS_USR_GROUP_XREF UGX
                          INNER JOIN ACCESS_GROUP RELG
                             ON     RELG.CLNT_OID = UGX.CLNT_OID
                                AND RELG.GROUP_OID = UGX.GROUP_OID
                          INNER JOIN ACCESS_GROUP G
                             ON     G.CLNT_OID = RELG.CLNT_OID
                                AND G.GROUP_TYPE_OID = RELG.GROUP_TYPE_OID
                    WHERE     UGX.CLNT_OID = U.CLNT_OID
                          AND UGX.USR_OID = U.USR_OID
                          AND G.GROUP_OID = 920512943
                          AND UGX.INCLUDED = 1)
           AND NOT EXISTS
                      (SELECT 1
                         FROM    ACCESS_USR_GROUP_XREF UGX
                              INNER JOIN
                                 ACCESS_GROUP G
                              ON     G.CLNT_OID = UGX.CLNT_OID
                                 AND G.GROUP_OID = UGX.GROUP_OID
                        WHERE     UGX.CLNT_OID = U.CLNT_OID
                              AND UGX.USR_OID = U.USR_OID
                              AND G.GROUP_OID = 920512943
                              AND UGX.INCLUDED = 1)
           AND CONTAINS (U.LAST_NAME, 'Bon%') > 0;
    Like I said before if the EXISTS and NOT EXISTS clause are removed it works in sub-second. But with those EXISTS and NOT EXISTS CLAUSE IT TAKES ANY WHERE FROM 25 minutes to more than one hour.
    NOte also that it was not TO% but Bon% in the CONTAINS clause that is giving the issue - sorry that was wrong on my part.
    Also please see below the ORACLE TEXT index defined on the table ACCESS_USER:
    --definition of preferences used in the index:
    SET SERVEROUTPUT ON size unlimited
    WHENEVER SQLERROR EXIT SQL.SQLCODE
    DECLARE
       v_err       VARCHAR2 (1000);
       v_sqlcode   NUMBER;
       v_count     NUMBER;
    BEGIN
       ctxsys.ctx_ddl.create_preference ('cust_lexer', 'BASIC_LEXER');
       ctxsys.ctx_ddl.set_attribute ('cust_lexer', 'base_letter', 'YES'); -- removes diacritics
    EXCEPTION
       WHEN OTHERS
       THEN
          v_err := SQLERRM;
          v_sqlcode := SQLCODE;
          v_count := INSTR (v_err, 'DRG-10701');
          IF v_count > 0
          THEN
             DBMS_OUTPUT.put_line (
                'The required preference named CUST_LEXER with BASIC LEXER is already set up');
          ELSE
             RAISE;
          END IF;
    END;
    DECLARE
       v_err       VARCHAR2 (1000);
       v_sqlcode   NUMBER;
       v_count     NUMBER;
    BEGIN
       ctxsys.ctx_ddl.create_preference ('cust_wl', 'BASIC_WORDLIST');
       ctxsys.ctx_ddl.set_attribute ('cust_wl', 'SUBSTRING_INDEX', 'true'); -- to improve performance
    EXCEPTION
       WHEN OTHERS
       THEN
          v_err := SQLERRM;
          v_sqlcode := SQLCODE;
          v_count := INSTR (v_err, 'DRG-10701');
          IF v_count > 0
          THEN
             DBMS_OUTPUT.put_line (
                'The required preference named CUST_WL with BASIC WORDLIST is already set up');
          ELSE
             RAISE;
          END IF;
    END;
    --now below is the code of the index:
    CREATE INDEX ACCESS_USR_IDX3 ON ACCESS_USR
    (FIRST_NAME)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('LEXER cust_lexer WORDLIST cust_wl SYNC (ON COMMIT)');
    CREATE INDEX ACCESS_USR_IDX4 ON ACCESS_USR
    (LAST_NAME)
    INDEXTYPE IS CTXSYS.CONTEXT
    PARAMETERS('LEXER cust_lexer WORDLIST cust_wl SYNC (ON COMMIT)');
    The strange thing is that, like I said, If I remove the exists clause the query returns very fast. Also if I modify the query to use only one NOT EXISTS clause and remove the other EXISTS clause it returns in less than one second.  Also if I remove the EXISTS clause and use only the NOT EXISTS  clause it returns in less than 4 seconds. But with both clauses it runs forever!
    When I tried to get dbms_xplan.display_cursor to get the query plan (for the case of both exists and not exists clause in the query), it said that previous statement's sql id was 0 or something like that so that I was not able to see the query plan. I will keep trying to get this plan (it takes 25 minutes to one hour each time but will get this info soon). Again any pointers are most helpful.
    Regards
    OrauserN

  • POST COMMIT FORM issue in Oracle Forms Personalization

    Hi All,
    I have following requirement in Oracle Forms Personalization :
    1. User updates a records( from the table xxtable) in the Form
    2. Following this, on saving the record, a stored procedure is called to pick those records which are updated/inserted and display. But its displaying still the old values, since commit has not occured.
    3. I have added new forms personalization using POST-DATABASE-COMMIT and POST-FORM-COMMIT. However, none of this trigger is firing.
    Used POST-UPDATE and POST-INSERT, but this trigger are not fetching the committed data but picking the old value.
    Please let me know, how this requirement can be achieved in Oracle forms personalization?
    Many Thanks in Advance.

    the difference in time is that you doing the following additional tasks in forms that you dont do in sqlplus:
    1. you are retrieving data into the fields of the form.
    2. creating the record.
    which is a network round-trip for each record. AFAIK.
    if its an option for you, I would create a global temporary table and then populate the temporary table with the required data. Then build a base table block based on the global temporary table. This way you can use the forms default functionality and its fast because you dont have to populate all the records on the form before you see the first record!
    :>)

  • DML issue in Oracle forms

    Hi,
    I have seen sometimes the queries which work in oracle sql*plus and Pl/Sql Developer,they dont work in Oracle forms, for example following query works in
    Pl/sql developer,but not in oracle forms
    select *
    from tablea
    where name in (variable)
    so if variable contains 'AA','BB'
    and records are there in table ,it will not fetch any records,whether variable is with quotes or not .........
    whenever there is a dml statement involving variables ..behavior is somewhat different ....so to get that done ....i normally transfer them to database procedure or function .....then it works fine ..
    Is it known bug or what.
    Regards,
    SS

    You can use a FORMS_DDL or EXECUTE IMMEDIATE
    select_dml := ' select * from tablea where name in ('||:variable||')';
    FORMS_DDL ( select_dml);if variable contains 'AA','BB'

  • .jar file reusablility issue in oracle forms

    hello all
    i am using oracle forms
    {code}
    Forms [32 Bit] Version 10.1.2.0.2 (Production)
    Oracle Toolkit Version 10.1.2.0.2 (Production)
    PL/SQL Version 10.1.0.4.2 (Production)
    Oracle Procedure Builder V10.1.2.0.2 - Production
    {code}
    and using Database 10g
    {code}
    Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
    PL/SQL Release 10.2.0.1.0 - Production
    CORE    10.2.0.1.0      Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    {code}
    i am developing an application in oracle forms that sends message through GSM mobile when any transaction is commited.
    i wrote a class in java , made .jar file , edited default.env file CLASSPATH = "my .jar file"
    everything is working fine when i am trying the code in NETBEANS IDE, it sends messages again and over again with no delay..
    PROBLEM:
    the problem is that when i try to send message from oracle forms using that JAR file , it sends message for only single time , after that it neither shows me any error nor sends the message,
    (1) can it be problem of closing COM port for reusablity.
    (2) any other way to reuse the jar file.
    (3) should i program to closo the used port. (but java program is working very well in NETBEANS IDE).
    please suggest me what should i do to reuse .jar file again and over again.
    thanks

    thanks for your reply.
    sorry if forgot to mention that how i am using this java code.
    yes! i am using that java code using Java Importer in oracle forms 10g.
    importing that jar file i used PL/SQL code to use the static public veriables in oracle forms
    Procedure Send_Message(
        Cel_N In Varchar2
    Is
      Ora_Obj Ora_Java.Jobject;
      Com_P    Varchar2(10);
      Cent_No  Varchar2(100);
      Send_Sms Number;
      Mesg     Varchar2(200);
    Begin
      Ora_Obj := Smsclient.New(1);
      Smsclient.Setcomportname(Com_P);
      Smsclient.Setmsgcenternum(Cent_No);
      Send_Sms:= Smsclient.Sendmessage(Ora_Obj,Cel_N,Mesg);
    Exception
    When Ora_Java.Java_Error Then
      Message(Ora_Java.Last_Error);
    When Others Then
      Message(Sqlerrm);
    End;
    this Smsclient.Sendmessage Class is working very well in both plateforms in NETBEANS IDE and oracle forms but the difference is in this class that
    in NETBEANS IDE (when i run this class using F6 ) it works every time with no delay
    but when i use this same class in pl/sql code through oracle forms it works only for one time.
    COM ports and GSM modem is working property but why .jar file works for once.. and when i restart OC4J & oracle form at run time then it works for only once , meanse after starting OC4J i am able to send message through mobile for one time, means .jar file works only once, why not every time i call the class through oracle form..
    what should i check .. please..
    thanks

  • Performance questions in Oracle Forms/Reports of Application Server 10g

    Hello.
    I have a dual Xeon 2.6 computer with 3 GB of memory and 6 GB of cache, running RedHat EL 3 with Oracle AS 10g (9.0.4.0.0).
    Application Server is used to run some applications created with forms, and it generates several reports, but the forms are also used as a front end to another Oracle Database (Oracle 7.0, runing in Sun Solaris 5.6).
    I've notested (and also my users) the application is getting very slow (is running in a dual Xeon, with 2 Gbit nics, in a 3 Gb backbone).
    The speed (or lack of it) is most noted when the forms are generating the reports (it used to be fast - 2 seconds) and now it can take up to 5 minutes.
    The AS 10g, when generating the reports, almost all of the querys go to the other server (in Solaris) and the results return to the server, and then the report is generated. The network has no problems (at least, that i know of), and the network performance is not an issue - both the servers are connected to a Gbit switch.
    Can someone may have an ideia of it can be?
    even in the clients, when running the forms application, the transition of the several menus is slow, and it used to be more fast.
    the 10g is using Java Jinitiator 1.3.18. Can it be from that ? i'm not certain, but i could say this things start happen when we upgraded the jinitiator from 1.3.13 to 1.3.18...
    My users are really getting on my nervers and i cant do nothing, because they have reason...
    any help would be appreciated !
    Cheers
    Bruno Santos

    Bruno, did you solve the performance problem? I'm experiencing the same lack of speed.

  • Performance issue with Oracle data source

    Hi all,
    I've a rather strange problem that I'm stuck on need some assistance on.
    I have a rules file which drags data in via an SQL data source thats an Oracle server. If I cut/paste the 3 sections of "select" "from" and "where" into SQL-Developer and run the query, it takes less than 1 second to complete. When I run the "load data" with this rule file or even use the "Retrieve" with the rules file edit, it takes up to an hour to complete/retrieve the data.
    The table in question being used has millions of rows and I'm using one of the indexed fields to retrieve the data. It's as if the Essbase/Rule file is ognoring the index, or I have a config issue with the ODBC settings on the server that is causing the problem.
    ODBC.INI file entry for the Oracle server as follows (changed any sensitive info to xxx or 999).
    [XXX]
    Driver=/opt/data01/hyperion/common/ODBC-64/Merant/5.2/lib/ARora22.so
    Description=DataDirect 5.2 Oracle Wire Protocol
    AlternateServers=
    ApplicationUsingThreads=1
    ArraySize=60000
    CachedCursorLimit=32
    CachedDescLimit=0
    CatalogIncludesSynonyms=1
    CatalogOptions=0
    ConnectionRetryCount=0
    ConnectionRetryDelay=3
    DefaultLongDataBuffLen=1024
    DescribeAtPrepare=0
    EnableDescribeParam=0
    EnableNcharSupport=0
    EnableScrollableCursors=1
    EnableStaticCursorsForLongData=0
    EnableTimestampWithTimeZone=0
    HostName=999.999.999.999
    LoadBalancing=0
    LocalTimeZoneOffset=
    LockTimeOut=-1
    LogonID=xxx
    Password=xxx
    PortNumber=1521
    ProcedureRetResults=0
    ReportCodePageConversionErrors=0
    ServiceType=0
    ServiceName=xxx
    SID=
    TimeEscapeMapping=0
    UseCurrentSchema=1
    Can anyone please advise on this lack of performance.
    Thanks in advance
    Bagpuss

    One other thing that I've seen is that if your Oracle data source and Essbase server are in different geographic locations, you can get some delay when it retrieves data over the WAN. I guess there is some handshaking going on when passing the data from Oracle to Essbase (either by record or groups of records) that is slowed WAY down over the WAN.
    Our solution to this was remove teh query out of the load rule, run it via SQL+ on a command line at the geographic location where the Oracle database is, then ftp the resulting file to where the Essbase server is.
    With upwards of 6 million records being retrieved, it took around 4 hours in the load rule, but running the query via command line took 10 minutes, then the ftp took less than 5.

Maybe you are looking for