Mainframe

Mainframe

Top Interview Questions

About Mainframe

 

What is a Mainframe?

A mainframe is a high-performance, large-scale computer primarily used by large organizations for critical applications, bulk data processing, and large-scale transaction processing. Mainframes are designed to handle millions of transactions per second, providing unmatched reliability, scalability, and security. They have historically powered sectors such as banking, insurance, government, healthcare, and airlines, where high-volume and mission-critical processing is essential.

Unlike personal computers or standard servers, mainframes are built for massive data throughput, high availability, and fault tolerance, often running continuously for years without downtime. Mainframes are sometimes called “big iron” due to their size, processing power, and robustness.


History of Mainframes

Mainframes have a rich history that spans several decades:

  1. 1950s – The Beginning:
    The first mainframes were introduced by companies like IBM, with the IBM 701 and IBM 702 handling scientific calculations and business applications. They were massive, room-sized machines that required specialized environments.

  2. 1960s – Expansion:
    IBM’s System/360 revolutionized computing with a family of compatible mainframes, allowing businesses to upgrade without rewriting applications. This era marked the rise of mainframes for commercial and enterprise use.

  3. 1970s–1980s – Growth:
    Mainframes became the backbone of large corporations, supporting batch processing and transaction processing for industries like banking, airlines, and retail. Systems like IBM System/370 introduced virtual memory and enhanced multitasking.

  4. 1990s–2000s – Modernization:
    Mainframes evolved to support client-server models, internet connectivity, and integration with distributed systems while maintaining backward compatibility with legacy applications.

  5. Today – Contemporary Mainframes:
    Modern mainframes, like IBM’s zSeries or LinuxONE, integrate cloud capabilities, AI workloads, and modern security features while retaining the reliability and scalability of traditional mainframes.


Mainframe Architecture

Mainframes are designed differently from standard computers. Their architecture focuses on high throughput, reliability, and parallel processing.

1. Central Processing Unit (CPU)

  • Mainframes often have multiple CPUs (or logical partitions) to handle concurrent workloads efficiently.

  • They support symmetric multiprocessing (SMP), enabling multiple processes to run simultaneously without performance bottlenecks.

2. Memory

  • Mainframes have large, high-speed memory to support in-memory processing and caching.

  • Memory management includes advanced techniques like virtual memory and dynamic memory allocation for optimal performance.

3. Input/Output (I/O) Channels

  • Mainframes separate I/O operations from CPU processing using dedicated I/O channels.

  • This allows high-speed access to storage and peripherals without overloading the CPU.

4. Storage

  • Mainframes use direct access storage devices (DASD) and redundant arrays to handle petabytes of data.

  • Data is often mirrored or backed up using RAID configurations to ensure fault tolerance.

5. Operating System

  • Mainframes run specialized operating systems such as z/OS, z/VM, or Linux on Z.

  • These OSes support high availability, batch processing, transaction management, and virtualization.


Key Features of Mainframes

Mainframes have several defining characteristics:

  1. High Reliability: Designed for 24/7 operations with minimal downtime. Typical mainframes boast uptime measured in years.

  2. Scalability: Easily handles growing workloads by adding more processors, memory, or storage.

  3. Massive Throughput: Can process millions of transactions per second, ideal for banking or airline systems.

  4. Security: Built-in features like encryption, auditing, and access control protect sensitive enterprise data.

  5. Virtualization: Supports multiple virtual servers or logical partitions on a single physical machine, improving resource utilization.

  6. Backward Compatibility: Can run decades-old applications alongside modern software.


Types of Mainframe Workloads

Mainframes handle diverse workloads critical to enterprise operations:

  1. Batch Processing:
    Jobs like payroll processing, end-of-day banking reconciliations, and report generation are executed in batches, often during off-peak hours.

  2. Online Transaction Processing (OLTP):
    Real-time processing of transactions such as ATM withdrawals, airline bookings, and e-commerce purchases. Mainframes ensure ACID compliance and data integrity.

  3. Data Warehousing and Analytics:
    Mainframes store large volumes of historical data, which can be used for analytics, reporting, and business intelligence.

  4. Middleware Services:
    Mainframes act as hubs for enterprise applications, supporting middleware like CICS, IMS, and MQ for connecting distributed systems.


