Oracle Managed Data Provider 12.1.0.2 performs significantly worse than classic ODP on Connection.Open (3 secs vs 0.2 secs)

Oracle Managed Provider has many advantages over the classic Oracle Data Provider for .net.
However, our test show that connection.open take 3 seconds, where the classic ODP takes 0.2 seonds. Subsequent opens against the same connectionstring perform similarly for the two (0.1 seconds). Subsequest opens against a new connectionstring (another database) take 2 seconds for the managed provider and 0.1 seconds for classic.
This is not acceptable in some cases, but may be acceptable in others.
Has anyone seem similar behavior? Any suggestions that can improve connection.open performance?
Regards Niels Jespersen

Hi Alex
Thanks for helping out. I use simple username/password in the connectionstring: con.ConnectionString = "User Id=opslag;Password=xxxxxxxx;Data Source=DB_DST;";
Tracing gives me a tracefile of about 200 KB, which I will not quote here in its entirety. However, I can see that time spent is mostly spent around the snippet quoted below, if that reveals anything important. I will be happy to share the full trace-file and the source of the program. Please let me know.
Regards Niels
2015-01-23 12:55:54.998286 TID:1   (CFG) (SQLNET)   FilePath : O:\OraXP\TNS-Admin\sqlnet.ora
2015-01-23 12:55:54.998286 TID:1   (CFG) (TNSNAMES) FilePath : O:\OraXP\TNS-Admin\tnsnames.ora
2015-01-23 12:55:54.999286 TID:1   (PUB) (ENT) OracleConnection.ctor()
2015-01-23 12:55:54.999286 TID:1   (PUB) (EXT) OracleConnection.ctor()
2015-01-23 12:55:55.005287 TID:1   (PRI) (ENT) (CP) ConnectionString.GetCS()
2015-01-23 12:55:55.009287 TID:1   (PRI) (ENT) (CP) ConnectionString.ctor()
2015-01-23 12:55:55.020288 TID:1   (PRI) (ENT) (CP) ConnectionString.Parse()
2015-01-23 12:55:55.031289 TID:1   (PRI) (ENT) (CP) ConnectionString.SetProperty()
2015-01-23 12:55:55.031289 TID:1   (PRI) (EXT) (CP) ConnectionString.SetProperty()
2015-01-23 12:55:55.031289 TID:1   (PRI) (ENT) (CP) ConnectionString.SetProperty()
2015-01-23 12:55:55.031289 TID:1   (PRI) (EXT) (CP) ConnectionString.SetProperty()
2015-01-23 12:55:55.031289 TID:1   (PRI) (ENT) (CP) ConnectionString.SetProperty()
2015-01-23 12:55:55.031289 TID:1   (PRI) (EXT) (CP) ConnectionString.SetProperty()
2015-01-23 12:55:55.031289 TID:1   (PRI) (EXT) (CP) ConnectionString.Parse()
2015-01-23 12:55:55.032289 TID:1   (PRI) (EXT) (CP) ConnectionString.ctor()
2015-01-23 12:55:55.032289 TID:1   (PRI) (EXT) (CP) ConnectionString.GetCS()
2015-01-23 12:55:55.055292 TID:1   (PUB) (ENT) OracleConnection.Open() (conid=65204782) (state=Closed) (sessid=0) (implid=0) (pooling=T) (txnid=n/a)
2015-01-23 12:55:55.060292 TID:1   (PRI) (ENT) (CP) OracleConnectionDispenser`3..cctor()
2015-01-23 12:55:55.061292 TID:1   (PRI) (EXT) (CP) OracleConnectionDispenser`3..cctor()
2015-01-23 12:55:55.061292 TID:1   (PRI) (ENT) (CP) OracleConnectionDispenser`3.Get()
2015-01-23 12:55:55.066293 TID:1   (PRI) (ENT) (CP) PoolManager`3.ctor()
2015-01-23 12:55:55.066293 TID:1   (PRI) (EXT) (CP) PoolManager`3.ctor()
2015-01-23 12:55:55.071293 TID:1   (PRI) (ENT) (CP) PoolManager`3.Initialize() (constr=User Id=opslag;Data Source=DB_DST;)
2015-01-23 12:55:55.073293 TID:1   (PRI) (ENT) (CP) ConnectionString.Secure()
2015-01-23 12:55:55.073293 TID:1   (PRI) (EXT) (CP) ConnectionString.Secure()
2015-01-23 12:55:57.662552 TID:1   (PRI) (EXT) (CP) PoolManager`3.Initialize() (pmid=56680499) (constr=User Id=opslag;Data Source=DB_DST;)
2015-01-23 12:55:57.664552 TID:1   (PRI) (BUF) (OBP.CTOR) (poolid:40362448) (OracleConnectionDispenser`3.GetPM)
2015-01-23 12:55:57.676554 TID:1   (PRI) (ENT) (CP) OraclePoolManager.Get()
2015-01-23 12:55:57.704556 TID:1   (PRI) (ENT) (CP) PoolManager`3.Get() (txnid=n/a) (bForceMatch=F)
2015-01-23 12:55:57.710557 TID:1   (PRI) (ENT) (CP) PoolManager`3.CreateNewPR() (txnid=n/a)
2015-01-23 12:55:57.922578 TID:1   (PRI) (ENT) TimeStamp.GetLocalTZOffset()
2015-01-23 12:55:57.922578 TID:1   (PRI) (EXT) TimeStamp.GetLocalTZOffset()
2015-01-23 12:55:57.932579 TID:1   (PRI) (ENT) (CP) ConnectionString.GetStringFromSecureString()

