Thursday, December 31, 2009

Oracle Apps Interview Questions | How to Crack Oracle Financial Interview

Here are some quick questions and answers for those who are interested in cracking the Oracle Apps Interview.

# 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 theOracle 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).BeforeOracle 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 iname=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.

I could not find the answers of the below mentioned questions, however thought may be just the questions would be useful to the readers. If you have the answers for these, do not forget to write them down in the comments below:

1. What is an oracle instance?
2. What is a view?
3. What is referential integrity?
4. Name the data dictionary that stores user-defined constraints?
5. What is a collection of privileges?
6. What is a snapshot?
7. What is a synonym?
8. What is a cursor?
9. What is a sequence?
10. What is a trigger?
11. What is an exception?
12. What is a partition of table?
13. What are pseudo-columns in SQL? Provide examples.
14. What are the Data Control statements?
15. What is a schema?
16. What is a type?
17. What is a data model?
18. What is a relation?
19. Advantages of redo log files?
20. What is an Archiver?
21. What is a database buffer cache?
22. What are the background processes in Oracle?
23. %type and %rowtype are attributes for…?
24. What are the steps in a two-phase commit?
25. What is a union, intersect, minus?
26. What is a join, explain the types of joins?
27. What is a co-related sub-query?
28. ODBC stands for…?
29. Data-type used to work with integers is?
30. Describe data models?
31. Describe the Normalization principles?
32. What are the types of Normalization?
33. What is de-normalization?

No comments:

Post a Comment