Define DB2
DB2 is a Database Management System for the MVS Operating System where, DB2 is a subsystem of MVS Operating System.
What is the purpose of using COMMIT?
The data changes can be made permanent by using COMMIT. It also permits data to be accessed by other applications who can reference the committed data
What are the uses of DB2 Optimizer?
·         It processes SQL statements.
·         It helps to select the access path
Define SQLCA
SQL Communication Area is a structure of variables, which are updated after every execution of SQL statements. For an application that contains executable SQL statements, only one SQLCA is needed. FORTRAN need more than one SQLCA to be provided. For Java, SQLCA is not applicable.
Define CHECK constraint
It is specified as a condition or criteria to ensure data integrity. A value to be inserted or updated to a table is tested by CHECK constraint. The CHECK constraints are created during the creation of the table.
What is SQLCA’s maximum length?
136 is the maximum length of the SQLCA.
Discuss about DB2 bind?
The process that builds access paths to the DB2 table is known as bind. The bind uses Database Request Modules from the DB2 pre-compile step as input and produces an application plan. It checks for user authentication and validates SQL statements in the DBRM(s).
List out the three types of page locks that can be held.
·         Exclusive
·         Update
·         Share
Define buffer pool
The buffer pool is a reserved main storage, which is to satisfy the buffering requirements for one or more table spaces or indexes. It can be made up of either 4K or 32K pages.
Explain the function of Data Manager
The physical database is managed by the DB2 component called Data manager. It invokes other system components to perform logging, locking etc.
What is a storage group (STOGROUP)?
STOGROUP is a named collection of DASD volumes, which is to be used by index spaces and table spaces of the database.
Define predicate?
Predicate is an element of a search condition. It expresses or implies a search condition.
Define Declaration Generator (DCLGEN)
Declaration Generator is a facility that is used to form SQL statements that describes a table or view. At pre-compile time, the table or view descriptions are then used to check the validity of SQL statements.
List out the buffer pools in DB2
There are four buffer pools in DB2 and they are:
1.   BP0
2.   BP1
3.   BP2
4.   BP32
Define clustering index
Clustering index is a type of index, which locates the table rows and determines how to group the rows together in the table space.
What is concurrency?
More than one DB2 application process can access the same data at the same time, is known as concurrency. However, problems can happen such as, lost updates access to unrepeatable reads and uncommitted data.
Explain the Function done by data manager?
Data manager can be considered as a component that is capable of managing the databases that are physically present and is capable of invoking other components associated with the system for performing functionalities like logging, locking and in performing other I/O operations.
Explain about DBRM
DBRM stands for Database Request Module and is a component inside DB2, which is created by the pre compiler of DB2. This is a module that consists of SQL source statements that get extracted out of the application program. DBRMs form inputs that are helpful in the binding process.
Define Data page
Data page can be considered as a unit that is capable of retrieving data from the database. The database from which the data can be retrieved is in the form of 4 kilobytes or 32 kilobytes. The form in which data is retrieved depends on the way the table is defined inside the database. Data page also contains information regarding the catalog or user that are part of the database.
Explain correlated sub-queries
Correlated sub-queries are those queries wherein the nester query on the inner side refers directly back to outer query’s table. For each and every row that is qualified, the evaluation of correlated sub-query is a must.
Comment whether the cursor is closed during COMMIT or not
Yes. The cursor is closed during COMMIT.
In an SQL table that is embedded, what is the procedure to retrieve rows that are part of a DB2 table?
Either you can use SELECT statements of single rows or an alternative way is to use CURSOR.
Mention the way of highlighting as well as putting a CURSOR to use in a COBOL program
The best way of putting a CURSOR to use in a COBOL program is to make use of DECLARE CURSOR, which can be used either in procedure division operation or in working storage. This is being done basically to highlight the SELECT statement. Once DECLARE CURSOR is used, this is followed by OPEN, FETCH and finally CLOSE.
If the CURSOR is kept open followed the issuing of COMMIT, what is the procedure to leave the CURSOR that way?
Inside DECLARE CURSOR, there is a WITH HOLD option, which will come useful in this case. Although, one should note the point that WITH HOLD function has absolutely no effect if considered for CICS pseudo-conventional programs.
PACKAGES are units, which consist of executable codes that are meant for SQL statements for one respective DBRM.
Highlight all the advantages that are attached to a PACKAGE
Following are the advantages attached to a PACKAGE
·         Avoid the cost of a large collection of bind. It is much more advisable to go for a small collection instead of a large one.
·         Ensure that you do not have to bring a large collection of members of DBRM together for a particular plan.
·         In case if you wish to make changes in the program and these changes eventually lead to errors, then you can decrease the fallback complexities with the help of PACKAGE.
·         During the process of automatic binding and rebinding of a particular plan, make sure that the total transaction attached to the process is unavailable during the course.
DATE: PIC X (10)
TIME: PIC X (08)
For a DB2 column that is being defined as DECIMAL (11, 2), discuss the COBOL picture clause
PIC S9 (9) V99 COMP – 3
In the expression DECIMAL (11, 2)  2 happens to be the precision whereas 11 is the data type size.
Explain DCLGEN
DCLGEN basically refers to DeCLarations GENerator whose primary purpose is to generate copy books of the host language for the tables. It is also used to create the DECLARE table.
Mention some fields that are a part of SQLCA
Explain the contents that are a part of DCLGEN
There are primarily two components of DCLGEN. These are:
·         A copy book of the host language, which will give alternative definitions for all the column names.
·         In terms of the data-types of DB2, EXEC SQL DECLARE TABLE shows an aesthetic layout of the table.
Comment whether DCLGEN is mandatorily used. If not, then what is the point of using it?
It is not exactly mandatory to bring DCLGEN into use. The primary use of DCLGEN comes during the pre-compilation phase where it helps in detecting the mis spelt column names. Since DCLGEN is just a tool, it will only generate variable definitions for the host and reduces the chances of errors.
Even if DB2 is down at some point of time, even then it will not impact the pre-compilation process of DB2-COBOL program. The reason for the same is that the pre-compiler never refers to the catalogue tables of DB2.
Following a DB2 update statement, what is the quickest way to compute the total number of updated rows?
All you have to do is check the value that has been stored in SQLERRD (3).
What is meant by EXPLAIN?
EXPLAIN is basically used to show the path of access by the optimizer basically for an SQL statement. Furthermore, EXPLAIN can also be brought to use in SPUFI or even in BIND step.
Before you give the EXPLAIN statement, what are the prerogatives?
Before giving the EXPLAIN statement, we need to make sure that PLAN_TABLE has already been created under AUTHID.
Mention the location where the output received from EXPLAIN statement is stored
The output from EXPLAIN is stored in userid.PLAN_TABLE
Outputs of EXPLAIN are with MATCHCOLS = 0. What does this signify?
This signifies a non-matching scan of index provided that ACCESSTYPE = I
Mention the various locks that are available in DB2
There is a certain point in a program at which DB2 acquires or perhaps releases the locks against tables as well as table-spaces. These include intent locks.
Mention the different locking levels that are available in DB2
Mention the downsides of PAGE level lock

In case if there are large updates to be done, then the resource utilization is high accordingly.
Request to Download PDF

Post A Comment: