👁 0
Q: Explain REDEFINES clause with an example.
Answer:
REDEFINES allows the same storage area to be referenced by different data names with different definitions.
Rules:
- Must be at same level as item being redefined
- Cannot redefine item with OCCURS
- Redefined item must appear first
- Lengths should match or redefining should be shorter
01 WS-DATE. 05 WS-DATE-NUM PIC 9(8). 01 WS-DATE-X REDEFINES WS-DATE. 05 WS-YEAR PIC 9(4). 05 WS-MONTH PIC 9(2). 05 WS-DAY PIC 9(2).
Same 8 bytes can be accessed as single number or individual components.
👁 0
Q: How to create image copy?
Answer:
COPY utility creates backup. COPY TABLESPACE db.ts. FULL or INCREMENTAL. SHRLEVEL REFERENCE or CHANGE. Store in GDG for versions. Regular copies essential for recovery. COPYTOCOPY duplicates copies.
👁 0
Q: What is 88-level condition name?
Answer:
88-level defines condition names for field values. 01 WS-STATUS PIC X. 88 VALID-STATUS VALUE 'Y'. 88 INVALID-STATUS VALUE 'N'. Use in IF: IF VALID-STATUS. Set using SET VALID-STATUS TO TRUE. Makes code self-documenting.
👁 0
Q: What is RENAMES clause?
Answer:
RENAMES (66-level) creates alternative groupings of elementary items. 01 REC. 05 FIELD-A PIC X(5). 05 FIELD-B PIC X(5). 05 FIELD-C PIC X(5). 66 FIELDS-AB RENAMES FIELD-A THRU FIELD-B. Provides different data views without memory overhead.
👁 0
Q: What is tablespace?
Answer:
Tablespace is storage container for tables. CREATE TABLESPACE name IN database USING STOGROUP. Contains one or more tables. Segmented/universal tablespace types. Management at tablespace level (REORG, COPY, RECOVER).
👁 0
Q: What is IMBED option?
Answer:
IMBED places sequence set (lowest index level) in data CA. Reduces I/O for index access. Uses more data space. Obsolete with modern systems - use defaults. May still see in old definitions.
👁 0
Q: How to list VSAM catalog entries?
Answer:
LISTCAT ENTRIES(ds.pattern) ALL. Shows cluster info: space, attributes, records. LISTCAT LEVEL(high.level) for multiple. Output to SYSPRINT. Essential for troubleshooting.
👁 0
Q: How does OUTPUT statement work?
Answer:
OUTPUT defines SYSOUT processing options. //OUT1 OUTPUT CLASS=A,DEST=LOCAL,COPIES=2. Reference: //SYSOUT DD SYSOUT=*,OUTPUT=*.OUT1. Centralizes output attributes. Can specify JESDS for JES-level control. Forms, burst options available.
👁 0
Q: How does REORG work?
Answer:
REORG physically reorganizes tablespace or index. Eliminates fragmentation, reclaims space, restores clustering. REORG TABLESPACE db.ts. Options: SHRLEVEL (REFERENCE/CHANGE), LOG (YES/NO). Schedule during low activity. Run RUNSTATS after.
👁 0
Q: Explain DB2 locking
Answer:
DB2 locks at row, page, table, tablespace level. X (Exclusive) for writes, S (Share) for reads. IX/IS for intent. Lock escalation moves to higher level. LOCK TABLE statement forces mode. Timeout if wait too long.
👁 0
Q: How to handle RLS (Record Level Sharing)?
Answer:
RLS allows VSAM access without exclusive control. Define with SHAREOPTIONS and LOG. Enable RLS at VSAM level. CF lock structure coordinates. Better than old batch/CICS conflicts.
👁 0
Q: Explain RANK vs DENSE_RANK
Answer:
RANK() creates gaps for ties: 1,2,2,4. DENSE_RANK() no gaps: 1,2,2,3. ROW_NUMBER() no ties: 1,2,3,4. RANK useful for competition ranking. DENSE_RANK for level assignment. Choose based on need.
👁 0
Q: How to monitor DB2 performance?
Answer:
Use OMEGAMON, DB2PM, or built-in monitor. Check: buffer pool hit ratios, lock waits, CPU time, elapsed time. DISPLAY commands show real-time. Statistics trace for analysis. EXPLAIN for query level.
👁 0
Q: What is REBIND and when needed?
Answer:
REBIND updates access path without precompile. REBIND PACKAGE after RUNSTATS, index changes. REBIND PLAN for plan-level changes. Can improve or degrade performance - test first. EXPLAIN before/after.
👁 0
Q: Explain condition-name SET TRUE
Answer:
SET condition-name TO TRUE assigns the condition's VALUE. If 88 ACTIVE VALUE 'A', SET ACTIVE TO TRUE moves 'A' to parent. Cleaner than MOVE 'A' TO STATUS. Makes code self-documenting. Multiple values take first.
👁 0
Q: How to define group level items?
Answer:
Group items contain subordinate items. 01 WS-DATE. 05 WS-YEAR PIC 9(4). 05 WS-MONTH PIC 99. 05 WS-DAY PIC 99. Group is alphanumeric regardless of contents. MOVE WS-DATE moves all 8 bytes. Reference individual or group.
👁 0
Q: What is WORKING-STORAGE SECTION?
Answer:
WORKING-STORAGE SECTION declares program variables. Initialized at program load. Retains values between CALL invocations unless INITIAL program. Define all work areas, flags, counters, tables here. 01-49 levels for data, 77 for independent items.
👁 0
Q: What is STEPLIB vs JOBLIB?
Answer:
JOBLIB at job level provides program libraries for all steps. STEPLIB at step level overrides JOBLIB for that step. STEPLIB takes precedence. Both searched before LINKLIST. Multiple libraries concatenated. DDN must be STEPLIB/JOBLIB exactly.
👁 0
Q: What is MSGLEVEL parameter?
Answer:
MSGLEVEL=(statements,messages). Statements: 0=JOB only, 1=all JCL, 2=input JCL. Messages: 0=completion only, 1=all including allocation. MSGLEVEL=(1,1) shows everything. MSGLEVEL=(0,0) minimal output. Affects JESMSGLG.
👁 0
Q: Explain DEFINE CLUSTER syntax
Answer:
DEFINE CLUSTER(NAME(ds) ...) DATA(NAME(ds.data) ...) INDEX(NAME(ds.index) ...). CLUSTER level: type, SHAREOPTIONS. DATA level: space, RECORDSIZE. INDEX level: space for KSDS index.
👁 0
Q: What causes S913 abend?
Answer:
S913 is security violation. Not authorized to dataset or resource. Check: RACF/ACF2/TopSecret permissions, dataset profile, user authority level. S913-38 means insufficient access. Contact security administrator.
👁 0
Q: How to define PDS?
Answer:
//PDSOUT DD DSN=MY.PDS,DISP=(NEW,CATLG),SPACE=(CYL,(5,1,10)),DCB=(RECFM=FB,LRECL=80). Directory blocks (10) required for PDS. Or DSNTYPE=LIBRARY for PDSE. PDSE allows dynamic directory expansion, member-level sharing.
👁 0
Q: What is transient data?
Answer:
TD queues for sequential I/O. EXEC CICS WRITEQ TD QUEUE(name) FROM(data). Intrapartition for CICS internal. Extrapartition for external datasets. Defined in DCT. Automatic trigger level option.
👁 0
Q: How to allocate PDSE?
Answer:
DSNTYPE=LIBRARY creates PDSE. Better than PDS: dynamic directory, member-level sharing, no compression needed. Or DATACLAS with PDSE attribute. Cannot convert back to PDS easily. Recommended for new PDSes.
👁 0
Q: Explain CICS RECEIVE without MAP
Answer:
RECEIVE INTO without MAP gets raw terminal data. EXEC CICS RECEIVE INTO(area) LENGTH(len). For non-BMS screens. AID in EIBAID. Raw data stream. Lower level than BMS.
👁 0
Q: What causes -911 SQLCODE?
Answer:
-911 is deadlock or timeout. Two processes waiting for each other's resources. Solutions: consistent lock order, shorter transactions, COMMIT frequently, appropriate isolation level. -913 is similar (deadlock victim). Retry transaction.
👁 0
Q: Explain DB2 isolation levels
Answer:
UR (Uncommitted Read) reads dirty data. CS (Cursor Stability) locks current row. RS (Read Stability) locks all accessed rows. RR (Repeatable Read) locks range, prevents phantom. Higher isolation = more consistency but more locking. CS most common.
👁 0
Q: What is CICS resource protection?
Answer:
Protection via RACF/external security. SEC=YES on region. QUERY SECURITY for checks. SECLABEL for levels. Program security attributes.