ORACLE 7 / TDS-HA User's Guide - Welcome to Support On...

60
ORACLE 7 / TDS-HA User's Guide DPS7000/XTA NOVASCALE 7000 Database Products: ORACLE REFERENCE 47 A2 16UR 01

Transcript of ORACLE 7 / TDS-HA User's Guide - Welcome to Support On...

ORACLE 7 / TDS-HA

User's Guide

DPS

7000/XTA

NO

VASC

ALE

7000

Database Products: ORACLE

REFERENCE47 A2 16UR 01

DPS7000/XTANOVASCALE 7000

ORACLE 7 / TDS-HAUser's Guide

Database Products: ORACLE

November 1995

BULL CEDOC

357 AVENUE PATTON

B.P.20845

49008 ANGERS CEDEX 01

FRANCE

REFERENCE47 A2 16UR 01

The following copyright notice protects this book under Copyright laws which prohibit such actions as, but notlimited to, copying, distributing, modifying, and making derivative works.

Copyright Bull SAS 1992, 1995

Printed in France

Suggestions and criticisms concerning the form, content, and presentation of thisbook are invited. A form is provided at the end of this book for this purpose.

To order additional copies of this book or other Bull Technical Publications, youare invited to use the Ordering Form also provided at the end of this book.

Trademarks and Acknowledgements

We acknowledge the right of proprietors of trademarks mentioned in this book.

Intel® and Itanium® are registered trademarks of Intel Corporation.

Windows® and Microsoft® software are registered trademarks of Microsoft Corporation.

UNIX® is a registered trademark in the United States of America and other countries licensed exclusively throughthe Open Group.

Linux® is a registered trademark of Linus Torvalds.

The information in this document is subject to change without notice. Bull will not be liable for errors containedherein, or for incidental or consequential damages in connection with the use of this material.

47 A2 16UR Rev01 iii

Preface

SCOPE AND OBJECTIVES

This manual describes how the ORACLE RDBMS is used in a GCOS 7/HA environment.

Knowledge of the principle HA concepts is assumed; these are dealt with in thedocumentation specific to HA. See the list of related documents further on in this Preface.

If you are defining a Complex, you will need the High Availability Administrator's Guide.

If you are installing the ORACLE product, you will need the ORACLE7 Installation Guideto show you the standard ORACLE installation procedures.

The modules you need to run ORACLE under HA are delivered as part of the standardORACLE product. The HA-specific installation instructions are given in this manual.

INTENDED READERS

Readers of this manual are those responsible for setting up, administering, andmonitoring ORACLE database(s) that are available as Services within an HA Complex.

General familiarity with the following software products is assumed: ORACLE, TDS, andGCL/JCL.

ORACLE7/TDS-HA User's Guide

iv 47 A2 16UR Rev01

STRUCTURE

Section 1 Introduces ORACLE under HA.

Section 2 Discusses the specific preparation and installation ofORACLE under HA.

Section 3 Gives TDS-specific information.

Section 4 Shows how to generate a sample Complex where ORACLEServices are running under HA.

Section 5 Shows how to put the Complex (generated in Section 4) intooperation.

Section 6 Discusses performance issues.

Section 7 Lists specific error messages.

Appendix A Lists commands of interest to an administrator who isgenerating a Complex.

Glossary Contains definitions of the HA-specific terms and conceptsthat impact the use of ORACLE.

RELATED DOCUMENTS

The documents listed here are restricted to those we refer to in the running text of thismanual.

The complete TDS manual set is given in the GCOS 7 Information Directory, 47 A211UG.

The complete GCOS 7/ORACLE7 manual set is given in the ORACLE7 DocumentationCatalog, 47 A2 10UR.

HA Documentation

There are two documents that concern the HA-specific implementation of TDS:

High Availability Concepts................................................................................47 A2 22UT

• describes the background and concepts of the HA environment

High Availability Administrator's Guide.............................................................47 A2 23UT

• defines the HA administration tasks and describes the CDL and operator commands

ORACLE7 Documentation

There are four ORACLE documents that cover topics discussed in the running text of thismanual:

Preface

47 A2 16UR Rev01 v

ORACLE7 Installation Guide........................................................................... 47 A2 11UR

• standard ORACLE7 installation procedures

ORACLE7 Guide to Processors and Utilities .................................................. 47 A2 12UR

• use of the SOR, COR, and SQL*DBA processors

ORACLE7/TDS User's Guide ......................................................................... 47 A2 14UR

• ORACLE/TDS-specific information, including sample Pro*COBOL TPRs

ORACLE7 Server Administrator's Guide .........................................................86 A2 41PE

• tuning instructions for the INIT_ORA file, including redo log file sizing and how tocalculate checkpoint intervals

ORACLE7/TDS-HA User's Guide

vi 47 A2 16UR Rev01

47 A2 16UR Rev01 vii

Table of Contents

1. Introducing ORACLE With HA ....................................................................... 1-1

2. Installing ORACLE For HA .............................................................................. 2-1

2.1 INTRODUCTION......................................................................................................... 2-1

2.2 PREPARATION .......................................................................................................... 2-3

2.2.1 Create A Private Shared Catalog ............................................................................. 2-32.2.2 Standard Installation Procedures ............................................................................ 2-32.2.3 ORACLE Files ............................................................................................................ 2-3

2.3 HA-SPECIFIC ORACLE INSTALLATION .................................................................. 2-4

2.3.1 Create And Initialize The ORA.HA.ST File ............................................................... 2-42.3.2 Create The ORA.HA.SLLIB Library .......................................................................... 2-52.3.3 The JCL Subfiles You Need For ORACLE With HA ............................................... 2-52.3.4 Eight JCL Subfiles We Need For Our Example ...................................................... 2-62.3.5 The Four Sample JCL Subfiles In The ORACLE Delivery Kit ................................ 2-62.3.6 Tailor Your JCL Using HAJCL, JCL, and ABSENTEE ............................................ 2-72.3.7 Build The JCL Subfiles To Spawn SOR W .............................................................. 2-72.3.8 Access Rights ............................................................................................................ 2-82.3.9 Build The JCL Subfiles To Spawn SQL*DBA ......................................................... 2-82.3.10 Build The JCL Subfile To Run SOR A (optional) .................................................... 2-9

3. TDS Specifics ....................................................................................................... 3-1

3.1 SERVICES .................................................................................................................. 3-1

ORACLE7/TDS-HA User's Guide

viii 47 A2 16UR Rev01

3.2 TDS GENERATION PROGRAM ................................................................................ 3-2

3.3 PRO*COBOL .............................................................................................................. 3-2

3.4 PRO*C......................................................................................................................... 3-2

3.5 COMMITMENTS......................................................................................................... 3-2

4. Generating a Complex ...................................................................................... 4-1

4.1 ORACLE SERVERS AND SERVICES ....................................................................... 4-1

4.1.1 Service Names ........................................................................................................... 4-14.1.2 Service Types ............................................................................................................ 4-24.1.3 ORACLE With HA But Without TDS ........................................................................ 4-24.1.4 ORACLE Without HA ................................................................................................. 4-2

4.2 EXAMPLE: SAMPLE COMPLEX GENERATION SUBFILE ...................................... 4-3

4.3 VERIFY THE HA COMPLEX DESCRIPTION SUBFILE ............................................ 4-4

4.4 GENERATE THE HA COMPLEX DESCRIPTION ..................................................... 4-4

5. ORACLE Services Under HA .......................................................................... 5-1

5.1 START THE CMSR .................................................................................................... 5-1

5.2 START EACH MEMBER ............................................................................................ 5-1

5.3 CATALOG AND LINK THE JAS-PROTECTED USER FILES ................................... 5-2

5.4 START SERVICES ..................................................................................................... 5-2

5.5 THE ORACLE DATABASE SERVICES ..................................................................... 5-3

5.5.1 Start the ORACLE Database Service ....................................................................... 5-35.5.2 Display The Status Of The ORACLE Database Service ......................................... 5-45.5.3 Stop the ORACLE Database Service ....................................................................... 5-4

Table of Contents

47 A2 16UR Rev01 ix

5.6 THE ORACLE/TDS SERVICES .................................................................................. 5-6

5.6.1 Start the ORACLE/TDS Service (and the Used Services) ...................................... 5-65.6.2 Display The Status Of The ORACLE/TDS Service ................................................. 5-75.6.3 Stop the ORACLE/TDS Service ................................................................................ 5-75.6.4 Stop the ORACLE Used Service .............................................................................. 5-85.6.5 Stop the BLUE JAS Service ..................................................................................... 5-8

6. Takeover and Downtime .................................................................................. 6-1

6.1 TAKEOVER ................................................................................................................ 6-1

6.2 DOWNTIME ................................................................................................................ 6-2

6.2.1 Recovery Processing ................................................................................................ 6-26.2.2 Checkpoint Intervals ................................................................................................. 6-26.2.3 ORACLE/TDS Restart ................................................................................................ 6-2

7. Error Messages .................................................................................................... 7-1

ORACLE7/TDS-HA User's Guide

x 47 A2 16UR Rev01

Appendix

A. ORACLE With HA Command Set .................................................................. A-1

A.1 GCL COMMANDS ...................................................................................................... A-1

A.2 CDL COMMANDS ...................................................................................................... A-2

Glossary ................................................................................................................................... g-1

Index .................................................................................................................................... i-1

Table of Contents

47 A2 16UR Rev01 xi

Illustrations

Figures

1-1 ORACLE Processing Before A Crash ......................................................................... 1-21-2 ORACLE Processing After A Takeover....................................................................... 1-2

2-1 Sample Complex Using A Shared Private Catalog ..................................................... 2-2

ORACLE7/TDS-HA User's Guide

xii 47 A2 16UR Rev01

47 A2 16UR Rev01 1-1

1. Introducing ORACLE With HA

ORACLE with HA is not a separate product; the term ORACLE with HA means ORACLEused in a High Availability (HA) GCOS 7 environment. HA provides users ofORACLE/TDS applications with significantly reduced downtime in the event of a crash oran unplanned incident.

The standard ORACLE delivery kit contains tools that enable ORACLE to be used in a HAenvironment. There are special installation procedures for these elements; see Section 2.

In HA, a Complex consists of two machines called Members. More specifically, onemachine is the Member and the other machine is the Co-Member . From a user point ofview, the most important components in the Complex are the Services that are available.For example, in an ORACLE/HA environment, there might be a TDS Service, an ORACLEdatabase Service, and so on. For ORACLE/TDS applications, the ORACLE databaseService is a Used Service of the TDS Main Service .

If the Member of an HA Complex crashes, and an ORACLE database Server is runningon that Member in the Active state , the ORACLE database is reopened on the Co-Member of the Complex. Figures 1-1 and 1-2 illustrate this process, which is called aTakeover .

When ORACLE is running under HA, users accessing ORACLE via a TDS Main Serviceare automatically reconnected after a crash.

IOF users (using, for example, SQL*Forms applications) or batch programs which wereaccessing the database at crash-time are NOT automatically reconnected and restartedon the Co-Member.

NOTES: ORACLE Servers may run in HA mode even if they have no TDS-HA Server asclient; that is, if they are not Used Services of a TDS Service. We shall see anexample of this further on in the manual with the ORASVR2 Server.

The ORACLE communication server (COR) must not be considered as a HAService but as a communication element allowing communication between anORACLE Database Server and an ORACLE client (ORACLE/TDS applicationand or ORACLE processor).

It must always be started on each HA Members and we recommend their launchusing the System STARTUP facility. Same remark for all ORACLE componentsimplementing the SQL*Net facility.

ORACLE7/TDS-HA User's Guide

1-2 47 A2 16UR Rev01

Figures 1-1 and 1-2 show a Takeover operation. There is a crash on the Member wherethe Servers are running in an Active state. The Co-Member takes over and switches theServers running there from the Backup state to the Active state. This ensures an almostcontinuous service for the users.

SQ L *Form sU SR 1 U SR 2

IO F B AT C H T D SActiveS ta te

O R A C L ES erverAc tiveS ta te

T D SBackup

S ta te

O R A C L ES erverBa ckup

Sta te

M EM BER CO-M EM B ER

Figure 1-1. ORACLE Processing Before A Crash

U SR 1 U S R 2

T D SActiveS ta te

O R A C LES erverAc tiveS ta te

M EM B ER C O-M EM BER

SYST E M

C R A SH

Figure 1-2. ORACLE Processing After A Takeover

47 A2 16UR Rev01 2-1

2. Installing ORACLE For HA

The standard GCOS 7/ORACLE7 delivery kit contains the files that enable you to runORACLE7 in an HA environment. You can use ORACLE7 with HA only if all themachines (Members of the Complex) are running under the GCOS 7-V6 Technical StatusTS6152 (or later).

ORACLE with HA is especially suitable for sites that operate coupled systems.

2.1 INTRODUCTION

We describe the following scenario:

• The installation of ORACLE on a shared disk (DISK00 in our example).

• Use of a shared private catalog (for example, ORACLE.CATALOG) to contain thedescription of the ORACLE files. This is because all updates to this catalog are knownby both systems. This private catalog must not be linked to HA (protected by JAS).

• The SITE.CATALOG should not contain any information relating to ORACLE files. Thesite catalog may be shared, or there may be a separate site catalog for each Memberof a Complex. The HA-specific documentation discusses these issues.

NOTE: It is also possible to attach ORACLE files to SITE.CATALOG; for a discussion ofthe issues involved, see the Coupled Systems User's Guide.

The examples contained in this manual are based on the following configuration. Thereare two systems (Members of the Complex): BC00 and BC01. ORACLE is installed on ashared disk: DISK00. There is a single shared private catalog: ORACLE.CATALOG:

ORACLE7/TDS-HA User's Guide

2-2 47 A2 16UR Rev01

O R A C L E.C A T ALO G

SystemBC 00

S ystemB C 0 1

D ISK 00

Figure 2-1. Sample Complex Using A Shared Private Catalog

Installing ORACLE For HA

47 A2 16UR Rev01 2-3

2.2 PREPARATION

2.2.1 Create A Private Shared Catalog

To create a private, shared catalog (ORACLE.CATALOG), enter the following GCLcommands on Member BC00:

S: CRDIR ORACLE;S: CRCAT NAME=ORACLE.CATALOG NBOBJECT=500 VOLUME=DISK00:MS/D500;

This private catalog must not be linked to HA (protected by JAS).

2.2.2 Standard Installation Procedures

The standard ORACLE installation procedure - as described in the ORACLE7 InstallationGuide - must be executed on one Member of the Complex before carrying out the HA-specific ORACLE installation steps.

Ensure that you load the H_ORACLE and H_ORATDS Sharable Modules into backingstore on the other (Co-Member) system in the Complex.

2.2.3 ORACLE Files

Suppose, for the purposes of this manual, that the private shared catalogORACLE.CATALOG contains the description of the ORACLE files.

The directory where ORACLE is installed is called ORACLE.

The installation of ORACLE with HA requires the additional steps described below.

ORACLE7/TDS-HA User's Guide

2-4 47 A2 16UR Rev01

2.3 HA-SPECIFIC ORACLE INSTALLATION

The following steps are required. They are explained in more detail further on:

• Store a copy of H_ORATDS in a file called ORA.HA.ST , and load it into backing store.

• Create the ORA.HA.SLLIB library for the JCL subfiles that will spawn the ORACLEServers.

• Create the JCL subfiles for the ORACLE Servers.

• Create two command files needed by SQL*DBA to start and shut the database.

• Optionally, create JCL to run the SOR ADDTASKS command.

2.3.1 Create And Initialize The ORA.HA.ST File

