Monday, March 28, 2011

Oracle DBA Interview Questions

Introduction to DBA

1. What is a database instance ? Explain

A database instance (server) is a set of memory structures and background processes that access a set of database files.

The process can be shared by all users.

The memory structures that are used to store most queried data from database. This helps us to improve database performance by decreasing the amount of I/O performed against data file.

2. What is parallel server?

Multiple instances accessing the same database (Only in Multi-CPU environments).

3. What is Schema ?

The set of objects owned by user account is called the schema

4. What is an Index ? How it is implemented in Oracle Database ?

An index is a database structure used by the server to have direct access of a row in a table.
An index is automatically created when a unique or primary key constraint clause is specified in create table command (Ver 7.0)

5. What is clustres ?

Group of tables physically stored together because they share common columns and are often used together is called Clusters.

6. What is a cluster key ?

The related columns of the tables are called the cluster key. The cluster key is indexed using a cluster index and its value is stores only once for multiple tables in the cluster.

7. What are the basic element of Base configuration of an oracle Database ?

It consists of
one or more data files
one or more control files
two or more redo log files

The database contains
Multiple users/schemas
one or more rollback segments
one or more tablespaces
Data dictionary tables

User objects (tables,indexes,views etc)

The server that access the database consists of
SGA (Database buffer, Dictionary Cache Buffers, redo log buffers,Shared SQL pool)
SMON
PMON
LGWR
DBWR
ARCH
CKPT
RECO
Dispatcher
User process with associated PGA

8. What is deadlock ? Explain.

Two processes waiting to update the rows of a table which are locked by the other process then deadlock arises.

In a database environment this will often happen because of not issuing proper row lock commands. Poor design of front-end application may cause this situation and the performance of server will reduce drastically.

These locks will be released automatically when a commit/rollback operation performed or any one of this processes being killed externally.

3.2 Memory Management

9. What is SGA ? How it is different from Ver 6 and Ver 7 ?

The System Global Area in a Oracle database is the area in memory to facilitates the transfer of information between users. It holds the most recently requested structural information about the database.

The structure is Database buffers, Dictionary Cache, Redo Log Buffer and Shared SQL pool (Ver 7) area.

10. What is Shared SQL pool ?

The data dictionary cache is stored in an area in SGA called the Shared SQL Pool. This will allow sharing of parsed SQL statements among concurrent users.

11. What is meant by Program Global Area (PGA) ?

It is area in memory that is used by a Single Oracle User process.

12. What is a data segment ?

Data segment are the physical areas within a database block in which the data associated with tables and clusters are stored.

13. What are the factors causing the reparsing of SQL statements in SGA ?

Due to insufficient Shared SQL pool size

Monitor the ratio of the reloads takes place while executing SQL statements. If the ratio is greater that 1 then increase the SHARED_POOL_SIZE.

3.3 Logical & Physical Architecture of Database

14. What is Database Buffers ?

Database buffers are cache in the SGA used to hold the data blocks that are read from the data segments in the database such as tables, indexes and clusters. DB_BLOCK_BUFFERS parameter in INIT.ORA decides the size.

15. What is dictionary cache ?

Dictionary cache is information about the database objects stored in a data dictionary table.

16. What is meant by recursive hits ?

Number of times processes repeatedly query the dictionary table is called recursive hits. It is due to the data dictionary cache is too small. By increasing the SHARED_POOL_SIZE parameter we can optimize the size of Data Dictionary Cache.

17. What is meant by redo log buffer ?

Changes made to entries are written to the on-line redo log files so that they can be used in roll forward operation during database recoveries. Before writing them into the redo log files, they will first brought to redo log buffers in SGA and LGWR will write into files frequently. LOG_BUFFER parameter will decide the size.

18. How will you swap objects into a different table space for an existing database ?

Export the user
Perform import using the command imp system/manager file=export.dp indexfile=newfile.sql. This will create all definitions into newfile.sql.
Drop necessary objects.

Run the script newfile.sql after altering the tablespaces.
Import from the backup for the necessary objects.

19. List the Optimal Flexible Architecture (OFA) of Oracle database ? or
How can we organise the tablespaces in Oracle database to have maximum performance ?

