Skip Headers

Oracle® Transparent Gateway for DRDA Installation and User’s Guide
10g Release 1 (10.1.0.2.0) for Microsoft Windows
Part Number B12010-01
  Go To Table Of Contents
Contents
Go To Index
Index

Previous Next  

5 Configuring the DRDA Server

The steps for configuring your remote DRDA Server apply to the following DRDA Servers:

Configuring a DRDA database to allow access by the gateway requires actions on the DRDA database and on certain components of the host operating system. Although no Oracle software is installed on the host system, access to, and some knowledge of, the host system and DRDA database are required during the configuration. Refer to the vendor documentation for complete information about your host system and DRDA database.

5.1 Checklists for Configuring the DRDA Server

Use the following checklists for configuring the DRDA Server.

5.2 DB2/OS390

Experience with OS/390 (MVS), OS/390, TSO, VTAM, and DB2 is required to perform the following steps:

5.2.1 Step 1: Configure the Communications Server

If you are using SNA, then configure OS/390 (MVS) VTAM for the SNA connection from the host. If you are using TCP/IP, then configure the TCP/IP subsystem, configure DB2's DDF subsystem to use TCP/IP, and assign a Primary and Recovery port number for the DB2 server.

5.2.2 Step 2: Define the user ID that owns the package

During gateway configuration, you will need to execute the Bind Package Stored Procedure to bind the gateway package on the DRDA Server. To properly bind the package, the user ID and password that are used when the procedure is executed (either implied as the current Oracle user or explicitly defined in the CREATE DATABASE LINK command) must have proper authority on the DRDA Server to create the package. This same user ID should be used to create and to own the ORACLE2PC (two-phase commit) table. The user ID that is used to bind or rebind the DRDA package must have one or more of the following privileges on the DRDA Server:

  • Package privileges of BIND, COPY, and EXECUTE, for example:

    GRANT BIND    ON PACKAGE drda1.* TO userid
    GRANT COPY    ON PACKAGE drda1.* TO userid
    GRANT EXECUTE ON PACKAGE drda1.* TO PUBLIC
    
    
  • Collection privilege of CREATE IN, for example:

    GRANT CREATE IN ON PACKAGE drda1 TO USER userid
    
    
  • System privileges of BINDADD and BINDAGENT, for example:

    GRANT BINDADD   TO USER userid
    GRANT BINDAGENT TO USER userid
    
    
  • Database privilege of CREATETAB, for example:

    GRANT CREATETAB ON DATABASE database TO USER userid
    
    

Choose a user ID now that will own the package and ORACLE2PC table. Ensure that this user ID is defined to both DB2 and OS/390 (MVS).

5.2.3 Step 3: Define the recovery user ID

During gateway configuration, the recovery user ID and password are specified in the Gateway Initialization File using the DRDA_RECOVERY_USERID and DRDA_RECOVERY_PASSWORD parameters. If a distributed transaction fails, then the recovery process connects to the remote database using the user ID and password that are defined in these parameters. This user ID must have execute privileges on the package and must be defined to the IBM DRDA database. If the user ID is not specified in DRDA_RECOVER_USERID, then the gateway attempts to connect to a user ID of ORARECOV when a distributed transaction is in doubt.

Determine the user ID and password that you will use for recovery.

5.2.4 Step 4: Determine DRDA location name for DB2 instance

The DRDA location name is required as a gateway parameter. To determine the location name, issue the SQL query:

SELECT CURRENT SERVER FROM any_table 

where any_table is a valid table with one or more rows.

If the value returned by this query is blank or null, then the DRDA location name has not been established. Contact the system administrator to arrange to set a location name for the instance.

5.2.5 Step 5: Configure DB2 Distributed Data Facility for gateway

DB2 Distributed Data Facility (DDF) is the component of DB2 that manages all distributed database operations, both DRDA and non-DRDA.