Similar Messages

  • Need to Match Result in Report to Data Provider

    Hi!
    My report is using an Excel file to populate my "Payout" data provider.  The data provider has the following values
    Performance/Payment/Level
    10 pt  /5%  /1
    15 pt  /7%  /2
    My report is calculating a performance of 12 pt which I am trying to match against the "Payout" data provider to get the Payment of 5%.  Is this possible in DeskI and if so how?
    Any help you can provide will be appreciated.
    Thanks!
    Edited by: akrupa on Sep 25, 2009 8:45 PM
    Edited by: akrupa on Sep 25, 2009 8:47 PM
    Edited by: akrupa on Sep 25, 2009 8:49 PM

    Hi,
    If the number of payment levels is not to big you might concider to put them on one line in the excel file.
    Like:
    level 1 points | level 1 percentage | level 2 points | level 2 percentage
    10 | 5 | 15 | 7
    When you read that into BusinessObjects you can then assign the percentages by using the formula:
    =If <performance> < <level 1 points> Then 0 Else If <performance> < <level 2 points> Then <level 1 percentage> 
    Else <level 2 percentage>
    Regards,
    Harry

  • File locations / Oracle Managed Files / raw

    Hi,
    looking into installing 10g on a multidisk Linux box and I'm trying to understand the best way to lay out the box for best resilience, performance etc.
    What I'm trying to understand is whether I should use raw devices for datafiles, or Oracle Managed Files? I'm guessing for performance reasons that the ideal is to run the database server on a different drive from the OS (both of which use hardware RAID1) but can OMF sit on top of hardware RAID - what about raw device on top of hardware RAID?
    If we had RAM to play with (we do) would there be a significant performance gain in having the database server run from a ramdisk, or is it better to devote the RAM to, say, a larger SGA or PGA ?
    Thanks in advance,
    Andy

    I found it:
    ALTER DATABASE ADD LOGFILE SIZE 51200K;
    I had a little trouble finding it so if anyone needs it.

  • Oracle Management server is not started

    hey all,
    i have installed oracle 8i on windows 2000 professional. i want to import some database. for that purpose when i want to login in oracle management server, and put login and password, it gives error "VTK-1000 unable to connect to Management Server galaxy.pk.oracle.com. Please verify that u have entered the correct hostname and the status of the Management server."
    i checked the status of the management server from control panel/services. it was manual. i started that but in the end it gave me error
    "could not start the OracleOraHome81Management Service on Local computer. the service did not return an error. this can be an internal window error or an interanl service error.if the problem persist contact ur administrator."
    Plz help me in this regard.
    waiting for anyone s kind response

    "could not start the OracleOraHome81Management Service on Local computer. the service did not return an error. this can be an internal window error or an interanl service error.if the problem persist contact ur administrator."Did you use the EMCA to create the OEM repository in one of your databases?
    William Coldiron

  • Oracle Data Provider for Oracle 10g

    We have an application certified on the ODP 9.2.0.2102, Oracle Client and Oracle ODBC 9.2.0.6. We have a client who is moving to Oracle 10g client within the next few months but will still be hitting an Oracle 9.2 backend.
    My question is: Is the 9.2.0.2102 ODP compatible with the 10g client, or do we need to certify against a newer version of the ODP? And if the latter, what version of ODP is recommended?
    We plan to certify against the latest of both this year, but for now, we need the path of least resistence.
    Thanks for your help.
    Todd

    It is not "hard" to create your own geocoding schema though you will need to know how to create tables (with Oracle Spatial columns) in Oracle and before you do create the tables you should read through the documentation to be certain you have all of the required data and metadata.
    Navteq, a data provider, also has sample geocoding data (http://www.oracle.com/technology/products/spatial/htdocs/spatial_partners_data.html) as well as data for sale. Downloading and importing the Navteq data might give you a good idea about what you will need to do if you were to build your own geocoding schema using your data.
    I hope this helps.
    -Justin

  • Oracle Data Provider (ODP)

    Does the new Oracle Data Provider 9.2.0.1.1 (from Visual Basic .Net) support passing arrays to PL/SQL Packages whose procedures accept table arrays as the input parameters?
    oo4o supported this functionality.

    Does the new Oracle Data Provider 9.2.0.1.1 (from Visual Basic .Net) support passing arrays to PL/SQL Packages whose procedures accept table arrays as the input parameters?
    oo4o supported this functionality. I am also wondering about this. The beta doesn't but will the final version? If not, why not?

  • Oracle Data Provider (ODP) Passing Arrays to PL/SQL

    Does anyone know how to pass an array or collection of data (from VB.net) to PL/SQL using the new Oracle Data Provider?
    My PL/SQL procedure is accepting type Table (Table array).
    This was easily done with Oracle Objects (in VB6) but I've found no way to do this with the new provider with .Net.
    It seems like a serious limitation if it can't be done.
    Anyones help would be appreciated.

    Just out of interest, what are the performance implications of using REF CURSORS for retrieving resultsets from Oracle stored procedures via ODP.NET?
    When coding the PL/SQL for these, the REF CURSOR is left OPEN and not explicitly CLOSED. When does the cursor actualy get closed? Is there a risk of reaching "maximum open cursors" or some other limit more quickly if REF CURSORS are used in this manner?
    I haven't found any documentation of this issue as yet.

  • Oracle Data Provider

    When I use the new Oracle Data Provider for .Net ver 9.2.0.4 I get the following web error:
    "The located assembly's manifest definition with name 'Oracle.DataAccess' does not match the assembly reference."
    The Oracle.DataAccess reference is displayed in the solution explorer of .Net and the path property is correct.
    I am running a web base application. The old Oracle Data Provider which I was using ver 9.2.0.1.1 works fine. Any ideas?

    Scott,
    To solve this, you need to recompile your web application with the new ODP.NET driver. This is one of the tenets of .NET. Thou shall avoid DLL hell by binding to a specific DLL version for your application...or something like that. You can't just plug in a new DLL anymore in an application without recompiling

  • Where do i get Oracle Data Provider version 9.2.0.4.01

    Hi
    Does anyone knows if Oracle Database 9.2.0 media kit comes with
    Oracle Data Provider version 9.2.0.4.01 as database component ?
    Else how do i get this Oracle Data Provider version 9.2.0.4.01 .
    Thanks
    Francis

    Are you referring to Oracle Data Provider for .NET (1.x)?
    I would guess that a 9.2.0.1 base release is old enough to not include the component. (But it is easy enough to check by starting up the installer, faking an install, and take a look what's available under Windows Interfaces.)
    Do you need that specific version, 9.2.0.4.01?
    Otherwise there's Oracle 9.2 ODAC that includes ODP.NET 9.2.0.7. (Note: for .NET Framework 1.x).
    I'd say the component is usually installed on the client side (e.g. app server) but you should be able to use odac to add the component to a database server install as well (as long as version etc. requirements are followed).

  • Script to Stop and Start Oracle Meter Data Management

    Hi,
    This is my first post in Oracle forums so if i open this in the wrong thread please forgive me.
    I tried to create a windows batch script to stop and start Oracle Meter Data Management but i can´t.
    @echo off
    D:\spl\MDMDEV\bin\splenviron.cmd -e MDMDEV
    D:\spl\MDMDEV\bin\spl.cmd stop
    D:\spl\MDMDEV\bin\splenviron.cmd -e MDMDEV
    D:\spl\MDMDEV\bin\spl.cmd stop
    The batch exits in the first command and i can´t understand why.
    Another thing is if i use spl.cmd stop command it doesn´t do nothing, is this normal?
    Thanks in advanced for all replies.
    Best Regards.
    Nuno

    I had to put a call command in mine. I think it is because you are trying to run a .cmd file within your bat file. You're actually changing shells. Thats why you need the call.
    call d:\spl\mdmdev\bin\splenviron.cmd -e mdmdev
    call d:\spl\mdmdev\bin\spl.cmd start
    I actually set mine up to use variables so all I had to change from script to script was the environment...
    <snip>
    SET SPLENV=MDMDEV
    SET INSTALLDRIVE=D:
    SET INSTALLDIR=SPL
    SET BINDIR=%INSTALLDRIVE%\%INSTALLDIR%\%SPLENV%\bin
    %INSTALLDRIVE%
    cd %BINDIR%
    REM Set envornment
    call %BINDIR%\splenviron.cmd -e %SPLENV%
    REM Wait a few seconds for environment to setup
    ping localhost -n 5 > nul
    REM Start SPL Web
    call %BINDIR%\spl.cmd start
    </snip>
    I was unable to find a way to get this to run as a service. Have you?
    I'm currently running these scripts in the startup/shutdown script section of the local machine policy (gpedit.msc).

  • Oracle 9i Data Guard Manager

    Hi experts,
    Does Oracle 9i Data Guard Manager software comes with oracle Enterprise edition.
    Please tell from where to get this software
    Thanks

    hi,
    Yes it does. You can access it from the command line with the utility dgmgrl.
    rgds
    alan

  • Oracle data provider not appearing in MS Business Intelligence reporting

    Oracle Data provider does appear is VS 2005 server explorer but NOT as a data source in the reporting project type.
    This is in oracle ODAC beta 11
    Is this supported?

    I believe your developer encounters a hang when using the Microsoft reports wizard with MS OracleClient. I don't know why this is happening, but this issue would need to be resolved by Microsoft. They build both the reports wizard and MS OracleClient. They would need to identify what in their code is causing the problem. If they find out the underlying cause is a call they are making into Oracle, then Oracle will fix it.
    Oracle builds ODP.NET, which I haven't seen work with the reports wizard query builder. But I haven't fully investigated why. There may be additional configuration needed to wire these together.
    If you would like to discuss this in detail, you can email me at alex.keh [at] oracle.com

  • Oracle OLE DB provider truncates LONG field's data

    I am using Visual Basic 6, Oracle 8.1, and use ADO to connect to the Oracle database.
    I have a problem with OLE DB provider OraOLEDB.Oracle reading a LONG field (MEMO field in Access).
    When I tried to get the value of the LONG field, it truncates it to 100 characters.
    I do not have the problem using Microsoft Oracle OLE DB Provider MSDAORA.
    This is the Oracle table:
    CREATE TABLE tblA (
    tblA_KEY NUMBER(10) NOT NULL,
    tblA_MEMO LONG NULL
    This is the VB 6 code:
    Set rs = New ADODB.Recordset
    rs.Open ssql, adoConn, adOpenForwardOnly, adLockReadOnly
    sMemo = "" & rs.Fields("tblA_Memo") -->> sMemo contains only the first 100
    characters of tblA_Memo
    How can I fix this?
    Thank you.

    Thanks. I assume you are talking about 9.2 version of Oracle, right?
    While we are in the subject of LONG field. In Oracle 8.1, I can not do the following sql stt:
    select * from tblA where tblA_Memo like '%york%'
    It gives me the error "ORA-00932: inconsistent datatypes"
    Can I do this in Oracle 9.2 ?
    Thank you.

  • Unable to connect SQL Developer 4.0.2 to Oracle REST Data Services 2.0.7 (Apex Listener)

    Background
    1. Weblogic 10.3.6.0 running on Oracle Linux 6.5 with Oracle JRockit(R) (build R28.2.3-13-149708-1.6.0_31-20120327-1523-linux-x86_64, compiled mode)
    2. Oracle Apex 4.2.1
    3. Apex Listener 1.1.3
    4. Apex and Apex Listener running on the Weblogic box above
    5. SQL Developer 4.0.2 running on Windows 7 64 bit / Java 1.7.0_55
    Updated Apex to 4.2.5 via p17966818_425_Generic.zip patchset. Apex environment running fine as do all applications via Listener 1.1.3
    Updated Oracle Listener to the latest version of Oracle REST Data Services 2.0.7
    Current Status
    Apex Applications and RESTful services are running fine.
    Problem
    Unable to connect SQL Developer 4.0.2 to Oracle REST Data Services 2.0.7
    Error message in SQL Developer - Cannot connect to DEV. HTTP/1.1 403 Target service not allowed
    Additional Information
    Steps followed -
    1. The oracle users APEX_LISTENER and APEX_REST_PUBLIC_USER did not exist, so I ran apex_rest_config.sql from the APEX 2.4.1 patchset whilst connected sys as sysdba and provided the same password as APEX_PUBLIC_USER for both users.
    2. I also ran
    grant insert, delete on APEX_040200.wwv_flow_rt$privilege_groups to APEX_LISTENER;
    alter session set current_schema = APEX_LISTENER;
    create or replace synonym wwv_flow_rt$privilege_groups for APEX_040200.wwv_flow_rt$privilege_groups;
    as per Oracle SQL Developer User's Guide Release 4.0
    3. copied ords.war to apex.war
    4. java -jar apex.war configdir /u01/app/oracle/admin/apex/devdomain1/
    5. java -jar apex.war
    Jun 5, 2014 5:15:31 PM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
    INFO: Using configuration folder: /u01/app/oracle/admin/apex/devdomain1/apex
    Enter the name of the database server [localhost]:dbservername
    Enter the database listen port [1521]:
    Enter 1 to specify the database service name, or 2 to specify the database SID [1]:1
    Enter the database service name:dbservicename
    Enter the database user name [APEX_PUBLIC_USER]:
    Enter the database password for APEX_PUBLIC_USER:
    Confirm password:
    Enter 1 to enter passwords for the RESTful Services database users (APEX_LISTENER,APEX_REST_PUBLIC_USER), 2 to use the same password as used for APEX_PUBLIC_USER or, 3 to skip this step [1]:2
    Jun 5, 2014 5:16:52 PM oracle.dbtools.common.config.file.ConfigurationFiles update
    INFO: Updated configurations: defaults, apex, apex_al, apex_rt
    Enter 1 if you wish to start in standalone mode or 2 to exit [1]:2
    6. java -jar apex.war user adminlistener "Listener Administrator"
    Jun 5, 2014 5:18:52 PM oracle.dbtools.common.config.file.ConfigurationFolder logConfigFolder
    INFO: Using configuration folder: /u01/app/oracle/admin/apex/devdomain1/apex
    Enter a password for user adminlistener:
    Confirm password for user adminlistener:
    Jun 6, 2014 5:19:12 PM AM oracle.dbtools.standalone.ModifyUser execute
    INFO: Created user: adminlistener in file: /u01/app/oracle/admin/apex/devdomain1/apex/credentials
    7. Updated the defaults.xml file
    Added
    <entry key="apex.security.user.roles">RESTful Services</entry>
    <entry key="apex.security.developer.roles">OAuth2 Client Developer, SQL Developer</entry>
    as per Oracle SQL Developer User's Guide Release 4.0
    Changed
    <entry key="debug.printDebugToScreen">false</entry>
    to
    <entry key="debug.printDebugToScreen">true</entry>
    for RESTful debugging
    Added
    <entry key="security.verifySSL">false</entry>
    to use OAuth2 in Non HTTPS Environment as per Oracle® REST Data Services Installation and Configuration Guide, Release 2.0
    8. Deleted the Admin and Manager Roles within the apex application deployment which were part of the Apex Listener 1.1.3 install
    9. Deployed the apex.war in weblogic
    10. Stopped and started the weblogic server to which apex.war was deployed
    11. In SQL Developer, View, RESTful Services. In the RESTful services windows hit connect, Create a new connection,
    Connection Name DEV
    Username adminlistener
    selected http protocol
    Hostname weblogicservername
    Port 7250
    Server Path /apex
    Workspace (blank)
    On the Authentication dialog
    Username adminlistener
    Password passwordsuppliedabove in step 6
    Response is a dialog box titled Authentication Failed
    message - Cannot connect to DEV. HTTP/1.1 403 Target service not allowed
    NOTHING UNUSUAL IN ANY OF THE WEBLOGIC LOG FILES, EXCEPT THAT IT STATES
    'Oracle REST Data Services version : 2.0.6.27.18.06' when I've installed 2.0.7.
    Any help much appreciated

    Further to the above post, I thought I'd simplify my Apex Listener install just to see if I can connect to it via SQL Developer
    So downloaded the latest version 2.0.8 and decided to configure and run the Listener on my pc whilst still connecting to the same database.
    Operating system : Window 7 Pro 64 bit
    Oracle Apex Listener 2.0.8
    Java(TM) SE Runtime Environment (build 1.7.0_25-b17)
    Java HotSpot(TM) 64-Bit Server VM (build 23.25-b01, mixed mode)
    Went through the configuration as above, once started I tried again to access the listener via SQL Developer. This time I received this output from the listener:
    INFO: Error: ORA-02291: integrity constraint (APEX_040200.WWV_FLOW_RT$APPROVALS_SGID_FK) violated - parent key not found, occurred during execution of: [CALL, insert into wwv_flow_rt$approvals (user_name,status,client_id,security_group_id,created_by,created_on,updated_by,updated_on) values(/*in:user_id*/?,/*in:status*/?,/*in:client_id*/?,/*in:tenant_id*/?,upper(/*in:user_id*/?),/*in:created*/?,upper(/*in:user_id*/?),/*in:created*/?), [tenant_id, in, class java.math.BigInteger], [client_id, in, class java.math.BigInteger], [user_id, in, class java.lang.String], [status, in, class oracle.dbtools.rt.oauth.ApprovalRequest$Status], [created, in, class java.sql.Timestamp]]with values: [adminlistener, APPROVED, 3858401374580004, -1, adminlistener, 2014-06-23 12:19:18.785, adminlistener, 2014-06-23 12:19:18.785]
    SQL Developer responded with an Authentication Failed titled dialog with the following displayed in the body of the dialog
    Cannot connect to DEV.
    <!DOCTYPE html>
    <!--[if lt IE 7 ]> <html class="ie6"> <![endif]-->
    <!--[if IE 7 ]> <html class="ie7 no-css3"> <![endif]-->
    <!--[if IE 8 ]> <html class="ie8 no-css3"> <![endif]-->
    <!--[if IE 9 ]> <html class="ie9"> <![endif]-->
    <!--[if (gt IE 9)|!(IE)]><!-->
    <html>
    <!--<![endif]-->
    <html lang="en">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
    <style type="text/css" media="screen">html,body,div,span,h3,p,ol,ul,li,header,hgroup{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}header,hgroup{display:block}body{font:normal 12px/16px Arial,sans-serif;margin:0 auto;background:#6a9cda}header#xHeader{border-bottom:1px solid #8fa4c0;position:relative;z-index:10;background:none #000}header#xHeader hgroup{width:974px;margin:0 auto;position:relative;height:36px;background:none #000}header#xHeader a#uLogo{margin:8px 0;display:inline-block;font:bold 14px/20px Arial,sans-serif;color:#AAA;text-decoration:none}header#xHeader a#uLogo span.logo{color:#F00}.no-css3 div#xContentContainer div.xContent{padding-top:14px}.no-css3 div#xContentContainer div.xContent div.xMainLeft h2{margin-top:0}div#xWhiteContentContainer{margin-bottom:30px}div#xWhiteContentContainer.xContentWide{background:#FFF;margin-bottom:0}div#xWhiteContentContainer.xContentWide div.xWhiteContent{-moz-border-radius:0;-webkit-border-radius:0;border-radius:0;-moz-box-shadow:none;-webkit-box-shadow:none;box-shadow:none}div#xWhiteContentContainer div.xWhiteContent{width:974px;margin:0 auto;padding:0 0 20px 0;background:#FFF;min-height:500px;-moz-border-radius:0 4px 4px 4px;-webkit-border-radius:0 4px 4px 4px;border-radius:0 4px 4px 4px;-moz-box-shadow:0 1px 2px rgba(0,0,0,0.15);-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.15);box-shadow:0 1px 2px rgba(0,0,0,0.15)}div#xContentHeaderContainer{background:#6a9cda;-moz-box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset;-webkit-box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset;box-shadow:0 -1px 0 rgba(0,0,0,0.15) inset}div#xContentHeaderContainer div.xContentHeader{width:974px;margin:0 auto;padding:30px 0 32px 0;position:relative;min-height:60px}div#xContentHeaderContainer div.xContentHeader h3{font:bold 24px/24px Arial,sans-serif;color:#fff;text-shadow:0 2px 1px rgba(0,0,0,0.25);margin:0 0 20px 0}div#xFooterContainer{min-height:200px;border-top:1px solid rgba(0,0,0,0.15);background:#6a9cda}body.errorPage div#xContentHeaderContainer div.xContentHeader{min-height:30px}body.errorPage div#xContentHeaderContainer div.xContentHeader h3{font:bold 30px/30px Arial,sans-serif;color:#FFF;text-shadow:0 1px 2px rgba(0,0,0,0.25);margin:0}div.errorPage p{font:normal 14px/20px Arial,sans-seri;color:#666;padding:0 0 10px 0}div.errorPage ul{list-style:disc outside;padding:0 10px 0;margin:0 0 20px 0}div.errorPage ul li{font:normal 12px/16px Arial,sans-serif;color:#666;margin:0 0 8px 10px}pre{font-family:Consolas,"Lucida Console","Courier New",Courier,monospace}
    </style>
    <script type="text/javascript" charset="utf-8">
      'header hgroup'.replace(/\w+/g,
      function(n) {
      document.createElement(n)
    </script>
    <title>Internal Server Error</title>
    </head>
    <body class="errorPage">
      <header id="xHeader">
      <hgroup>
      <a id="uLogo" href="./"><span class="logo">ORACLE</span>
      REST DATA SERVICES</a>
      </hgroup>
      </header>
      <div id="xContentHeaderContainer">
      <div class="xContentHeader">
      <h3>
      <span class="statusCode">500</span> - <span
      class="statusMessage">Internal Server Error</span>
      </h3>
      </div>
      </div>
      <div id="xWhiteContentContainer" class="xContentWide">
      <div class="xWhiteContent">
      <div class="errorPage">
      <p>
      <ul class="reasons">
      </ul>
      </p>
      <p>
      <pre>Request Path passes syntax validation
    Mapping request to database pool: PoolMap [_failed=false, _lastUpdate=-1, _pattern=null, _poolName=apex, _regex=null, _type=REGEX, _workspaceIdentifier=null, _serviceName=null]
    Applied database connection info
    Attempting to process with PL&#x2F;SQL Gateway
    Not processed as PL&#x2F;SQL Gateway request
    Attempting to process as a RESTful Service
    Choosing: oracle.dbtools.rt.oauth.TokenHandler as current candidate with score: Score [handle=null, score=0, scope=SecurityConfig [constraint=secure, realm=OAUTH_CLIENT, logonConfig=NONE], originsAllowed=[], corsEnabled=true]
    Determining if request can be dispatched as a Tenanted RESTful Service
    Request path has one path segment, continuing processing
    No Tenant Principal established yet, continuing processing
    APEX_LISTENER pool exists, continuing processing
    No matching tenant found for: oauth2, cannot dispatch
    Chose oracle.dbtools.rt.oauth.TokenHandler as the final candidate with score: Score [handle=null, score=0, scope=SecurityConfig [constraint=secure, realm=OAUTH_CLIENT, logonConfig=NONE], originsAllowed=[], corsEnabled=true] for: POST oauth2&#x2F;token
    oauth2&#x2F;token authorized as: p6xycV-2QceFnFHkWyJlnA..
    </pre>
      </p>
      <p>
      <pre>WebException [statusCode=500]
      at oracle.dbtools.rt.web.WebException.webException(WebException.java:343)
      at oracle.dbtools.rt.web.WebException.internalError(WebException.java:262)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApproval(JDBCOAuthDataAccess.java:514)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApprovedRequest(JDBCOAuthDataAccess.java:181)
      at oracle.dbtools.rt.oauth.OAuthAuthorization.resourceOwnerCredentials(OAuthAuthorization.java:654)
      at oracle.dbtools.rt.oauth.OAuthAuthorization.tokenRequest(OAuthAuthorization.java:273)
      at oracle.dbtools.rt.oauth.TokenHandler.post(TokenHandler.java:44)
      at oracle.dbtools.rt.web.RequestHandler.response(RequestHandler.java:268)
      at oracle.dbtools.rt.web.RequestHandler.dispatch(RequestHandler.java:361)
      at oracle.dbtools.rt.web.RequestHandler.dispatch(RequestHandler.java:85)
      at oracle.dbtools.rt.web.RequestDispatchers.dispatch(RequestDispatchers.java:93)
      at oracle.dbtools.rt.web.ETags.checkPrecondition(ETags.java:93)
      at oracle.dbtools.rt.web.HttpEndpointBase.restfulServices(HttpEndpointBase.java:426)
      at oracle.dbtools.rt.web.HttpEndpointBase.service(HttpEndpointBase.java:164)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
      at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.doFilter(ServletAdapter.java:1059)
      at com.sun.grizzly.http.servlet.ServletAdapter$FilterChainImpl.invokeFilterChain(ServletAdapter.java:999)
      at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:434)
      at oracle.dbtools.standalone.SecureServletAdapter.doService(SecureServletAdapter.java:91)
      at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:379)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapterChain.service(GrizzlyAdapterChain.java:196)
      at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:179)
      at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:849)
      at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:746)
      at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1045)
      at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:228)
      at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
      at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
      at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
      at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
      at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
      at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
      at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
      at java.lang.Thread.run(Unknown Source)
    Caused by: java.sql.SQLIntegrityConstraintViolationException: ORA-02291: integrity constraint (APEX_040200.WWV_FLOW_RT$APPROVALS_SGID_FK) violated - parent key not found
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:447)
      at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396)
      at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:879)
      at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:505)
      at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:223)
      at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:531)
      at oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:208)
      at oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1046)
      at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1336)
      at oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3612)
      at oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:3713)
      at oracle.jdbc.driver.OraclePreparedStatementWrapper.execute(OraclePreparedStatementWrapper.java:1378)
      at sun.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
      at java.lang.reflect.Method.invoke(Unknown Source)
      at oracle.ucp.jdbc.proxy.StatementProxyFactory.invoke(StatementProxyFactory.java:230)
      at oracle.ucp.jdbc.proxy.PreparedStatementProxyFactory.invoke(PreparedStatementProxyFactory.java:124)
      at com.sun.proxy.$Proxy44.execute(Unknown Source)
      at oracle.dbtools.common.jdbc.JDBCInsert.execute(JDBCInsert.java:58)
      at oracle.dbtools.rt.oauth.jdbc.JDBCOAuthDataAccess.createApproval(JDBCOAuthDataAccess.java:487)
      ... 34 more
    </pre>
      </p>
      </div>
      </div>
      </div>
      <div id="xFooterContainer">
      </div>
    </body>
    </html>
    I am assuming this must be part of the problem I am seeing this the Weblogic deployment in my original post.
    Does anyone have any suggestions on how best to tackle this?
    Regards,
    Derek

  • Data provider internal error(-3000)  during DataAdapter.Fill

    I get this error sporadically.
    From other messages on this forum, it seems others are having similar problems. It appears the Oracle staff
    is still struggling to identify and fix (or did I miss a post?)
    I hope the next release can include some more informative diagnostic error messages. (no judgment implied, just a suggestion).
    But I need this to work, so I'm posting my
    info as well in hopes it will help.
    Sorry for the length, but I think all the detail may be needed to diagnose.
    I have been using ODP.Net for weeks without trouble
    until recently. I just added a CLOB field to my table yesterday, and
    the problem started. I don't know whether that's cause or coincidence.
    Possible workarounds I will try:
    1) Explicit select of columns rather than select *
    2) Retry once on failure after short delay
    Below, I'm including the exception message from the ASP.Net page.
    It occurs at the same spot in my code, but often
    it works fine. Now, an hour later, I cannot repeat the problem.
    I've edited the "Source Error" section to
    provide more of the code, so you can see the full context.
    I've also pasted the stored procedure called so you can see what that is about.
    I need this to work, so feel free to contact me if you need further information
    to diagnose this in order to fix it.
    I go live on March 7, so if I don't get a fix soon and can't find
    a workaround, I'll just make a lame error message like "Site is very busy, please try again".
    Even though the site is NOT busy. But having them try again seems to work.
    And I don't want to tell them why I'm asking them to try again <grin>.
    I am thinking of putting a try/catch block and sleeping for a second and then trying one more
    time in my code. I'll let you know if that is an effective work-around.
    David Kreth Allen
    University of Minnesota
    Carlson School of Management
    [email protected] remove XYZ to send emails
    612-625-0386
    <WebPageError>
    Server Error in '/ScholarshipApplicationWeb' Application.
    Data provider internal error(-3000)
    Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
    Exception Details: Oracle.DataAccess.Client.OracleException: Data provider internal error(-3000)
    Source Error:
         OracleCommand cmd = new OracleCommand();
         cmd.Connection = new OracleConnection(
              ApplicationEnvironment.current.database.OracleConnectionString);
         cmd.CommandType = CommandType.StoredProcedure;
         cmd.CommandText = "pkg_batch.get_details";
         cmd.Parameters.Add("batch_id",OracleDbType.Int32,
              batchId,ParameterDirection.Input);
         cmd.Parameters.Add("batchCursor",OracleDbType.RefCursor,
              DBNull.Value,ParameterDirection.Output);
         cmd.Parameters.Add("majorsCursor",OracleDbType.RefCursor,
              DBNull.Value,ParameterDirection.Output);
         cmd.Parameters.Add("detailCursor",OracleDbType.RefCursor,
              DBNull.Value,ParameterDirection.Output);
         OracleDataAdapter da = new OracleDataAdapter(cmd);
         DataSet ds = new DataSet("batches");
         da.Fill(ds);
         DataTable dt = ds.Tables[0];
         dt.TableName = "batch";
    Source File: C:\Projects\ScholarshipSolution\ScholarshipLibrary\Data\ScholarshipApplicationBatch.cs Line: 329
    Stack Trace:
    [OracleException: Data provider internal error(-3000)]
    Oracle.DataAccess.Client.OracleException.HandleErrorHelper(Int32 errCode, OracleConnection conn, IntPtr opsErrCtx, IntPtr opsSqlCtx, Object src, String procedure, String[] args)
    Oracle.DataAccess.Client.OracleDataReader.NextResult() +1259
    System.Data.Common.DbDataAdapter.FillNextResult(IDataReader dataReader) +98
    System.Data.Common.DbDataAdapter.FillFromReader(Object data, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords, DataColumn parentChapterColumn, Object parentChapterValue) +261
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +129
    Oracle.DataAccess.Client.OracleDataAdapter.Fill(DataSet dataSet, String srcTable, IDataReader dataReader, Int32 startRecord, Int32 maxRecords) +516
    Oracle.DataAccess.Client.OracleDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +290
    System.Data.Common.DbDataAdapter.Fill(DataSet dataSet) +38
    CSOM.ScholarshipLibrary.Data.ScholarshipApplicationBatch.getDataById(Int32 batchId) in C:\Projects\ScholarshipSolution\ScholarshipLibrary\Data\ScholarshipApplicationBatch.cs:329
    CSOM.ScholarshipLibrary.Data.ScholarshipApplicationBatch.GetById(Int32 batchId) in C:\Projects\ScholarshipSolution\ScholarshipLibrary\Data\ScholarshipApplicationBatch.cs:290
    CSOM.ScholarshipApplicationWeb.BatchSummaryControl.Edit_Click(Object sender, CommandEventArgs e) in c:\inetpub\wwwroot\ScholarshipApplicationWeb\BatchSummaryControl.cs:68
    System.Web.UI.WebControls.LinkButton.OnCommand(CommandEventArgs e) +110
    System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +115
    System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +18
    System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +138
    System.Web.UI.Page.ProcessRequestMain() +1244
    Version Information: Microsoft .NET Framework Version:1.0.3705.288; ASP.NET Version:1.0.3705.288
    </WebPageError>
    <PackageBody>
    PROCEDURE GET_DETAILS(
    p_batch_id IN number,
    batchCursor OUT pkg_batch.refcur,
    majorsCursor OUT pkg_batch.refcur,
    applicationsCursor OUT pkg_batch.refcur
    IS
    BEGIN
    OPEN batchCursor FOR SELECT
    * FROM scholarshipApplicationBatch
    where scholarshipApplicationBatch_id = p_batch_id;
    OPEN majorsCursor FOR SELECT
    * FROM major_response
    where batch_id = p_batch_id;
    OPEN applicationsCursor FOR SELECT
    * FROM schol_detail
    where batch_id = p_batch_id;
    END GET_DETAILS;
    </PackageBody>

    One workaround that seems to work is to retry in a loop.
    Sample code is pasted below.
    Obviously it may still fail, but less often.
    I'll report any further changes that affect
    the behavior in hopes it will assist the Oracle staff in
    fixing it.
    <CODE>
    try
    da.Fill(ds);
    catch (OracleException excp)
         const int maxTrys = 5;
         int failureCount = 1;
         bool succeeded = false;
         for (int i = 0;i<maxTrys;i++)
              try
                   System.Threading.Thread.Sleep(
                        TimeSpan.FromSeconds(1));
                   ds.Clear();
                   da.Fill(ds);
                   i = maxTrys;
                   succeeded = true;
              }//try
              catch
                   failureCount ++;
         }//for
         errorHandler.Report(
              String.Format(
              "Failure in da.Fill in ScholAppBatch. " +
              " Failed {0} times. Finally Succeeded = {1}.",
                                            failureCount.ToString(),
         succeeded.ToString()),
              excp);
    }//catch
    </CODE>

Maybe you are looking for