SYSTEM - Data dictionary tables
DATA - Standard operational tables
DATA2 - Static tables used for standard operations
INDEXES - Indexes for Standard operational tables
INDEXES1 - Indexes of static tables used for standard operations
TOOLS - Tool table
TOOLS1 - Indexes for tools table
RBS - Standard Operations Rollback Segments
RBS1,RBS2 - Additional/Special rollback segments
TEMP - Temporary purpose tablespace
TEMP_USER - Temporary tablespace for users
USERS - User tablespaces.

20. How will you force database to use particular rollback segment ?

SET TRANSACTION USE ROLLBACK SEGMENT rbs_name

21. What is meant by free extent ?

A free extent is a collection of continuous free blocks in tablespace. When a segment is dropped its extents are reallocated and are marked as free.

22. How free extents are managed in Ver 6 and Ver 7. ?

Free extents cannot be merged together in Ver 6.0
Free extents are periodically coalesces with the neighboring free extent Ver 7.0.

23. Which parameter in Storage clause will reduce no of rows per block ?

PCTFREE parameter
Row size also reduces no of rows per block.

24. What is significance of having storage clause ?

We can plan the storage for a table as how much initial extents are required, how much can be extended next, how much % should leave free for managing row updations etc.

25. How does space allocation take place within a block ?

Each block contains entries as follows :
Fixed block header
Variable block header

Row header, row date (Multiple rows may exists)
PCTFREE (% of free space for row updation in future)

26. What is the role of PCTFREE parameter is Storage clause ?

This is used to reserve certain amount of space in a block for expansion of rows.

27. What is the OPTIMAL parameter ?

It is used to set the optimal length of rollback segment.

28. What is the functionality of SYSTEM tablespace ?

To manage the database level of transactions such as modifications of the data dictionary table that record information about the free space usage.

29. How will you create multiple rollback segments in a database ?

Create a database which implicitly creates a SYSTEM Rollback Segment in a SYSTEM tablespace.
Create a Second Rollback Segment name R0 in the SYSTEM tablespace.
Make new rollback segment available (After shutdown, modify init.ora file and Start database)
Create other tablespace (RBS) for rollback segments.
Create additional Rollback segment in tablespace (RBS)
Deactivate Rollback Segment R0 and activate the newly created rollback segments.

30. How the space utilisation takes place within rollback segments ?

It will try to fit the transaction in a cyclic fashion to all existing extents. Once it found an extent is in use then it forced to acquire a new extent. (No of extents is based on the OPTIMAL size).

31. Why query fails sometimes ?

Rollback segment dynamically extent to handle larger transactions entry loads.
A single transaction may wipeout all available free space in the Rollback Segment Tablespace. This prevents other user using Rollback segment.

32. How will you monitor the space allocation ?

By querying DBA_SEGMENT table/View

33. How will you monitor rollback segment status ?

Querying the DBA_ROLLBACK_SEGS view

The status available as follows :
IN USE - Rollback Segment is on-line
AVAILABLE - Rollback Segment available bur not on-line
OFF-LINE - Rollback Segment us off-line
INVALID - Rollback Segment dropped
NEEDS RECOVERY - Contains data but need recovery or corrupted
PARTLY AVAILABLE - Contains data from an unresolved transaction involving a distributed database

34. List the sequence of events when a large transaction that exceeds beyond its optimal value when an entry wraps and causes the rollback segment to expand into another extend.

Transaction Begins
An entry is made in the RBS header for new transactions entry
Transaction acquired blocks in an extent of RBS
The entry attempts to wrap into second extent. None is available. So that the RBS must extent.
The RBS checks to see if it is oldest inactive segment
Oldest inactive segment is eliminated
RBS extends
The Data dictionary table for space management are updated
Transaction Completes.

35. How can we plan storage for very large tables ?

Limit the number of extents in the table
Separate the Table from its indexes
Allocate sufficient temporary storage

36. How will you estimate the space required by non-clustered tables ?

Calculate the total block header size
Calculate the available data space per block
Calculate the combined column length of the average row
Calculate the total average row size
Calculate the average number rows that can fit in a block
Calculate the number of blocks and bytes required for the table
After arriving the calculation add the additional space to calculate the initial extent size for working area

37. Is it possible to use raw devices as data file and what is the advantages over file system files ?

Yes.
The advantages over file system files :
I/O will be improved because Oracle is bye-passing the kernal while writing into disk.
Disk Corruption will be very less.

