This section describes the /FILEHEADER qualifier and the other qualifiers that operate on a file header.
/FI[LEHEADER]
Enables modification of specific fields in the file header. The /FILEHEADER qualifier is incompatible with the /BLOCK and all qualifiers related to /BLOCK (that is /BSIZ, /CMPC, /LEVEL, /OFFSET, /RECORD, /RSIZ, and /TN qualifiers).
/BLK[_SIZE]=block_size
Changes the decimal block size field of the current file.
The block size cannot be changed to an arbitrary value. It always rounds the block size to the next higher multiple of 512, because database block sizes must always be a multiple of 512.
It is not possible to change the block size of a database file once it is created. The intent of the command is only to correct the value in the file header in case it is damaged.
/BLO[CKS_FREE]=free blocks
Changes the free blocks field of the current file. Use the /BLOCK_FREE qualifier only in conjunction with the /FILEHEADER qualifier.
/B_C[OMPREHENSIVE]=transaction-number
This deprecated command has been replaced by /B_D[ATABASE] and is temporarily supported for backward compatibility.
/B[YTESTREAM]=transaction_number
Changes the transaction number in the file header field that maintains this information about the last /BYTESTREAM backup.
/B_D[ATABASE]=transaction_number
Changes the transaction number in the file header field that maintains this information about the last /DATABASE backup.
/B_I[NCREMENTAL]=transaction_number
This deprecated command has been replaced by the /B_BYTESTREAM command, and is temporaily supported for backward compatibility.
/B_R[ECORD]=transaction_number
Changes the transaction number in the file header field that maintains this information about the last /RECORD backup.
/CU[RRENT_TN]=transaction_number
Changes the current transaction number for the current region. It also places a transaction number in a block header. This qualifier has implications only for MUPIP BACKUP /INCREMENTAL. Raising the /CURRENT_TN can correct "block transaction number too large" errors resulting from system crashes.
/FL[USH_TIME][=delta_time]
Changes the flush_time default interval (in delta_time). The time entered must be between zero and one hour. Input is interpreted as decimal. A /FLUSH_TIME with no value resets the /FLUSH_TIME to the default value (one second for BG and 30 seconds for MM).
The units of delta_time is centi-seconds (hundredths of a second). For example, to change the flush time interval to a second, delta_time would be 100. To change it to 30 minutes, delta_time would be 180,000 (30*60*100). Valid values for the qualifier are one to 360,000 (an hour).
/FR[EEZE]=value
Sets availability of the region for update. Possible values are: T[RUE] or F[ALSE]. Use to "freeze" (disable database writes) or "unfreeze" the database. FREEZE normally bypasses freezes by other processes. Use /OVERRIDE with /FREEZE to override a freeze by another process.
For information about a preferred method of manipulating FREEZE, refer to the MUPIP FREEZE section of the "MUPIP" chapter.
DSE releases /FREEZE when it EXITs. To hold the database(s), CHANGE /FILEHEADER /FREEZE=TRUE and then SPAWN to perform other operations.
/K[EY_MAX_SIZE]=key_max_size
Changes the decimal value for the maximum allowable key size. Reducing KEY_MAX_SIZE can restrict access to existing data and cause GT.M to report errors. Do not create incompatible key and record sizes.
Before permanently changing the key size using DSE, use GDE to check that the appropriate Global Directory contains the same key size for the region. This prepares for future MUPIP CREATEs and performs a consistency check on the key and record size values. For more information on key and record sizes, refer to the "Global Directory Editor" chapter.
M[ACHINE_NAM]=value
Sets the name of the machine of the open database to that of the current machine, or it cleans it. Values are CURRENT and CLEAR. You do not have to set the machine name.
MUPIP RUNDOWN is a better way to clean the machine after a crash or other abnormal event.
NO[CRIT]
Allows DSE DUMP to work even if another process is holding a critical section. Since results in this mode may be inconsistent, it should only be used if the critical section mechanism is not operating normally.
/N[ULL_SUBSCRIPTS]=value
Sets the acceptability of null subscripts in database keys. Possible values are: T[RUE] or F[ALSE]. Prohibiting null subscripts can restrict access to existing data and cause GT.M to report errors.
DSE rejects null subscripts for the /KEY qualifier for various commands if they are disabled by the NULLSUBSCRIPTS flag in the file header.
/OVERRIDE
The /OVERRIDE qualifier is meaningful only with the /FREEZE or /NOFREEZE qualifiers. When used with /NOFREEZE it unfreezes all GDS regions, including those frozen by other users. When used with /FREEZE, the /OVERRIDE qualifier freezes all GDS regions, including those frozen by other users, associating all such freezes with the current user. The current user must then use the /NOFREEZE qualifier to unfreeze the database; any other user attempting a /NOFREEZE would also have to include the /OVERRIDE qualifier.
/REF[ERENCE_COUNT]=reference_count
Sets a field that tracks how many processes are accessing the database with read/write permissions. MUPIP INTEG and DSE use decimal numbers for /REFERENCE_COUNT. To accurately determine the proper reference count, restrict CHANGE /FILEHEADER /REFERENCE_COUNT to the case where the process running DSE has exclusive (standalone) access to the database file. When DSE has sole access to a database file the /REFERENCE_COUNT should be one (1). This is an informational field and does not have any effect on processing.
/REG[_SEQNO]=sequence-number
In a replicated environment, this sets the "Region Seqno" field. Refer to the "Database Replication" chapter for more details.
/RESYNC_S[EQNO]=sequence-number
In a replicated environment, this sets the "Resync Seqno" field. Refer to the "Database Replication" chapter for more details.
/RESYNC_T[N]=sequence-number
In a replicated environment, this sets the "Resync transaction" field. Refer to the "Database Replication" chapter for more details.
/TI[MERS_PENDING]=timers_pending
Sets a field that tracks the number of processes considering a timed flush. Proper values are 0, 1, and 2.
/TO[TAL_BLKS]=total_blocks
Changes the total blocks field of the current file.
This command only changes the value saved in the file header. It does not affect the size of the database file. Do not change it to a value that does not match the actual size of the file.
/TR[IGGER_FLUSH]=trigger_flush
Sets the decimal value for the triggering threshold, in buffers, for flushing the cache-modified queue.
GT.M will dynamically adjust this value for optimal performance.
/WR[ITES_PER_FLUSH]=writes_per_flush
Sets the decimal number of blocks to write in each flush.