A copy of the H_ORATDS sharable module - which contains the executable codedeveloped for ORACLE with HA - must be stored in a file called ORA.HA.ST , then loadedinto backing store.

Several steps are necessary to do this. Here they are:

Create the master directory ORA in the ORACLE.CATALOG:

S: MWINLIB BIN;S: CRDIR NAME=ORA CATNAME=ORACLE;

NOTE: The ORA master directory may already exist on your site.

Create the HA directory:

S: CRDIR NAME=ORA.HA;

Create the ORA.HA.ST file:

S: COPY_FILE INFILE=ORACLE.ST OUTFILE=ORA.HA.ST:DISK00:MS/D500 DYNALC=CAT;

Load the H_ORATDS SM into backing store:

S: MNSYS;C: INSST ORA.HA.ST;C: SM;M: LOAD H_ORATDS REPLACE;M: /C: /

Installing ORACLE For HA

47 A2 16UR Rev01 2-5

The loading of the H_ORATDS SM, as stored in the ORA.HA.ST file, must be done on allthe machines that are Members of the HA Complex (BC00 and BC01 in our example).

After a clean restart, CMSR may possibly start before the H_ORATDS sharable module ofthe ORA.HA.ST file has been loaded into backing store. This will cause an abort in theCMSR startup processing - if ORACLE Services are described in the Complex generationsubfile - because CMSR needs to call an entry point in H_ORATDS.

To solve this, load H_ORATDS into backing store; then restart the CMSR.

2.3.2 Create The ORA.HA.SLLIB Library

When you start or stop an ORACLE Service in an HA environment, the CMSC submits aJCL subfile specific to that Service.

You must create a certain number of these JCL subfiles. First, however, create the library- called ORA.HA.SLLIB - in which to store them:

S: BLIB LIB=ORA.HA.SLLIB:DISK00:MS/D500 UNIT=CYL SIZE=2 MEMBERS=50;S: MDF ORA.HA.SLLIB DUALSHR=ONEWRITE;

2.3.3 The JCL Subfiles You Need For ORACLE With HA

Each JCL subfile runs as a GCOS 7 batch job which then spawns the appropriateORACLE Database Server.

For ORACLE with HA, you need the following JCL subfiles (where xxx is the Servicename specified in the Complex generation - see Section 4):

xxx_STSOR_J (to start the server instance - 1 for each Server)

xxx_TTSOR_J (to stop the server instance - 1 for each Server)

xxx_STDBA_J (to execute database startup - 1 for each Server)

xxx_TTDBA_J (to execute database shutdown - 1 for each Server)

Optionally, you might need a JCL subfile for a SOR ADDTASKS command:

xxx_STSORA_J (to activate SOR A)

ORACLE7/TDS-HA User's Guide

2-6 47 A2 16UR Rev01

2.3.4 Eight JCL Subfiles We Need For Our Example

In this manual, we use an example with two ORACLE database Services: V7SVR1 andV7SVR2.

The example therefore requires 10 JCL subfiles whose names are as follows:

V7SVR1_STSOR_J

V7SVR1_TTSOR_J

V7SVR1_STDBA_J

V7SVR1_TTDBA_J

V7SVR2_STSOR_J

V7SVR2_TTSOR_J

V7SVR2_STDBA_J

V7SVR2_TTDBA_J

In addition to the above, our example needs a JCL subfile called xxx_STSORA_J thatspawns a SOR ADDTASKS command. See further on.

2.3.5 The Four Sample JCL Subfiles In The ORACLE Delivery Kit

There are 6 sample subfiles are delivered in the .SL library of the ORACLE installationdirectory:

ORAHA_STSOR_J ORAHA_TTSOR_J ORAHA_STDBA_J ORAHA_TTDBA_J

These sample JCLs are there to help you. They contain most of the statements you needto create your own specific JCL subfiles in the ORA.HA.SLLIB library.

You will need to modify the JOBLIB, STEP, and SIZE statements. However, you alsorequire a good knowledge of how the OPTIONS string works. Refer to the ORACLE7Installation Guide or the specific JCL documentation if you need help.

Installing ORACLE For HA

47 A2 16UR Rev01 2-7

2.3.6 Tailor Your JCL Using HAJCL, JCL, and ABSENTEE

The best way to tailor your own JCL subfiles is to use three keyword parameters that arespecifically for that purpose:

ABSENTEE=0

JCL=1

HAJCL=1

When the SOR or SQLDBA commands are issued - with these keywords set - theappropriate JCL is displayed so that you can tailor it. Often you need add only the $JOBand $ENDJOB statements to create some executable JCL.

The HAJCL keyword parameter is HA-specific. It causes the main statements of thespawned JCL subfile to be output on your terminal.

The JCL keyword parameter works in the same way as HAJCL, except that it appliesoutside the HA environment.

The ABSENTEE keyword parameter causes the GCL procedure to run in batch mode.

These parameters are used in the examples that follow.

2.3.7 Build The JCL Subfiles To Spawn SOR W

Example: SOR W

Enter the following commands:

S: CRDIR OWDSVR1 CATNAME=ORACLE;S: MP ORACLE;S: MWINLIB BIN .BIN;S: ORACLE;S: MP OWDSVR1;S: SOR W INSTANCE=ORASVR1 SMLIB=ORA.O7103A.SM --: LMLIB=ORA.O7103A.LM MSGDIR=ORA.O7103A SIZE=2000 --: HAJCL=1 JCL=1 ABSENTEE=0;

The main statements of the JCL subfile xxx_STSOR_J are displayed on your terminal, asshown:

MVL HASVID='';JOBLIB SM ORA.O7103A.SM;STEP H_OR_SORW (ORA.O7103A.LM) DUMP=NO OPTIONS='ORASVR1/OWDSVR1/ORA.O7103A/AMERICAN/HA='&HASVID'/* W ';SIZE 2000;ENDSTEP;

ORACLE7/TDS-HA User's Guide

2-8 47 A2 16UR Rev01

Just add the $JOB and $ENDJOB statements to create some usable JCL.

You can build the xxx_TTSOR_J subfile in the same way.

NOTE: The HASVID keyword is initialized by the ORACLE/HA-specific code when theJCL is spawned. It must not be modified by the user.

2.3.8 Access Rights

The administration access rights of an ORACLE database are based on the GCOS 7project concept. They must be taken into account in the JCL subfiles.

The project group that has sufficient privileges to administer an ORACLE database isdetermined as follows:

• If the $JOB statement in the JCL subfile xxx_STSOR_J contains a USER or aUSER/PROJECT statement, administration access rights are given to the project whichis specified, or to the default project of the user if no project is specified.

• If no USER is specified with the $JOB statement in the JCL subfile xxx_STSOR_J,administration access rights are given to the project of the submitter of the JCL subfilexxx_STSOR_J.

The JCL subfiles that you write will be spawned by the executable code of ORACLE/HA.The submitter of any these jobs must be the OPERATOR.

We recommend you to specify a USER/PROJECT, that corresponds to the ORACLEadministration access rights, in the $JOB statement of your JCL subfiles.

2.3.9 Build The JCL Subfiles To Spawn SQL*DBA

The JCL subfiles xxx_STDBA_J and xxx_TTDBA_J are, respectively, in charge of the"startup open" and of the "shutdown" of the database.

These SQL*DBA processor commands are executed via a COMFILE.

Create two COMFILEs in the OWD.SL library of your database Server (OWD meansOracle Working Directory):

- "STARTDB_SQL"

The first COMFILE, named "STARTDB_SQL" , contains the following commands:

connect internalstartup open ORADB1exit

In the example, ORADB1 is the database name .

Installing ORACLE For HA

47 A2 16UR Rev01 2-9

- "SHUTDB_SQL"

The second COMFILE, named "SHUTDB_SQL" , contains the following commands:

connect internalshutdown immediateexit

You are strongly advised to activate an immediate shutdown of the ORACLE database.Do not wait for connected users to disconnect.

