Tuesday, February 18, 2014

ORACLE SQL PL/SQL Interview Questions


------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the various types of queries ?
Answer: The types of queries are:
Normal Queries
Sub Queries
Co-related queries
Nested queries
Compound queries
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is a transaction ?
Answer: A transaction is a set of SQL statements between any two COMMIT and ROLLBACK statements.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Which of the following is not a schema object : Indexes, tables, public synonyms, triggers and packages ?
Answer: Public synonyms
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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 the Oracle database server and a variety of Oracle tools.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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 as SQL statements are not stripped off and send to the database individually.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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'
 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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).
Before Oracle 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;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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 name=myscript.sql
oname=xxxx.yyy
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the various types of Exceptions ?
Answer: User defined and Predefined Exceptions.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can we define exceptions twice in same block ?
Answer: No.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you have two functions with the same name in a PL/SQL block ?
Answer: Yes.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you have two stored functions with the same name ?
Answer: Yes.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you call a stored function in the constraint of a table ?
Answer: No.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the various types of parameter modes in a procedure ?
Answer: IN, OUT AND INOUT.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can functions be overloaded ?
Answer: Yes.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can 2 functions have same name & input parameters but differ only by return datatype
Answer: No.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Why Create or Replace and not Drop and recreate procedures ?
Answer: So that Grants are not dropped.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you pass parameters in packages ? How ?
Answer: Yes.You can pass parameters to procedures or functions in a package.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is the maximum no.of statements that can be specified in a trigger statement ?
Answer: One.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can views be specified in a trigger statement ?
Answer: No
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the values of :new and :old 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
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are mutating triggers ?
Answer: A trigger giving a SELECT on the table on which the trigger is written.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are constraining triggers ?
Answer: A trigger giving an Insert/Updat e on a table having referential integrity constraint on the triggering table.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Describe Oracle database's physical and logical structure ?
Answer:
Physical : Data files, Redo Log files, Control file.
Logical : Tables, Views, Tablespaces, etc.
 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you increase the size of a tablespace ? How ?