Industries Using Mainframes

  1. Banking and Financial Services:
    Handling millions of transactions, real-time settlements, ATM networks, fraud detection, and regulatory reporting.

  2. Insurance:
    Policy management, claims processing, actuarial computations, and customer data storage.

  3. Healthcare:
    Electronic medical records (EMR), insurance claims processing, and large-scale data storage for research.

  4. Government:
    Tax processing, social security management, citizen databases, and large-scale census operations.

  5. Airlines and Transportation:
    Reservation systems, flight scheduling, logistics, and cargo tracking.


Advantages of Mainframes

  1. Reliability and Availability:
    Mainframes offer five-9s uptime (99.999%), critical for mission-critical operations.

  2. Processing Power:
    Can handle massive transaction volumes without performance degradation.

  3. Security:
    Advanced access controls, auditing, and encryption protect sensitive enterprise data.

  4. Long Lifecycle:
    Mainframes are durable, often operating efficiently for 15–20 years.

  5. Integration with Modern Tech:
    Modern mainframes support cloud computing, AI, and big data analytics, bridging legacy systems with modern IT.


Challenges of Mainframes

Despite their advantages, mainframes come with challenges:

  1. Cost:
    Mainframes are expensive to acquire, maintain, and upgrade.

  2. Skills Shortage:
    Mainframe expertise is declining as many legacy programmers retire.

  3. Complexity:
    Configuring, maintaining, and developing for mainframes requires specialized knowledge.

  4. Limited Flexibility for Modern Apps:
    Mainframes excel at transactional processing but may require additional layers to support mobile or web-first applications.


Modern Relevance of Mainframes

Even in the era of cloud computing and distributed systems, mainframes remain highly relevant:

  • Hybrid IT Environments: Mainframes integrate with cloud platforms like AWS, Azure, or IBM Cloud.

  • Big Data & AI: Platforms like IBM z15 support analytics workloads directly on the mainframe.

  • Legacy Application Support: Mainframes continue to run critical legacy applications that cannot be easily migrated.

  • Digital Transformation: Organizations are modernizing mainframe apps with APIs and microservices to support web and mobile interfaces.


Conclusion

Mainframes are the unsung heroes of enterprise computing. Their reliability, scalability, and massive processing power make them indispensable in industries where downtime or data loss is unacceptable. While they come with high costs and complexity, modern mainframes have evolved to integrate with cloud computing, AI, and modern software stacks, ensuring they remain a cornerstone of mission-critical enterprise IT.

In essence, mainframes continue to bridge the gap between legacy stability and modern digital innovation, proving that “big iron” still plays a big role in today’s technology landscape.

Fresher Interview Questions

 

1. What is a mainframe?

Answer:
A mainframe is a high-performance computer used for large-scale computing, capable of handling millions of transactions daily. It is reliable, secure, and optimized for batch and online transaction processing (OLTP).


2. What are the key features of mainframes?

Answer:

  • High availability: 24/7 uptime.

  • Scalability: Handles thousands of users and large data volumes.

  • Reliability: Rarely fails; strong error handling.

  • Security: Advanced access controls and encryption.

  • Batch and Online processing: Supports large-scale batch jobs and online applications.


3. What are mainframe operating systems?

Answer:

  • z/OS: Most common OS for IBM mainframes.

  • z/VM: For virtualization.

  • z/VSE: For small/medium workloads.

  • Tandem OS, Unisys OS: Used in specialized mainframes.


4. What is COBOL?

Answer:
COBOL (Common Business Oriented Language) is a programming language used for mainframe applications. It is designed for business data processing and is widely used for financial, banking, and insurance systems.


5. What are the main sections of a COBOL program?

Answer:

  1. Identification Division: Program name and author.

  2. Environment Division: Hardware/software environment info.

  3. Data Division: Declares variables, files, and data structures.

  4. Procedure Division: Contains the business logic and executable code.


6. What is JCL (Job Control Language)?

Answer:
JCL is used to submit and manage batch jobs on a mainframe. It tells the system what program to run, input/output files, and job resources.


7. Difference between JCL and COBOL

Feature JCL COBOL
Purpose Job execution control Business logic/programming
Type Script Programming language
Execution Submits batch jobs Runs as part of batch/online jobs

8. What is a dataset in mainframe?