38. What is a control file ?

Database's overall physical architecture is maintained in a file called control file. It will be used to maintain internal consistency and guide recovery operations. Multiple copies of control files are advisable.

39. How to implement the multiple control files for an existing database ?

Shutdown the database
Copy one of the existing control file to new location'
Edit config.ora file by adding new control file name
Restart the database

40. What is meant by Redo Log file mirroring ? How it can be achieved ?

Process of having a copy of redo log files is called mirroring.
This can be achieved by creating group of log files together, so that LGWR will automatically writes them to all the members of the current on-line redo log group. If any one group fails then database automatically switch over to next group.

41. What is advantage of having disk shadowing/Mirroring ?

Shadow set of disks save as a backup in the event of disk failure. In most Operating System if any disk failure occurs it automatically switchover to place of failed disk.
Improved performance because of most OS support volume shadowing can direct file I/O request to use the shadow set of files instead of the main set of files. This reduces I/O load on the main set of disks.

42. What is use of rollback segment in Database ?

They allow the database to maintain read consistency between multiple transactions.

43. What is a Rollback segment entry ?

It is the set of before image data blocks that contain rows that are modified by a transaction.
Each Rollback Segment entry must be completed within one rollback segment.
A single rollback segment can have multiple rollback segment entries.

44. What a hit ratio ?

It is a measure of well the data cache buffer is handling requests for data.
Hit Ratio = (Logical Reads - Physical reads - Hit Misses) / Logical reads.

45. When will be a segment released ?

When Segment is dropped.
When Shrink (RBS only)
When truncated (TRUNCATE used with drop storage option)

46. What are disadvantages of having raw devices ?

We should depend on export/import utility for backup/recovery (fully reliable)
The tar command cannot be used for physical file backup, instead we can use dd command which is less flexible and has limited recoveries.

47. List the factors that can affect the accuracy of the estimations ?

The space used transaction entries and deleted records does not become free immediately after completion due to delayed cleanout.
Trailing nulls and length bytes are not stored.
Inserts of, updates to, and deletes of rows as well as columns larger than a single data block, can cause fragmentation and chained row pieces.

3.4 Database Security & Administration

48. What is user account in Oracle database ?

An user account is not a physical structure in Database but it is having important relationship to the objects in the database and will be having certain privileges.

49. How will you enforce security using stores procedures ?

Don't grant user access directly to tables within application
Instead grant the ability to access the procedures that access the tables
When procedure executed it will execute the privilege of procedures owner. Users cannot access tables except via the procedure.

50. What are the dictionary tables used to monitor a database spaces ?

DBA_FREE_SPACE
DBA_SEGMENTS
DBA_DATA_FILES

51. What are responsibilities of a Database Administrator ?

1. Installing and upgrading the Oracle Server and application tools
2. Allocating system storage and planning future storage requirements for the database system.
3. Managing primary database structures(tablespaces)
4. Managing primary objects (table,views,indexes)
5. Enrolling users and maintaining system security
6. Ensuring compliance with Oracle license agreement
7. Controlling and monitoring user access to the database
8. Monitoring and optimising the performance of the database
9. Planning for backup and recovery of database information
10. Maintain archived data on tape
11. Backing up and restoring the database
12. Contacting Oracle Corporation for technical support

52. What are requirements one should fulfill to connect to ORACLE as internal?

Operating system account has the operating system privileges that allow you to connect
One should be authorised to connect as internal
Database has a password for internal connections, and you know the password must use a dedicated server

53. What are the roles and user accounts created automatically with the database ?

DBA role - Contains all database system privileges

SYS user account - The DBA role will be assigned to this account. All of the base tables and views for the database's dictionary are store in this schema and are manipulated only by ORACLE.

SYSTEM user account - It has all the system privileges for the database and additional tables and views that display administrative information and internal tables and views used by oracle tools are created using the username.

54. What are the database administrators utilities available ?

SQL*DBA - This allows DBA to monitor and control an ORACLE database.

SQL*Loader - It loads data from standard operating system files (Flat files) into ORACLE database tables.

EXPORT(exp) and IMPOER (imp) utilities allow you to move existing data in ORACLE format to and from ORACLE database.

55. What are the minimum parameters should exist in the parameter file (init.ora) ?

DB_NAME - Must set to a text string of not more that 8 characters and it will be stored inside the datafiles, redo log files and control file while database creation.