Answer: Yes, by adding datafiles to it.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you increase the size of datafiles ? How ?
Answer: No (for Oracle 7.0)
Yes (for Oracle 7.3 by using the Resize clause )
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is the use of Control files ?
Answer: Contains pointers to locations of various data files, redo log files, etc.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
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
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the advantages of clusters ?
Answer: Access time reduced for joins.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the disadvantages of clusters ?
Answer: The time for Insert increases.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can Long/Long RAW be clustered ?
Answer: No.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can null keys be entered in cluster index, normal index ?
Answer: Yes.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can Check constraint be used for self referential integrity ? How ?
Answer: Yes.In the CHECK condition for a column of a table, we can reference some other column of the same table and thus enforce self referential integrity.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the min.extents allocated to a rollback extent ?
Answer: Two
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the states of a rollback segment ? What is the difference between partly available and needs recovery ?
Answer: The various states of a rollback segment are :
ONLINE
OFFLINE
PARTLY AVAILABLE
NEEDS RECOVERY
INVALID.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is the difference between unique key and primary key ?
Answer: Unique key can be null; Primary key cannot be null.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
An insert statement followed by a create table statement followed by rollback ? Will the rows be inserted ?
Answer: No.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you define multiple savepoints ?
Answer: Yes.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you Rollback to any savepoint ?
Answer: Yes.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is the maximum no.of columns a table can have ?
Answer: 254.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is the significance of the & and && operators in PL SQL ?
Answer: The & operator means that the PL SQL block requires user input for a variable.The && operator means that the value of this variable should be the same as inputted by the user previously for this same variable
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you pass a parameter to a cursor ?
Answer: Explicit cursors can take parameters, as the example below shows.A cursor parameter can appear in a query wherever a constant can appear.
CURSOR c1 (median IN NUMBER) IS
SELECT job, ename FROM emp WHERE sal > median;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the various types of RollBack Segments ?
Answer: The types of Rollback sagments are as follows :
Public Available to all instances
Private Available to specific instance
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you use %RowCount as a parameter to a cursor ?
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Is the query below allowed :
Select sal, ename Into x From emp Where ename = 'KING' (Where x is a record of Number(4) and Char(15))
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Is the assignment given below allowed :
ABC = PQR (Where ABC and PQR are records)
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Is this for loop allowed : For x in &Start..&End Loop
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
How many rows will the following SQL return : Select * from emp Where rownum < 10;
Answer: 9 rows
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
How many rows will the following SQL return : Select * from emp Where rownum = 10;
Answer: No rows
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Which symbol preceeds the path to the table in the remote database ?
Answer: @
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Are views automatically updated when base tables are updated ?
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can a trigger written for a view ?
Answer: No
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If all the values from a cursor have been fetched and another fetch is issued, the output will be : error, last record or first record ?
Answer: Last Record
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
A table has the following data : [[5, Null, 10]].What will the average function return ?
Answer: 7.5
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Is Sysdate a system variable or a system function?
Answer: System Function
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Consider a sequence whose currval is 1 and gets incremented by 1 by using the nextval reference we get the next number 2.Suppose at this point we issue an rollback and again issue a nextval.What will the output be ?
Answer: 3
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Definition of relational DataBase by Dr.Codd (IBM)?
Answer: A Relational Database is a database where all data visible to the user is organized strictly as tables of data values and where all database operations work on these tables.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is Multi Threaded Server (MTA) ?
Answer: In a Single Threaded Architecture (or a dedicated server configuration) the database manager creates a separate process for each database user.But in MTA the database manager can assign multiple users (multiple user processes) to a single dispatcher (server process), a controlling process that queues request for work thus reducing the databases memory requirement and resources.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Which are initial RDBMS, Hierarchical & N/w database ?
Answer:
RDBMS - R system
Hierarchical - IMS
N/W - DBTG
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Difference between Oracle 6 and Oracle 7
Answer:
ORACLE 7                                 ORACLE 6  Cost based optimizer                   Rule based optimizer 
Shared SQL Area                        SQL area allocated for each user 
Multi Threaded Server                  Single Threaded Server 
Hash Clusters                             Only B-Tree indexing 
Roll back Size                            Adjustment No provision 
Truncate command                      No provision 
Distributed Database                   Distributed Query 
Table replication & snapshots       No provision 
Client/Server Tech                       No provision 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is Functional Dependency?
Answer: Given a relation R, attribute Y of R is functionally dependent on attribute X of R if and only if each X-value has associated with it precisely one -Y value in R
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is Auditing ?
Answer: The database has the ability to audit all actions that take place within it. a) Login attempts, b) Object Accesss, c) Database Action Result of Greatest(1,NULL) or Least(1,NULL) NULL
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
While designing in client/server what are the 2 imp.things to be considered ?
Answer: Network Overhead (traffic), Speed and Load of client server
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the disadvantages of SQL ?
Answer: Disadvantages of SQL are :
Cannot drop a field
Cannot rename a field
Cannot manage memory
Procedural Language option not provided
Index on view or index on index not provided
View updation problem
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
When to create indexes ?
Answer: To be created when table is queried for less than 2% or 4% to 25% of the table rows.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
How can you avoid indexes ?
Answer: To make index access path unavailable Use FULL hint to optimizer for full table scan Use INDEX or AND-EQUAL hint to optimizer to use one index or set to indexes instead of another. Use an expression in the Where Clause of the SQL.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is the result of the following SQL : Select 1 from dual UNION Select 'A' from dual;
Answer: Error
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can database trigger written on synonym of a table and if it can be then what would be the effect if original table is accessed.
Answer: Yes, database trigger would fire.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you alter synonym of view or view ?
Answer: No
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can you create index on view
Answer: No.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is the difference between a view and a synonym ?
Answer: Synonym is just a second name of table used for multiple link of database.View can be created with many tables, and with virtual columns and with conditions.But synonym can be on view.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

What's the length of SQL integer ?
Answer: 32 bit length
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is the difference between foreign key and reference key ?
Answer: Foreign key is the key i.e.attribute which refers to another table primary key. Reference key is the primary key of table referred by another table.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Can dual table be deleted, dropped or altered or updated or inserted ?
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If content of dual is updated to some value computation takes place or not ?
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If any other table same as dual is created would it act similar to dual?
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
For which relational operators in where clause, index is not used ?
Answer: <> , like '%...' is NOT functions, field +constant, field||''
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Assume that there are multiple databases running on one machine.How can you switch from one to another ?
Answer: Changing the ORACLE_SID
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the advantages of Oracle ?
Answer: Portability : Oracle is ported to more platforms than any of its competitors, running on more than 100 hardware platforms and 20 networking protocols. Market Presence : Oracle is by far the largest RDBMS vendor and spends more on R & D than most of its competitors earn in total revenue.This market clout means that you are unlikely to be left in the lurch by Oracle and there are always lots of third party interfaces available. Backup and Recovery : Oracle provides industrial strength support for on-line backup and recovery and good software fault tolerence to disk failure.You can also do point-in-time recovery. Performance : Speed of a 'tuned' Oracle Database and application is quite good, even with large databases.Oracle can manage > 100GB databases. Multiple database support : Oracle has a superior ability to manage multiple databases within the same transaction using a two-phase commit protocol.
 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is a forward declaration ? What is its use ?
