A change to implement a Unique Record Identifier (URI), in Datacom/DB database indexes was implemented in r8.0 (1990). This is the default specification for all new indexes created in Datacom. However, Datacom continues to provide support for the older RECID form of indexing.
As of r11, all Datacom system databases (typically DBIDs 1 - 20, 1000 - 1020, etc.) must use URI indexes. This requirement does not affect customer databases unless the customer wishes to use SQL to access them.
For customers installing the system DBID's as part of new installs, the default URI settings will be taken. However, for customers who have been upgrading, these DBID definitions from one release to another, the RECID format may still be in effect.
In particular, the Accounting databases (DBID 004 and 005) may be affected. There are no procedures or steps provided to convert the Accounting Facility areas during the upgrade process. This is because the Accounting database definitions can be tailored and each site may have very unique definitions.
In r10, an Datacom/DB Accounting area was only required to use URI if you were using SQL to access the Accounting Facility table(s). However, in r11, if an Accounting Facility area isn't using URI, you will get a 94(64) error when you try to open the Accounting Facility table(s) even when SQL is not active. This could come as an unnecessary surprise during the r11 upgrade if your Multi-User Facility (MUF) startup option parameters are set to open any Accounting Facility table(s) when the MUF is started.
Therefore, it is recommended that the Accounting Facility areas be converted to URI prior to upgrading to r11. This will eliminate the need to do the conversion as a part of the r11 upgrade and make for a smoother transition to the new release.
Since you will have to modify the Datadictionary definitions of the PRM database (DBID 004) area and each individual Accounting Facility database (DBID 005) area, you should also consider changing the definitions to take advantage of the Pipeline feature. This is accomplished by defining the Accounting Facility tables with logging turned on. With logging active, you will ensure a minimum loss of data if the MUF does not come down normally (with EOJ). Plus, you would get additional efficiency and performance when Accounting Facility buffers are spilled to the Accounting Facility areas on disk. However, any maintenance commands incur logging overhead.
Pre-Conversion Considerations:
Before converting an Accounting data area to the URI format, ensure that it is stable. When converting to URI, the backup supplied to the DBUTLTY LOAD must have been created with RECID=NO specified. In a data area using URI, all tables must be defined in the Datadictionary with the attribute RECOVERY=Y. If DBUTLTY LOAD encounters a table defined with RECOVERY=N, the data area still gets loaded, but the URI conversion is not done and the following message is issued.
DB13040W - TABLE aaa LACKS RECOVERY INFO: AREA bbb PROCESSED AS NON-URI
URI Implementation Steps:
Perform Accounting Facility Datadictionary definition changes (by default, DBID 004 and 005).
- Using either DDOL in CICS or batch transactions via DDUPDATE, change the Parameter database PRM table and each Accounting database (DBID 005) table RECOVERY attribute from "N" to "Y" (this is required in order to use URI pointers). If desired, optionally change the LOGGING attribute from "N" to "Y". The changes can be made directly to the production (PROD) versions of the Parameter and Accounting database table definitions in the Datadictionary.
- Before the Datadictionary changes can be catalogued, the Accounting facility must be made inactive. Close any Accounting System table open in MUF by executing one or more of the following DBUTLTY control statements (the equivalent console command can be used if desired).
ACCT OPTION=CLOSE,TABLE=ALL orACCT OPTION=CLOSE,TABLE=Ann
Once the last table closes, the Accounting Facility becomes dormant. This is noted by the MUF message: DB01101I ACCOUNTING SUBSYSTEM DISABLED.
- To ensure no Accounting database conflicts can occur during the remaining steps in the conversion process, set all Accounting database resource statuses to off. The DBUTLTY control statements to do this follow (again, the equivalent console command can be used if desired).
ACCESS STATUS=OFF,DBID=004, users=aaaaa (FAIL, IGNORE, WAIT)
ACCESS STATUS=OFF,DBID=005, users=aaaaa (FAIL, IGNORE, WAIT)
- Use DBUTLTY to create a physical backup of your current Accounting Facility resources. Databases 004 and 005 as well as the CXX should be backed up.
- If you know the Accounting table Datadictionary definitions in DBID 005 match what is currently catalogued in the Parameter database(DBID 004), then the following steps can be used to implement the URI option.
- Catalog the modified Accounting Facility table definitions to the Directory (CXX). See this in the chapter on the Accounting Facility in the Advantage CA-Datacom/DB Database and System Administrator Guide to read about the steps that must be performed to implement a change to the Accounting Facility areas.
- Use DBUTLTY LOAD with FORMAT=NONE to "NULL LOAD" the Parameter database PRM area in DBID 004.
- Re-catalog all Accounting table definitions in DBID 005 to the Parameter database via DBUTLTY using the following control statement:
ACCT OPTION=CATALOG, DATABASE=acct-entity-name,DBID=004
- If the Accounting database information from before the URI change needs to be retained, use DBUTLTY LOAD to reload each of the Accounting database areas in DBID 005 from the backup taken in step 4. If you don't need to retain the data, use DBUTLTY with FORMAT=NONE to null load each of the Accounting database areas.
- Be sure to execute a DBUTLTY ACCESS STATUS=WRITE,DBID=004 and ACCESS STATUS=WRITE,DBID=005 when finished or you will get a RC=88 which states that a database is disabled.
- Use the DBUTLTY function ACCT OPTION=OPEN,TABLE=Ann or ALL(or equivalent console command) to reopen any Accounting tables you wish to have active.
- If you aren't sure the Accounting table Datadictionary definitions in DBID 005 match what is currently catalogued in the Parameter database(DBID 004), then the following steps should be used to implement the URI option.
- Catalog the modified Accounting Facility table definitions to the Directory (CXX). See the Advantage CA-Datacom/DB Database and System Administrator Guide, in the chapter about using the Accounting Facility to read about the steps that must be performed to implement a change to the Accounting Facility areas.
- Use DBUTLTY LOAD to reload the Parameter database PRM area in DBID 004 from the backup taken in step 4.
- If the Accounting database information from before the URI change needs to be retained, use DBUTLTY LOAD to reload each of the Accounting database areas in DBID 005 from the backup taken in step 4. If you don't need to retain the data, use DBUTLTY with FORMAT=NONE to null load each of the Accounting database areas.
- Be sure to execute a DBUTLTY ACCESS STATUS=WRITE,DBID=004 and ACCESS STATUS=WRITE,DBID=005 when finished or you will get a RC=88 which states that a database is disabled.
- Use the DBUTLTY function ACCT OPTION=OPEN,TABLE=Ann or ALL (or equivalent console command) to reopen any Accounting tables you wish to have active.