Oracle Interview Questions - Part 3

How many rows will the following SQL return :
Select * from emp Where rownum = 10;

No rows

 

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

 

Are views automatically updated when base tables are updated ?
Yes

 

Can a trigger written for a view ?
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 ?
Last Record

 

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

7.5

 

Is Sysdate a system variable or a system function?
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 ?

 

Definition of relational DataBase by Dr. Codd (IBM)?
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) ?
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 ?
RDBMS - R system
Hierarchical - IMS
N/W - DBTG

 

Difference between Oracle 6 and Oracle 7
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
Database Integrity
Constraints ? Provision at Application Level
Stored procedures, functions
packages & triggers ? No provision
Resource profile limit. It
prevents user from running
away with system resources ? No provision
Distributed Database ? Distributed Query
Table replication & snapshots? No provision
Client/Server Tech. ? No provision

 

What is Functional Dependency
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 ?
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 ?
Network Overhead (traffic), Speed and Load of client server

 

What are the disadvantages of SQL ?
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 ?
To be created when table is queried for less than 2% or 4% to 25% of the table rows.

 

How can you avoid indexes ?
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;

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.
Yes, database trigger would fire.

 

Can you alter synonym of view or view ?
No

 

Can you create index on view
No.

 

What is the difference between a view and a synonym ?
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 is the difference between alias and synonym ?
Alias 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 ?
Valid

 

What's the length of SQL integer ?
32 bit length

 

What is the difference between foreign key and reference key ?
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 ?
Yes

 

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

 

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

 

For which relational operators in where clause, index is not used ?
<> , 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 ?
Changing the ORACLE_SID

 

What are the advantages of Oracle ?
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 ?
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 ?
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 ?
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 ?
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 ?
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.

 

Which of the following is not a schema object : Indexes, tables, public synonyms, triggers and packages ?
Public synonyms

 

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?
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?
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?
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?
PL/SQL V2.2, available with Oracle7.2, implements a binary wrapper for PL/SQL programs to protect the source code. This is done via a standalone utility that transforms the PL/SQL source code into portable binary object code (somewhat larger than the original). This way you can distribute software without having to worry about exposing your proprietary algorithms and methods. SQL*Plus and SQL*DBA will still understand and know how to execute such scripts. Just be careful, there is no "decode" command available.
The syntax is:
wrap iname=myscript.sql oname=xxxx.yyy

Can one use dynamic SQL within PL/SQL? OR Can you use a DDL in a procedure ? How ?
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;

 


Comments (1)

amrendra
Said this on 9-19-2009 At 01:31 pm
dear sir/madam
please copy to my mail
with regards
amrendra
Post a Comment
* Your Name:
* Your Email:
(not publicly displayed)
Reply Notification:
Approval Notification:
Website:
* Security Image:
Security Image Generate new
Copy the numbers and letters from the security image:
* Message:

Email to Friend

Fill in the form below to send this article to a friend:

Email to Friend
* Your Name:
* Your Email:
* Friend's Name:
* Friend's Email:
* Security Image:
Security Image Generate new
Copy the numbers and letters from the security image
* Message: