Oracle interview questions with answer
1.
What are the various types of queries ?
Answer:
The types of queries are:
*
Normal Queries
*
Sub Queries
*
Co-related queries
*
Nested queries
*
Compound queries
2.
What is a transaction ?
Answer:
A transaction is a set of SQL statements between any two COMMIT and
ROLLBACK statements.
3.
What is implicit cursor and how is it used by Oracle ?
Answer:
An implicit cursor is a cursor which is internally created by
Oracle.It is created by Oracle for each individual SQL.
4.
Which of the following is not a schema object : Indexes, tables,
public synonyms, triggers and packages ?
Answer:
Public synonyms
5.
What is PL/SQL?
Answer:
PL/SQL is Oracle’s Procedural Language extension to SQL.The
language includes object oriented programming techniques such as
encapsulation, function overloading, information hiding (all but
inheritance), and so, brings state-of-the-art programming to
theOracle database server and a variety of Oracle tools.
6.
Is there a PL/SQL Engine in SQL*Plus?
Answer:
No.Unlike Oracle Forms, SQL*Plus does not have a PL/SQL engine.Thus,
all your PL/SQL are send directly to the database engine for
execution.This makes it much more efficient asSQL statements are not
stripped off and send to the database individually.
7.
Is there a limit on the size of a PL/SQL block?
Answer:
Currently, the maximum parsed/compiled size of a PL/SQL block is 64K
and the maximum code size is 100K.You can run the following select
statement to query the size of an existing package or procedure. SQL>
select * from dba_object_size where name = ‘procedure_name’
8.
Can one read/write files from PL/SQL?
Answer:
Included in Oracle 7.3 is a UTL_FILE package that can read and write
files.The directory you intend writing to has to be in your INIT.ORA
file (see UTL_FILE_DIR=…parameter).BeforeOracle 7.3 the only means
of writing a file was to use DBMS_OUTPUT with the SQL*Plus SPOOL
command.
DECLARE
fileHandler
UTL_FILE.FILE_TYPE;
BEGIN
fileHandler
:= UTL_FILE.FOPEN(’/home/oracle/tmp’, ‘myoutput’,'W’);
UTL_FILE.PUTF(fileHandler,
‘Value of func1 is %sn’, func1(1));
UTL_FILE.FCLOSE(fileHandler);
END;
9.
How can I protect my PL/SQL source code?
Answer:
PL/SQL V2.2, available with Oracle7.2, implements a binary wrapper
for PL/SQL programs to protect the source code.This is done via a
standalone utility that transforms the PL/SQL source code into
portable binary object code (somewhat larger than the original).This
way you can distribute software without having to worry about
exposing your proprietary algorithms and methods.SQL*Plus and SQL*DBA
will still understand and know how to execute such scripts.Just be
careful, there is no “decode” command available. The syntax is:
wrap iname=myscript.sql.yyy
10.
Can one use dynamic SQL within PL/SQL? OR Can you use a DDL in a
procedure ? How ?
Answer:
From PL/SQL V2.1 one can use the DBMS_SQL package to execute dynamic
SQL statements.
Eg:
CREATE OR REPLACE PROCEDURE DYNSQL AS
cur
integer;
rc
integer;
BEGIN
cur
:= DBMS_SQL.OPEN_CURSOR;
DBMS_SQL.PARSE(cur,’CREATE
TABLE X (Y DATE)’, DBMS_SQL.NATIVE);
rc
:= DBMS_SQL.EXECUTE(cur);
DBMS_SQL.CLOSE_CURSOR(cur);
END;
11.
What are the various types of Exceptions ?
Answer:
User defined and Predefined Exceptions.
12
Can we define exceptions twice in same block ?
Answer:
No.
13.
What is the difference between a procedure and a function ?
Answer:
Functions return a single variable by value whereas procedures do not
return any variable by value.Rather they return multiple variables by
passing variables by reference through their OUT parameter.
14.
Can you have two functions with the same name in a PL/SQL block ?
Answer:
Yes.
15.
Can you have two stored functions with the same name ?
Answer:
Yes.
16.
Can you call a stored function in the constraint of a table ?
Answer:
No.
17.
What are the various types of parameter modes in a procedure ?
Answer:
IN, OUT AND INOUT.
18.
What is Over Loading and what are its restrictions ?
Answer:
OverLoading means an object performing different functions depending
upon the no.of parameters or the data type of the parameters passed
to it.
19.
Can functions be overloaded ?
Answer:
Yes.
20
Can 2 functions have same name & input parameters but differ only
by return datatype
Answer:
No.
21.
What are the constructs of a procedure, function or a package ?
Answer:
The constructs of a procedure, function or a package are :
*
variables and constants
*
cursors
*
exceptions
22.
Why Create or Replace and not Drop and recreate procedures ?
Answer:
So that Grants are not dropped.
23.
Can you pass parameters in packages ? How ?
Answer:
Yes.You can pass parameters to procedures or functions in a package.
24.What are the parts of a database trigger ?
Answer:
The parts of a trigger are:
*
A triggering event or statement
*
A trigger restriction
*
A trigger action
25.
What are the various types of database triggers ?
Answer:
There are 12 types of triggers, they are combination of :
*
Insert, Delete and Update Triggers.
*
Before and After Triggers.
*
Row and Statement Triggers.
26.
What is the advantage of a stored procedure over a database trigger ?
Answer:
We have control over the firing of a stored procedure but we have no
control over the firing of a trigger.
27.
What is the maximum no.of statements that can be specified in a
trigger statement ?
Answer:
One.
28.
Can views be specified in a trigger statement ?
Answer:
No
29.
What are the values of :new and :o ld in Insert/Delete/Update
Triggers ?
Answer:
INSERT : new = new value, old = NULL
DELETE
: new = NULL, old = old value
UPDATE
: new = new value, old = old value
30.
What are cascading triggers? What is the maximum no of cascading
triggers at a time?
Answer:
When a statement in a trigger body causes another trigger to be
fired, the triggers are said to be cascading.Max = 32.
31.
What are mutating triggers ?
Answer:
A trigger giving a SELECT on the table on which the trigger is
written.
32.
What are constraining triggers ?
Answer:
A trigger giving an Insert/Updat e on a table having referential
integrity constraint on the triggering table.
33.
Describe Oracle database’s physical and logical structure ?
Answer:
*
Physical : Data files, Redo Log files, Control file.
*
Logical : Tables, Views, Tablespaces, etc.
34.Can you increase the size of a tablespace ? How ?
Answer:
Yes, by adding datafiles to it.
35.
Can you increase the size of datafiles ? How ?
Answer:
No (for Oracle 7.0)
Yes
(for Oracle 7.3 by using the Resize clause )
36.
What is the use of Control files ?
Answer:
Contains pointers to locations of various data files, redo log files,
etc.
37
What is the use of Data Dictionary ?
Answer:
It Used by Oracle to store information about various physical and
logical Oracle structures e.g.Tables, Tablespaces, datafiles, etc
38.
What are the advantages of clusters ?
Answer:
Access time reduced for joins.
39.
What are the disadvantages of clusters ?
Answer:
The time for Insert increases.
40.
Can Long/Long RAW be clustered ?
Answer:
No.
Greetings Mate,
ReplyDeleteThis is indeed great! But I think perhaps you are generally referring Oracle Apps which is getting unsustainable.
I need some help from you experts on this stored procedure..
There are 4-5 batch procedures that will call this stored procedure. The batch will call the stored procedure with 'I' parameter in the beginning of the batch process. The batch will call the stored procedure with 'O' parameter at the end of the batch process. The stored procedure should write the details into the auditing table.
But great job man, do keep posted with the new updates.
Shukran,