DB_DOMAIN - It is string that specifies the network domain where the database is created. The global database name is identified by setting these parameters (DB_NAME & DB_DOMAIN)

CONTROL_FILES - List of control filenames of the database. If name is not mentioned then default name will be used.

DB_BLOCK_SIZE - The default data block size and is operating system dependent. It cannot be changed after database creation except by re-creating the database.

DB_BLOCK_BUFFERS - The maximum number of operating system processes that can be connected to ORACLE concurrently. The value should be 5 (background process) and additional 1 for each user.

ROLLBACK_SEGMENTS - List of rollback segments an ORACLE instance acquires at database startup.

Also optionally LICENSE_MAX_SESSIONS,LICENSE_SESSION_WARNING and LICENSE_MAX_USERS.

56. What is a trace file and how it is created ?

Each server and background process can write an associated trace file. When an internal error is detected by a process or user process, it dumps information about the error to its trace. This can be used for tuning the database.

57. What are roles ? How can we implement roles ?

Roles are easiest way to grant and manage common privileges needed by different groups of database users.
Creating roles and assigning privies to roles.
Assign each role to group of users. This will simplify the job of assigning privileges to individual users.

58. What are the steps to switch a database's archiving mode between NOARCHIEVELOG and ARCHIVELOG mode ?

1. Shutdown the database instance
2. Backup the database
3. Perform any operating system specific steps (optional)
4. Start up a new instance and mount but do not open the database
5. Switch the database's archiving mode.

59. How can you enable automatic archiving ?

Shut the database
Backup the database
Modify/Include LOG_ARCHIVE_START = TRUE in init.ora file
Start up the database

60. How can we specify the Archived log file name format and destination ?

By setting the following values in init.ora file
LOG_ARCHIVE_FORMAT = arch%S/s/T/t.arc (%S - Log sequence number and is zero left-paded, %s - Log sequence number not paded, %T - Thread number left-zero-paded and %t - Thread number not paded). The file name created is arch0001.arc %S is used.
LOG_ARCHIEVE_DEST = path

Shut the database and change these parameters in init.ora files.

61. What is the user of ANALYZE command ?

To perform one of these function on an index, table, or cluster :
to collect statistics about object used by the optimizer and store them in the data dictionary.
to delete statistics about the object from the data dictionary
to validate the structure of the object
to identify migrated and chained rows of the table or cluster.

3.5 Managing Distributed Databases

62. How can we reduce the network traffic ?

Replication of data in distributed environment
Using snapshots to replicate data
Using remote procedure calls.

63. What is a snapshot ?

Snapshot is an object used to dynamically replicate data between distributed databases at specified time intervals. In ver 7.0 they are read only.

64. What are the various type of snapshots ?

Simple and Complex.

65. Differentiative simple and complex, snapshots

A simple snapshot is based on a query that does not contains GROUP BY clauses, CONNECT by clauses, JOINs, Subquery or a set of operations.
A complex snapshots contain at least any one of the above.

66. What is dynamic data replication ?

Updating or inserting records in remote database through database triggers. It may fail if remote database is having any problem.

67. How can you enforce referential integrity in snapshots ?

Time the references to occur when master tables are not in use.
Perform the references manually immediately after locking the master tables.
We can join tables in snapshots by creating a complex snapshot that will be based on the master tables.

68. What are the options available to refresh snapshots ?

COMPLETE - Tables are completely regenerated using the snapshot's query and the master tables every time the snapshot referenced.
FAST - If simple snapshot used then a snapshot log can be used to send only the changes to the snapshot tables.
FORCE - The default value. If possible it performs a FAST refresh; Otherwise it will perform a COMPLETE refresh.

69. What is a snapshot tag ?

It is a table that maintains a record of modifications to the master table in a snapshot. It is stored in the same database as master table and is only available for simple snapshots. It should be created before creating snapshots.

70. When will the data in the snapshot log be used ?

The data in the snapshot log is used during fast references of the table's snapshots.

71. What are the pre-requisites to create a snapshot log ?

We must be able to create a after row trigger on table (i.e. it should not be already available)
After giving table previleges.
We cannot specify snapshot log name because oracle uses the name of the master table in the name of the database objects that support its snapshot log.
The master table name should be less than or equal to 23 characters.
(The table name created will be MLOG$_tablename, and trigger name will be TLOG$_tablename)

