How to extend a Datacom area while the database is open
search cancel

How to extend a Datacom area while the database is open

book

Article ID: 9503

calendar_today

Updated On:

Products

Datacom Datacom/AD Datacom/DB

Issue/Introduction

When a database area in Datacom/AD or Datacom/DB becomes full, it is necessary to extend the space available in that area to allow more records to be added. Likewise if the CXX or LXX have filled, these system areas need to be extended in order to be used further. If the database definition for that index or data area indicates that Dynamic Extend of the DASD allocation is allowed, and the file has not reached either its maximum number of extents or the maximum space on the volume, the Multi-User facility will automatically add another extent and prepare it for processing. However, if the size of the DASD extent is either too small or too large, or if a Virtual area is out of space, a manual extend must be done. How can this be done while the application is actively processing and without introducing an outage?

Environment

Release: All

Component : Datacom/DB

Component : Datacom/AD

Resolution

With Datacom/DB and Datacom/AD, an extend of a data area or index area can be performed dynamically, and the size of the extent can be specified without stopping any applications or closing databases. In the event that a DASD-based file has reached its maximum number of extents or an additional volume needs to be added to the allocation, this process cannot be used, and the database area file must be reallocated when the database can be closed.

In addition to performing this on-demand extend (called a Directed Dynamic Extend), this process will also adjust the dynamic extend type and amount so any further automatic dynamic extends will use this new value. This value will remain in effect for subsequent extends until the database is closed or the MUF is shut down.

There are certain rules for this process

  • The area and database cannot be defined as ACCESS OFF, ACCESS READ, or ACCESS UTLTY.
  • The area cannot be the index of the Compound Boolean Selection (CBS) temporary database (normally database ID 6).
  • The database must have been defined or defaulted in the MUF startup with ACCESS OPTIMIZE.
  • DASD data sets have restrictions of 16 extents per volume and 59 volumes.
  • VIRTUAL databases are memory only and have no limitations on the number of extents other than running out of memory.

There are three ways to issue this command (called a Console-like command) and examples:

  1. Issuing the command from the console
  2. Using DBUTLTY in batch mode
  3. By inserting a record into a specific Datacom System Table using SQL

Issuing the command from the console:

/F mufjobname,DYNAMIC_EXTEND 430,IXX,50,TRK

No direct response from the console - see the MUF JES log below for the result

=============
Using DBUTLTY in batch mode:

//SYSIN     DD  *
  COMM OPTION=CONSOLE,OPTION2='DYNAMIC_EXTEND 430,IXX,50,TRK'
 /* 
-------------------------------------------------------------------------------------------------
DBUTLTY output:
Date: mm/dd/yyyy   **************************************************************
                   *                                CA Datacom/DB                
Time: hh.mm.ss     *                                General Utility              
                   *                    Copyright . 2009 CA. All rights reserved.
                   **************************************************************
                   
COMM       DBUTLTY COMM CONSOLE COMPLETE - DYNAMIC_EXTEND 430,IXX,50,TRK 

=============
By inserting a record into a specific Datacom System Table using SQL.
Here is an example with DBSQLPR:

//SYSIN    DD  *
   INSERT INTO SYSADM.SQL_CONSOLE
      VALUES('MYMUF','DYNAMIC_EXTEND 430,IXX,50,TRK'); 
/*

DBSQLPR output:

INPUT STATEMENT:
INSERT INTO SYSADM.SQL_CONSOLE
   VALUES('MYMUF','DYNAMIC_EXTEND 430,IXX,50,TRK');

___ SQLCODE=0, SQLSTATE=00000, ROWS AFFECTED=1 ___      

In these examples, the command format shows 'DYNAMIC_EXTEND 430,IXX,50,TRK' where:

DYNAMIC_EXTEND is the command entered
430 is the DBID to process
IXX is the area in the DBID to process
50 is the amount to extend (0 to 65535)
TRK is the type of extent (TRK or CYL). Note that if TRK is specified, and the file is allocated in CYL, the amount is rounded up to the next CYL boundary.

If the extend was issued via the console command, you will see these messages in the MUF JES log:

DB01311I - DYNAMIC_EXTEND 430,IXX,50,TRK 
DB01335I - CONSOLE SCHEDULED - DYNAMIC_EXTEND 430,IXX,50,TRK  

For all three command options, you will see messages like these in the MUF JES log:

DB01703I - DYNAMIC EXTEND OF AREA IXX00430 STARTED 
DB01701I - DYNAMIC EXTEND OF AREA IXX00430 ENDED, TRACKS BEFORE: 4,350 TRACKS AFTER: 4,410  

Note that if you are extending a Virtual-defined area, you can still specify the dynamic extent values using TRK or CYL, and the MUF will convert the value into the appropriate memory size, to a high limit of 2GB.

There are further considerations if you are extending the LXX or CXX; please refer to the DYNAMIC_EXTEND documentation for details.

Additional Information

For more information about the DYNAMIC_EXTEND Console-like command, please refer to the Datacom/DB Core documentation for the DYNAMIC_EXTEND command.

Note, too, that you can pre-define Dynamic Extension settings for Virtual-defined areas through the use of the VIRTUAL_DYNAMIC_EXTEND command. 

As always, please contact Broadcom support for Datacom if you have further questions.