Oracle Technical Interview Questions Answered – Part2

This is the second part of the two part series on helping you
answer those tough questions that you might experience in your quest for an
Oracle DBA position.

The
Oracle Technical Interview can be quite daunting. You never quite know what to
study for and how to prepare. I am fully aware of this, as I have received many
emails since my original article on interview questions was released. While
these questions are only guidelines as to what should and more than likely will
be asked, I hope that you find some comfort in the review of them. As always, do
not just memorize the answers, as there are jewels to be found in the quest of
figuring out the answer from the question. As always, remember that as you go
through the article, it is not enough to know the answer to a particular question;
you must try to put yourself in an interview situation and experience answering
the question for yourself. Therefore, after you have gone through the questions
and answers read the question again and then answer it with your own words. As
always, good luck, and cheers.

Technical – Oracle

Last time, we answered questions 1 thru 20 of the technical part
of the interview. Here are the next 30 in this section. Depending on the mood of
the interview and your ability to elaborate on the answer, try to give some
insight that you know more than just the simple answer to some of these
questions. Also, be sensitive to the interviewer getting tired of you talking
too much. Well here they are.

21.  How would you
determine the time zone under which a database was operating?

select DBTIMEZONE from dual;

22. 
Explain
the use of setting GLOBAL_NAMES equal to TRUE.

Setting GLOBAL_NAMES dictates how you might connect to a database.
This variable is either TRUE or FALSE and if it is set to TRUE it enforces
database links to have the same name as the remote database to which they are
linking.

23. 
What
command would you use to encrypt a PL/SQL application?

WRAP

24. 
Explain
the difference between a FUNCTION, PROCEDURE and PACKAGE.

A function and procedure are the same in that they are
intended to be a collection of PL/SQL code that carries a single task. While a
procedure does not have to return any values to the calling application, a
function will return a single value. A package on the other hand is a
collection of functions and procedures that are grouped together based on their
commonality to a business function or application.

25. 
Explain
the use of table functions.

Table functions are designed to return a set of rows
through PL/SQL logic but are intended to be used as a normal table or view in a
SQL statement. They are also used to pipeline information in an ETL process.

26. 
Name
three advisory statistics you can collect.

Buffer Cache Advice, Segment Level Statistics, & Timed
Statistics

27. 
Where
in the Oracle directory tree structure are audit traces placed?

In unix $ORACLE_HOME/rdbms/audit, in Windows the event
viewer

28. 
Explain
materialized views and how they are used.

Materialized views are objects that are reduced sets of
information that have been summarized, grouped, or aggregated from base tables.
They are typically used in data warehouse or decision support systems.

29. 
When a
user process fails, what background process cleans up after it?

PMON

30. 
What
background process refreshes materialized views?

The Job Queue Processes.

31. 
How
would you determine what sessions are connected and what resources they are
waiting for?

Use of V$SESSION and V$SESSION_WAIT

32. 
Describe
what redo logs are.

Redo logs are logical and physical structures that are
designed to hold all the changes made to a database and are intended to aid in
the recovery of a database.

33. 
How
would you force a log switch?

ALTER SYSTEM SWITCH LOGFILE;

34. 
Give
two methods you could use to determine what DDL changes have been made.

You could use Logminer or Streams

35. 
What
does coalescing a tablespace do?

Coalescing is only valid for dictionary-managed tablespaces
and de-fragments space by combining neighboring free extents into large single
extents.

36. 
What is
the difference between a TEMPORARY tablespace and a PERMANENT tablespace?

A temporary tablespace is used for temporary objects such
as sort structures while permanent tablespaces are used to store those objects
meant to be used as the true objects of the database.

37. 
Name a
tablespace automatically created when you create a database.

The SYSTEM tablespace.

38. 
When
creating a user, what permissions must you grant to allow them to connect to
the database?

Grant the CONNECT to the user.

39. 
How do
you add a data file to a tablespace?

ALTER TABLESPACE <tablespace_name> ADD DATAFILE <datafile_name> SIZE <size>

40. 
How do
you resize a data file?

