database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Tutorials 11776 게시물 읽기
 News | Q&A | Columns | Tutorials | Devel | Files | Links
No. 11776
Oracle XA and TP Monitor FAQ
작성자
정재익(advance)
작성일
2002-08-23 10:01
조회수
7,738

Oracle XA and TP Monitor FAQ

 

원본출처 : http://www.orafaq.com/faqxa.htm

 

$Date: 07-Nov-2000 $

$Revision: 1.00 $

$Author: Frank Naudé $

 

 

Topics

 

What is Oracle XA and what can it be used for?

How does one install Oracle XA?

How does one write XA programs?

Can one use SQL Commit and Rollback statements in XA programs?

Where can one get more info about Oracle XA?

 

--------------------------------------------------------------------------------

Back to Oracle FAQ Index

--------------------------------------------------------------------------------

 

What is Oracle XA and what can it be used for?

 

Oracle XA is Oracle's implementation of the X/Open Distributed Transaction Processing (DTP) XA interface. The XA standard specifies a bidirectional interface between resource managers (like Oracle) that provide access to shared resources within transactions, and between a transaction service that monitors and resolves transactions.

The XA Application Program Interface (API) is typically used to enable an Oracle database to interact with a transaction processing (TP) monitor, such as:

 

BEA Systems' Tuxedo

IBM's CICS

NCR's TopEnd

UniKix

Etc.

 

How does one install Oracle XA?

 

No installation is required. Oracle is by default XA compiant. Oracle7 (with the Distributed Option) and all Oracle8 and above releases of Oracle supports XA transactions.

For oracle 7.3 databases one needs to run the "XAVIEW.SQL" SQL script as user SYS. This script will create the V$XATRANS$ view. Grant select access on it to PUBLIC. This script is located in the $ORACLE_HOME/rdbms/admin directory.

 

Please note, XAVIEW.SQL is not required for XA applications running on Oracle8 and above.

 

How does one write XA programs?

 

The XA API is supported from both Pro*C and Oracle Call Interface (OCI). Look at the sample precompiler applications that shipps with the Oracle database server.

Client:
   tx_begin();                 /* Begin transaction boundary */
   tpm_service("Service1");    /* Call Service 1 */
   tpm_service("Service2");    /* Call Service 2 */
   tx_commit();                /* Commit the transaction */

Server:

   Service1() {
     // Get service specific data...
     EXEC SQL UPDATE ....;
     // Return service status back to the client...
   }
   Service2() {
     // Get service specific data...
     EXEC SQL UPDATE ....;
     ...
     // Return service status back to client...
   }

 

Can one use SQL Commit and Rollback statements in XA programs?

 

SQL COMMIT and ROLLBACK statements are used to control transactions in a RM (Resource Manager) like Oracle if one doesn't use a TPM (Transaction Processing Monitor). One should to use use the TPM's "Transaction Defining Interface" to control transactions in a TPM environment, as there may be other resources involved in the transaction. An example of this is CICS's EXEC CICS SYNCPOINT.

 

Where can one get more info about Oracle XA?

 

Oracle Documentation Set: Oracle8 Application Developer's Guide

The XA Bankapp Sample Application (Bea) (http://edocs.beasys.com/wle/jsamples/bank2.htm)

Open Group - Transaction Processing Titles (http://www.opennc.org/pubs/catalog/tp.htm)

[Top]
No.
제목
작성자
작성일
조회
11932VARRAY 사용시 ORA-6533 ERROR
정재익
2002-09-07
10343
11870Oracle9i 리눅스용 설치 가이드
정재익
2002-08-31
8832
11843Oracle 8i Database를 SQL Server 2000에 Linked Server로 연결하기 위한 연결 설정
정재익
2002-08-29
8768
11776Oracle XA and TP Monitor FAQ
정재익
2002-08-23
7738
11537RedHat 7.1 에서 Oracle 8.1.7 의 설치법
정재익
2002-07-31
10495
11513Oracle Performance Tuning
정재익
2002-07-29
9232
11512Oracle 9i 에서 CASE 사용예 [2]
정재익
2002-07-29
8704
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2023 DSN, All rights reserved.
작업시간: 0.046초, 이곳 서비스는
	PostgreSQL v16.1로 자료를 관리합니다