DBA Interview Questions


My company is going to be on the lookout for a new junior DBA in the near future, and I thought I would try something different in the interview process this time around. I like to work with people who come with some basic technical skills, but who also have skills that can’t easily be taught like general troubleshooting, or the ability to take on new technology or functionality and become proficient quickly. Where I work the unexpected is par for the course, and the technology stack we are responsible for is quite expansive.

My thought was to provide prospective candidates with a list of questions a day or two before they actually come to the interview and allow them some time to research and consider their responses. These are not the general “Questions You Should Ask in Every Job Interview” questions, which will no doubt also be part of our process; these questions will be technical and intentionally be obscure or specific to our working environment, and I don’t expect anyone would know most of the answers immediately (though an experienced DBA would probably know some of them). The point would be to see how well they can deal with topics or subjects or situations they haven’t seen before and provide relevant answers.

Below are some of the questions I am considering, and I am looking for some feedback from my peers. How challenging do you think they actually are? What suggestions do you have for improvements? Any observations are welcome!

  1. As an Oracle DBA working for the Department of Defense, what commercial, government, or open source tools are available to you to complete a security evaluation of your database and server?
  2. You are required to configure your databases in a STIG-compliant manner. Under what circumstances should you configure a database on an unclassified network in NOARCHIVELOG mode?
  3. You find an “ORA-00257: archiver error. Connect internal only until freed.” error in the database alert log. Archive logs are stored in a separate location from RMAN backups. What should you do?
  4. If you find the following error in the alert log of an Oracle 11.2.0.4 database:
    ORA-00600: internal error code, arguments: [kwqitnmphe:ltbagi] ...

    What should you do?

  5. A client is configured with ldap.ora and sqlnet.ora as follows:

    ldap.ora:

    DIRECTORY_SERVERS = (192.168.1.100:389)
    DEFAULT_ADMIN_CONTEXT = "dc=system,dc=division,dc=branch,dc=company"
    DIRECTORY_SERVER_TYPE = OID

    sqlnet.ora:

    NAMES.DIRECTORY_PATH=(LDAP)

    The user complains of receiving an “ORA-12154: TNS: could not resolve the connect identifier specified.” error. What should you do?

  6. A user on a Windows client is receiving an “ORA-01034: Oracle not available” error when trying to login to the database. Knowing that the database is on a remote Linux server and is running normally, what should you do?
  7. What is proxy database authentication and how might it be used to provide better database security, particularly in a development environment?
  8. Describe any advantages or disadvantages to using the JDBC-Thick driver instead of JDBC-Thin for Java-based applications.
  9. What is the easiest way to pre-configure an Oracle Linux operating system for Oracle database software installation?
  10. Why might you need to construct a bash shell script to execute a SQL command? Show an example of what such a script might look like.
  11. Give examples of physical and logical database backups and describe the benefits and limitations of each.
  12. Show the steps / commands required to restore individual data files or tablespaces from backup using RMAN.
  13. Show the commands required to configure a network access control list that allows a database user to send e-mail using a stored procedure.
  14. Is it possible to patch or upgrade the Java JDK embedded in the database $ORACLE_HOME/jdk directory? Why would this be a good, or bad idea?
  15. Describe the differences between Oracle Scheduler and the DBMS_JOB package, which one in your opinion is superior, and why.
  16. Give an example use case for Advanced Queuing, and show the basic code required to configure and execute a Queue.

*Image by Canary Pete

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.