Oracle Questions

What are the various types of Exceptions ?

AUser defined and Predefined Exceptions.

Can we define exceptions twice in same block ?

ANo.

What is the difference between a procedure and a function ?

AFunctions 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 ?

AYes.

Can you have two stored functions with the same name ?

AYes.

Can you call a stored function in the constraint of a table ?

ANo.

What are the various types of parameter modes in a procedure ?

AIN, OUT AND INOUT.

What is OverLoading and what are its restrictions ?

AOverLoading 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 ?

AYes.

Can 2 functions have same name & input parameters but differ only by return datatype

ANo.

What are the constructs of a procedure, function or a package ?

AThe constructs of a procedure, function or a package are :

variables and constants

cursors

exceptions

Why Create or Replace and not Drop and recreate procedures ?

ASo that Grants are not dropped.

Can you pass parameters in packages ? How ?

AYes. You can pass parameters to procedures or functions in a package.

What are the parts of a database trigger ?

AThe parts of a trigger are:

A triggering event or statement

A trigger restriction

A trigger action

What are the various types of database triggers ?

AThere are 12 types of triggers :

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 ?

AWe 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 ?

AOne.

Can views be specified in a trigger statement ?

ANo

What are the values of :new and :old in Insert/Delete/Update Triggers ?

AINSERT: 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?

AWhen 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 ?

AA trigger giving a SELECT on the table on which the trigger is written.

What are constraining triggers ?

AA trigger giving an Insert/Update on a table having referential integrity constraint on the triggering table.

Describe Oracle database’s physical and logical structure ?

APhysical : Data files, Redo Log files, Control file.

Logical: Tables, Views, Tablespaces, etc.

Can you increase the size of a tablespace ? How ?

AYes, by adding datafiles to it.

Can you increase the size of datafiles ? How ?

ANo (for Oracle 7.0)

Yes (for Oracle 7.3 – by using the Resize clause ----- Confirm !!).

What is the use of Control files ?

AContains pointers to locations of various data files, redo log files, etc.

What is the use of Data Dictionary ?

AUsed by Oracle to store information about various physical and logical Oracle structures e.g. Tables, Tablespaces, datafiles, etc

What are the advantages of clusters ?

AAccess time reduced for joins.

What are the disadvantages of clusters ?

AThe time for Insert increases.

Can Long/Long RAW be clustered ?

ANo.

Can null keys be entered in cluster index, normal index ?

AYes.

Can Check constraint be used for self referential integrity ? How ?

AYes. 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 ?

ATwo

What are the states of a rollback segment ? What is the difference between partly available and needs recovery ?

AThe various states of a rollback segment are :

ONLINE, OFFLINE, PARTLY AVAILABLE, NEEDS RECOVERY and INVALID.

What is the difference between unique key and primary key ?

AUnique key can be null; Primary key cannot be null.

An insert statement followed bya create table statement followed by rollback ? Will the rows be inserted ?

ANo.

Can you define multiple savepoints ?

AYes.

Can you Rollback to any savepoint ?

AYes.

What is the maximum no. of columns a table can have ?

A254.

What is the significance of the & and && operators in PL SQL ?

AThe & 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.

If a transaction is very large, and the rollback segment is not able to hold the rollback information, then will the transaction span across different rollback segments or will it terminate ?

AIt will terminate (Please check ).

Can you pass a parameter to a cursor ?

AExplicit 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 ?

APublic – Available to all instances

Private – Available to specific instance

Can you use %RowCount as a parameter to a cursor ?

AYes

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))

AYes

Is the assignment given below allowed :

ABC = PQR (Where ABC and PQR are records)

AYes

Is this for loop allowed :

For x in &Start..&EndLoop

AYes

How many rows will the following SQL return :

Select * from emp Where rownum < 10;

A9 rows

How many rows will the following SQL return :

Select * from emp Where rownum = 10;

ANo rows

Which symbol preceeds the path to the table in the remote database ?

A@

Are views automatically updated when base tables are updated ?

AYes

Can a trigger written for a view ?

ANo

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 ?

ALast Record

A table has the following data : [5, Null, 10]. What will the average function return ?

A7.5

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 ?

3

Definition of relational DataBase by Dr. Codd(IBM)?

AA Relational Database is a database where all data visible to the user is organizedstrictly as tables of data values and where all database operations work on these tables.

What is Multi Threaded Server (MTA) ?

AIn 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 ?

ARDBMS - R system

Hierarchical- IMS

N/W- DBTG

AGiven 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

Result ofGreatest(1,NULL) orLeast(1,NULL)

ANULL

While designing in client/server what are the 2 imp. things to be considered ?

ANetwork Overhead (traffic),Speed and Load of client server

What are the disadvantages of SQL ?

ADisadvantages 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 ?

ATo be created when table is queried for less than 2% or 4% to 25% of the table rows.

How can you avoid indexes ?

ATO 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;

AError

Can database trigger written on synonym of a table and if it can be then what would be theeffect if original table is accessed.

AYes, database trigger would fire.

Can you alter synonym of view or view ?

ANo

Can you create index on view

ANo.

What is the difference between a view and a synonym ?

ASynonym 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 is the difference between alias and synonym ?

AAlias is temporary and used with one query.

Synonym is permanent and not used as alias.

What is the effect of synonym and table name used in same Select statement ?

AValid

What’s the length of SQL integer ?

A32 bit length

What is the difference between foreign key and reference key ?

AForeign 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 ?

AYes

If content of dual is updated to some value computation takes place or not ?

AYes

If any other table same as dual is created would it act similar to dual ?

AYes

For which relational operators in where clause, index is not used ?

A<> , 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 ?

AChanging the ORACLE_SID

What are the advantages of Oracle ?

APortability : 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 RDBMSvendor 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 ?

APL/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 ?

AActual 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_salaryREAL;

What all important parameters of the init.ora are supposed to be increased if you want to increase the SGA size ?

AIn 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 from2048 (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 ?

Yes

What are various types of joins ?

Equijoins, Non-equijoins, self join, outer join

What is a package cursor ?

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 ?

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.

What are the various types of queries ?

Normal Queries

Sub Queries

Co-related queries

Nested queries

Compound queries

What is a transaction ?

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 ?

An implicit cursor is a cursor which is internally created by Oracle. It is created by Oracle for each individual SQL.

What is the difference between a view and a snapshot ?

What is PL/SQL?

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?