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.
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;
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
command would you use to encrypt a PL/SQL application?
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.
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.
three advisory statistics you can collect.
Buffer Cache Advice, Segment Level Statistics, & Timed
in the Oracle directory tree structure are audit traces placed?
In unix $ORACLE_HOME/rdbms/audit, in Windows the event
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.
user process fails, what background process cleans up after it?
background process refreshes materialized views?
The Job Queue Processes.
would you determine what sessions are connected and what resources they are
Use of V$SESSION and V$SESSION_WAIT
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.
would you force a log switch?
ALTER SYSTEM SWITCH LOGFILE;
two methods you could use to determine what DDL changes have been made.
You could use Logminer or Streams
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
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.
tablespace automatically created when you create a database.
The SYSTEM tablespace.
creating a user, what permissions must you grant to allow them to connect to
Grant the CONNECT to the user.
you add a data file to a tablespace?
ALTER TABLESPACE <tablespace_name> ADD DATAFILE <datafile_name> SIZE <size>
you resize a data file?
ALTER DATABASE DATAFILE <datafile_name> RESIZE <new_size>;
view would you use to look at the size of a data file?
view would you use to determine free space in a tablespace?
would you determine who has added a row to a table?
Turn on fine grain auditing for the table.
you rebuild an index?
ALTER INDEX <index_name> REBUILD;
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.
have just compiled a PL/SQL package but got errors, how would you view the
you gather statistics on a table?
The ANALYZE command.
you enable a trace for a session?
Use the DBMS_SESSION.SET_SQL_TRACE or
Use ALTER SESSION SET SQL_TRACE = TRUE;
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
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.
you list the files in an UNIX directory while also showing hidden files?
you execute a UNIX command in the background?
Use the "&"
UNIX command will control the default file permissions when files are created?
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
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.
the command to display space usage on the UNIX file system.
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
would you change all occurrences of a value using VI?
two UNIX kernel parameters that effect an Oracle install
SHMMAX & SHMMNI
how do you install Oracle software on UNIX.
Basically, set up disks, kernel parameters, and run orainst.
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