If you do not activate an immediate shutdown, IOF or batch connections to the databaseServer may remain. Such connections will block a weak Takeover of the ComplexMember. In that case, the only way to restart the Takeover processing is to kill theORACLE database Server.

As shown earlier for SOR, you can display the main JCL statements on the terminal byusing the HAJCL keyword parameter with the GCL command SQLDBA.

Example: SQL*DBA

Enter the following commands:

S: MP OWDSVR1;S: SQLDBA INSTANCE=ORASVR1 SMLIB=ORA.O7103A.SM --: LMLIB=ORA.O7103A.LM MSGDIR=ORA.O7103A SIZE=200 --: COMFILE=STARTDB HAJCL=1 JCL=1 ABSENTEE=0;

The main statements of the JCL subfile xxx_STDBA_J are displayed on your terminal, asshown:

MVL HASVID='';JOBLIB SM ORA.O7103A.SM;STEP H_OR_KBM (ORA.O7103A.LM) DUMP=NO OPTIONS='ORASVR1/OWDSVR1/ORA.O7103A/AMERICAN/HA='&HASVID'/*command=@STARTDB ';SIZE 200;ENDSTEP;

2.3.10 Build The JCL Subfile To Run SOR A (optional)

We have already seen how to build the mandatory JCL subfiles for running ORACLEunder HA.

Optionally, you may also increase the number of possible connections to the ORACLEdatabase. This requires a SOR A (SOR ADDTASKS) command.

Two steps are necessary:

• Create a JCL subfile (xxx_STSORA_JCL ) that issues a SOR ADDTASKS command.

• Run this JCL from the xxx_STDBA_JCL subfile.

ORACLE7/TDS-HA User's Guide

2-10 47 A2 16UR Rev01

As before, you can display the main JCL statements (of xxx_STSORA_JCL) on theterminal; this time by using the JCL and ABSENTEE keyword parameters with the SOR Acommand. You do not need the HAJCL keyword because SOR A is not specifically forthe HA environment.

Example: SOR ADDTASKS

Enter the following commands:

S: MP OWDSVR1;S: SOR A INSTANCE=ORASVR1 SMLIB=ORA.O7103A.SM --: LMLIB=ORA.O7103A.LM MSGDIR=ORA.O7103A SIZE=1000 --: JCL=1 ABSENTEE=0;

The main statements of the JCL subfile xxx_STSORA_J are displayed on your terminal,as shown:

JOBLIB SM ORA.O7103A.SM;STEP H_OR_SORW (ORA.O7103A.LM) DUMP=NO OPTIONS='ORASVR1/OWDSVR1/ORA.O7103A/AMERICAN/* A ';SIZE 1000;ENDSTEP;

We can append the RUN statement to the xxx_STDBA_J subfile; this will invoke thexxx_STSORA_J subfile:

MVL HASVID='';JOBLIB SM ORA.O7103A.SM;STEP H_OR_KBM (ORA.O7103A.LM) DUMP=NO OPTIONS='ORASVR1/OWDSVR1/ORA.O7103A/AMERICAN/HA='&HASVID'/*command=@STARTDB ';SIZE 200;ENDSTEP;RUN xxx_STSORA_J INLIB=ORA.HA.SLLIB;

47 A2 16UR Rev01 3-1

3. TDS Specifics

See the ORACLE7/TDS User's Guide for ORACLE/TDS specifics.

3.1 SERVICES

When you build an ORACLE/TDS application for the HA environment:

• TDS Servers are monitored as Main Services by the Complex Management Service(CMSC).

• ORACLE Servers of databases that are to be used from ORACLE/TDS applicationsmust also be monitored by the CMSC. They must be declared as Used Services of theTDS in the HA Complex generation subfile.

ORACLE7/TDS-HA User's Guide

3-2 47 A2 16UR Rev01

3.2 TDS GENERATION PROGRAM

When you code a TDS Generation Program for a TDS that is to access ORACLEdatabases in an HA environment, you need:

• a non-HA-specific USE clause for ORACLE/TDS:

Either:

USE ORACLE.or:

USE ORACLE-BASE-<name50>.or:

ORACLE-DEF ... ORACLE-ENDDEF block

• an HA-specific clause that specifies that the TDS is to be monitored by the ComplexManagement Service:

• For example:

PROGRAM-ID. OTDS WATCHED BY CMSC.

Here, the TDS called OTDS is to be monitored (watched) by the CMSC.

The standard High Availability documentation provides full details.

3.3 PRO*COBOL

The HA environment does not affect the standard Pro*COBOL programming rules. Seethe dedicated Pro*COBOL and ORACLE/TDS documentation.

3.4 PRO*C

ORACLE/TDS does not currently support Pro*C programs.

3.5 COMMITMENTS

Internal mechanisms are used to retrieve the state of an ORACLE commitment. Thesehave been modified for HA to take account of the start of a transaction on one Member ofa Complex and the possible restart on another.

47 A2 16UR Rev01 4-1

4. Generating a Complex

This section contains a sample Complex generation for an ORACLE/HA environment. Itis assumed that readers are familiar with the concepts and terminology concerned withComplex management, and with the syntax of the Complex Description Language (CDL).Refer to the Glossary for a definition of terms as they concern ORACLE for HA. AppendixA lists the commands used in this manual.

CDL syntax and all HA-specific information are contained in the two High Availabilitydocuments listed in the Preface.

4.1 ORACLE SERVERS AND SERVICES

ORACLE Servers that are to be monitored and administered under HA by the ComplexManagement Service (CMSC) must be declared as Services in the Complex generationsubfile.

ORACLE database Services that are used with TDS are covered by the same WATCHEDBY clause that applies to TDS.

A Service that is integrated into an HA Complex is identified by its name and type .

4.1.1 Service Names

The example in this manual supposes that we are monitoring two ORACLE databaseServers (ORASVR1 and ORASVR2).

The database Server ORASVR1 is implemented as a Service called V7SVR1.

The database Server ORASVR2 is implemented as a Service called V7SVR2.

JCL subfile names must be prefixed by the Service name.

The person responsible for the Complex generation chooses the Service names for theORACLE database Servers.

NOTE: The Service name is a concept unique to the HA environment; it is not the sameas the ORACLE server instance in standard ORACLE terminology.

ORACLE7/TDS-HA User's Guide

4-2 47 A2 16UR Rev01

4.1.2 Service Types

There are three possible Service types: TDS, ORA, and JAS .

The Service type of all the ORACLE Servers is ORA.

You are not obliged to monitor all of the ORACLE Servers that are running on your site.You may declare some as Used Services of a TDS (possibly supporting additional IOFand batch connections); you may declare others as Main Services for IOF and batchconnections only; yet others may not be monitored at all.

4.1.3 ORACLE With HA But Without TDS

It is possible to have an ORACLE Server monitored by HA but without TDS. If so, itbehaves as follows:

After a crash:

• IOF and batch ORACLE processing is aborted.• All connections are lost.

After a weak Takeover:

• IOF and batch ORACLE processing is aborted.• Terminal users using a non-HA TDS are also aborted.• IOF connections are not disconnected.• IOF and batch processing are not restarted on the Co-Member.

4.1.4 ORACLE Without HA

You may have an ORACLE Server that does not use HA. It behaves as follows:

After a crash:

• All processing and connections are lost.

After a weak Takeover:

• The ORACLE Server remains active.• ORACLE processing activated by IOF, batch, or non-HA TDS terminal users is not

impacted by a weak takeover.

4.2 EXAMPLE: SAMPLE COMPLEX GENERATION SUBFILE

CDL consists of five declaration directives: CX, CXMB, CXSRVTYP, CXSRV, andCXSRVMAP. They are documented fully in the High Availability Administrator's Guide.

Generating a Complex

47 A2 16UR Rev01 4-3

Their order of appearance in the Complex generation subfile must be scrupulouslyrespected. You cannot enter these directives interactively.