Answer:
A dataset is a file stored on a mainframe. Types include:

  • Sequential dataset: Records stored one after another.

  • Partitioned Dataset (PDS): Contains multiple members (like a folder).

  • VSAM dataset: High-performance dataset for random access.


9. What is VSAM?

Answer:
VSAM (Virtual Storage Access Method) is a high-performance file storage system in mainframes. Types of VSAM datasets:

  • KSDS (Key-Sequenced Dataset) – Indexed records.

  • ESDS (Entry-Sequenced Dataset) – Records in sequence of entry.

  • RRDS (Relative Record Dataset) – Records accessed by relative number.


10. What are the types of mainframe jobs?

Answer:

  • Batch jobs: Execute in background without user intervention.

  • Online/TP (Transaction Processing) jobs: Interactive jobs via terminals (CICS).


11. What is CICS?

Answer:
CICS (Customer Information Control System) is a transaction processing system used to run online applications on mainframes.


12. Difference between batch processing and online processing

Feature Batch Processing Online Processing
Execution Background Interactive
Speed May be slower Real-time
User input Not required Required
Examples Payroll, Billing ATM transactions, Booking

13. What are mainframe datasets access methods?

Answer:

  • Sequential Access: Records accessed one by one.

  • Indexed Access: Using key values (KSDS).

  • Direct/Random Access: Using record number (RRDS).


14. What is a mainframe job?

Answer:
A job is a unit of work submitted to the mainframe using JCL. A job can run a program, perform file operations, or execute scripts.


15. What are DD statements in JCL?

Answer:
DD (Data Definition) statements define datasets and files required by the job.
Example:

//INPUT DD DSN=MY.INPUT.FILE, DISP=SHR
//OUTPUT DD DSN=MY.OUTPUT.FILE, DISP=(NEW,CATLG)

16. What is a mainframe spool?

Answer:
Spool (Simultaneous Peripheral Operations Online) is a temporary storage area for jobs waiting to be processed or output waiting for printing.


17. What is an IDCAMS utility?

Answer:
IDCAMS is used to create, delete, catalog, or uncatalog VSAM datasets on mainframes.


18. What is SORT utility?

Answer:
SORT is used to sort, merge, or copy datasets based on key values. Common utilities: DFSORT, ICEMAN, SYNCSORT.


19. What is a mainframe job stream?

Answer:
A job stream is a sequence of JCL statements and steps executed in order to complete a job.


20. What is a TSO/ISPF?

Answer:

  • TSO (Time Sharing Option): Interactive interface to access mainframe commands.

  • ISPF (Interactive System Productivity Facility): Menu-based interface for editing, browsing, and submitting jobs.


21. What are mainframe datasets naming conventions?

Answer:

  • Typically upper-case.

  • Can contain letters, numbers, and periods.

  • Example: USERID.PROJECT.FILE1


22. What is an MVS system?

Answer:
MVS (Multiple Virtual Storage) is the IBM mainframe OS predecessor of z/OS, providing multitasking and memory management.


23. Difference between batch job and online program in mainframe

Feature Batch Job Online Program
Execution Background Interactive
Response Delayed Immediate
Trigger Scheduled User input
Example Payroll Banking transaction

24. What is a mainframe spool file?

Answer:
It is the output generated by a job, stored temporarily before printing or further processing.


25. What is JES2/JES3?

Answer:
JES (Job Entry Subsystem) manages job queues in mainframes:

  • JES2: Single system, simpler queue management.

  • JES3: Supports multiple systems and complex dependencies.


26. What are the common mainframe programming languages?

Answer:

  • COBOL

  • PL/I

  • Assembler

  • REXX (scripting)

  • SQL (for DB2/IMS databases)


27. What is DB2?

Answer:
DB2 is an IBM relational database used on mainframes to store structured data and support SQL queries.


28. Difference between VSAM and DB2

Feature VSAM DB2
Type File storage RDBMS
Access Sequential/Keyed SQL queries
Use Fast file access Complex relational data

29. What is IMS?

Answer:
IMS (Information Management System) is a hierarchical database and transaction management system used for mainframe applications.


30. What is a batch job step?

Answer:
A step is a unit of execution in a job, typically running a program or utility. Jobs can have multiple steps.


31. What are common mainframe utilities?

Answer:

  • IEBGENER: Copy, print, or create datasets.

  • IEBUPDTE: Update sequential datasets.

  • SORT/DFSORT: Sort or merge datasets.

  • IDCAMS: Manage VSAM datasets.

  • ISPF utilities: Edit, browse, compile programs.