Answer: PL/SQL requires that you declare an identifier before using it.Therefore, you must declare a subprogram before calling it.This declaration at the start of a subprogram is called forward declaration.A forward declaration consists of a subprogram specification terminated by a semicolon.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are actual and formal parameters ?
Answer: Actual Parameters : Subprograms pass information using parameters.The variables or expressions referenced in the parameter list of a subprogram call are actual parameters.For example, the following procedure call lists two actual parameters named emp_num and amount:
Eg.raise_salary(emp_num, amount);Formal Parameters : The variables declared in a subprogram specification and referenced in the subprogram body are formal parameters.For example, the following procedure declares two formal parameters named emp_id and increase:
Eg.PROCEDURE raise_salary (emp_id INTEGER, increase REAL) IS current_salary REAL;
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What are the types of Notation ?
Answer: Position, Named, Mixed and Restrictions.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

What all important parameters of the init.ora are supposed to be increased if you want to increase the SGA size ?
Answer: In our case, db_block_buffers was changed from 60 to 1000 (std values are 60, 550 & 3500) shared_pool_size was changed from 3.5MB to 9MB (std values are 3.5, 5 & 9MB) open_cursors was changed from 200 to 300 (std values are 200 & 300) db_block_size was changed from 2048 (2K) to 4096 (4K) {at the time of database creation}. The initial SGA was around 4MB when the server RAM was 32MB and The new SGA was around 13MB when the server RAM was increased to 128MB.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

If I have an execute privilege on a procedure in another users schema, can I execute his procedure even though I do not have privileges on the tables within the procedure ?
Answer: Yes
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

What are various types of joins ?
Answer: Types of joins are:
Equijoins
Non-equijoins
self join
outer join
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
What is a package cursor ?
Answer: A package cursor is a cursor which you declare in the package specification without an SQL statement.The SQL statement for the cursor is attached dynamically at runtime from calling procedures.
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
If you insert a row in a table, then create another table and then say Rollback.In this case will the row be inserted ?
Answer: Yes.Because Create table is a DDL which commits automatically as soon as it is executed.The DDL commits the transaction even if the create statement fails internally (eg table already exists error) and not syntactically.

Oracle SQL/PLSQL Interview Questions with Answers


What are joins and Types of join?
Ans. We need retrive data from two or more tables to make our result complete. We need to perform a join.
INNER JOIN
This join returns rows when there is at least one match in both the tables.
OUTER JOIN
There are three different Outer Join methods.
LEFT OUTER JOIN
This join returns all the rows from the left table with the matching rows from the right table. If there are no field matching in the right table then it returns NULL values
RIGHT OUTER JOIN
Right outer join returns all the rows from the right table with the matching rows from the left table. If there are no field matching in the left table then it returns NULL values
FULL OUTER JOIN
Full outer join merge left outer join and right outer join.  this returns row from either table when the conditions are met and returns null value when there is no match
CROSS JOIN
Corss join is  does not necessary any condition to join. The output result contains records that are multiplication of record  from both the tables.

What is DIFFERENCE BETWEEN LEFT, RIGHT OUTER JOIN?
Ans:If there r any values in one table that do not have corresponding values in the other,in an equi join that row will not be selected.Such rows can be forcefully selected by using outer join symbol(+) on either of the sides(left or right)  based on the requirement.

WHAT ARE SET OPERATORS?
Ans: UNION, INTERSECT or MINUS is called SET OPERATORS.

What are different datatypes supported by sql in oracle?
Ans: Char (size), Nchar (size), Varchar2 (size), Nvarchar2 (size) data types for character values, Number (precision, scale), Number, Number (n), Float, Float (binary precision) data types for numerical values, Date data type for date values, Long, Raw (size),  Long Raw,  Clob, Blob, Nclob, Bfile for large objects.

What is difference between long and lob datatypes?
Ans:LOB
1) The maximum size is 4GB. 2) LOBs (except NCLOB) can be attributes of an object type. 3) LOBs support random access to data. 4) Multiple LOB columns per table or LOB attributes in an object type.
LONG
1) The maximum size is 2GB.  2) LONGs cannot.    3) LONGs support only sequential access. 4) Only one LONG column was allowed in a table

