What is Mainframe?
Big iron computer or Mainframes are a type of computer that generally are known for their large size, amount of storage, processing power and high level of reliability. They are primarily used by large organizations for mission-critical applications requiring high volumes of data processing.
In general, there are a few characteristics of mainframes that are common among all mainframe vendors: Nearly all mainframes have the ability to run (or host) multiple operating systems. Mainframes can add or hot swap system capacity without disruption. Mainframes are designed to handle very high-volume input and output (I/O) and emphasize throughput computing. A single mainframe can replace dozens or even hundreds of smaller servers.
They are typically utilized by governmental and corporate organizations for added security as well as processing large sums of data; such as consumer statistics, census data or electronic transactions. Their reliability and high stability allow these machines to run for a very long time, even decades.
What is Distributed Relational Database Architecture? And components?
Distributed Relational Database Architecture (DRDA) is a set of protocols that permits multiple database systems. Any combination of relational database management products that use DRDA can be connected to form a distributed database management system. Which includes both IBM and not IBM systems, as well as application programs, to work together.
DRDA components are:
Application Requester: This is accepting SQL requests from applications and sends them to appropriate application servers for processing. It can access remote data using this function.
Application Server: This is receiving requests from application requesters and processes them. It acts on the portions of requests that can be processed, and forwards remainder to database servers for further processing.
Database Server: This is receiving requests from the application server and other database servers. This server also supports distributed requests and forwards parts of the request to the database server to fulfill the request.
Explain IBM Z?
IBM Z is a family name used by IBM for all of its mainframe computers. In July 2017, with another generation of products, the official family was changed to IBM Z from IBM z Systems; the IBM Z family now includes the newest model the IBM z14, as well as the z13 (released under the IBM z Systems/IBM System z names), the IBM zEnterprise models (in common use the zEC12 and z196), the IBM System z10 models.
Data secured on IBM Z mainframes is locked down with 256-bit AES encryption, which is unbreakable with current technology. So, even if data is stolen, it’s of no use to the attackers. The new mainframes are designed to be compliant with data privacy laws, and they go a step further. Knowing that no security system is perfect, IBM has stored the decryption keys tamper-resistant. If the server detects a data breach, it invalidates all the keys until operators can investigate.
What is Z/OS?
Z/OS is a 64-bit operating system (OS) developed by IBM for its family of z/Architecture enterprise mainframe computers, including the zEnterprise 196 and zEnterprise 114. Mainframes with z/OS are typically used to run large, complex, mission-critical workloads for large enterprise organizations.
What is difference between static call and dynamic call?
The difference between Static and Dynamic Call is that the first has the invoking program name hard coded into the call statement while the second has it in storage in an identifier. Also, in the case of Static the invoking program is link edited with the invoked subroutine and in the case of Dynamic Call we will have a different module for each: the main program and the subroutine. IF we don’t use Initial or make a Cancel when we invoke the statically called subroutine then it will not be found in the default state; dynamically called routine will be forever in the default state.
What is Database Descriptor?
DBD, short for Database Descriptor, restricts access to the database when objects get altered, created or dropped.
How do you find whether any generations exist under a GDG base?
By using IDCAMS, we can say whether a GDG has any generations or not.
What is use of linkage section?
Linkage section is used to accept data from outside the program. Either it’s parm part of JCL or Call from any other programs, they pass data into called program thru linkage section only.
How to get the last record in VSAM file in cluster? And how can u get the KSDs file records into COBOL program?
Move high values to the key of the VSAM file and the issue Readnext record command. Then give Read prev command. This will read the last record. In VSAM, there is one command HURBA, using that we can read the last record, if you want to know more about go to IBM RED BOOKS. You will get the solution. By using the HURBA we can get the max records by using the CKD count key data we will get the last record
Write about the self-referencing constraint?
It limits the changes that can be made to the primary key from a foreign key. For this purpose, the foreign key has to define a DELETE CASCADE rule.
Can we give +2 instead of +1 while creating a new GDG file?
Yes, it will work fine and create a +2-generation skipping +1 generation. If the current generation is 10, then the new generation created will be 12. Generation 11 will be skipped.
How JOINKEYS helps in SORT?
JOINKEYS helps to compare files and to write a file with matched records.
How are start and XCTL different?
Start is used for the beginning of new transactions and then the XCTL takes the operations further, transferring the control to a different application but with an equal transaction ID.
What is difference between file-aid tool and file-aid utility?
File-aid tool is online tool (application) used for processing files using online screens. File-aid utility is used in JCL for processing files in batch.
Can you explain referential integrity?
It is the rule that states that consistency needs to be conserved between the foreign and primary keys. This means that each foreign key entry needs to have a fitting primary key entry.
How to find all duplicate records?
By using ICETOOL we can find that.
What is the function of the verb INITIALIZE?
This verb sets Alphanumeric, alphabetic and alphanumeric field items to ““(Space) and Numeric and Numeric edited field items to “0” (Zero). The INITIALIZE verb leaves FILLER items unchanged.
Can you define Notcat 2?
Notcat 2 is a MVS message that shows if two or more entries of the same catalog exist. If an entry is already there the catalog would send us an error message. The issue can be repaired by uncataloging or deleting the primary data set and we must find that volume which contains the new data set and we must catalog it.
How can we describe comp sync?
COMP SYNC aligns an item to the natural boundaries, it will be synchronized right and left. If we use binary items that are found at the boundaries of words in memory, these ones have a more rapid address resolution. The size of word from mainframe memory is four bytes. So every word has to begin from an address which is divisible by four. When the primary variable is x(3) and the next one is s9(4) comp if the Sync clause is not specified, the second variable will begin from byte 3. When Sync is specified the beginning address will be 4; this more rapid, even if we may notice a little waste of memory.
What difference exists between control area and control interval?
A Control Area is a set of Control Intervals and it works during allocation. The size of the Control Area depends on the type of allocation (cyl, tracks, and records) and OTS maximum reaches 1 cylinder. The Control Interval is something like a block for QSAM files, its size is ranged between 512 bytes and 32 kilobytes, normally 2 or 4 kilobytes. If the Control Interval is bigger the performance will also increase when it comes to sequential processing.
What is the difference between HIDAM and HDAM databases?
HIDAM has a separate index file which is based on the root segment. This file has information regarding the pointer that marks the position of the data. On the other hand, HDAM file does not have separate index file, but the key field of every record is passed through a randomizer which places the record to a particular position in the database.
What is the need to code COMMITS in batch programs?
COMMIT statements are used to release locks which are required for that unit of work, and then permit a new unit of work. In other words, if COMMITS are not coded in the program and the program has been sent for execution, then while processing, in place of just going back to a few inserts since the nearest commit, the program has to go back to the inserts which were made during the entire run of the program. This extra process takes around twice or thrice the time taken normally.
Can you define foreign keys?
Foreign keys are properties of a particular table having matching entries to a primary key in some another table. This results in the formation of a relation between the two tables.
Can you define an alias?
It is a substitute to a synonym. Aliases are developed for distributed environments so as to avoid the use of location qualifier of a view or table. It is not dropped when the table gets deleted.
Can you define SPUFI?
SPUFI is the abbreviated form of SQL Processing Using File Input. It is a menu-driven tool which the developers use to make objects in the database.
Can you explain function of DBCTL?
It is used to access IMS files for CICS Transactions and it is an address space. PSBs, DBDs, IMS files and ACBs are fixed into DBCTL for file access. Now if an IMS call is generated by a CICS program the processing gets transferred to DBCTL to be carried, and the result is sent as reply.
Can you define path?
It is a file that makes accessing a file by alternate index possible. The path defines a relation between the base cluster and the AIX.
How to compare two files by using SORT?
We can use JOINKEYS in SORT to compare two files based on certain fields.
Explain identify whether a CALL statement is a STATIC or DYNAMIC call?
If the program name is directly referred in the CALL statement then it is considered as Static call and if a working storage variable is referred in the CALL statement then it is considered as Dynamic call
Can you explain create an Empty file by using SORT?
We can do so by using below SORT fields
Include cond=none
Sort fields=copy
What is SQLCA and why is it needed in any COBOL-DB2 program?
SQLCA is also a system defined copybook which is required to be used for any COBOL-DB2 program
How an Empty file to be checked?
There are many ways to check whether a file is empty or not and SORT/SELCOPY/IDCAMS can be used to do that
What is the difference between Goback Stop Run and Exit Program in COBOL?
Goback: returns control to the calling program
Stop Run: stops the current work unit and returns control to OS
Exit Program: It is used to come out of a program that has been called by another program.
While creating a table, by mistake you have given size of one field as 10. But as per requirement size should be 8. What is your next step?
If table is empty then we alter this column to any length, but if some data get inserted into the table then we can also decrease the column length up to largest data size available in that particular column.
When is INSPECT verb is used in COBOL?
In COBOL,INSPECT is used to know number of times a specific character occurs or to replace some portion of data.
Can you explain function of IEBGENER?
IEBGENER helps in copying one SAM File to some other Source. It is also used to perform simple data reformatting through the supply of control cards via SYSIN
What is the difference between INREC and OUTREC?
INREC and OUTREC do the same but the only difference is the way reformatting is done.
When INREC is used, reformatting of records is done BEFORE the sort.
When OUTREC is used, reformatting of records is done AFTER the sort
When do you get -811 SQLcode and how to resolve it?
-811 SQLcode is returned when a select query returns more than one row.
How to handle -911 (deadlock) error in a db2 program so that the program will never ABEND?
Deadlock timeout error occurs in the following case: If two or more programs acquired exclusive lock on the data, which may be needed for other programs without that data which cannot proceed further. Solution: You can roll back current unit of work for one of the programs after preset time interval for deadlocks and terminate that program.
What is the purpose of a CICS region, and how does it differ from a DB2 subsystem?
A CICS region is an execution environment that hosts CICS transactions and provides an interface between applications and the underlying system resources. It handles online transaction processing. On the other hand, a DB2 subsystem is a separate component responsible for managing and processing relational databases. It handles database management and SQL query processing.
Explain the purpose and usage of the JCLLIB statement in JCL?
The JCLLIB statement is used to specify a library or libraries that contain JCL procedure definitions. It allows JCL procedures to be located and invoked from different libraries without specifying the complete dataset name. The JCLLIB statement helps in organizing and reusing JCL procedures across different jobs.
What is the difference between a VSAM file and a flat file?
A VSAM (Virtual Storage Access Method) file is a high-performance file access method that provides direct access to records based on a key. It supports indexed and sequential file organizations and offers features like record-level locking and concurrent access. On the other hand, a flat file is a simple sequential file that contains data in a continuous stream without any inherent organization or indexing.
How would you handle a situation where a COBOL program encounters a S0C7 abend?
An S0C7 abend in a COBOL program indicates a data exception, such as an invalid numeric data item or arithmetic overflow. To handle this situation, you can analyze the program logic and the data being processed to identify the cause of the abend. Techniques such as data validation, proper error handling, and using appropriate data manipulation techniques can help prevent or handle S0C7 abends.
Explain the concept of IMS (Information Management System) and its key components?
IMS is a hierarchical database management and transaction processing system for mainframe environments. It consists of various components:
IMS Database (IMS DB): Manages hierarchical databases with segments and sets.
IMS Transaction Manager (IMS TM): Controls transaction processing, including transaction routing, synchronization, and recovery.
IMS Message Format Service (IMS MFS): Defines the format and structure of messages exchanged between IMS applications.
IMS Connect: Provides connectivity for accessing IMS resources from distributed systems through protocols like TCP/IP.
What is RACF (Resource Access Control Facility), and what is its role in mainframe security?
RACF is an IBM security product that provides access control and authorization for mainframe resources. It manages user authentication, password management, and defines resource-level security policies. RACF ensures that only authorized users can access specific datasets, programs, and system resources. It plays a crucial role in maintaining the security and integrity of mainframe systems.
Explain the purpose and usage of the IDCAMS utility?
IDCAMS (Access Method Services) is a utility program used for defining, manipulating, and managing datasets. It allows you to perform various tasks such as creating, deleting, renaming, copying, and reorganizing datasets. IDCAMS can also be used to define VSAM datasets, perform space management, and control data integrity through features like backup and recovery.
What is the purpose of a checkpoint and restart in a batch job?
Checkpoint and restart are techniques used in batch jobs to recover from interruptions or failures. A checkpoint is a logical point in the job where the program’s progress and necessary information are saved. In case of a failure, the job can be restarted from the last checkpoint, minimizing reprocessing and ensuring data integrity.
How can you optimize COBOL programs for performance on a mainframe?
To optimize COBOL programs for performance on a mainframe, you can consider various techniques:
- Efficient use of data access methods, such as VSAM or DB2, based on the data requirements.
- Effective use of COBOL compiler options and optimization levels.
- Proper indexing and sorting techniques for efficient data retrieval.
- Minimizing I/O operations by using appropriate buffer sizes and caching.
- Eliminating unnecessary program logic and reducing CPU-intensive operations.
Explain the concept of a CICS transaction and its life cycle?
In CICS, a transaction represents a unit of work that performs a specific business function or process. It typically involves user interaction and database access. The life cycle of a CICS transaction includes the following stages:
Initiation: The transaction is initiated by a user request or automatically by another program.
Execution: The transaction executes its logic, which may involve database access, screen interactions, and business processing.
Commit or Rollback: The transaction’s changes are either committed (permanently saved) or rolled back (undone) based on the success or failure of the transaction’s processing.
What Optimum Values Can We Find for Freespace, Ci Etc?
The size of CI has to depend on the length of the record and the processing type. The normal value is 4 kilobytes but when the length of the record is bigger than 1 kilobyte we have to pick 6 kilobytes or 8 kilobytes. The normal values for FREESPACE are (20 20), when many insertions are made it should be bigger.
How can we repair a soc-7 error?
The main thing to do is repairing the problematic data, usually the cause for problems with SOC-7 is a numeric item that is un-initialized, and this is the primary concern. Some of the setups give us dumps for run-time abends, this can also be made by invoking OS services or subroutines via the assembly language. The dumps are useful as thei give us the ultimate instruction’s offset where the ABEND occurred.
The output XREF listing of the compilation must be verified for obtaining the line number and the verb of this offset’s source code. After that the bug can be found in the source code. For capturing the runtime dumps, we should define datasets like for instance Sysabout in JCL. When these methods are not working we must find the error source with judgement and Display. If the setup has debugging utilities, we should make use of them.
Why is free space left in KSDS Dataset?
While allocating KSDS Datasets, free space is declared at regular intervals at the time of initial loading. This is done because this free space is utilized for keeping the data arranged in sequence physically, even though inserted randomly.
How are TYPE 1 and TYPE 2 indexes different?
TYPE 2 index is available for DB2V4. In this type, the data pages get locked, but the index pages are not locked. Therefore, TYPE 2 index are faster.
Can you define a GDG?
GDG (GenerationDataGroup) for defining it we will write the command DEFINE GENERATION DATA GROUP. In the IDCAMS step, a different data set has to be defined and its DCB parameters will be used at the time when new generations are made. This is what we call a model dataset, whose ds name has to be similar to the one of the GDG.
How can we increment subscript and index?
Subscript::Can be increment or decrement using arithmetic operations
Index::can be increment or decrement using set verb
What is label record is standard or omitted in file description of data division?
Label record is standard means it will use disk files. But tape files can have standard label too. If the label record is omitted it should be the tape file without any begin and end blocks on the tape.
What are the Mainframe Computing Pros and Cons?
Pros:
- Excessive-level computing: One of many predominant traits of mainframe computer systems is their potential to course of knowledge and run functions at excessive speeds. Enterprise computing requires high-speed enter/output (I/O), greater than uncooked computing velocity. Mainframes successfully ship it. Additional, as enterprise computing additionally calls for broad bandwidth connections, mainframe design balances I/O efficiency and bandwidth.
- Stability: A major advantage of mainframes is that they are very stable compared to other types of computers.
- Mainframe computers also need special operating systems and software to be able to take full advantage of their hardware, which complicates the installation process even more.
- Mainframes are at the heart of our business
- Virtualization: A mainframe system can be divided into logical partitions.
- Reliability, availability, and serviceability.
- IBM z Systems mainframes: It is focused on developing tools that help companies running IBM mainframes get the most out of their investments
- Long lasting performance: Mainframe computers are known for their long-lasting performance.
- Security: As mainframes are designed specifically for large organizations where the confidentiality of data is critical, mainframe computers have extensive capabilities for securely storing and protecting data.
- Disaster recovery capability that meets your specifications at the best possible price.
Cons:
- One of the most noticeable disadvantages of a mainframe computer is its cost, which is significantly higher than the cost of a regular computer Hardware and software for mainframes are clearly expensive.
- Mainframe occupies more room than different computer systems. That enormous house may be a constraint for small institutions. However, that drawback shouldn’t be so extreme because it as soon as was. In comparison with earlier machines, right this moment’s mainframes are small.
- Finally, one needs high-end skills to work with mainframe computers.
(Reference: Wikipedia)