32. What is REXX?

Answer:
REXX (Restructured Extended Executor) is a scripting language on mainframes for automation, data manipulation, and job control.


33. What is a mainframe batch window?

Answer:
The time period when batch jobs run, usually during off-peak hours to avoid interfering with online transactions.


34. What are mainframe logs?

Answer:
Logs are records of job execution stored by JES or system utilities. They help troubleshoot errors in batch or online programs.


35. What is an SVC (Supervisor Call)?

Answer:
SVC is a system-level instruction used in mainframes to request services from the OS, like I/O operations.


36. What is mainframe data integrity testing?

Answer:
Testing to ensure data accuracy, completeness, and consistency after batch jobs or ETL processing.


37. What is the difference between sequential and relative datasets?

Feature Sequential Relative
Access One by one By record number
Use Reports, logs Random access for updates

38. How do you debug a mainframe job?

Answer:

  • Use ISPF editor to inspect JCL.

  • Check JES logs (output listing).

  • Use debug utilities for COBOL (like IBM Debug Tool).

  • Validate dataset content using IEBPTPCH, ISPF browse.


39. What is a mainframe job control step?

Answer:
A step defines which program or utility to run and its input/output datasets in a job.


40. How do you perform mainframe testing as a fresher?

Answer:

  • Understand business requirements.

  • Validate input and output datasets.

  • Check job scheduling and batch windows.

  • Verify data integrity and report accuracy.

  • Use utilities (IEBGENER, SORT) to test transformations.


41. What are mainframe batch job types?

  • Production jobs: Live environment processing.

  • Test jobs: Validate functionality in QA environment.

  • Ad-hoc jobs: One-time or unscheduled jobs.

Experienced Interview Questions

 

1. Mainframe Basics

Q1: What is a mainframe and why is it still used?
Answer:

  • Mainframe computers are large, powerful systems used for mission-critical applications.

  • Used in banking, insurance, government for high-volume transactions, batch processing, and reliability.

  • Key features: high availability, scalability, security, and backward compatibility.


Q2: Difference between batch and online processing?
Answer:

Feature Batch Processing Online Processing
Execution Scheduled jobs Real-time transactions
User Interaction None Requires user input
Performance High throughput Immediate response
Examples Payroll processing ATM transactions

Q3: Explain the main components of a mainframe environment.
Answer:

  • CPU / MVS / z/OS: Operating system that manages resources.

  • JCL (Job Control Language): Schedules and controls jobs.

  • Data Sets: VSAM, sequential, partitioned (PDS/PDSE).

  • DBs: DB2, IMS.

  • Utilities: IEBCOPY, IEBGENER, SORT, IDCAMS.

  • Transaction Monitors: CICS, IMS TM.


Q4: What is a dataset in mainframe? Types?
Answer:

  • Dataset = File in mainframe.

  • Types:

    • Sequential: Records stored one after another.

    • Partitioned (PDS / PDSE): Library with members.

    • VSAM: Keyed or indexed access.


Q5: Difference between PDS and PDSE?
Answer:

Feature PDS PDSE
Storage Fixed, can run out Dynamic, better allocation
Members Limited Many members, easier management
Catalog Manual reorganization Automatic
Use Old programs Modern JCL & programs

Q6: Explain the concept of LRECL, RECFM, BLKSIZE.
Answer:

  • LRECL: Logical record length.

  • RECFM: Record format (F=Fixed, V=Variable, FB, VB).

  • BLKSIZE: Physical block size on DASD.


Q7: What is cataloged vs non-cataloged dataset?
Answer:

  • Cataloged: Dataset registered in the system catalog; easier to access.

  • Non-cataloged: Not in catalog; must use full DD path to access.


2. Job Control Language (JCL)

Q8: What is JCL and its primary components?
Answer:

  • JCL is used to submit and control batch jobs.

  • Components:

    • JOB Statement: Identifies the job.

    • EXEC Statement: Specifies program to execute.

    • DD Statement: Describes datasets, files, or I/O.


Q9: What are SYSOUT, DISP, UNIT, and SPACE in JCL?
Answer:

  • SYSOUT: Output destination (e.g., printer, spool).

  • DISP: Dataset disposition (NEW, OLD, MOD, SHR, DELETE).

  • UNIT: Device type (DISK, TAPE).

  • SPACE: Allocation size for datasets.


