Online interview questions

Prepare interviews on Anything, AnyWhere

Blogger, Developer Views: 1092

Oracle interview questions

Top Oracle interview questions and answers

1. What is Oracle?

Oracle is a database server that is used to handle data in a structured manner. It lets its users to retrieve and to store data in a way that multiple users can access similar data at the same time. Oracle achieves this with high efficiency. Many security checks are followed to limit access to authorized users only and to retrieve data in case of accidental data loss.

2. Define Oracle database

An Oracle database can be termed as a compilation of data housed in a database server and treated like a large unit.

3. Explain Oracle instance.

Each operating Oracle database is associated with an Oracle instance. As soon as a database server starts the database, it is assigned a memory area by Oracle called System Global Area (SGA) and starts one or more than one processes. The SGA and Oracle processes together are referred to as an Oracle instance. The process and memory of an instance are used to efficiently handle data used by multiple users.

4. Explain Parameter file in Oracle.

Parameter file is a file having a track of initialization parameters and the matching values. The two types of Oracle supported parameter files are:

  • Initialization parameter file – Text version and
  • Server parameter file – Binary version

Based on individual installations users can specify their individual initialization parameters.

5. Explain Oracle’s Server parameter file.

It is a file which has a binary nature and contains initialization parameter’s list. It is located machines where database server executes. Initialization parameters of server parameter file are persistent.

6. Explain Oracle’s System Global Area (SGA).

It is the memory area which contains shared data like SQL statements shared pool and buffer cache, between all users. As soon as an Oracle database instance starts the SGA is allocated. Value changes become effective during subsequent startup.

7. Explain user account with reference to Oracle.

Every user is given particular attributes identified by a user name termed as user account. The below can be incorporated in the user attributes:

  • Passwords to access database,
  • Roles and privileges,
  • Default table space containing database objects and
  • Default temporary table space facilitating query handling work space.

8. Which are the five query types available in Oracle?

The five query types in Oracle are as follows:

  • Compound queries,
  • Nested queries,
  • Corelated queries,
  • Sub queries
  • Normal queries.

9. What do you mean by a transaction?

A group of SQL statements flanked by any 2 ROLLBACK and COMMIT statements is a transaction.

10. Differentiate between function and procedure in Oracle.

A function is used to return a single value whereas a procedure doesn’t return any value. It returns multiple variables. This is achieved by passing variables by reference through OUT parameter.

11. Can there be more than one function with similar name in a PL/SQL block?


12. Explain over loading. Can functions be over loaded?

Over loading happens when an object is performing various functions based on the number or data types of the parameters passed through it. Yes, Functions can be overloaded.

13. Give the constructs of a package, function or a procedure.

The constructs for a package, function or a procedure are:

  • Exceptions,
  • Cursors
  • Variables and constants

14. Why do you create or replace procedures rather that drop and recreate.

In order to prevent Grants from getting dropped we create and replace procedures rather than drop and recreate.

15. Explain implicit cursor.

It’s a cursor formed by Oracle internally for individual SQL.

16. From the following identify the non schema object: packages, triggers, public synonyms, tables and indexes.

Public synonyms.

17. Does SQL*Plus have a PL/SQL Engine?

No. SQL*Plus doesn’t contain PL/SQL engine unlike Oracle Forms. Because of which all PL/SQL is sent to database engine to get executed which increases the efficiency. Each SQL statement is individually sent to the database and not stripped off.

18. What is the limitation on the block size of PL/SQL?

As of now a compiled/ parsed block of PL/SQL has a maximum size limitation of 64K and max. code size being 100K. The statement for querying existing procedure or package size is as follows:

SQL> select * from dba_object_size where name = 'procedure_name'

19. How to read / write files from PL/SQL?

Oracle 7.3 has a UTL_FILE package included in it which is used to read/ write files. The directory where you want to write to has to be in the INIT.ORA file. Prior to Oracle 7.3 DBMS_OUTPUT with the SQL*Plus SPOOL command was the only way to write a file.

20. Explain the methods used to protect source code of PL/SQL.

Source codes of PL/SQL V2.2 made available with Oracle 7.2 are protected by implementing the binary wrapper. A stand alone function does this by transforming the source code of PL/SQL to a portable binary object code. Thus the software can be distributed without the proprietary methods and algorithms getting exposed. Such scripts can still be understood and executed by SQL*DBA and SQL*Plus. The only precaution to be taken is that “decode” command shouldn’t be available.

21. Give the various exception types.

There are two exception types:

  • User-defined &
  • Pre defined.

22. List the parts of a database trigger.

Parts of a database trigger are

  • Trigger statement or event,
  • Trigger restriction and
  • Trigger action

23. How many types of database triggers exist?

There exist 12 different types of database triggers. They are made up of different combinations of:

  • Statement and row triggers,
  • Before and after triggers,
  • Update, delete and insert triggers.

24. How would you change old and new values in an insert, delete and update triggers?

Changing old and new values in an insert, delete and update triggers

 INSERT : new = new value, old = NULL

 DELETE : new = NULL, old = old value

 UPDATE : new = new value, old = old value

25. Explain cascading triggers.

When a triggered is fired due to a stamen in another trigger body then the triggers are termed as cascading triggers. There can be a maximum of 32 cascading triggers.

26. Explain mutating triggers.

Triggers giving SELECT to the table on which they are written are termed as mutating triggers.

27. Explain constraining triggers.

Triggers giving Update/Insert to the table possessing referential integrity constraint on the triggering table are termed as constraining triggers.

28. Give the advantages and disadvantages of clusters.

Clusters reduce the access time for joins and increases it for insert.

29. How can you use check constraints for self referential integrity?

In a table, a check condition of a column can reference another column in the same table thus providing self referential integrity.

30. Give the various rollback segment states.

The various rollback segment states are:

  • Invalid,
  • Needs recovery,
  • Partly available,
  • Offline and
  • Online.

31. Is a rollback possible to any savepoint?

Yes a rollback is possible to any savepoint.

32. What is the maximum limit on the number of columns in a table?

A table can have maximum 254 columns.

33. Explain the significance of the & and && operators in PL SQL.

The & operator signifies that a user input is needed for the PL SQL block variable. The && operator signifies that this variable’s value must be the same as inputted earlier by the user for same variable.

34. Can a parameter be passed to a cursor?

Yes, Parameters can be passed to explicit cursors. A cursor parameter could appear wherever a constant appears in a query.


SELECT job, ename FROM emp WHERE sal > median;

35. Give the different types of rollback segments.

The different types of rollback segments are:

  • Private Available to particular instance and
  • Public Available to all instances