If your site uses DB2 distributed operations, then DDF is probably operational on the DB2 instance that you plan to access through the gateway. If DDF is not operational, then you must configure it and start it as described in the appropriate DB2 documentation.

Even if DDF is operational on the DB2 instance, it might be necessary to make changes to the DDF Communication Database (CDB) tables to specify the authorization conduct of DRDA sessions from the gateway. This can be done by properly authorized users with a utility such as the DB2 SPUFI utility. If you make changes to CDB tables, then you must stop and restart DDF for the changes to take effect. Refer to Chapter 13, " Security Considerations", for additional CDB tables and security information.

5.3 DB2/400

Experience with DB2/400 and AS/400 is required to perform the following steps:

5.3.1 Step 1: Configure the Communications Server

If you are using SNA, then configure AS/400 communications for the SNA connection from the host. If you are using TCP/IP, then configure the TCP/IP subsystem, configure DB2/400 to use TCP/IP, and assign a Primary and Recovery port number for the DB2 server.

5.3.2 Step 2: Define the user ID that owns the package

During gateway configuration, you will need to execute the Bind Package Stored Procedure to bind the gateway package on the DRDA Server. To properly bind the package, the user ID and password that are used when the procedure is executed (either implied as the current Oracle user or explicitly defined in the CREATE DATABASE LINK command) must have proper authority on the DRDA Server to create the package. This same user ID should be used to create and to own the ORACLE2PC (two-phase commit) table. The user ID that is used to bind or rebind the DRDA package must have the following privileges on the DRDA Server:

  • Use authority on the CRTSQLPKG command

  • Change authority on the library in which the package will be created

Choose a user ID now that will own the package and the ORACLE2PC table. Ensure that this user ID is defined to DB2/400 and AS/400.

5.3.3 Step 3: Define the recovery user ID

During gateway configuration, the recovery user ID and password are specified in the Gateway Initialization File using the DRDA_RECOVERY_USERID and DRDA_RECOVERY_PASSWORD parameters. If a distributed transaction fails, then the recovery process connects to the remote database using the user ID and password that are defined in these parameters. This user ID must have execute privileges on the package and must be defined to the IBM DRDA database. If the user ID is not specified in DRDA_RECOVER_USERID, then the gateway attempts to connect to a user ID of ORARECOV when a distributed transaction is in doubt.

Determine the user ID and password that you will use for recovery.

5.3.4 Step 4: Determine DRDA location name for DB2/400 instance

The DRDA location name is required as a gateway parameter. To determine the location name, issue the following SQL query. If SQL is unavailable on the system, then use the AS/400 command DSPRDBDIRE to identify your "*LOCAL" DRDA Server.

SELECT CURRENT SERVER FROM any_table 

where any_table is a valid table with one or more rows.

If the value returned by this query is blank or null, then the DRDA location name has not been established. Contact the system administrator to arrange to set a location name for the instance.

5.4 DB2/UDB (Universal Database)

Experience with DB2/UDB, configuring the communication subsystem of DB2/UDB, and the host System Administration tools is required to perform the following steps.

5.4.1 Step 1: Configure the SNA Communications Server

If you are using SNA, then configure the communications server from the host. If you are using TCP/IP, then configure TCP/IP, configure DB2/UDB to use SNA and/or TCP/IP, and assign a Primary and Recovery port number for the DB2 server.

5.4.2 Step 2: Define the user ID that owns the package