How much memory is allocated for date datatype? What is default date format in oracle?
Ans: For Date data type oracle allocates 7 bytes Memory.   Default Date Format is: DD-MON-YY.

What is range for each datatype of sql?
Ans: Datatype Range Char  Varchar2  Number    Float     LONG, RAW, LONGRAW  Large Objects (LOB’s) 2000 bytes  4000 bytes  Precision
1 to 38 Scale -84 to 127  Precision 38 decimals Or 122 binary precision   2 GB  4GB

What is a constraint? What are its various levels?
Ans: Constraint: Constraints are representators of the column to enforce data entity and consistency.There r two levels
1)Column-level constraints 2)Table-level constraints.

List out all the constraints supported by oracle
Primary Key , Foreign Key or Referential Integrity, Not Null, Unique, Check.

Difference between DELETE & TRUNCATE statement
Ans. Delete is a DML command. Truncate is a DDL command.
In Delete statement we can use where clause But we can’t use where clause in truncate statement.
Delete activates trigger. Truncate does not activate trigger.
We can rollback delete command. We can not rollback truncate command. Delete does not reset identity of table. Truncate resets identity of table.

 Difference between Primary key and Unique Key
Ans. Primary key and Unique key enforce uniqueness of the column on which they are defined. But by default, the primary key creates a clustered index on the column, where as unique key creates a non-clustered index by default. Another major difference is that primary key does not allow NULL value, but unique key allows one NULL value only.
 
What are  oracle number, character, date, conversion, other
functions.
Ans.
Oracle Number Functions –
Round (m, [n]),
Trunc (m, [n]),
Power (m, n),
Sqrt,
Abs (m),
Ceil (m),
Floor (m),
Mod (m, n)
  
Oracle Character Functions-
Chr (x)
Concert (string1, string2)
Lower (string)
Upper (string)
Substr (string, from_str, to_str)
ASCII (string)
Length (string)
Initcap (string). 
  
Oracle Date Functions-
sysdate
Months between (d1, d2)
To_char (d, format)
Last day (d)
Next_day (d, day).
Oracle Conversion Functions-
To_char
To_date
To_number

What is syntax of PL/SQL BLOCK
Ans. DECLARE
 <declarations>
 BEGIN
    <Exececutable Statements>
 EXCEPTION
    <Exception Handler(s)>
 END;
 
What are different types of oracle PL/SQL BLOCKS?
Ans:
Oracle PL/SQL DECLARE BLOCK – In DECLARE BLOCK all the declarations of the variable used in the program is made. If no variables are used this block will become optional.
Oracle PL/SQL BEGIN BLOCK -  In BEGIN BLOCK all the executable statements are placed. This block is Mandatory.
Oracle EXCEPTION BLOCK – In EXCEPTION BLOCK all the exceptions are handled. this block is optional.
 
 what is a Oracle PL/SQL cursor? and how to create cursor syntax?
Ans: Cursor is Private SQL area in PL/SQL.
     Declare the Cursor,
     Open the Cursor,
     Fetch values from SQL into the local Variables,
     Close the Cursor.
Type of cursors are supported by oracle pl/sql?
Ans.  There are two types of cursors namely Implicit Cursor, Explicit Cursor.

What is a cursor for loop?
Ans: Cursor For Loop is shortcut process for Explicit Cursors because the Cursor is Open, Rows are fetched once for each iteration and the cursor is closed automatically when all the rows have been processed.

What are cursor attributes?
Ans:  %Found, %NotFound,   %IsOpen, %RowCount are the cursor attributes.

 Use of cursor with “for update of” clause?
Ans: This Clause stop accessing of other users on the particular columns used by the cursor until the COMMIT is issued.

How Exception is different from error?
Ans: Whenever an error occurs Exception raises. Error is a bug whereas the Exception is a warning or error condition.

Oracle Backup and Recovery Interview Questions

Here are some interview questions and answers on Oracle Backup and Recovery. All of these interview questions and answers in real-time Oracle DBA interview questions and answers. Be careful with Oracle DBA interviews, as well as very strange SQL issues can be discussed during the interview. As a Oracle DBA candidate you can’t eliminate the real time scenario based backup and recovery interview questions during Oracle DBA interviews.


Q-1: One of my control file corrupted and I am unable start database, How can I perform recovery?