CX ORAHA;CXMB BC00;CXMB BC01;CXSRVTYP TDS;CXSRVTYP JAS;CXSRVTYP ORA;CXSRV BLUE JAS;CXSRV V7SVR1 ORA;CXSRV V7SVR2 ORA;CXSRV OTDS TDS USRV=(BLUE,V7SVR1);CXSRVMAP BLUE JAS MB=(BC00,BC01);CXSRVMAP V7SVR1 ORA MB=(BC00,BC01);CXSRVMAP V7SVR2 ORA MB=(BC01,BC00);CXSRVMAP OTDS TDS MB=(BC00,BC01);

From this example we learn the following:

• The name of the Complex is ORAHA.

• The Members belonging to the Complex are called BC00 and BC01.

• The Service types are:

- TDS- JAS- ORA

• The monitored TDS Service is:

- OTDS.

• The monitored JAS Service is:

- a JAS (BLUE) (JOURNALIZATION_ADVANCED_SERVICE).

• The monitored ORA Services are:

- V7SVR1 (an ORACLE database Service accessed through a TDS and, possibly,through IOF and batch programs),

- V7SVR2 (an ORACLE database Service accessed through IOF or batch programsonly).

• The Used Services of OTDS are:

- BLUE- V7SVR1

ORACLE7/TDS-HA User's Guide

4-4 47 A2 16UR Rev01

• The following Services are mapped by default onto BC00 as the Active Member:

- BLUE- V7SVR1- OTDS

• The following Service is mapped by default onto BC01 as the Active Member:

- V7SVR2

4.3 VERIFY THE HA COMPLEX DESCRIPTION SUBFILE

As soon as your Complex generation subfile is ready, you should verify the syntax.

Do this by issuing a CRCXGEN (CREATE_COMPLEX_GENERATION) command. Thiscommand is accessible only by the system operator from the MAIN domain.

Example: CRCXGEN to verify a Complex description

S: CRCXGEN SOURCE=MYCOMPLEXDESC SLLIB=MYLIB ENABLE=0;

SOURCE specifies the subfile name. SLLIB is the library that contains the subfile.

ENABLE=0 requests a CDL verification; no Complex generation is performed.

If there are any errors in the CDL syntax, the applicable error messages appear on theterminal.

4.4 GENERATE THE HA COMPLEX DESCRIPTION

When the Complex generation subfile has been verified (and corrected, if necessary), youare ready to generate the HA Complex. Both CMSRs must be stopped when thisgeneration is done (full details in the High Availability documentation).

Do this by issuing a CRCXGEN (CREATE_COMPLEX_GENERATION) command. Thiscommand is accessible only by the system operator from the MAIN domain.

Example: CRCXGEN to generate a sample Complex

S: CRCXGEN SOURCE=MYCOMPLEXDESC SLLIB=MYLIB ENABLE=1;

SOURCE specifies the subfile name. SLLIB is the library that contains the subfile.

ENABLE=1 requests a Complex generation.

47 A2 16UR Rev01 5-1

5. ORACLE Services Under HA

This section uses the Complex generation subfile that was created in the previoussection. We show you an example of how to put the Complex into operation. Eachsuccessive step is described.

A full TDS-HA example of the Complex Management Service is to be found in the HighAvailability Administrator's Guide. This is the primary reference for those managing andmonitoring a Complex.

NOTE: Most of the Complex monitoring commands are accessible only from the MAIN(System Operator) domain.

5.1 START THE CMSR

The CMSR has to be started on every Member of the HA Complex. CMSR startup maybe done automatically as part of GCOS 7 initialization. But there is a system operatorcommand that starts a CMSR explicitly.

Enter a START_CMSR (SCMSR) command on every Member of the Complex (in ourexample, BC00 and BC01):

S: SCMSR;

5.2 START EACH MEMBER

Enter a START_MEMBER (SMB) command on a Member where the CMSR is alreadyrunning:

S: SMB MB=*;

* means "all members", so this command starts the entire Complex.

ORACLE7/TDS-HA User's Guide

5-2 47 A2 16UR Rev01

5.3 CATALOG AND LINK THE JAS-PROTECTED USER FILES

JOURNALIZATION_ADVANCED_SYSTEM (JAS) is described fully in the HighAvailability documentation.

The user files protected by a HA type JAS must be cataloged in auto-attachable catalogsand then linked to that JAS, using the MAINTAIN_JAS processor (whose use is restrictedto users with SYSADMIN access rights).

Only the TDS-controlled files of OTDS need to be protected. The files used by ORACLEmust not be linked to a JAS.

Logged on with SYSADMIN access rights, enter the following commands on everyMember of the Complex (here, BC00 and BC01):

S: MNJAS;M: LINK JAS_NAME=BLUE CATNAME=OTDS.CATALOG;

5.4 START SERVICES

Now you can start the Services specified in the Complex generation subfile.

To start a Service manually, enter a START_SERVICE (SSRV) command. Examplesfollow.

Starting a Main Service automatically activates any associated Used Services.

A Service runs in Active state by default on the Member which is the first in the listspecified by the CXSRVMAP command in the Complex generation subfile. You canmodify the list by issuing a SSRV command with the MEMBER keyword.

Starting, monitoring, and stopping the different kinds of Service relative to ORACLE forHA are described further on in this section.

A Note about the Messages Sent to the Console

The examples further on show the messages displayed on the Operator console. Thecontent of these messages, and the order in which they appear, depend on the executioncontext. Therefore, they may differ slightly from those documented here.

ORACLE Services Under HA

47 A2 16UR Rev01 5-3

5.5 THE ORACLE DATABASE SERVICES

ORACLE database Services that have been declared in the Complex generation as UsedServices are automatically started when the associated Main Service is started.

The V7SVR1 Service is a Used Service of OTDS and is therefore started automaticallywhen OTDS is started. Used Services are, however, stopped manually. See thesubsection on ORACLE/TDS Services further on.

The V7SVR2 Service is not a Used Service and therefore must be started and stoppedmanually with the SSRV and TSRV commands.

5.5.1 Start the ORACLE Database Service

Enter the following command to start the V7SVR2 Service:

S: SSRV V7SVR2;

Once this command has been entered, the executable code of ORACLE/HA works asfollows:

• ORACLE/HA spawns the job described in the V7SVR2_STSOR_J JCL of theORA.HA.SLLIB on the two Members of the Complex.

• The ORACLE database Server ORASVR2 is initialized.

• ORACLE/HA spawns the job described in the V7SVR2_STDBA JCL of theORA.HA.SLLIB on the Member where the Server has to work in Active state. This jobexecutes the "startup open" of the ORACLE database and (optionally - see further on)the SOR ADDTASKS command.

• This processing corresponds to the change from the Backup state to the Active state.

The following messages will appear:

On the Member where V7SVR2 will work in Backup state:

IN STSOR_J USER=ORADMIN CLASS=PSTARTED STSOR_J ORADMIN PSTEP H_OR_SORWORACLE instance server ORASVR2 initializedSERVICE V7SVR2 STARTED IN ACTIVE MODE ON MEMBER BC01SERVICE V7SVR2 STARTED IN BACKUP MODE ON MEMBER BC00

ORACLE7/TDS-HA User's Guide

5-4 47 A2 16UR Rev01

On the Member where V7SVR2 was working in Active state:

IN STSOR_J USER=ORADMIN CLASS=PSTARTED STSOR_J ORADMIN PSTEP H_OR_SORWORACLE instance server ORASVR2 initializedIN STDBA_J USER=ORADMIN CLASS=PSTARTED STDBA_J ORADMIN PSTEP H_OR_KBMCOMPLETED STDBA_J ORADMIN PSERVICE V7SVR2 STARTED IN BACKUP MODE ON MEMBER BC00SERVICE V7SVR2 STARTED IN ACTIVE MODE ON MEMBER BC01

