JDBC Thin and OPS

Looking to see if anyone has attempted jdbc thin connections to a multi node OPS. Specifically, is there a way to automate failover of the connections when the OPS switches primary nodes?

I also have the same problem.It is possible jdbc thin connections to a multi node OPS?And how if possible?
Thankx advance!

Similar Messages

  • JDBC thin and thick clients

    What is the difference between JDBC thin and JDBC thick clients and their usage ?

    hi,
    in sort tearms,
    Oracle has a thin client driver which mean you can connect to a oracle database without the Oracle client installed on your machine.
    Thick client would need the Oracle Client database drivers etc.. Drivers include JDBC-ODBC bridge drivers JDBC drivers depending on tns resolution.
    thanks

  • Differences between Oracle JDBC Thin and Thick Drivers

    If any body is looking for this information...
    ============================================================
    I have a question concerning the Oracle JDBC thin vs. thick drivers
    and how they might affect operations from an application perspective.
    We're in a Solais 8/Oracle 8.1.7.2 environment. We have several
    applications on several servers connecting to the Oracle database.
    For redundancy, we're looking into setting up TAF (transparent
    application failover). Currently, some of our apps use the Oracle
    <B>JDBC thin</B> drivers to talk to the database, with a connection
    string that like this:
    <B> jdbc:oracle:thin:@host:port:ORACLE_SID </B>
    In a disaster recovery mode, where we would switch the database
    from one server to another, the host name in the above string
    would become invalid. That means we have to shut down our application
    servers and restart them with an updated string.
    Using the Oracle <B>OCI (thick)</B> driver though, allows us to connect
    to a Net8 service instead of a specific server:
    <B> jdbc:oracle:oci8:@NET8_SERVICE_NAME </B>
    Coupled with the FAILOVER=ON option configured in Net8, it is
    then possible to direct a connection from the first server to
    the failover database on another server. This is exactly what
    we would like to do.
    My question is, from an application perspective, how is the Oracle
    thick driver different from the thin driver? If everything
    else is "equal" (i.e. the thick driver is compatible with the
    app servers) would there be something within the the thick/OCI
    driver that could limit functionality vs. the thin driver?
    My understand, which obviously is sketchy, is that the thick
    driver is a superset of the thin driver. If this is the case,
    and for example if all database connections were handled through
    a configuration file with the above OCI connection string, then
    theoretically the thick driver should work.
    ============================================================
    <B>
    In the case with the Oracle, they provide a thin driver that is a 100% Java driver for client-side use without the need of an Oracle installation (maybe that's why we need to input server name and port number of the database server). This is platform indipendent, and has good performance and some features.
    The OCI driver on the other hand is not java, require Oracle installation, platform dependent, performance is faster, and has a complete list of all the features.
    </B>
    ========================================================
    I hope this is what you expect.
    JDBC OCI client-side driver: This is a JDBC Type 2 driver that uses Java native methods to call entrypoints in an underlying C library. That C library, called OCI (Oracle Call Interface), interacts with an Oracle database. <B>The JDBC OCI driver requires an Oracle (7.3.4 or above) client installation (including SQL*Net v2.3 or above) and all other dependent files.</B> The use of native methods makes the JDBC OCI driver platform specific. Oracle supports Solaris, Windows, and many other platforms. This means that the Oracle JDBC OCI driver is not appropriate for Java applets, because it depends on a C library to be preinstalled.
    JDBC Thin client-side driver: This is a JDBC Type 4 driver that uses Java to connect directly to Oracle. It emulates Oracle's SQL*Net Net8 and TTC adapters using its own TCP/IP based Java socket implementation. <B>The JDBC Thin driver does not require Oracle client software to be installed, but does require the server to be configured with a TCP/IP listener. Because it is written entirely in Java, this driver is platform-independent.</B> The JDBC Thin driver can be downloaded into any browser as part of a Java application. (Note that if running in a client browser, that browser must allow the applet to open a Java socket connection back to the server.
    JDBC Thin server-side driver: This is another JDBC Type 4 driver that uses Java to connect directly to Oracle. This driver is used internally by the JServer within the Oracle server. This driver offers the same functionality as the client-side JDBC Thin driver (above), but runs inside an Oracle database and is used to access remote databases. Because it is written entirely in Java, this driver is platform-independent. There is no difference in your code between using the Thin driver from a client application or from inside a server.
    ======================================================
    How does one connect with the JDBC Thin Driver?
    The the JDBC thin driver provides the only way to access Oracle from the Web (applets). It is smaller and faster than the OCI drivers, and doesn't require a pre-installed version of the JDBC drivers.
    import java.sql.*;
    class dbAccess {
    public static void main (String args []) throws SQLException
    DriverManager.registerDriver (new oracle.jdbc.driver.OracleDriver());
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:thin:@qit-uq-cbiw:1526:orcl", "scott", "tiger");
    // @machineName:port:SID, userid, password
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
    while (rset.next())
    System.out.println (rset.getString(1)); // Print col 1
    stmt.close();
    How does one connect with the JDBC OCI Driver?
    One must have Net8 (SQL*Net) installed and working before attempting to use one of the OCI drivers.
    import java.sql.*;
    class dbAccess {
    public static void main (String args []) throws SQLException
    try {
    Class.forName ("oracle.jdbc.driver.OracleDriver");
    } catch (ClassNotFoundException e) {
    e.printStackTrace();
    Connection conn = DriverManager.getConnection
    ("jdbc:oracle:oci8:@qit-uq-cbiw_orcl", "scott", "tiger");
    // or oci7 @TNSNames_Entry, userid, password
    Statement stmt = conn.createStatement();
    ResultSet rset = stmt.executeQuery("select BANNER from SYS.V_$VERSION");
    while (rset.next())
    System.out.println (rset.getString(1)); // Print col 1
    stmt.close();
    =================================================================

    Wow, not sure what your question was, but there sure was a lot of information there...
    There really is only one case where failover occurs, and it would not normally be in a disaster recovery situation, where you define disaster recovery as the obliteration of your current server farm, network and concievably the operational support staff. This would require a rebuild of your server, network etc and isn't something done with software.
    Fail over is normally used for high availablity that would take over in case of hardware server failure, or when your support staff wants to do maintenance on the primary server.
    Using the thin and thick driver should have ZERO affect on a failover. Transparent failover will make the secondary server the same IP as the primary, therefore the hostname will still point to the appropriate server. If you are doing this wrong, then you will have to point all your applications to a new IP address. This should be something that you tell your management is UNACCEPTABLE in a fail-over situation, since it is almost sure to fail to fail-over.
    You point out that you are providing the TNSNAME, rather than the HOSTNAME when using the thick driver. That's true within your application, but that name is resolved to either a HOSTNAME, or IP ADDRESS before it is sent to the appropriate Oracle server/instance. It is resolved using either a NAME server (same as DNS server but for Oracle), or by looking at a TNSNAMES file. Since the TNSNAMES files profilerate like rabbits within an organization you don't want a fail over that will make you find and switch all the entries, so you must come up with a fail over that does not require it.
    So, the application should not be concerned with either the hostname, or the IP address changing during fail over. That makes use of the thin or thick client acceptable for fail over.
    Don't know if this will help, but this shows the communication points.
    THIN DRIVER
    client --> dns --> server/port --> SID
    THICK DRIVER
    client --> names server --> dns --> server/port --> SID
    client --> tnsnames     --> dns --> server/port --> SID

  • JDBC Thin and Oracle 7.3.4

    Hi again.
    Thanks for your previous answer concerning
    the connection between JDeveloper and OAS to the Oracle 7.3.4 database.
    I am now trying to establish a connection with the database from JDeveloper using the JDBC Thin Driver. I pinged the database from a DOS window and all went OK. I haven't installed SQL*Net, because as I understood that wouldn't be necessary, or?
    When I try to create a new connection in JDeveloper to the database and test it, i get this reply in a little window:
    Connection Refused(DESCRIPTION=(TMP=)(VSNNUM=36716544)(ERR=12505)(ERROR_STACK=(ERROR=(CODE=12505)(EMFI=4))))
    I've entered the correct IP in the host name and the port is the default 1521 with SID=ORCL. I also entered a username and password that are valid.
    These errorcodes don't say anything to me, maybe you understand them, or maybe it's a simple error...
    Hope you can help me,
    Thanks in advance,
    /Janne ([email protected])

    Ignore this message, I found out for myself.
    The database didn't use the default SID... ;)
    null

  • Bug 585844 JDBC Thin and Char Fields

    I would like to see this bug fixed because the workaround that I
    have been using for the past two years is a cluge. I could buy
    the reasoning listed in the bug database at to why why this bug
    exists, and why it hasn't been fixed, except that it doesn't
    exist in the OCI driver. Please make the drivers consistant.
    The JDBC API does not provide a way to differentiate
    CHARS from VARCHAR2. When setString is used we have chosen to map
    it
    to a VARCHAR2, and as a consequence the blank-padded and
    non-padded
    comparison semantics for CHARs don't work.
    Since this is an API restriction, we can't easily fix it. What
    can be
    done to fix it, is to add an Oracle Extension like
    setChar(1,"one")
    in which case JDBC will know that this type is s CHAR instead of
    a VARCHAR2
    and the comparison semantics will work. I believe that since this
    a JDBC
    restriction, it should be treated as an enhancement request.
    null

    The OCI would hanlde this sort of thing for you (translating the
    char types) which is probably why it works in that driver. The
    thin driver is just using java sockets to transport SQL and there
    is no underlying client layer support.
    null

  • JDBC Thin vs Thick Driver

    Hello,
    We are looking for differences between Oracle JDBC Thin and OCI (thick) driver with respect to
    1. Peformance of the Java application.
    2. Maintenance and administration
    3. Known issues with OCI (thick) driver which is handled by Thin or vice versa.
    4. Better security
    Appreciate any help on the above.
    Thanks and Regards,
    Vamsi Mohan Harish

    1. Performance of the Java application.
    The difference in driver implementation is likely to be trivial compared to other considerations (network round trip time, application design, etc). However if you are really interested then chapter 19 of 'Java Programming with Oracle JDBC' by Donald Bales (O'Reilly) has some good information on this topic. It also happens to be available online: http://www.onjava.com/pub/a/onjava/excerpt/oraclejdbc_19/index.html
    Keep in mind that it is a little out of date now - you should run tests using the current versions of the drivers.
    2. Maintenance and administration
    The JDBC Thin driver is typically easier to update/distribute, as installation consists of copying a .jar file or two. The only case where OCI has an advantage is in the use of Oracle's naming layer for database service abstraction. Of course this assumes the database server is listening for TCP/IP and not the legacy protocols that are only supported by OCI. Failover configurations using TAF are supported by OCI only. The newer 'Fast Connection Failover' feature of 10g RAC can also run over Thin though.
    3. Known issues with OCI (thick) driver which is handled by Thin or vice versa.
    In my experience each has a roughly equal number of bugs. I find it easier to track them down in the Thin driver though :-)
    4. Better security
    The security options for the Thin driver are more limited with regard to external authentication and support for some of the Oracle Advanced Security features. However, both support the basics like encrypted connections. Chapter 23 of the JDBC driver docs goes into more depth: http://download-west.oracle.com/docs/cd/B14117_01/java.101/b10979/toc.htm
    Hope this helps.
    Jonathan.

  • JDBC Thin connection

    When use Jdev30 to connect to Oracle803 server, I got error message "End of TNS Data Channel".
    I select Oracle JDBC Thin and Named Host in the Connection Wizard.
    Please help me.

    Sorry, forgot to add that you should probably check the Oracle 8i JDBC User's Guide and reference for more information. The JDBC Technologies page on OTN may also have some additional information.
    The JDBC doc includes some sample code for testing your connection through JDBC code rather than through Jdeveloper. That is your best first line of defense.
    Laura

  • Does oracle 8.1.6.0 jdbc thin driver support jdk1.3 and oracle 8.0.5 database ?

    I have downloaded oracle 8.1.6.0 jdbc thin driver(named classes12.zip) to run with jdk1.3 to access oracle 8.0.5, but when I compile and run the jdbccheckup.java downloaded from oracle website like this:
    javac -classpath d:\jdbc\classes12.zip jdbccheckup.java
    (compile succeed)
    java -classpath d:\jdbc\classes12.zip jdbccheckup
    an error occured:
    Exception in thread "main" java.lang.NoClassDefFoundError:jdbccheckup
    Why??????

    Try this isntead.
    java -classpath d:\jdbc\classes12.zip;. jdbccheckup
    an error occured:
    Exception in thread "main" java.lang.NoClassDefFoundError:jdbccheckup
    Why??????

  • Oracle JDBC Thin Driver and Firewall Problem

    Hi!
    We have Oracle 8.1.5 and Websphere App Server. There is a
    firewall between the two. A servlet creates a connection pool
    (not that of Wesphere's). The frontend is JSP/HTML (no applets).
    The servlet uses the Oracle JDBC Thin Driver for DB Connections.
    The problem is - Once the connection is freed, the connection
    pool is not being able to retrieve it and hence it created
    another one, thus reaching the max. # of connections and the
    system hangs. Restarting the DB service flushes the connection
    and the application starts running again...
    There was a similar problem discussed in this forums long ago. I
    have not yet tried mentioning the firwall port and IP in the
    connection string. But apart from that, is there any other
    setting I need to do (on firewall or for the connectionstring)
    to deal with this problem?
    Someone had suggested to punch a hole in the firewall for the DB
    port - but we can not really do that in the current scenario...
    I would appreciate if anyone could share their experience
    regarding how they resolved this issue.
    Thanks in advance,
    Vijaya.

    One more question -
    Can we use Oracle JDBC OCI driver? We do not have any appletes...
    Does it have firewall issues too? Is there any other driver that
    we can use?
    Thanks,
    Vijaya.

  • JDBC Thin driver and Oracle names server

    Hi
    Any managed to get the Thin driver to user the Names Server aliases, ie I want to connect to service xxx like
    jdbc:oracle:thin:@xxxx and not specify instance and port as the DB is running in a multiple machine cluster and can be switched to a different machine...
    With OCI driver I have managed on NT but having problem with OCI/Linux and Beta 10g...
    Tks
    Andre

    I don't have much experience with OCI from JDBC, but should work like any other kind of connection via SQL*Net. I.e. I would check if connection can be made using SQLPlus, check environment variables (ORACLE_HOME etc.) of 9iAS instance, check version of JDBC classes and their readme.txt. There are also some settings in sqlnet.ora file which might affect this (like default domain - try to use full name of alias - OCRL.WORLD or whatever alias you have there). You may also want to switch tracing for SQLNet and/or listener on (it's not easy to find in doc how to do it, though) to check if there is at least some traffic between klient and server...
    Myrra

  • JDBC Thin-Driver and Oracle Stored Procedure

    I've got a Oracle stored procedure which returns a Oracle record.
    How can I retrieve the record in java using the JDBC Thin-Driver ?
    Record:
    TYPE messagerec IS RECORD
    (log_level VARCHAR(2), timestamp VARCHAR2(19), text VARCHAR2(200));

    Using PL/SQL BOOLEAN, RECORD Types, and TABLE Types:
    Oracle SQLJ and JDBC do not support calling arguments or return values of the
    PL/SQL BOOLEAN type or RECORD types. Also, when using the Thin driver, they
    do not support calling arguments or return values of PL/SQL TABLE types (known
    as indexed-by tables). TABLE types are supported for the OCI driver.
    Check the following guide,
    http://otn.oracle.com/tech/java/sqlj_jdbc/pdf/a96655.pdf

  • JDBC thin driver and Oracle 8.1.6

    Hi,
    I have installed Oracle 8.1.6 on Windows NT 4.0 with service pack 4 and using Oracle JDBC thin driver driver (classes111.zip). My application is multithreaded, but each thread maintains its own connection (and own set of Statements). Things are okay in single threaded mode, but in multi threaded mode, I get weird errors!
    1. My resultsets are SCROLL_SENTITIVE and UPDATABLE
    2. Sometimes, while updating a row, "No current row" SQLException is thrown, although a row exists that satisfies my select criteria
    3. I am also calling executeUpdate() for inserting new rows and such rows are not seen by successive resultsets!
    Appreciate any hints! Thanks!

    Try this isntead.
    java -classpath d:\jdbc\classes12.zip;. jdbccheckup
    an error occured:
    Exception in thread "main" java.lang.NoClassDefFoundError:jdbccheckup
    Why??????

  • JDBC Thin Connections with SSL and client certificates

    Hi ,
    we are going have a look at JDBC Thin Connections with SSL and client certificates.
    I have two questions:
    1. Is it possible to use SSL connections from JDBC Thin Driver and which release of the driver introduced it
    2. Is it possible to use client certificates with JDBC Thin Driver and which release of the driver introduced it
    Thanks for your help
    regards
    Markus Reichert

    I could not reproduce the error after appending the SSL certificate to the certdb.txt file available under $Jinitiator_Home/lib/security folder.
    Steps to add the SSL Certificate:
    1. Run the form with the https mode in the IE Browser.
    2. Security Alert is raised.
    3. Click on the View Certificate button.
    4. In the Certificate Window, click on the Details tab.
    5. Click on the Copy to File button to copy the certificate.
    6. Copy the certificate and append to the certdb.txt file.

  • JDBC Thin Driver Support for Data Encryption and Integrity

    Hello JDev Team,
    I am trying to implement JDBC Thin Driver Support for Data Encryption and Integrity.
    It works fine with java.sql.Connection and java.util.Properties like in the following code:
    DriverManager.registerDriver(new oracle.jdbc.driver.OracleDriver());
    Properties props = new Properties();
    int level = AnoServices.REQUIRED;
    props.put("oracle.net.encryption_client", Service.getLevelString(level));
    props.put("oracle.net.encryption_types_client", "( RC4_40 )");
    props.put("oracle.net.crypto_checksum_client",Service.getLevelString(level));
    props.put("oracle.net.crypto_checksum_types_client", "( MD5 )");
    Connection conn = DriverManager.getConnection ("jdbc:oracle:thin:@localhost:1521:main", props);
    etc...
    But I am developing an application with InfoSwing components and it has a different way to connect to Oracle database using oracle.dacf.dataset.connections.Connection, like this:
    sessionInfo1.setAppModuleInfo(new ModuleInfo("bc", "BcModule"));
    sessionInfo1.setConnectionInfo(new LocalConnection("JDBCThin"));
    sessionInfo1.publishSession();
    My question is:
    Is there any way to implement DataEncryption and Integrity into this type of connection?
    Thanks a lot in advance.
    Victor Bykov
    null

    Victor,
    No, you can't do this from DAC, but I've been discussing it with the developer, and we both think this capability would be useful to have, so I've logged it as an enhancement request.
    I do have a question for you. Once you've made the JDBC connection, do you need access to the Connection object afterwards? We're thinking of how the change could be implemented, and one way would be to allow you to pass in a Properties object when creating your own NamedConnection.
    Thanks
    Blaise

  • Jdbc thin driver and bulk binding slow insertion performance

    Hello All,
    We have a third party application reporting slow insertion performance, while I traced the session and found out most of elapsed time for one insert execution is sql*net more data from client, it appears bulk binding is being used here because one execution has 200 rows inserted. I am wondering whether this has something to do with their jdbc thin driver(10.1.0.2 version) and our database version 9205. Do you have any similar experience on this, what other possible directions should I explore?
    here is the trace report from 10046 event, I hide table name for privacy reason.
    Besides, I tested bulk binding in PL/SQL to insert 200 rows in one execution, no problem at all. Network folks confirm that network should not be an issue as well, ping time from app server to db server is sub milisecond and they are in the same data center.
    INSERT INTO ...
    values
    (:1, :2, :3, :4, :5, :6, :7, :8, :9, :10, :11, :12, :13, :14, :15, :16, :17,
    :18, :19, :20, :21, :22, :23, :24, :25, :26, :27, :28, :29, :30, :31, :32,
    :33, :34, :35, :36, :37, :38, :39, :40, :41, :42, :43, :44, :45)
    call count cpu elapsed disk query current rows
    Parse 1 0.00 0.00 0 0 0 0
    Execute 1 0.02 14.29 1 94 2565 200
    Fetch 0 0.00 0.00 0 0 0 0
    total 2 0.02 14.29 1 94 2565 200
    Misses in library cache during parse: 1
    Optimizer goal: CHOOSE
    Parsing user id: 25
    Elapsed times include waiting on following events:
    Event waited on Times Max. Wait Total Waited
    ---------------------------------------- Waited ---------- ------------
    SQL*Net more data from client 28 6.38 14.19
    db file sequential read 1 0.02 0.02
    SQL*Net message to client 1 0.00 0.00
    SQL*Net message from client 1 0.00 0.00
    ********************************************************************************

    I have exactly the same problem, I tried to find out what is going on, changed several JDBC Drivers on AIX, but no hope, I also have ran the process on my laptop which produced a better and faster performance.
    Therefore I made a special solution ( not practical) by creating flat files and defining the data as an external table, the oracle will read the data in those files as they were data inside a table, this gave me very fast insertion into the database, but still I am looking for an answer for your question here. Using Oracle on AIX machine is a normal business process followed by a lot of companies and there must be a solution for this.

Maybe you are looking for

  • Why wont my ipod 4generation let me download any podcasts

    Please can someone help i have been looking every were for answer on how to why wont my ipod 4generation let me download any podcasts so plz can some one help me

  • HT4886 When I go to download the server app am I going to have to pay for it?

    I just purchased 3 MacMini Servers, I am going to make the volumes RAID, with that I need to reinstall, and go out and download the Server App.  Am I going to be required to pay for it, or will it somehow recognise that the computer came with the Ser

  • Security at Teched 2011

    Coming back from TechEd Madrid where I had presented about System Recommendations for Security Notes and Security Configuration Validation using the SAP Solution Manager like to point out the most important links of these topics:  SAP Active Global S

  • Application List

    After seeing how well the QTINFO program was able to tell me all about the QT on my phone, I would like to find a program to do the following: Create a list of *everything* on my phone (especially applications) complete with version number and date.

  • ICal time zone sync issue btwn macbook & iPhone

    I've moved time zones and iCal insists on changing events to have a 3 hour difference! I'm trying to sync between my macbook (from 2008) and iphone (3G), to have the same timed events. Please help!