Top Oracle Interview Questions and Answers
Top 50 Oracle Interview Questions and Answers
1. Difference between varchar and varchar2 data types?
Varchar can store upto 2000 bytes and varchar2 can store upto 4000 bytes. Varchar will occupy space for NULL values and Varchar2 will not occupy any space. Both are differed with respect to space.
2. In which language Oracle has been developed?
Oracle has been developed using C Language.
3. What is RAW datatype?
RAW datatype is used to store values in binary data format. The maximum size for a raw in a table in 32767 bytes.
4. What is the use of NVL function?
The NVL function is used to replace NULL values with another or given value. Example is –
NVL(Value, replace value)
5. Whether any commands are used for Months calculation? If so, What are they?
In Oracle, months_between function is used to find number of months between the given dates. Example is –
Months_between(Date 1, Date 2)
6. What are nested tables?
Nested table is a data type in Oracle which is used to support columns containing multi valued attributes. It also hold entire sub table.
7. What is COALESCE function?
COALESCE function is used to return the value which is set to be not null in the list. If all values in the list are null, then the coalesce function will return NULL.
8. What is BLOB datatype?
A BLOB data type is a varying length binary string which is used to store two gigabytes memory. Length should be specified in Bytes for BLOB.
9. How do we represent comments in Oracle?
Comments in Oracle can be represented in two ways –
1. Two dashes(–) before beginning of the line – Single statement
2. /*—— */ is used to represent it as comments for block of statement
10. What is DML?
Data Manipulation Language (DML) is used to access and manipulate data in the existing objects. DML statements are insert, select, update and delete and it won’t implicitly commit the current transaction.
11. What is the difference between TRANSLATE and REPLACE?
Translate is used for character by character substitution and Replace is used substitute a single character with a word.
12. How do we display rows from the table without duplicates?
Duplicate rows can be removed by using the keyword DISTINCT in the select statement.
13. What is the usage of Merge Statement?
Merge statement is used to select rows from one or more data source for updating and insertion into a table or a view. It is used to combine multiple operations.
14. What is NULL value in oracle?
NULL value represents missing or unknown data. This is used as a place holder or represented it in as default entry to indicate that there is no actual data present.
15. What is USING Clause and give example?
The USING clause is used to specify with the column to test for equality when two tables are joined.
[sql]Select * from employee join salary using employee ID[/sql]
Employee tables join with the Salary tables with the Employee ID.
16. What is key preserved table?
A table is set to be key preserved table if every key of the table can also be the key of the result of the join. It guarantees to return only one copy of each row from the base table.
17. What is WITH CHECK OPTION?
The WITH CHECK option clause specifies check level to be done in DML statements. It is used to prevent changes to a view that would produce results that are not included in the sub query.
18. What is the use of Aggregate functions in Oracle?
Aggregate function is a function where values of multiple rows or records are joined together to get a single value output. Common aggregate functions are –
19. What do you mean by GROUP BY Clause?
A GROUP BY clause can be used in select statement where it will collect data across multiple records and group the results by one or more columns.
20. What is a sub query and what are the different types of subqueries?
Sub Query is also called as Nested Query or Inner Query which is used to get data from multiple tables. A sub query is added in the where clause of the main query.
There are two different types of subqueries:
· Correlated sub query
A Correlated sub query cannot be as independent query but can reference column in a table listed in the from list of the outer query.
· Non-Correlated subquery
This can be evaluated as if it were an independent query. Results of the sub query are submitted to the main query or parent query.
21. What is cross join?
Cross join is defined as the Cartesian product of records from the tables present in the join. Cross join will produce result which combines each row from the first table with the each row from the second table.
22. What are temporal data types in Oracle?
Oracle provides following temporal data types:
· Date Data Type – Different formats of Dates
· TimeStamp Data Type – Different formats of Time Stamp
· Interval Data Type – Interval between dates and time
23. How do we create privileges in Oracle?
A privilege is nothing but right to execute an SQL query or to access another user object. Privilege can be given as system privilege or user privilege.
[sql]GRANT user1 TO user2 WITH MANAGER OPTION;[/sql]
24. What is VArray?
VArray is an oracle data type used to have columns containing multivalued attributes and it can hold bounded array of values.
25. How do we get field details of a table?
Describe is used to get the field details of a specified table.
26. What is the difference between rename and alias?
Rename is a permanent name given to a table or a column whereas Alias is a temporary name given to a table or column. Rename is nothing but replacement of name and Alias is an alternate name of the table or column.
27. What is a View?
View is a logical table which based on one or more tables or views. The tables upon which the view is based are called Base Tables and it doesn’t contain data.
28. What is a cursor variable?
A cursor variable is associated with different statements which can hold different values at run time. A cursor variable is a kind of reference type.
29. What are cursor attributes?
Each cursor in Oracle has set of attributes which enables an application program to test the state of the cursor. The attributes can be used to check whether cursor is opened or closed, found or not found and also find row count.
30. What are SET operators?
SET operators are used with two or more queries and those operators are Union, Union All, Intersect and Minus.
31. How can we delete duplicate rows in a table?
Duplicate rows in the table can be deleted by using ROWID.
32. What are the attributes of Cursor?
Attributes of Cursor are
Returns NULL if cursor is open and fetch has not been executed
Returns TRUE if the fetch of cursor is executed successfully.
Returns False if no rows are returned.
· %NOT FOUND
Returns NULL if cursor is open and fetch has not been executed
Returns False if fetch has been executed
Returns True if no row was returned
Returns true if the cursor is open
Returns false if the cursor is closed
Returns the number of rows fetched. It has to be iterated through entire cursor to give exact real count.
33. Can we store pictures in the database and if so, how it can be done?
Yes, we can store pictures in the database by Long Raw Data type. This datatype is used to store binary data for 2 gigabytes of length. But the table can have only on Long Raw data type.
34. What is an integrity constraint?
An integrity constraint is a declaration defined a business rule for a table column. Integrity constraints are used to ensure accuracy and consistency of data in a database. There are types – Domain Integrity, Referential Integrity and Domain Integrity.
35. What is an ALERT?
An alert is a window which appears in the center of the screen overlaying a portion of the current display.
36. What is hash cluster?
Hash Cluster is a technique used to store the table for faster retrieval. Apply hash value on the table to retrieve the rows from the table.
37. What are the various constraints used in Oracle?
Following are constraints used:
· NULL – It is to indicate that particular column can contain NULL values
· NOT NULL – It is to indicate that particular column cannot contain NULL values
· CHECK – Validate that values in the given column to meet the specific criteria
· DEFAULT – It is to indicate the value is assigned to default value
38. What is difference between SUBSTR and INSTR?
SUBSTR returns specific portion of a string and INSTR provides character position in which a pattern is found in a string.
SUBSTR returns string whereas INSTR returns numeric.
39. What is the parameter mode that can be passed to a procedure?
IN, OUT and INOUT are the modes of parameters that can be passed to a procedure.
40. What are the different Oracle Database objects?
There are different data objects in Oracle –
· Tables – set of elements organized in vertical and horizontal
· Views – Virtual table derived from one or more tables
· Indexes – Performance tuning method for processing the records
· Synonyms – Alias name for tables
· Sequences – Multiple users generate unique numbers
· Tablespaces – Logical storage unit in Oracle
41. What are the differences between LOV and List Item?
LOV is property whereas list items are considered as single item. List of items is set to be a collection of list of items. A list item can have only one column, LOV can have one or more columns.
42. What are privileges and Grants?
Privileges are the rights to execute SQL statements – means Right to connect and connect. Grants are given to the object so that objects can be accessed accordingly. Grants can be provided by the owner or creator of an object.
43. What is the difference between $ORACLE_BASE and $ORACLE_HOME?
Oracle base is the main or root directory of an oracle whereas ORACLE_HOME is located beneath base folder in which all oracle products reside.
44. What is the fastest query method to fetch data from the table?
Row can be fetched from table by using ROWID. Using ROW ID is the fastest query method to fetch data from the table.
45. What is the maximum number of triggers that can be applied to a single table?
12 is the maximum number of triggers that can be applied to a single table.
46. How to display row numbers with the records?
Display row numbers with the records numbers –
1) Select rownum, from table;
This query will display row numbers and the field values from the given table.
47. How can we view last record added to a table?
Last record can be added to a table and this can be done by –
1) Select * from (select * from employees order by rownum desc) where rownum<2;
48. What is the data type of DUAL table?
The DUAL table is a one-column table present in oracle database. The table has a single VARCHAR2(1) column called DUMMY which has a value of ‘X’.
49. What is difference between Cartesian Join and Cross Join?
There are no differences between the join. Cartesian and Cross joins are same. Cross join gives cartesian product of two tables – Rows from first table is multiplied with another table which is called cartesian product.
Cross join without where clause gives Cartesian product.
50. How to display employee records who gets more salary than the average salary in the department?
This can be done by this query –
1) Select * from employee where salary>(select avg(salary) from dept, employee where dept.deptno = employee.deptno;
Oracle Interview Questions
Oracle is a secured database that is widely used in multinational companies. The frequently asked questions from oracle database are given below.
1) What are the components of physical database structure of Oracle database?
Components of physical database structure are given below.
- One or more data files.
- Two or more redo log files.
- One or more control files.
2) What are the components of logical database structure in Oracle database?
Components of logical database structure.
- Database's schema objects
3) What is a tablespace?
A database contains Logical Storage Unit called tablespaces. A tablespace is a set of related logical structures. Actually a tablespace groups related logical structures together.
4) What is a SYSTEM tablespace and when it is created?
When the database is created in Oracle database system, it automatically generate a SYSTEM named SYSTEM tablespace. The SYSTEM tablespace contains data dictionary tables for the entire database.
5) What is an Oracle table?
A table is basic unit of data storage in Oracle database. A table contains all the accessible information of a user in rows and columns.
6) In the Oracle version 184.108.40.206.0, what does each number shows?
Oracle version number refers:
- 9 - Major database release number
- 3 - Database maintenance release number
- 0 - Application server release number
- 5 - Component Specific release number
- 0 - Platform Specific release number
7) What is bulk copy or BCP in Oracle?
Bulk copy or BCP in Oracle, is used to import or export data from tables and views but it does not copy structure of same data.
The main advantage of BCP is fast mechanism for coping data and you can also take the backup of data easily.
8) What is the relationship among database, tablespace and data file?
An Oracle database contains one or more logical storage units called tablespaces. These tablespaces collectively store whole data of databases and each tablespace in Oracle database consists of one or more files called datafiles. These datafiles are physical structure that confirm with the operating system in which Oracle is running.
9) What is a snapshot in Oracle database?
A snapshot is a replica of a target master table from a single point-in-time. In simple words you can say, snapshot is a copy of a table on a remote database.
10) What is the difference between hot backup and cold backup in Oracle? Tell about their benefits also.
Hot backup (Online Backup): A hot backup is also known as online backup because it is done while the database is active. Some sites can not shut down their database while making a backup copy, they are used for 24 hour a day, 7 days a week.
Cold backup (Offline Backup): A cold backup is also known as offline backup because it is done while the database has been shutdown using the SHUTDOWN normal command. If the database is suddenly shutdown with a uncertain condition it should be restarted with RESTRICT mode and then shutdown with NORMAL option.
For a complete cold backup the following files must be backed up.
All datafiles, All control files, All online redo log files(optional) and the init.ora file (you can recreate it manually).
11) How many memory layers are in the Oracle shared pool?
Oracle shared pools contains two layers:
- library cache
- data dictionary cache
12) What is save point in Oracle database?
Save points are used to divide a transaction into smaller parts. It allows rolling back of a transaction. Maximum five save points are allowed. It is used to save our data, whenever you encounter an error you can roll back from the point where you save your SAVEPOINT.
13) What is hash cluster in Oracle?
Hash cluster is a technique to store a data in hash table and improve the performance of data retrieval. Hash function is applied on table row's cluster key value and store in hash cluster.
14) What are the various Oracle database objects?
Tables: This is a set of elements organized in vertical and horizontal fashion.
Tablespaces: This is a logical storage unit in Oracle.
Views: It is virtual table derived from one or more tables.
Indexes: This is a performance tuning method to process the records.
Synonyms: This is a name for tables.
15) What is the difference between pre-select and pre-query?
A pre-query trigger fire before the query executes and fire once while you try to query. With the help of this trigger you can modify the where clause part dynamically.
Pre-select query fires during the execute query and count query processing after Oracle forms construct the select statement to be issued, but before the statement is actually issued.
Pre-query trigger fires before Pre-select trigger.
16) What are the different types of modules in Oracle forms?
Following are the different modules in Oracle forms:
- Form module
- Menu module
- Pl/SQL Library module
- Object Library module
17) What is the usage of ANALYZE command in Oracle?
ANALYZE command is used to perform various functions on index, table, or cluster. The following list specifies the usage of ANALYZE command in Oracle:
- It is used to identify migrated and chained rows of the table or cluster.
- It is used to validate the structure of the object.
- It helps in collecting the statistics about object used by the optimizer. They are then stored in the data dictionary.
- It helps in deleting statistics used by object from the data dictionary.
18) Can you create a synonym without having a table?
Yes. We can create a synonym without having a base table.
19) What types of joins are used in writing SUBQUERIES?
- Self join
- Outer Join
20) What is the usage of control file in Oracle?
In Oracle, control file is used for database recovery. The control file is also used to identify the database and redo log files that must be opened for database operation to go ahead, whenever an instance of an ORACLE database begins.
21) What is a synonym?
A synonym is also known as alias for a table, view, sequence or program unit.
22) What are the different types of synonyms?
There are two types of synonyms or alias:
Private: It can only accessed by the owner.
Public: It can be accessed by any database user.
23) What is the usage of synonyms?
- Synonym can be used to hide the real name and owner of an object.
- It provides public access to an object.
- It also provides location transparency for tables, views or program units of a remote database.
- It simplifies the SQL statements for database users.
24) How do you store pictures in a database?
Yes, you can store pictures in a database using Long Raw Data type. This data type is used to store binary data for 2 gigabytes of length. However, the table can have only one Long Raw data type.
25) What is BLOB data type in Oracle?
BLOB data type is a data type with varying length binary string. It is used to store two gigabytes memory. For BLOB data type, the length needs to be specified in bytes.
26) What is the difference between TRANSLATE and REPLACE in Oracle?
Translate is used to substitute a character by character while Replace is used to substitute a single character with a word.
27) What are the different types of database objects?
A list of different types of database objects:
- Tables: This is a set of elements organized in vertical and horizontal fashion.
- Tablespaces: This is a logical storage unit in Oracle.
- Views: It is virtual table derived from one or more tables.
- Indexes: This is a performance tuning method to process the records.
- Synonyms: This is a name for tables.
28) What is the usage of Save Points in Oracle database?
Save Points are used to divide a transaction into smaller phases. It enables rolling back part of a transaction. There are maximum 5 save points allowed in Oracle Database. Whenever an error is encountered, it is possible to rollback from the point where the SAVEPOINT has been saved.
29) What is the difference between post-database commit and post-form commit?
The post-database commit trigger is executed after Oracle forms issue the commit to finalized transaction while, the post-form commit is fired during the post and commit transactions process, after the database commit occurs.
30) What is Logical backup in Oracle?
Logical backup is used to read a set of database records and writing them into a file. An Export utility is used to take the backup while an Import utility is used to recover from the backup.
31) What do you understand by Redo Log file mirroring?
Mirroring is a process of having a copy of Redo log files. It is done by creating group of log files together. This ensures that LGWR automatically writes them to all the members of the current on-line redo log group. If the group fails, the database automatically switches over to the next group. It diminishes the performance.
32) What is the meaning of recursive hints in Oracle?
The number of times a dictionary table is repeatedly called by various processes is known as recursive hint. Recursive hint is occurred because of the small size of data dictionary cache.
33) What are the limitations of CHECK constraint?
The main limitation of CHECK constraint is that the condition must be a Boolean expression evaluated using the values in the row being inserted or updated and can't contain sub queries.
34) What is the use of GRANT option in IMP command?
GRANT is used to import object grants.
35) What is the use of ROWS option in IMP command?
The ROWS option indicates whether the table rows should be imported.
36) What is the use of INDEXES option in IMP command?
The INDEXES option is used to determine whether indexes are imported.
37) What is the use of IGNORE option in IMP command?
The IGNORE option is used to specify how object creation errors should be handled.
38) What is the use of SHOW option in IMP command?
The SHOW option specifies when the value of show=y, the DDL within the export file is displayed.
39) What is the use of FILE param in IMP command?
FILE param is used to specify the name of the export file to import. Multiple files can be listed, separated by commas.
40) How to convert a date to char in Oracle? Give one example.
The to_char() function is used to convert date to character. You can also specify the format in which you want output.
1. SELECT to_char ( to_date ('12-12-2012', 'DD-MM-YYYY') , 'YYYY-MM-DD') FROM dual;
1. SELECT to_char ( to_date ('12-12-2012', 'DD-MM-YYYY') , 'DD-MM-YYYY') FROM dual;
41) What are actual and formal parameters?
Actual Parameters: Actual parameters are the variables or expressions referenced in the parameter list of a subprogram.
Let's see a procedure call which lists two actual parameters named empno and amt:
1. raise_sal(empno, amt);
Formal Parameters: Formal parameters are variables declared in a subprogram specification and referenced in the subprogram body.
Following procedure declares two formal parameters named empid and amt:
1. PROCEDURE raise_sal(empid INTEGER, amt REAL) IS current_salary REAL;
42) What are the extensions used by Oracle reports?
Oracle reports are use to make business enable with the facility to provide information of all level within or outside in a secure way. Oracle report uses REP files and RDF file extensions.
43) How to convert a string to a date in Oracle database?
Syntax: to_date (string , format)
Let us take an example :
1. to_date ('2012-12-12', 'YYYY/MM/DD')
It will return December 12, 2012.
44) How do you find current date and time in Oracle?
The SYSDATE() function is used in Oracle to find the current date and time of operating system on which the database is running.
1. SELECT TO_CHAR (SYSDATE, 'MM-DD-YYYY HH24:MI:SS') "Current_Date" FROM DUAL;
45) What will be the syntax to find current date and time in format "YYYY-MM-DD"?
1. SELECT TO_CHAR (SYSDATE, 'YYYY-MM-DD HH24:MI:SS') "Current_Date" FROM DUAL;