Q10: What is the difference between JOBLIB and STEPLIB?
Answer:

Feature JOBLIB STEPLIB
Scope Entire job Single step
Use Access common libraries Step-specific library
Syntax //JOBLIB DD DSN=library,DISP=SHR //STEPLIB DD DSN=library,DISP=SHR

Q11: How do you handle errors in JCL?
Answer:

  • Return codes: Check return code from program using IF/THEN/ELSE.

  • COND parameter: Skip steps if previous steps fail.

  • SYSOUT/MSGCLASS: Review job logs for messages.


Q12: What is the purpose of the COND parameter?
Answer:

  • COND tells the system whether to execute or skip a step.

  • Example: COND=(4,LT) → Skip if return code < 4.


Q13: What is DD Statement? Give examples.
Answer:

  • Defines dataset or device to use.

//INFILE DD DSN=USER.INPUT.FILE,DISP=SHR
//OUTFILE DD DSN=USER.OUTPUT.FILE,DISP=(NEW,CATLG,DELETE),UNIT=SYSDA,SPACE=(CYL,(10,5))

Q14: Explain symbolic parameters in JCL.
Answer:

  • Variables used to reuse JCL.

  • Example:

 //SET DATE=20260325
 //OUTFILE DD DSN=USER.OUTPUT.&DATE,DISP=NEW

Q15: What is the difference between EXEC PGM= and EXEC PROC=?
Answer:

  • EXEC PGM= → Executes a program directly.

  • EXEC PROC= → Executes a pre-defined procedure (PROC).


3. VSAM & DB2 / COBOL

Q16: What is VSAM? Types of VSAM files?
Answer:

  • VSAM (Virtual Storage Access Method): File organization for fast access.

  • Types:

    • KSDS: Key-sequenced (primary key, optional alternate key).

    • ESDS: Entry-sequenced (no key).

    • RRDS: Relative-record (records accessed by position).

    • LDS: Linear dataset (no record structure, for special usage).


Q17: How do you read VSAM records in COBOL?
Answer:

SELECT EMP-VSAM ASSIGN TO VSAM-FILE
       ORGANIZATION IS INDEXED
       ACCESS MODE IS SEQUENTIAL
       RECORD KEY IS EMP-ID.

Q18: What is DB2? How is it different from VSAM?
Answer:

  • DB2: Relational database; supports SQL queries, ACID transactions.

  • VSAM: File system-based, key-indexed access, no SQL support.


Q19: How do you perform join operations in DB2 vs VSAM?
Answer:

  • DB2: Use SQL JOIN statements.

  • VSAM: Multiple file read logic in COBOL, possibly via ICETOOL or SORT utilities.


Q20: How do you handle large files in COBOL?
Answer:

  • Use buffered I/O.

  • Process sequentially with READ / WRITE loops.

  • Use SORT/MERGE utilities to handle large datasets efficiently.


Q21: Difference between indexed and relative VSAM files?
Answer:

Feature KSDS (Indexed) RRDS (Relative)
Access By key or sequential By record number
Use Customer master, keyed data Fixed record position
Keys Required No

Q22: What are COBOL table (array) handling techniques?
Answer:

  • Indexed tables: Access via subscript.

  • Search/SEARCH ALL: Binary search on sorted tables.

  • Dynamic memory tables: Limited to recent COBOL versions.


4. Utilities & Debugging

Q23: What are common mainframe utilities?
Answer:

  • IEBCOPY: Copy or merge PDS members.

  • IEBGENER: Copy sequential datasets.

  • IDCAMS: VSAM catalog, dataset operations.

  • SORT / SYNCSORT: Sort, merge, filter, summarization.

  • IKJEFT01: Execute TSO commands in batch.


Q24: How do you debug a batch job?
Answer:

  • Check JCL for syntax errors.

  • Review job output (SYSOUT) and return codes.

  • Use IEFBR14 test step for dummy execution.

  • Use COBOL debug options: DISPLAY statements, dump analysis.


Q25: What are return codes and how are they used?
Answer:

  • Program / step return codes indicate status.

  • Conventionally, 0 = success, 4 = warning, 8 = error, 12+ = severe.

  • Used in COND / IF/THEN logic in JCL.