During gateway configuration, you will need to execute the Bind Package Stored Procedure to bind the gateway package on the DRDA Server. To properly bind the package, the user ID and password that are used when the procedure is executed (either implied as the current Oracle user or explicitly defined in the CREATE DATABASE LINK command) must have proper authority on the DRDA Server to create the package. This same user ID should be used to create and to own the ORACLE2PC (two-phase commit) table. The user ID that is used to bind or rebind the DRDA package must have one or more of the following privileges on the DRDA Server:

  • Package privileges of BIND and EXECUTE, for example:

    GRANT BIND    ON PACKAGE drda1.g2drsql TO USER userid
    GRANT EXECUTE ON PACKAGE drda1.g2drsql TO PUBLIC
    
    
  • Schema privileges of CREATEIN, for example:

    GRANT CREATEIN ON SCHEMA otgdb2 TO USER userid
    GRANT CREATEIN ON SCHEMA drda1 TO USER userid
    
    
  • Database authorities of CONNECT, BINDADD, and CREATETAB, for example:

    GRANT CONNECT   ON DATABASE TO USER userid
    GRANT BINDADD   ON DATABASE TO USER userid
    GRANT CREATETAB ON DATABASE TO USER userid
    
    

Now choose a user ID that will own the package and ORACLE2PC table. Ensure that this user ID is defined to both the DB2 instance ID and the operating system.

5.4.3 Step 3: Define the recovery user ID

During gateway configuration, the recovery user ID and password are specified in the Gateway Initialization File using the DRDA_RECOVERY_USERID and DRDA_RECOVERY_PASSWORD parameters. If a distributed transaction fails, then the recovery process connects to the remote database using the user ID and password that are defined in these parameters. This user ID must have execute privileges on the package and must be defined to the IBM DRDA database. If the user ID is not specified in DRDA_RECOVER_USERID, then the gateway attempts to connect to a user ID of ORARECOV when a distributed transaction is in doubt.

Determine the user ID and password that you will use for recovery.

5.4.4 Step 4: Determine DRDA location name for DB2/UDB instance

The DRDA location name is required as a gateway parameter. To determine the location name, issue the SQL query:

SELECT CURRENT SERVER FROM any_table

where any_table is a valid table with one or more rows.

If the value returned by this query is blank or null, then the DRDA location name has not been established. Contact your system administrator to arrange to set a location name for the instance.

5.5 DB2/VM

Experience with VM, AVS, and DB2/VM is required to perform the following steps:

5.5.1 Step 1: Configure the Communications Server

If you are using SNA, then configure VM VTAM and AVS for the SNA connection from the host. If you are using TCP/IP, then configure the TCP/IP Service.

5.5.2 Step 2: Define the user ID that owns the package

During gateway configuration, you will need to execute the Bind Package Stored Procedure to bind the gateway package on the DRDA Server. To properly bind the package, the user ID and password that are used when the procedure is executed (either implied as the current Oracle user or explicitly defined in the CREATE DATABASE LINK command) must have proper authority on the DRDA Server to create the package. This same user ID should be used to create and to own the ORACLE2PC (two-phase commit) table. The user ID that is used to bind or rebind the DRDA package must have the following privileges on the DRDA Server:

  • Package privileges of BIND, COPY, and EXECUTE

  • Collection privilege of CREATE IN

  • System privileges of BINDADD and BINDAGENT

Choose a user ID now that will own the package and ORACLE2PC table. Ensure that this user ID is defined to DB2/VM and VM.

5.5.3 Step 3: Define the recovery user ID

During gateway configuration, the recovery user ID and password are specified in the Gateway Initialization File using the DRDA_RECOVERY_USERID and DRDA_RECOVERY_PASSWORD parameters. If a distributed transaction fails, then the recovery process connects to the remote database using the user ID and password that are defined in these parameters. This user ID must have execute privileges on the package and must be defined to the IBM DRDA database. If the user ID is not specified in DRDA_RECOVER_USERID, then the gateway attempts to connect to a user ID of ORARECOV when a distributed transaction is in doubt.

Determine the user ID and password that you will use for recovery.

5.5.4 Step 4: Determine DRDA location name for DB2/VM instance

The DRDA location name is required as a gateway parameter. To determine the location name, issue the SQL query:

SELECT CURRENT SERVER FROM any_table 

where any_table is a valid table with one or more rows.

If the value returned by this query is blank or null, then the DRDA location name has not been established. Contact the system administrator to arrange to set a location name for the instance.