DBA Interview Question
DBA Interview Question
DBA Interview Question
Technical - Oracle
1. Explain the difference between a hot backup and a cold backup and the
benefits associated with each
2. You have just had to restore from backup and do not have any control files.
How would you go about bringing up this database?
3. How do you switch from an init.ora file to a spfile?
4. Explain the difference between a data block, an extent and a segment.
5. Give two examples of how you might determine the structure of the table DEPT.
6. Where would you look for errors from the database engine?
7. Compare and contrast TRUNCATE and DELETE for a table.
8. Give the reasoning behind using an index.
9. Give the two types of tables involved in producing a star schema and the type
of data they hold.
10. . What type of index should you use on a fact table?
11. . Give two examples of referential integrity constraints.
12. A table is classified as a parent table and you want to drop and re-create
it. How would you do this without affecting the children tables?
13. Explain the difference between ARCHIVELOG mode and NOARCHIVELOG mode and the
benefits and disadvantages to each.
14. What command would you use to create a backup control file?
15. Give the stages of instance startup to a usable state where normal users may
access it.
16. What column differentiates the V$ views to the GV$ views and how?
17. How would you go about generating an EXPLAIN plan?
18. How would you go about increasing the buffer cache hit ratio?
# Explain an ORA-01555
# Explain the difference between $ORACLE_HOME and $ORACLE_BASE.
# How would you determine the time zone under which a database was operating?
# Explain the use of setting GLOBAL_NAMES equal to TRUE.
# What command would you use to encrypt a PL/SQL application?
# Explain the difference between a FUNCTION, PROCEDURE and PACKAGE.
# Explain the use of table functions.
# Name three advisory statistics you can collect.
# Where in the Oracle directory tree structure are audit traces placed?
# Explain materialized views and how they are used.
# When a user process fails, what background process cleans up after it?
# What background process refreshes materialized views?
# How would you determine what sessions are connected and what resources they
are waiting for?
# Describe what redo logs are.
# How would you force a log switch?
# Give two methods you could use to determine what DDL changes have been made.
# What does coalescing a tablespace do?
# What is the difference between a TEMPORARY tablespace and a PERMANENT
tablespace?
# Name a tablespace automatically created when you create a database.
# When creating a user, what permissions must you grant to allow them to connect
to the database?
# How do you add a data file to a tablespace?
# How do you resize a data file?
# What view would you use to look at the size of a data file?
# What view would you use to determine free space in a tablespace?
# How would you determine who has added a row to a table?
# How can you rebuild an index?
# Explain what partitioning is and what its benefit is.
# You have just compiled a PL/SQL package but got errors, how would you view the
errors?
# How can you gather statistics on a table?
# How can you enable a trace for a session?
# What is the difference between the SQL*Loader and IMPORT utilities?
# Name two files used for network connection to a database.
2. How do you find out from the RMAN catalog if a particular archive log has
been backed-up?
3. How can you tell how much space is left on a given file system and how much
space each of the file system's subdirectories take-up?
5. What is the cache hit ratio, what impact does it have on performance of an
Oracle database and what is involved in tuning it?
6. Other than making use of the statspack utility, what would you check when you
are monitoring or running a health check on an Oracle 8i or 9i database?
7. How do you tell what your machine name is and what is its IP address?
8. How would you go about verifying the network name that the local_listener is
currently using?
9. You have 4 instances running on the same UNIX box. How can you determine
which shared memory and semaphores are associated with which instance?
10. What view(s) do you use to associate a user's SQLPLUS session with his o/s
process?
11. What is the recommended interval at which to run statspack snapshots, and
why?
12. What spfile/init.ora file parameter exists to force the CBO to make the
execution path of a given statement use an index, even if the index scan may
appear to be calculated as more costly?
13. Assuming today is Monday, how would you use the DBMS_JOB package to schedule
the execution of a given procedure owned by SCOTT to start Wednesday at 9AM and
to run subsequently every other day at
2AM.
14. How would you edit your CRONTAB to schedule the running of /test/test.sh to
run every other day at 2PM?
16. In which dictionary table or view would you look to determine at which time
a snapshot or MVIEW last successfully refreshed?
17. How would you best determine why your MVIEW couldn't FAST REFRESH?
18. How does propagation differ between Advanced Replication and Snapshot
Replication (read-only)?
21. Which dictionary tables and/or views would you look at to diagnose a locking
issue?
22. An automatic job running via DBMS_JOB has failed. Knowing only that "it's
failed", how do you approach troubleshooting this issue?
23. How would you extract DDL of a table without using a GUI tool?
24. You're getting high "busy buffer waits" - how can you find what's causing
it?
25. What query tells you how much space a tablespace named "test" is taking up,
and how much space is remaining?
26. Database is hung. Old and new user connections alike hang on impact. What do
you do? Your SYS SQLPLUS session IS able to connect.
29. How do you increase the OS limitation for open files (LINUX and/or Solaris)?
30. Provide an example of a shell script which logs into SQLPLUS as SYS,
determines the current date, changes the date format to include minutes &
seconds, issues a drop table command, displays the date again, and finally
exits.
31. Explain how you would restore a database using RMAN to Point in Time?
33. Which environment variables are absolutely critical in order to run the OUI?
34. What SQL query from v$session can you run to show how many sessions are
logged in as a particular user account?
35. Why does Oracle not permit the use of PCTUSED with indexes?
36. What would you use to improve performance on an insert statement that places
millions of rows into that table?
38. What are the commands you'd issue to show the explain plan for "select *
from dual"?
41. How would you configure your networking files to connect to a database by
the name of DSS which resides in domain icallinc.com?
42. You create a private database link <link name> and upon
connection, fails with: ORA-2085: <Link name> connects to <fully qualified
remote db name>. What is the problem? How would you go about resolving this
error?
45. What are the ways tablespaces can be managed and how do they differ?
46. From the database level, how can you tell under which time zone a database
is operating?
49. You have found corruption in a tablespace that contains static tables that
are part of a database that is in NOARCHIVE log mode. How would you restore the
tablespace without losing new data in the other tablespaces?
50. How do you recover a datafile that has not been physically been backed up
since its creation and has been deleted. Provide syntax example.
6. How will you copy the structure of a table without copying the data?
10. What is the difference between "NULL in C" and "NULL in Oracle?"
20. When do you get constraint violation? What are the types of constraints?
25. Why can a "group by" or "order by" clause be expensive to process?
31. What is the difference among "dropping a table", "truncating a table" and
"deleting all records" from a table?