Q26: How do you analyze a abend code?
Answer:

  • ABEND = Abnormal End.

  • Common codes: S0C7 (data exception), S013 (write error).

  • Review dump data via SDSF or spool, locate error line, check dataset and variables.


Q27: How do you merge or sort large datasets?
Answer:

  • Use SORT / SYNCSORT utilities.

  • Example JCL:

//SORTSTEP EXEC PGM=SORT
//SORTIN DD DSN=INPUT.FILE,DISP=SHR
//SORTOUT DD DSN=OUTPUT.FILE,DISP=(NEW,CATLG,DELETE)
//SYSOUT DD SYSOUT=*
//SORTJNF DD SYSOUT=*
//SYSIN DD *
  SORT FIELDS=(1,10,CH,A)
/*

Q28: What is ICETOOL?
Answer:

  • Tool built on DFSORT.

  • Performs summarizations, counts, copying, merge/sort without coding in COBOL.

  • Example: Counting records, creating report, or eliminating duplicates.


5. Batch & Online Processing

Q29: Difference between CICS and batch jobs?
Answer:

Feature CICS Batch
Interaction Online, real-time Offline, scheduled
Response Immediate After job execution
Transactions Single user Multiple records
Tools BMS maps JCL, utilities

Q30: How do you schedule batch jobs?
Answer:

  • Using JCL with job scheduling tools like CA7, Control-M, JES2/JES3.

  • Jobs can be triggered time-based or event-based.


Q31: How do you pass parameters to batch programs?
Answer:

  • Use PARM in EXEC statement.

//STEP1 EXEC PGM=MYPROG,PARM='20260325'
  • Access in COBOL via ACCEPT PARM or LINKAGE SECTION.


Q32: How do you handle dynamic file allocation in batch?
Answer:

  • Use DSN=&&TEMP,DISP=(NEW,PASS) for temporary datasets.

  • Allocate sequential or VSAM files dynamically using IDCAMS / ALLOCATE commands.


Q33: How do you handle error recovery in batch jobs?
Answer:

  • Use COND parameter, IF/THEN/ELSE in JCL.

  • Implement restart logic in COBOL (check flags, offsets).

  • Use backup datasets or previous day’s output.


6. Advanced / Scenario-Based Questions

Q34: How do you handle large volume transaction processing?
Answer:

  • Optimize VSAM access using keys and alternate indices.

  • Use SORT / JOINKEYS instead of COBOL loops.

  • Split batch jobs into smaller sub-jobs.

  • Use buffered I/O and parallel processing.


Q35: What is a Pro*C or DB2 precompiler?
Answer:

  • Converts embedded SQL in COBOL (or C) to executable calls.

  • Example: COBOL + SQL → Precompiler → COBOL program with DB2 calls.


Q36: How do you handle dynamic VSAM allocation at runtime?
Answer:

  • Use JCL symbolic parameters.

  • Allocate using ALLOCATE command in IDCAMS dynamically in batch.


Q37: How do you optimize COBOL programs for performance?
Answer:

  • Minimize nested loops.

  • Use binary search (SEARCH ALL) for tables.

  • Reduce I/O calls.

  • Optimize SORT/MERGE utilities.


Q38: How do you test mainframe programs?
Answer:

  • Unit test: Execute small dataset, validate output.

  • Integration test: End-to-end batch processing.

  • Regression test: Compare current output with baseline.

  • Performance test: Large volume, measure run time.


Q39: How do you handle file backup and recovery?
Answer:

  • Use IDCAMS REPRO / DFHBACKUP utilities.

  • Maintain daily backup datasets.

  • Use cataloged datasets for easier restore.


Q40: How do you handle parallel execution of batch jobs?
Answer:

  • Use JES2/JES3 classes and priorities.

  • Submit independent steps or jobs with CONCURRENT execution.

  • Monitor output and return codes for errors.


Q41: How do you handle mainframe security?
Answer:

  • RACF, ACF2, or Top Secret.

  • Control dataset access, transaction access, and library privileges.

  • Audit logs to track changes.


Q42: How do you troubleshoot performance issues in batch jobs?
Answer:

  • Analyze job logs for step timing.

  • Check I/O bottlenecks (tape/disk).

  • Optimize SORT / MERGE and VSAM access.

  • Check memory usage and CPU time.