Details on TAF support in Oracle AS 10g

Hi experts,
I'm currently writing a Master's Thesis on High Availability of Applications based on Sun’s JEE platform.
With Oracle being one of the big players in this market I'm going to investigate the features of the Oracle product stack and compare it with other solutions including opensource.
At the moment I'm looking for details on TAF-support in Oracle AS 10g. Let’s assume one has installed the latest release of the Oracle 10g database in a RAC configuration on two or more physical nodes to store the applications data. Let’s further assume one has set up the latest release of the Oracle AS 10g on different hosts building an AS farm with clustered OC4J-instances. Now one would like to connect a JEE application running within these OC4J-instances to the RAC database.
Therefore one can configure an OC4J datasource to use a service definition supporting network failover and transparent application failover (TAF) specified in the tnsnames.ora on the AS hosts or directly describe the service in the data-sources.xml. To my knowledge only datasources configured to use the OCI client can be used with TAF. Everything right so far?
Now the interesting part. The best what TAF can do is automatically reconnect to the next known database node if it’s current node is not reachable or fails, and continue processing an open cursor for select so that the application can continue to use it’s current connection.
If the application is running a database transaction it can only be rolled back and rerun after failover.
In a good old plain Java application one had to implement the OracleOCIFailover interface and register a callback with the db connection in order to receive failover events. Therefore you need to process the query in a different thread.
In a JEE server only the container should be responsible for creating threads, or? How does the Oracle AS support TAF? How can a user application get notice of a failover and react appropriately. Is the behaviour always the same no matter one decides to implement the data access via simple DAOs or entity beans (CMP/BMP)? I assume it is safe to use a connection pool and container will take care of the necessary cleanup jobs, right? Will the complete connection pool be reconstructed or only connections to the failed node?
Does the application server internally use these OCI callbacks and wrap them up into special Exceptions? Is there anything an application programmer has to do in order to make his data access code ready for TAF, especially in case of failover while the db is processing transactional code?
Any insights and/or code snippets would be greatly appreciated!
Ah, one last question. From a HA perspective is it generally a bad idea to put application logic into the database (use CDM RuleFrame and so on) as there is no support in preserving package states or do you think this makes no difference as one has always to repeat everything since the last commit point no matter in which tier the code resides?
During the next days I’m going to set up the above environment for testing. A 10.0.2.1 RAC on RHE4 is already up and running fine. AS 10.1.3.0.0 on RHE4 is following today or tomorrow.
Many thanks for all answers!
Regards,
Eric