72. What are the benefits of distributed options in databases ?

Database on other servers can be updated and those transactions can be grouped together with others in a logical unit.
Database uses a two phase commit

73. What is a two-phase commit ?

Database on other servers can be updated and those transactions can be grouped together with others in a logical unit is called two-phase commit. They are

The Preparation Phase : An initiating node called the global coordinator notifies all sites involved in the transaction to be ready either commit or rollback the transaction.

The Commit Phase : If there is no problem with prepare phase, then all sites commit their transactions. If a network or node failure occurs, then all sites rollback their transactions.

3.6 Managing Backup & Recovery

74. What are the different methods of backing up oracle database ?

Logical Backups
Cold Backups
Hot Backups (Archive log)

75. What is a logical backup ?

Logical backup involves reading a set of database records and writing them into a file. Export utility is used for taking backup and Import utility is used to recover from backup.

76. What is cold backup ? What are the elements of it ?

Cold backup is taking backup of all physical files after normal shutdown of database. We need to take
All Data files
All Control files
All on-line redo log files
Then init.ora file (optional)

77. What are the different kind of export backups ?

Full backup - Complete database
Incremental Backup - Only affected tables from last incremental date / Full backup date
Cumulative backup - Only affected table from the last cumulative date / Full backup date

78. What is hot backup and how it can be taken ?

Taking backup of archive log files when database is open. For this the ARCHIVELOG mode should be enabled. The following files need to be backed up :
All data files
All archive log, redo log files
On control file.

79. What is the use of FILE option in EXP command ?

To give the export file name.

80. What is the use of COMPRESS option in EXP command ?

Flag to indicate whether export should compress fragmented segments into single extents.

81. What is the use of GRANT option in EXP command ?

A flag to indicate whether grants on database objects will be exported or not. Values is 'Y' or 'N'.

82. What is the use of INDEXES option in EXP command ?

A flag to indicate whether indexes on tables will be exported.

83. What is use of ROWS option in EXP command ?

Flag to indicate whether table rows should be exported. If 'N' only DDL statements for the database objects will be created.

84. What is the use of CONSTRAINTS option in EXP command ?

A flag to indicate whether constraints on table need to be exported.

85. What is the use of FULL option in EXP command ?

A flag to indicate whether full database export should be performed.

86. What is the use of OWNER option in EXP command ?

List of table accounts should be exported.

87. What is the use of TABLES option in EXP command ?

List of tables should be exported.

88. What is use of RECORD LENGTH option in EXP command ?

Record length in bytes.

89. What is use of INCTYPE option in EXP command ?

Type export should be performed. COMPLETE, CUMULATIVE, INCREMENTAL

90. What is use of RECORD option in EXP command ?

For incremental exports, the flag indicates whether a record will be stored in data dictionary tables recording the export.

91. What is the use of PARFILE option in EXP command ?

Name of the parameter file to passed for export.

92. What is the use of ANALYSE (Ver 7) option in EXP command ?

A flag to indicate whether statistical information about the exported objects should be written to export dump file.

93. What is use of CONSISTENT (Ver 7) option in EXP command ?

A flag to indicate whether a read consistent version of all the exported objects should be maintained.

94. What is the use of Log (Ver 7) option in EXP command ?

The name of file to which log of the export will be written.

95. What is use of FILE option in IMP command ?

The name of file from which import should be performed.

96. What is the use of SHOW option in IMP command ?

A flag to indicate whether file content should be displayed or not.

97. What is the use of IGNORE option in IMP command ?

A flag to indicate whether import should ignore errors encounter when issuing CREATE command.

98. What is the use of GRANT option in IMP command ?

A flag to indicate whether grants on database objects will be imported.

99. What is use of INDEXES option in IMP command ?

A flag to indicate whether import should import index on tables or not.

100. What is use of ROWS option in IMP command ?

A flag to indicate whether rows should be imported. I f this is set to 'N' then only DDL for the database objects will be executed ?

101. What is the use of FULL option in IMP command ?

A flag to indicate whether full import should be done or not.

102. What is the use of FROMUSER option in IMP command ?

A list of database accounts whose objects should be read from the export dump file.

103. What is use of TOUSER option in IMP command ?

A list of database accounts into which objects in the export dump file will be imported