ALTER DATABASE DATAFILE <datafile_name> RESIZE <new_size>;

41. 
What
view would you use to look at the size of a data file?

DBA_DATA_FILES

42. 
What
view would you use to determine free space in a tablespace?

DBA_FREE_SPACE

43. 
How
would you determine who has added a row to a table?

Turn on fine grain auditing for the table.

44. 
How can
you rebuild an index?

ALTER INDEX <index_name> REBUILD;

45. 
Explain
what partitioning is and what its benefit is.

Partitioning is a method of taking large tables and
indexes and splitting them into smaller, more manageable pieces.

46. 
You
have just compiled a PL/SQL package but got errors, how would you view the
errors?

SHOW ERRORS

47. 
How can
you gather statistics on a table?

The ANALYZE command.

48. 
How can
you enable a trace for a session?

Use the DBMS_SESSION.SET_SQL_TRACE or

Use ALTER SESSION SET SQL_TRACE = TRUE;

49. 
What is
the difference between the SQL*Loader and IMPORT utilities?

These two Oracle utilities are used for loading data into
the database. The difference is that the import utility relies on the data
being produced by another Oracle utility EXPORT while the SQL*Loader utility
allows data to be loaded that has been produced by other utilities from
different data sources just so long as it conforms to ASCII formatted or
delimited files.

50. 
Name
two files used for network connection to a database.

TNSNAMES.ORA and SQLNET.ORA

Technical – UNIX

Every DBA should know something about the operating system
that the database will be running on. The questions here are related to UNIX
but you should equally be able to answer questions related to common Windows environments.

1. 
How do
you list the files in an UNIX directory while also showing hidden files?

ls -ltra

2. 
How do
you execute a UNIX command in the background?

Use the "&"

3. 
What
UNIX command will control the default file permissions when files are created?

Umask

4. 
Explain
the read, write, and execute permissions on a UNIX directory.

Read allows you to see and list the directory contents.

Write allows you to create, edit and delete files and
subdirectories in the directory.

Execute gives you the previous read/write permissions plus
allows you to change into the directory and execute programs or shells from the
directory.

5. 
the difference between a soft link and a hard link?

A symbolic (soft) linked file and the targeted file can be
located on the same or different file system while for a hard link they must be
located on the same file system.

6. 
Give
the command to display space usage on the UNIX file system.

df -lk

7. 
Explain
iostat, vmstat and netstat.

Iostat reports on terminal, disk and tape I/O activity.

Vmstat reports on virtual memory statistics for processes,
disk, tape and CPU activity.

Netstat reports on the contents of network data
structures.

8. 
How
would you change all occurrences of a value using VI?

Use :%s/<old>/<new>/g

9. 
Give
two UNIX kernel parameters that effect an Oracle install

SHMMAX & SHMMNI

10. 
Briefly,
how do you install Oracle software on UNIX.

Basically, set up disks, kernel parameters, and run orainst.

I hope
that these interview questions were not too hard. Remember these are "core"
DBA questions and not necessarily related to the Oracle options that you may
encounter in some interviews. Take a close look at the requirements for any job
and try to extract questions that interviewers may ask from manuals and real
life experiences. For instance, if they are looking for a DBA to run their
databases in RAC environments, you should try to determine what hardware and
software they are using BEFORE you get to the interview. This would allow you
to brush up on particular environments and not be caught off-guard. Good luck!

»


See All Articles by Columnist
James Koopmann

James Koopmann
James Koopmann
James Koopmann has fourteen years of database design, development and performance tuning experience. In addition, he has extensive database administration experience in Oracle and other relational databases in production environments, specializing in performance tuning of database engines and SQL based applications. Koopmann is an accomplished author with several technical papers in various Oracle related publications such as Oracle Magazine, Oracle Professional and SQL>UPDATE_RMOUG. He is a featured author and database expert for DatabaseJournal, a member of the editorial review committee for Select Journal (The Magazine for the International Oracle Users Group), an Oracle Certified Professional DBA and noted speaker at local Oracle User Groups around the country.

Latest Articles