Notice that the name of the ORACLE server instance is ORASVR2. As we saw in Section2, this is the name specified in the OPTIONS string of the applicable JCL subfile(V7SVR2_STSOR_J).

POSSIBLE ACCESS CONFLICT:

The STSOR_J job is spawned simultaneously on the two Members so it is possible tohave a temporary conflict when accessing the ORACLE.CATALOG.

If a conflict occurs, these messages will appear on one of the two MEMBERS (usually theone where the COR service has to be in the Backup state:

DF02 X.... WAITS FOR FILE ORACLE.CATALOG RSDT FOR DUAL SHARINGCONDITIONSDF02 X.... WAITS FOR DUAL SHARING OF FILE ORACLE.CATALOG ON DISK00

The system resolves such conflict quickly, and promptly reactivates the job.

5.5.2 Display The Status Of The ORACLE Database Service

To display the current status of the V7SVR2 Service, enter the following command:

S: DSRV V7SVR2;

5.5.3 Stop the ORACLE Database Service

To stop the V7SVR2 Service, enter the following command:

S: TSRV V7SVR2;

When this command has been entered, the following takes place:

• The job described in the V7SVR2_TTDBA JCL of the ORA.HA.SLLIB is spawned onthe Member where the Service was working in Active state.

• The ORACLE database is "shutdown" and (if applicable) the job stops SORADDTASKS.

• This processing corresponds to the change from the Active state to the Backup state.

ORACLE Services Under HA

47 A2 16UR Rev01 5-5

• On the two Members of the Complex, it spawns the job described in theV7SVR2_TTSOR_J JCL of the ORA.HA.SLLIB.

The following messages will appear:

On the Member where V7SVR2 was working in Backup state:

IN TTSOR_J USER=ORADMIN CLASS=PSTARTED TTSOR_J ORADMIN PSTEP H_OR_SORCORACLE instance server ORASVR2 shutdown complete.COMPLETED STSOR_J ORADMIN PCOMPLETED TTSOR_J ORADMIN PSERVICE V7SVR2 TERMINATED ON MEMBER BC00SERVICE V7SVR2 TERMINATED ON MEMBER BC01

On the Member where V7SVR2 was working in Active state:

IN TTDBA_J USER=ORADMIN PSTARTED TTDBA_J ORADMIN PSTEP H_OR_KBMCOMPLETED TTDBA_J ORADMIN PORACLE instance server ORASVR2 initialized.IN TTSOR_J USER=ORADMIN CLASS=PSTARTED TTSOR_J ORADMIN PSTEP H_OR_SORCORACLE instance server ORASVR2 shutdown complete.COMPLETED STSOR_J ORADMIN PCOMPLETED TTSOR_J ORADMIN PSERVICE V7SVR2 TERMINATED ON MEMBER BC00SERVICE V7SVR2 TERMINATED ON MEMBER BC01

ORACLE7/TDS-HA User's Guide

5-6 47 A2 16UR Rev01

5.6 THE ORACLE/TDS SERVICES

An ORACLE/TDS Service is a TDS application that accesses one or more ORACLEdatabases.

Used Services of the TDS are automatically started when the ORACLE/TDS Service isstarted (unless they are already running).

In our example, OTDS is an ORACLE/TDS Service; BLUE and V7SVR1 are both UsedServices of OTDS.

5.6.1 Start the ORACLE/TDS Service (and the Used Services)

To start the ORACLE/TDS Service, enter the following:

S: SSRV OTDS;

When this command has been entered, the following takes place:

• CMSR firstly starts the Used Services - in our example, BLUE and V7SVR1.

• Then, once BLUE and V7SVR1 are running, the OTDS Service is started.

The following messages appear (the example assumes that the Used Services are notalready running):

On the Console of each Member in the Complex:

IN STSOR_J USER=ORADMIN CLASS=PSTARTED STSOR_J ORADMIN PSTEP H_OR_SORWORACLE instance server ORASVR1 initialized

On the Member where OTDS has to work in Backup state:

SERVICE ORASVR1 STARTED IN BACKUP MODE ON MEMBER BC01SERVICE BLUE STARTED IN BACKUP MODE ON MEMBER BC01IN TP7JCLBA USER=TDSADMIN CLASS=PSTARTED TP7JCLBA TDSADMIN PSTEP OTDSSERVICE OTDS STARTED IN BACKUP MODE ON MEMBER BC01SERVICE ORASVR1 STARTED IN ACTIVE MODE ON MEMBER BC00SERVICE BLUE STARTED IN ACTIVE MODE ON MEMBER BC00SERVICE OTDS STARTED IN ACTIVE MODE ON MEMBER BC00

NOTE: The TP7JCLBAC job is used by CMSC to start the Backup TDS Server. Seethe High Availability documentation as this is TDS-specific.

On the Member where OTDS has to work in Active state:

IN STDBA_J USER=ORADMIN PSTARTED STDBA_J ORADMIN P

ORACLE Services Under HA

47 A2 16UR Rev01 5-7

STEP H_OR_KBMCOMPLETED STDBA_J ORADMIN PSERVICE ORASVR1 STARTED IN ACTIVE MODE ON MEMBER BC00SERVICE BLUE STARTED IN ACTIVE MODE ON MEMBER BC00IN TP7JCLAC USER=TDSADMIN CLASS=PSTARTED TP7JCLAC TDSADMIN PSERVICE OTDS STARTED IN ACTIVE MODE ON MEMBER BC00SERVICE ORASVR1 STARTED IN BACKUP MODE ON MEMBER BC01SERVICE BLUE STARTED IN BACKUP MODE ON MEMBER BC01SERVICE OTDS STARTED IN BACKUP MODE ON MEMBER BC01

NOTE: The TP7JCLACT job is used by CMSC to start the Active TDS Server. See theHigh Availability documentation as this is TDS-specific.

5.6.2 Display The Status Of The ORACLE/TDS Service

To display the current status of the OTDS Service, enter the following command:

S: DSRV OTDS;

5.6.3 Stop the ORACLE/TDS Service

Firstly, stop the TDS Service, then the ORACLE and BLUE Services (if applicable).

To stop the OTDS Service, enter the following command:

S: TSRV OTDS;

CMSR then stops the OTDS Service.

The following messages appear:

On the Member where OTDS was working in Backup state:

SERVICE OTDS TERMINATED ON MEMBER BC01COMPLETED TP7JCLBA TDSADMIN PSERVICE OTDS TERMINATED ON MEMBER BC00

On the Member where OTDS was working in Active state:

SERVICE OTDS TERMINATED ON MEMBER BC01SERVICE OTDS TERMINATED ON MEMBER BC00COMPLETED TP7JCLAC TDSADMIN P

5.6.4 Stop the ORACLE Used Service

You can stop an ORACLE Used Service as long as it is not used by any other TDSService. To do this, enter the following command:

ORACLE7/TDS-HA User's Guide

5-8 47 A2 16UR Rev01

S: TSRV V7SVR1;

The following messages appear:

On the Member where V7SVR1 was working in Backup state:

IN TTSOR_J USER=ORADMIN CLASS=PSTARTED TTSOR_J ORADMIN PSTEP H_OR_SORCORACLE instance server ORASVR1 shutdown complete.COMPLETED STSOR_J ORADMIN PCOMPLETED TTSOR_J ORADMIN PSERVICE V7SVR1 TERMINATED ON MEMBER BC01SERVICE V7SVR1 TERMINATED ON MEMBER BC00

On the Member where V7SVR1 was working in Active state:

IN TTDBA_J USER=ORADMIN PSTARTED TTDBA_J ORADMIN PSTEP H_OR_KBMCOMPLETED TTDBA_J ORADMIN PORACLE instance server ORASVR1 initialized.IN TTSOR_J USER=ORADMIN CLASS=PSTARTED TTSOR_J ORADMIN PSTEP H_OR_SORCORACLE instance server ORASVR1 shutdown complete.COMPLETED STSOR_J ORADMIN PCOMPLETED TTSOR_J ORADMIN PSERVICE V7SVR1 TERMINATED ON MEMBER BC00SERVICE V7SVR1 TERMINATED ON MEMBER BC01

5.6.5 Stop the BLUE JAS Service

If the BLUE Service is still used in the Complex, you must not attempt to stop it.

If BLUE is no longer used in the Complex, you can stop it by entering the followingcommand:

S: TSRV BLUE;

47 A2 16UR Rev01 6-1

6. Takeover and Downtime

6.1 TAKEOVER

Takeover ensures a minimum of disruption to end users.

If ORACLE is running in an HA environment, all the Servers that were running in theBackup state (on the Co-Member) become Active (that is, are taken over). The Co-Member of the Complex takes over support of the Services that were running on theMember at the time of the failure or unplanned incident, as illustrated by the Figures inSection 1.

After a Takeover, an automatic TDS warm restart takes place. ORACLE/TDS users arethen reconnected to their applications.

There are various kinds of Takeover:

• automatic

• manual- weak- strong- force

These are described fully in the High Availability documentation.

ORACLE7/TDS-HA User's Guide

6-2 47 A2 16UR Rev01

6.2 DOWNTIME

Performance criteria in ORACLE/HA depend chiefly on the time it takes for the ORACLEdatabase Service to switch from the Backup state to the Active state.

6.2.1 Recovery Processing

The maximum downtime of an ORACLE database Service running in an HA environmentis determined by the time taken to carry out recovery processing:

• The ORACLE database Server Service does not switch instantly from the Backupstate to the Active state. Recovery processing is performed when the database isopened. The time needed for the recovery depends on two factors:

- the level of database activity at crash-time,- the interval between two ORACLE checkpoints.

6.2.2 Checkpoint Intervals

The interval between two checkpoints can be fixed by the ORACLE DatabaseAdministrator (DBA). The interval depends on:

• the size of the redo log files,

• the value of the LOG_CHECKPOINT_INTERVAL parameter of the INIT_ORA file.

Refer to the ORACLE Database Administrator's Guide for advice on these topics. Theshorter the interval between two checkpoints, the shorter the database recovery time (butsystem performance is decreased due to the larger number of checkpoints being taken).

6.2.3 ORACLE/TDS Restart

When an ORACLE/TDS Service restarts on the Co-Member, the ORACLE/TDS contextcache - used for database connection and cursor parsing - is clean. (This is exactly whathappens after a TDS warmstart.)

The first transaction processing operations to take place after the restart will thereforetake slightly longer than usual; the ORACLE database has to be physically reconnectedand the cursor parsing has to be performed.

Takeover and Downtime

47 A2 16UR Rev01 6-3

It is possible that the restart of some transactions may fail (TIMEOUT) due to theORACLE server load.

TDS restarts as many transactions as it can in parallel (depending on the value of theSIMULTANEITY IS clause in the TDS Generation Program).

You can avoid this kind of restart timeout failure by increasing the value of the MAXTIMparameter. You can do this in the normal way by setting MAXTIM in the ORACLE-DEFblock of the STDS file. Refer to the ORACLE7/TDS User's Guide for full details on theparameters of the ORACLE-DEF block.

ORACLE7/TDS-HA User's Guide

6-4 47 A2 16UR Rev01

47 A2 16UR Rev01 7-1

7. Error Messages

There are specific ORACLE error messages which may appear during an HA process.

For each error, the message, the probable cause and corrective action are given.

CM27

Message: CM27 FAILURE IN THE EVA TABLE INITIALIZATIONFOR THE SERVICE ORA, RC= DYNAD 21,NOMATCH,INTERNAL ERROR NUMBER=xxx

Meaning: The H_ORATDS SM of the ORA.HA.ST file has not beenloaded into backing store. Check Section 2 of this documentfor guidance.

Action: Load the H_ORATDS SM of ORA.HA.ST into backing store.

CM40

Message: CM40 ABNORMAL PROCESSING IN SERVICE xxxTERMINATION ON MEMBER xxx, RC= ORACL41,OBJUNK

Meaning: A JCL job has been spawned from the ORA.HA.SLLIB library,but the CMSC has not been notified that the associatedService has been activated.

The CMSC requests termination of the job once timeout pointis reached. Since initialization of the Service in question hasnot been confirmed, there is no reference to it in theORACLE/HA server table - hence the OBJUNK return code.

Action: The JCL job is not compatible with the HA environment.Check the OPTIONS string; check also that the JCL (viastatements such as $SWI, $INVOKE, $RUN and so on) usesonly libraries that have the DUALSHR=ONEWRITE attribute.

ORACLE7/TDS-HA User's Guide

7-2 47 A2 16UR Rev01

47 A2 16UR Rev01 A-1

A. ORACLE With HA Command Set

A.1 GCL COMMANDS

ATTACH Attach/detach a catalog search path.ATT

BUILD_LIBRARY Build a library.BLIB

COPY_FILE Copy a file.CPF

CREATE_CATALOG Create a catalog.CRCAT

CREATE_COMPLEX_GENERATIONCRCXGEN Generate a Complex.

CREATE_DIRECTORY Create a directory.CRDIR

DISPLAY_SERVICE Display information about a Service.DSRV

MAINTAIN_JAS Call the JAS processor.MNJAS

MAINTAIN_SYSTEM Call the MAINTAIN_SYSTEM processor.MNSYS

MODIFY_CATALOG Modify catalog attributes.MDCAT

MODIFY_FILE Modify file attributes.MDF

SOR Activate the SOR processor.

SQLDBA Activate the SQL*DBA processor.

ORACLE7/TDS-HA User's Guide

A-2 47 A2 16UR Rev01

START_CMSR Start the CMSR.SCMSR

START_MEMBER Start one or more Complex Members.SMB

START_SERVICE Start a Service.SSRV

TERMINATE_CMSR Stop the CMSR.TCMSR

TERMINATE_MEMBER Stop one or more Complex Members.TMB

TERMINATE_SERVICE Stop a Service.TSRV

A.2 CDL COMMANDS

COMPLEX Name a Complex.CX

COMPLEX_MEMBER Name the Complex Members.CXMB

COMPLEX_SERVICE Specify a Service name along with its type.CXSRV Also declare any associated Used Services.

COMPLEX_SERVICE_MAPSpecify default Member where aCXSRVMAP Service runs in Active state.

COMPLEX_SERVICE_TYPECXSRVTYP Specify a Service type.

47 A2 16UR Rev01 g-1

Glossary

Active state

A Server is said to be in an Active state if it is currently supporting its Service.

Backup state

A Server is said to be in a Backup state if it is not currently supporting its Service,but is available to rescue the active Service during a Takeover.

BLUE

One of the HA type JASs in a Complex. (The other one is called GREEN.)

CDL

Complex Description Language. Used to describe a Complex to the CMSC.Consists of 5 special declaration directives - see the example in Section 4 and theCDL command list in Appendix A.A Complex generation subfile consists of CDL statements.

Checkpoint

In a purely ORACLE sense, a point where modified blocks are written to thedatabase. Occurs (i) when the number of redo log file blocks written equals thevalue of the LOG_CHECKPOINT_INTERVAL parameter or (ii) when an online redolog file fills up.

CMSC

Complex Management Service. Each Complex has a single CMSC to monitor andadminister it. The CMSC is implemented by a CMSR that runs on each ComplexMember.

CMSR

Complex Management Server. Each Member has a CMSR to support the singleComplex CMSC. Each CMSR implements the administrative functions for thatMember of the Complex.

ORACLE7/TDS-HA User's Guide

g-2 47 A2 16UR Rev01

Co-Member

In an HA context, a Co-Member is a GCOS 7 system that belongs to a Complex.Each Co-Member must have CMSR running on it.More specifically, a Complex consists of two machines: a Member and a Co-Member.The Member is where some (or all) Servers are running in an Active state; the Co-Member is where those same Servers are waiting in a Backup state, to be used if aTakeover is necessary. Moreover, it is perfectly possible in the same Complex thatsome Servers are running in an Active state on the Co-Member, and are waiting ina Backup state on the Member.

Complex

A Complex is a set of Members (currently limited to two) cooperating in theimplementation and support of Services.Each Member has access to a set of shared disks.A Complex is administered and monitored by the CMSC.

Complex description

The description of a Complex, written in CDL.

Complex generation

The act of generating (or regenerating) a Complex.Dynamic and static description files are loaded from the CDL Complex descriptionfile when the CRCXGEN command is issued. CMSRs cannot be running when aComplex is generated.A Complex generation subfile consists of CDL statements.

COR

The processor used to start or stop the ORACLE communications Server. Thisprocessor is not seen by HA and must be considered as a communication elementto be started on both members (launch by means of the System STARTUP).

CRCXGEN

Abbreviation of the CREATE_COMPLEX_GENERATION command. Used togenerate a Complex.

Downtime

The elapsed time during which a system or application is not available due to anincident or failure. Synonym of outage.

HA

See "High Availability".

Glossary

47 A2 16UR Rev01 g-3

HAJCL

A parameter that causes the applicable HA-specific JCL stream to be displayed onthe terminal. The JCL can then be adapted to requirements.

High Availability

The High Availability environment reduces downtime to the absolute minimumfollowing a crash or unplanned incident.A Service is said to be in HA mode if it has been declared as Mapped onto bothMembers at Complex generation time.HA is a static property.

JAS

JOURNALIZATION_ADVANCED_SERVICE. It is a GCOS 7 product providing afile recovery and protection service.

Main Service

See "Service". A Main Service uses a Used Service. A Main Service cannot useanother Main Service.Starting a Main Service automatically induces the starting of any associated UsedServices (that are not already running).In an ORACLE with HA environment, a Main Service might be a TDS Service thathas an ORACLE database Service as a Used Service.

Member

In an HA context, a Member is a GCOS 7 system that belongs to a Complex.Each Member must have CMSR running on it.More specifically, a Complex consists of two machines: a Member and a Co-Member.The Member is where Servers are running in an Active state; the Co-Member iswhere the same Servers are waiting in a Backup state, to be used if a Takeover isnecessary. It is perfectly possible that other Servers may be running in an Activestate on the Co-Member, and are therefore waiting in a Backup state on theMember.The default Member where a Service runs in Active state is specified in theComplex description.

Outage

See "Downtime".

Redo log

At least two files that comprise a set of actions that are to be reapplied to thedatabase if the changes were not written to disk.

ORACLE7/TDS-HA User's Guide

g-4 47 A2 16UR Rev01

Server

The CMSC submits a JCL subfile specific to a Service that has been declared inthe Complex generation. Each JCL subfile runs as a job that spawns theappropriate ORACLE Server.

Server name

The Server name is specified in the OPTIONS string of the JCL that spawns thatServer.

Service

A Service is in HA mode if it has been mapped onto two Members at Complexgeneration time.A Service can be of three types: JAS, TDS, ORA.A Service is implemented by a Server running in Active state on the Member, and ashadow Server running in Backup state on the Co-Member.

SOR

The processor used to start or stop an ORACLE database Server.

SQL*DBA

An administration utility tool for the DBA; it has a monitoring and maintenancefunction. Used to start and stop database activity.

Takeover

The Takeover operation involves switching Servers that were running in the Backupstate on the Co-Member to run in the Active state on that Co-Member, following acrash or unplanned incident on the Member. The associated Services are thensupported by that Co-Member.

Glossary

47 A2 16UR Rev01 g-5

Used Service

A Service that is used by a Main Service. This means that when the Main Serviceis started, the associated Used Service(s) are started automatically.At Takeover-time, a Used Service is taken over with its Main Service.

WATCHED BY CMSC

An HA-specific clause appended to the PROGRAM-ID clause in the TDS SECTIONof the TDS Generation Program. It specifies that the TDS is to be monitored byHA.

ORACLE7/TDS-HA User's Guide

g-6 47 A2 16UR Rev01

47 A2 16UR Rev01 i-1

Index

A

ABSENTEE keyword 2-7Access rights 2-8Active state 1-1

B

BLIB 2-5

C

CDL 4-1, 4-3Checkpoint 6-2CMSC 4-1CMSR 2-5, 5-1Co-Member 1-1, 6-1COMFILE 2-8Commitment 3-2Complex 1-1, 4-1Complex Description Language 4-1Complex generation 4-1, 4-3Context cache 6-2COPY_FILE 2-4Coupled system 2-1CRCAT 2-3CRCXGEN command 4-4CRDIR 2-3, 2-4CX 4-3CXMB 4-3CXSRV 4-3CXSRVMAP 4-3CXSRVTYP 4-3

D

Database Server 1-1Declaration directive 4-3Downtime 6-2

E

Error message 7-1

F

File 2-3

G

Generation Program 3-2

H

H_ORACLE 2-3H_ORATDS 2-3HA 1-1HAJCL keyword 2-7HASVID keyword 2-8High Availability 1-1

I

Immediate shutdown 2-9Installation 2-1

J

JCL keyword 2-7JCL subfile 2-5

L

LOG_CHECKPOINT_INTERVAL parameter

ORACLE7/TDS-HA User's Guide

i-2 47 A2 16UR Rev01

6-2

M

Main Service 1-1MAXTIM parameter 6-3MDF 2-5Member (of a Complex) 1-1MNSYS 2-4

O

ORACLE entry point 6-3ORACLE.CATALOG 2-1ORAHA_ subfiles 2-6ORATDS 6-3

P

Pro*C 3-2Pro*COBOL 3-2Project 2-8

R

Restart 6-2

S

SCMSR command 5-1Server 3-1, 4-1Service 1-1, 3-1, 4-1

name 4-1type 4-2

SHUTDB_SQL 2-9Shutdown 2-9SIMULTANEITY IS clause 6-3SOR ADDTASKS 2-5, 2-9SOR WARMSTART 2-7SQL*DBA 2-8START_CMSR command 5-1STARTDB_SQL 2-8

T

Takeover 1-1, 6-1TDS 3-1TDSGEN 3-2

U

USE ORACLE 3-2Used Service 1-1

Technical publication remarks form

Title : DPS7000/XTA NOVASCALE 7000 ORACLE 7 / TDS-HA User's Guide DatabaseProducts: ORACLE

Reference Nº : 47 A2 16UR 01 Date : November 1995

ERRORS IN PUBLICATION

SUGGESTIONS FOR IMPROVEMENT TO PUBLICATION

Your comments will be promptly investigated by qualified technical personnel and action will be taken as required.If you require a written reply, please include your complete mailing address below.

NAME : Date :

COMPANY :

ADDRESS :

Please give this technical publication remarks form to your BULL representative or mail to:

Bull - Documentation Dept.

1 Rue de ProvenceBP 20838432 ECHIROLLES [email protected]

Technical publications ordering form

To order additional publications, please fill in a copy of this form and send it via mail to:

BULL CEDOC357 AVENUE PATTONB.P.2084549008 ANGERS CEDEX 01FRANCE

Phone: +33 (0) 2 41 73 72 66FAX: +33 (0) 2 41 73 70 66E-Mail: [email protected]

CEDOC Reference # Designation Qty

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

_ _ _ _ _ _ _ _ _ [ _ _ ]

[ _ _ ] : The latest revision will be provided if no revision number is given.

NAME: Date:

COMPANY:

ADDRESS:

PHONE: FAX:

E-MAIL:

For Bull Subsidiaries:

Identification:

For Bull Affiliated Customers:

Customer Code:

For Bull Internal Customers:

Budgetary Section:

For Others: Please ask your Bull representative.

BULL CEDOC

357 AVENUE PATTON

B.P.20845

49008 ANGERS CEDEX 01

FRANCE

47 A2 16UR 01REFERENCE