104. What is use of TABLES option in IMP command ?

A list of tables to be imported.

105. What is use of RECORDLENGTH option in IMP command ?

The length of the record in bytes of the export dump file.

106. What is use of INCTYPE option in the IMP command ?

The type of import being performed.

107. What is use of COMMIT option in IMP command ?

A flag to indicate whether import should commit after each array. If 'N' then commit will take place at table level

108. What is use of PARFILE option in IMP command ?

Name of the parameter file to passed for import command.

109. What is use of INDEXFILE option in IMP command ?

If filename is given then all the DDL will be created in the given file.

110. What is use of DESTROY (Ver 7) option in IMP command ?

A flag to indicate whether the create tablespace command found in dump files from full exports will be executed.

111. What is use of LOG option in IMP command ?

Name of the file to which the log of the import will be written.

112. Consider a case below : User is taking the backup in the following fashion :
Type F I I I I C I I I I C I I
Date 1 2 3 4 5 6 7 8 9 10 11 12 13
F - Full Backup
I - Incremental Backup
C - Cumulative Backup
Suppose database crash on 14th morning. How can we retrieve the database ?

Create the database
Import from the Full backup which was taken on 1st
Import from Cumulative backups which was taken on 6th
Import from Cumulative backups which was taken on 1th
Import from the Incremental backups 12,13 respectively.
Now the database will be available to latest status provided there is no transaction taken place after the 13th incremental backup.

113. List the steps to restore the database if data file lost. (Assume we are taking hot backups)

Copy the lost file from the backup to the original location
Start the instance
Mount the database
Recover the database using recover database command
Open the database

114. What are the points to be taken care when we are using SQL*Loader for importing data from flat files ?

Whether table and indexes are properly sized.
Direct option being used or not (Ver 7)
If one time load do not create any index until data has been loaded and table size is verified.

115. What are the advantages of using direct path option in SQL*Loader ?

It bypasses the normal processing of insert statements and instead writes directly to tables data blocks.
When direct option is used index become invalid and once the load complete the new key is merged with all old one and bring the status to valid.
Data should be presorted otherwise it needs the double the size in tablespace.

116. What are areas a DBA can monitor the database using SQLDBA command?

DBA can monitor the following areas to do fine tuning of the database :
Processes
Sessions
Tables(Locks etc)
SQL Area
Library Cache
Latch
Locks
File I/O
System I/O
Rollback Segments
Statistics (System, Sessions)

Apart from this all DBA activities can be performed through SQLDBA command.

DDE �V OLE

DDE - Dynamic Data Exchange.
DLL - Dynamic Link Library
OLE - Object Linking and Embedding.
MAPI �V Messaging Application Program Interface

What is DDE ?

DDE is method for Inter Process Communication. An inter process communication is a method of passing data between processes and synchronising events.

How does DDE work ?

DDE uses shared memory to exchange data and a protocol to synchronize passing of data.

What does a DLL contain ?

A DLL contains code, data and windows resources.

How does a DLL work ?

A DLL allocates a global memory block to an application and uses this to exchange data with application.

What are the two types of DDE application ?

Message based DDE applications and Dynamic Data Exchange Management Library application.

What are the parts of a DDE application ?

Client application, Server application, Client/Server application and Monitor application.

What is a monitor application in the context of DDE ?

A monitor application can only intercept messages but cannot act on it.

What is the use of a monitor application ?

A monitor application can be used as a debugging tool.

What is the connection between OLE and DDE ?

OLE is a set of DDE executable commands to which DDE protocol is applicable.

What is the difference between an embedded object and a linked object ?

An embedded object is stored in the document itself while the document just stores a reference to the linked object.

If a link object is changed independently of the document, wht happens the linked object in the document ?
1. The reference object is automatically refreshed
2. The reference object is not refreshed
3. The user decides whether the object is to refreshed or if the older version is retained.

Answer is 2

What are the types of OLE applications ?

Client, Server and Object handlers.

What is an object handler ?

An Object handler is a set of DLL that facilitate communication between client application and server application.

What are the advantages of OLE ?

No need to switch between applications. Facilitate the use of specialized applications to create objects which can be embedded.

What is the difference between a stored procedure and a database trigger ?

A trigger is automatically executed when the firing event occurs while stored procedure has to be invoked.

No comments:

Post a Comment