Hi,
well, I thought I could dig into the OC4J documentation before installing the server. After reading the OC4J Service Guide for 10.1.2 and 10.1.3 I'm a little bit confused.
First I read the 10.1.2 Service Guide and almost everything seemed to be clear. I found a lot of answers to the questions above. I'd like to sum them up. Please correct me if I got something wrong!
- TAF only works on top of OCI driver
- TAF can be used with connection pooling
- OC4J takes care of connection pool cleanup (OC4J and OCI Pool)
These two pools are mentioned. It's not clear to me how they work together. Do one of you know some source where I can get more information about this?
- after a failover all connections in the pool are checked by OC4J and only alive ones will survive
- in case of a failover TAF issues an exception
- the application has to catch this exception and acknowledge with a rollback, after that the transaction can be restarted (this seems to be the responsibility of the applications code, oc4j will not replay something automatically; If I got it right, CMP entity beans will be an exception to this rule - there OC4J will proceed transparently...)
- the application can use OCI callbacks to customize the failover behavior (well I would like to see some source code example here, as I can't imagine how this could look like)
After that I read the 10.1.3 service guide. The section about datasources in conjunction with HA is much shorter. Besides TAF new? mechanism is introduced, namely Fast Connection Failover (FCF). There is not much information about it but references to the JDBC Guide, because FCF is a feature of the implicit JDBC connection cache. Where cache seems to be just another word for pool.
By the way, the example on p. 4-36 looks wrong at first glance. Enabling FCF and setting:
<property name="fastConnectionFailoverEnabled" value="false"/> ???
Seems to be a typo in the docu, or?
I got the impression, that the text is written as if FCF being TAF's successor, without explicitly saying this. Is this right?
So I proceeded reading the JDBC Developer Guide to lean more about FCF. Here is what I learned:
- since 10g available
- FCF is driver independend (you can also use the thin driver)
- prerequisites are implicit connection cache (pool) enabled, ONS must be configured
- in case of a failover the transcation will be rolled back automatically (not by the application); whereas using TAF you have to use a rollback to acknowledge the error
- only one exception ORA-17008 to catch
- application has to obtain a new connection from the cache (pool), where as using TAF the old connection object can be used, and resend the transaction (same as with TAF)
So when to use what? The comparison on p. 27-8 was not very helpful to find an answer to this question.
On p. 28-1 one can read that TAF does not work with the OCI Connection Pool. That's seems to be contradictory to the statement in Service Guide of 10.1.2 that OC4J takes care of both pools (OC4J and OCI). Or has something changed in 10.1.3 in that regard? May be this is because of the changes in Cache or Pool Management?
What is the advantage of using TAF within OC4J in 10g, if there is any?
What about select statements with FCF? You can only read about transactions. I'd assume the application would get the same exception executing a query (ORA-17008) as executing a transaction, right? So TAF should have the advantage of transparently proceeding selects after a failover. Am I right?
I'd love to see more examples and comparisons of TAF and FCF.
Regards,
Eric

Similar Messages

  • ODF support in Oracle Text 10g R2 version ??

    Currently, we are using Oracle Text 10g Release 2 version for HTML section searching in our application. we don't have any issues in Microsoft office 2003 documents.
    But, when we use Open office documents(ODF), it is not working. It is throwing the following exception:
    java.sql.SQLException: ORA-20000: Oracle Text error:
    DRG-11207: user filter command exited with status 1
    DRG-11222: Third-party filter does not support this known document format.
    ORA-06512: at "CTXSYS.DRUE", line 160
    ORA-06512: at "CTXSYS.CTX_DOC", line 825
    ORA-06512: at line 1
    We are using "AUT_FILTER" filter technology.
    Any ideas for solving this issue?

    You start to have to think outside the box at this point -- AUTO_LEXER isn't going to be able to support you natively.
    You could file an SR, and let Oracle tell you whether they'd be willing to integrate changes (like new Verity libraries as they are developed) to 10.2.
    That assumes that Autonomy (owner of Verity) has improved their support for ODF.
    The OpenOffice formats are all xml-based; you could write something custom to extract the text from your openoffice files and submit them to Oracle as straight XML. I've done something similar to support Office 2007 formats.
    You could write a custom USER_LEXER (which is essentially the same as custom extraction, but may be an easier place to hook in your custom code).
    That's the main reason I suggested moving up to 11g -- none of the other choices have any easy, short-term fix or workaround.

  • Does OEM Grid Control 10g support monitoring Oracle Portal 10g?

    Dear expert,
    It seems OEM GC 10g could monitor WebCenter, Weblogic portal and even Websphere portal, but I could not find any info for Oracle Portal. So,
    1.     Does OEM GC support to monitor Oracle Portal 10g? If not, does it support Oracle Portal 11g?
    2.     If does not support Oracle Portal, then is there any workaround for it? E.g. if it’s feasible through “web appliation”?
    Any comment and docs are welcome.
    Thank you in advance.

    Hi Rob,
    Thanks for your help.
    BTW, I have another question for your reply, that what do u mean by “You can use Oracle Enterprise Manager to monitor and manage OracleAS Portal”?
    Do you mean OEM AS Console or OEM GC? Boz I only find these metrics from OEM AS Console, which mentioned in this doc. http://download.oracle.com/docs/cd/B16240_01/doc/em.102/b25987/oracle_portal.htm#CHDFJHDD
    If these metrics only available in AS Console, then how to let the OEM send out email notification if critical threshold is over?
    Thank you.
    Tony

  • InboundThreadCount supported in oracle bpel 10g

    Hi ,
    I want to know whether the InboundThreadCount="N" for MQAdapter is supported in oracle bpel 10.1.3.3.
    Thanks,
    S.Vishal

    Hi All,
    Any updates on this please, would be a great help.

  • Query related to replication method supported by ORACLE in 10g...

    Hi All,
    I have few question related to ORACLE replication methods. I have two database on different machine and I want to copy at schema level from source to target database.
    for this I have few queries related to Replication method as stated below:
    1- I have two option one is Materailized view and another is Stream.
    2- if I go for Materialized view then what it's advantage in compare to Stream?
    3- if I go for Stream replication then what it's benefits?
    4- For stream replication I have read that its require to set "global_names=true", with out this can we able to setup stream replication?
    Please suggest me optimal solution.
    Thanks....

    Hello,
    4- For stream replication I have read that its require to set "global_names=true", with out this can we able to setup stream replication?Anyway, when you manage Distributed Database, it's always recommended to set global_names=true. By that way you enforce that a dblink has same name as the DB it connects to.
    Else about Stream the both (Source and Target) databases should be in Archivelog mode.
    More over, Stream Replication allow to replicate DDL change (for instance you add a column on a Table), and have much more features than Materalized Views. If you want to share datas among several databases, Stream is an interesting technology.
    Materialized view is more suitable on DSS database.
    Hope this help.
    Best regards,
    Jean-Valentin

  • Future of Oracle BPM 10g

    Hi Friends,   I have been working on Oracle BPM 10g past 6 months, but really not sure whether to continue using this tool as its going to be obsolete soon. Guess most of the client are using Oracle BPM 11g and some even migrating to Oracle 12c. What's the future for Oracle BPM 10g with the respect to BPM market in the future. Are there any projects/clients which are still using Oracle BPM 10g. How easy/difficult is to move from BPM 10g to BPM 11g. I have around 6 years of experience and worked on Savvion Business Manager earlier.  Please help with your valuable suggestions. Regards.

    Support for Oracle BPM 10g has been extended.   Look at Oracle's Lifetime Support Policy document for Fusion Middleware (page 40).  Note that support for Oracle BPM 10g has been extended to December 2018.
    With that said, if a company was to start an Oracle BPM project today, I'd suggest that they do it using Oracle BPM 11g.  Your upgrade path to 12c will be much simpler using 11g and there aren't many of us left who know and can train people getting started on Oracle BPM 10g.
    Dan Atwood

  • How to add Oracle Graphics 6i charts (OGD) to my Oracle Reports 10g

    Hi,
    Is there any possibility to add Oracle Graphics 6i Charts (.OGD) to Oracle Reports 10g
    (OR)
    If not possible, Can you please provide steps to migrate OGD to any format that is supported in Oracle Reports 10g.
    Regards,
    Swethan

    Oracle Graphics and its OGD image format are no longer supported. Reports built with previous versions of Oracle Reports containing Oracle Graphics charts will continue to run in Oracle Reports 10g Release 2 (10.1.2) if the Oracle Graphics 6i runtime is installed on the same machine in a separate ORACLE_HOME. However, this is not a supported configuration, and Oracle will not fix bugs that result from this configuration.
    Re-create all Oracle Graphics 6i objects using the Graph Wizard

  • Feature not support in oracle 10g

    Hi to all,
    We've planned to migrate oracle 9i to oracle 10g. Sys DBA will do the migraion.I'm App DBA and i want to know what are all the feature the not support in oracle 10g comparing to oracle 9i. Please give information in details.
    Thanks in advance

    You can check
    Oracle® Database New Features Guide
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14214/toc.htm
    for new feature in the release.
    Oracle database are backward compatible, you can use COMPATIBLE parameter to limit the new feature in 10g to maintain compatibility.
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/initparams028.htm#REFRN10019
    also check
    Oracle® Database Upgrade Guide
    10g Release 2 (10.2)
    http://download.oracle.com/docs/cd/B19306_01/server.102/b14238/toc.htm

  • Will Windows 7 support the Oracle 10G client and database

    Hi experts,
    I try to find oracle 10g client/database in 32 bit window 7.
    I got message that the system does not support oracle 10gR2.
    Any suggestion?
    Thanks
    Jim

    Thanks for your information.
    I got below information as
    ====
    Checking operating system requirements ...
    Expected result: One of 5.0,5.1,5.2,6.0
    Actual Result: 6.1
    Check complete. The overall result of this check is: Failed <<<<
    Problem: Oracle Database 10g is not certified on the current operating system.
    Recommendation: Make sure you are installing the software on the correct platform.
    =======================================================================
    Checking service pack requirements ...
    Check complete. The overall result of this check is: Not executed <<<<
    OUI-18001: The operating system 'Windows Vista Version 6.1' is not supported.
    Recommendation: Install the recommended Service Pack.
    =======================================================================
    Checking physical memory requirements ...
    Expected result: 256MB
    Actual Result: 2047MB
    Check complete. The overall result of this check is: Passed
    =======================================================================
    Checking Network Configuration requirements ...
    Check complete. The overall result of this check is: Failed <<<<
    Problem: The install has detected that the primary IP address of the system is DHCP-assigned.
    Recommendation: Oracle supports installations on systems with DHCP-assigned IP addresses; However, before you can do this, you must configure the Microsoft LoopBack Adapter to be the primary network adapter on the system. See the Installation Guide for more details on installing the software on systems configured with DHCP.
    =======================================================================
    Checking the length of PATH environment variable...
    Check complete. The overall result of this check is: Passed
    =======================================================================
    Validating ORACLE_BASE location (if set) ...
    Check complete. The overall result of this check is: Passed
    =======================================================================
    Checking Oracle Home path for spaces...
    Check complete. The overall result of this check is: Passed
    =======================================================================
    Checking Oracle Home path for location ...
    Check complete. The overall result of this check is: Passed
    =======================================================================
    Checking for proper system clean-up....
    Check complete. The overall result of this check is: Passed
    =======================================================================
    Checking for Oracle Home incompatibilities ....
    Actual Result: NEW_HOME
    Check complete. The overall result of this check is: Passed
    =======================================================================
    However, I could not find any 11.2 version is for window 7. ONLY vistal and 2008 in ONT.
    Where can we find oracle version for window 7?
    Thanks
    Jim

  • Oracle forms 10G -Version 10.1.2.0.2 will it support timestamp data type ?

    Hi all,
    We are having database server - oracle 10g enterprise edition R2,
    forms - Oracle forms 10G -Version 10.1.2.0.2 on windows 2000 professional.
    We have created a table which has a column of type "timestamp",the following is the structure.
    CREATE TABLE  "STOCK_AREA_MASTER"
            (     "STOCK_AREA_CODE"     NCHAR(5)       NOT NULL    ENABLE,
                  "STOCK_AREA_DESC"     NVARCHAR2(40)  NOT NULL    ENABLE,
                  "RECORD_STATUS"       CHAR(1)        DEFAULT 'A',
                  "USER_ID"             NVARCHAR2(20)  DEFAULT USER,
                  "TIMESTAMP"           TIMESTAMP (6)  DEFAULT CURRENT_TIMESTAMP)
    [\code]
    We  tried to invoke this table(stock_area_master) using database block wizard in forms 10g,we were expecting to see the columns in this table,but we got the following error
    FRM -10095 - Assertion failed
    on seeing the forms help for the error FRM-10095,We are getting the following message
    FRM-10095: Assertion failed in %s, at %s:%d. Cause:  An internal inconsistency was detected. Action:  Contact an Oracle support representative, and proceed with caution
    We have the following concerns.
    1.) is it possible to have datatype "timestamp" in forms 10g,our researches show that we can manipulate using datatime datatype in forms,our requirement is have to precision of 6 digits(millisecond - format - dd/mm/rr hh24:mi:ss:ssss),we are able query and view precision to the tune dd/mm/rr hh24:mi:ss:ssss,but we are unable to insert/update to this precision.
    We would appreciate if some one could throw some light on the above.
    Thanks in advance
    Regards
    Mohan                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

    Hi Mohan,
    Hm. Strange.
    I have reproduced the problem in my environment.
    I have also found, that building the block manually, seems to work, as long as you define the item with datatype Char in Form Builder. Inserts and updates using a value like "22-AUG-06 11:10:11,647354 AM" worked fine for the timestamp item.
    You may want to enforce some dateformat. I don't know whether that will work.
    Good Luck!
    Remco

  • Columns Display Support in Oracle 10g Express Edition..................

    I am working with the Oracle 10g Express Edition, and I Created a Table with 52 Fields and even successfully inserted data into the table via Java Program. But the problem is when I am displaying the table from the Oracle 10g Express Edition Interface, it is displaying only first 31 Fields and displaying "<div class="fielddata">First 31 columns displayed.</div>". What should i do if I want to display all the 52 columns. Awaiting for the Reply. Thank You..

    duplicate post
    Columns Display Support in Oracle 10g Express Edition..................

  • Oracle forms & reports support on oracle 10g lite

    Currently our oracle forms & reports 6i application works on oracle 8i database with oracle 9i lite.
    We upgraded our database to oracle 9i r2 and lite to 10gr2.
    After publishing the application when i try to open the application the forms screen disappears for ever.
    I wanted to know whether oracle forms and reports 6i is supported on
    oracle 10g lite r2?
    Thanks,
    Ashok Kumar.G

    No. Not only it isn't certified, but it is also impossible to run forms compiled with the 11g compiler with the 10g runtime. For 11g there is a install bundle for the developer suite / application server.
    cheers

  • Oracle Database 10g Enterprise version supported on Win 2003/Win 2008?

    Hi,
    The Current version of SAP we are using is SAP R/3 Enterprise 4.7 version (operating system- WINDOW NT )and the database is Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 u2013 Prod
    Please help to advice me:
    Can currently running version of oracle database be supported on Win 2003/Win 2008?
    Can SAP application support the existing oracle database server upgrade to Windows 2003/Win 2008?
    Is it possible to have Oracle database separated to other server on SAP DEV and SAP QA?
    Many thanks in advance.

    Hi,
    You can get more clarity in the [Product Availability Matrix|http://service.sap.com/pam].
    The following notes can help u better.
    [Note 1383873 - Windows Server 2008 R2 Support|https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1383873]
    [Note 1303262 - Oracle on Windows Server 2008|https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/sapnotes/index2.htm?numm=1303262]
    Hope this helps.
    Regards,
    Varadharajan M

  • Does Oracle XE 10g or 11g  have supported patches/bug fixes

    Does Oracle XE 10g or 11g  have supported patches/bug fixes?

    XE isn't patch-able, unfortunately- eg. in the section ...Major Features Not Included at http://docs.oracle.com/cd/E17781_01/license.112/e18068/toc.htm#XELIC116 a "patch set" is one of the "not included" items
    One could install one of the full release editions, get it patched, and upgrade an XE instance with the patch-able edition, but access to patches requires a support agreement.

  • UTF support in XML DB at Oracle Database 10g Express Edition Beta 2

    hello everybidy! ;)
    I use Oracle Database 10g Express Edition Beta 2 Release for Microsoft Windows (dated 16-Nov-05) and place into XML DB XSLT-file (UTF8-encoded and contained some Cyrillic chars) and 10g XP can`t apply such transformation but when i replace cyrillic chars with latin chars - everything work just fine. Is it known bug? Can it be fixed by some reconfiguration or moving to Linux version of 10g XP? When will new release?
    truly yours,
    Slav
    p.s. here some oracle forum testing &#1061;&#1040;&#1056;&#1045;=XAPE, PAMA=&#1056;&#1040;&#1052;&#1040; :)

    Hello, Bhagat.
    I don't understand why you would install HTMLDB with apexins.sql (it's a procedure to install HTMLDB for 9i and 10G EE/SE not XE)
    because HTMLDB (APEX) is already install with Oracle Express Edition. Not need
    to install it with apexins.sql
    Mike

Maybe you are looking for

  • Mail and Attachments on 10.8

    Using Mail how do you get an attachment to post as an actual attachment rather than as an image in the mail.  If I sign a document, then scan it, and attach the jpeg to an email it is incorporated into the mail as an image.  Same thing happens if the

  • How to get "double click" as an event in Module Pool

    Dear Experts, Being new to ABAp, I am struck in a problem. I want to get double click as an event in my module pool program. On the screen I have two input/output fields. The attributes of them are as below: 1) 1st I/O field Attributes: Name: WA_AUFN

  • MAC-Adress Filtering vs. Access - Lists

    We are using two WLC 4400 Series Controller for our Guest WLAN. They are installed the way Cisco Recommends . One in our LAN and one in the DMZ. I am looking for a possibility to deny company users the access to this WLAN with their notebooks. The WL

  • Vendor description

    Hi friends, I have to get the field butxt 'vendor description' based on the vendor number lifnr. Can u tell me from which table i should get the vendor description, as i have the vendor number lifnr. Regards, Line

  • Send/receive data without a terminating character

    I am trying to use the visa driver to send hex data over a serial port. I have tried to disable terminating characters but when I read from the port the trasnmission still terminates with a 0x0A character. How can I send/receive data without a termin