If one of your control file is missing or corrupted then we have 2 options to recover it. Check alert.log for exact name and location of corrupted control file. Delete it manually and copy from available rest of control file and rename it and start database. Another option is delete corrupted control file and remove name from parameter file/ spfile. After removing said control file from spfile, start your database.

Q-2: What is incremental checkpoint?

In incremental checkpoint process, CKPT process records lowest Low RBA to the control file to keep advancing the Buffer checkpoint Queue (BCQ) to make easy and fastest Active Checkpoint Queue (ACQ).

Q-3: Does incremental checkpoint recorded in Alert.log? How to disable it?

We can enable disable recording incremental checkpoint in alert.log .We can enable/disable recording using parameter log_checkpoints_to_alert=true/false.

Q-4: I am working as Oracle DBA in 24/7 running large production database. Size of database is around 800 GB. We take hot backup every day night. But one day at around 4:00 PM, by mistake one table is dropped by application user. Table is very useful. How to recover that dropped table?

If your database is running on Oracle 10g version then there is new feature available called Recyclebin. You can recover dropped table from user_recyclebin or dba_recyclebin.

Q-5: In continuation of above scenario, No. Recyclebin doesn’t enable in my database then how to I recover my table in above scenario?

Then you should need to restore backup on your UAT or test database server and enable time based recovery for applying all archives before drop command execution. For an instance, apply archives up to 3:55 PM here.

Q-6: In continuation of above scenario, why I should need to perform recovery in UAT or test database server? Can I restore backup in production database server?

No. It is not recommended because your production database is large database and running 24/7 environment. Restoration and recovery will take downtime. It is better to perform restoration and recovery process on UAT or Test database.

Q-7: What is the meaning of LGWR SYNC and LGWR ASYNC in log archive destination parameter for standby configuration?

When use LGWR with SYNC, it means once network I/O initiated, LGWR has to wait for completion of network I/O before write processing. LGWR with ASYNC, means LGWR doesn’t wait to finish network I/O and continuing write processing.

Q-8: How can I know my require table is available in export dump file or not?

Create indexfile of export dump file using import with indexfile command. A text file will be generating with all table and index object name with number of rows. You can confirm your require table object from this text file.

Q-9: Archive log are being generated around 20 GB in my production large database. But one day almost double archives were generated. What is the reason behind this? How can I check it?

There are lots of reason behind increasing size of archives like If more database changes were performed using batch jobs or any special task like merging 2 database or data etc. You can check it using enabling Log Minor utility.

Q-10: How do you recover from the loss of datafile if the DB is running in ARCHIVELOG mode?

We can perform this recovery in 2 ways. One is open database mode and another is database mount mode. After taking offline lost datafile, we can bring database open and after that restore lost datafile from last backup. After restoration of datafile we can perform datafile level recovery for applying archive logs and make it online. In database mount mode, we can restore datafile from backup and perform datafile recovery using “Recover datafile” command.

Q-11: What is a Complete Recovery?

During this recovery we are applying all database changes using archives log and make it to up to date. Complete recovery can be done full database level or datafile level or tablespace level. Main concept is to apply all data changes using archive logs and bring database up to recent time.

Q-12: Why we should need to open database using RESETLOGS after finishing incomplete recovery?

When we are performing incomplete recovery it means we bring database to past time or rewind period of time using change based, cancel based or time based recovery. These all recovery make database in prior state of database. The forward sequence number already available after performing recovery, due to mismatching of this sequence numbers and prior state of database, it needs to open database with new sequence number of Redo log and archive logs.

Q-13: Why export backup called as logical backup?

Export dump file doesn’t backup or contain any physical structure of database like datafile, control file, redo log file, parameter file, password file. Instead of physical structure, export dump contains logical structure of database like definition of tablespaces, segments, schemas, data of segments etc. Due to these reasons export dump is called as logical backup.

Q-14: Have you faced any recovery scenario? Explain us how you resolved it?

2 months back, a potential table was dropped by an application developer on our large 24/7 running production database. Immediately he informed us. We have standby database for our production database. We checked that archives didn’t apply to standby database up to dropped timing. We stopped archive applying on standby immediately and open database read only. Took export of dropped table and imported in production database. After finishing appropriate checking of table, again we started archive applying in standby database for refreshing.

Q-15: Which command I should need to execute to take backup of database which is running on NOARCHIVELOG mode?

Shutdown immediate. Because without shutdown, we can’t perform online backup of database, which running on NOARCHIVELOG mode. We should need to take cold backup of database.