3+years Oracle DBA Interview Questions: Mario Alcaide Leave A Comment Go To Comments
3+years Oracle DBA Interview Questions: Mario Alcaide Leave A Comment Go To Comments
In response for a reader of this blog who asked me for some interview questions for a 3+Year
experienced DBA, I have written this series of questions that you can use in your interviews.
Either if you are the interviewer, or the interviewer. Enjoy!
1. Basic (Every DBA should answer correctly ALL these questions. This knowledge is just basic
for a 3+ year experienced DBA)
1.1 Q- Which are the default passwords of SYSTEM/SYS?
A- MANAGER / CHANGE_ON_INSTALL
1.2 Q- How can you execute a script file in SQLPLUS?
A- To execute a script file in SQLPlus, type @ and then the file name.
1.3 Q- Where can you find official Oracle documentation?
A- tahiti.oracle.com
1.4 Q- What is the address of the Official Oracle Support?
A- metalink.oracle.com or support.oracle.com
1.5 Q- What file will you use to establish Oracle connections from a remote client?
A- tnsnames.ora
1.6 Q- How can you check if the database is accepting connections?
A- lsnrctl status or lsnrctl services
1.7 Q- Which log would you check if a database has a problem?
A- Alert log
1.8 Q- Name three clients to connect with Oracle, for example, SQL Developer:
A- SQL Developer, SQL-Plus, TOAD, dbvisualizer, PL/SQL Developer… There are several, but
an experienced dba should know at least three clients.
1.9 Q- How can you check the structure of a table from sqlplus?
A- DESCRIBE or DESC
1.10 Q- What command will you start to run the installation of Oracle software on Linux?
A- runInstaller
2. Moderate (Standard knoledge for a daily-work of every DBA. He could fail one or two
questions, but not more)
2.1 Q- What should you do if you encounter an ORA-600?
A- Contact Oracle Support
2.2 Q- Explain the differences between PFILE and SPFILE
A- A PFILE is a Static, text file that initialices the database parameter in the moment that it’s
started. If you want to modify parameters in PFILE, you have to restart the database.
A SPFILE is a dynamic, binary file that allows you to overwrite parameters while the database is
already started (with some exceptions)
2.3 Q- In which Oracle version was Data Pump introduced?
A- Oracle 10g
2.4 Q- Say two examples of DML, two of DCL and two of DDL
A- DML: SELECT, INSERT, UPDATE, DELETE, MERGE, CALL, EXPLAIN PLAN, LOCK
TABLE
DDL: CREATE, ALTER, DROP, TRUNCATE, COMMENT, RENAME
DCL: GRANT, REVOKE
2.5 Q- You want to save the output of an Oracle script from sqlplus. How would you do it?
A- spool script_name.txt
select * from your_oracle_operations;
spool off;
2.6 Q- What is the most important requirement in order to use RMAN to make consistent hot
backups?
A- Your database has to be in ARCHIVELOG mode.
2.7 Q- Can you connect to a local database without a listener?
A- Yes, you can.
2.8 Q- In which view can you find information about every view and table of oracle dictionary?
A- DICT or DICTIONARY
2.9 Q- How can you view all the users account in the database?
A- SELECT USERNAME FROM DBA_USERS;
2.10 Q- In linux, how can we change which databases are started during a reboot?
A- Edit /etc/oratab
3. Advanced (A 3+ year experienced DBA should have enough knowledge to answer these
questions. However, depending on the work he has done, he could still fail up to 4 questions)
3.1 Q- When a user process fails, what Oracle background process will clean after it?
A- PMON
3.2 Q- How can you reduce the space of TEMP datafile?
A- Prior to Oracle 11g, you had to recreate the datafile. In Oracle 11g a new feature was
introduced, and you can shrink the TEMP tablespace.
3.3 Q- How can you view all the current users connected in your database in this moment?
A- SELECT COUNT(*),USERNAME FROM V$SESSION GROUP BY USERNAME;
3.4 Q- Explain the differences between SHUTDOWN, SHUTDOWN NORMAL, SHUTDOWN
IMMEDIATE AND SHUTDOWN ABORT
A- SHUTOWN NORMAL = SHUTDOWN : It waits for all sessions to end, without allowing
new connections.
SHUTDOWN IMMEDIATE : Rollback current transactions and terminates every session.
SHUTDOWN ABORT : Aborts all the sessions, leaving the database in an inconsistent state. It’s
the fastest method, but can lead to database corruption.
3.5 Q- Is it possible to backup your database without the use of an RMAN database to store the
catalog?
A- Yes, but the catalog would be stored in the controlfile.
3.6 Q- Which are the main components of Oracle Grid Control?
A- OMR (Oracle Management Repository), OMS (Oracle Management Server) and OMA
(Oracle Management Agent).
3.7 Q- What command will you use to navigate through ASM files?
A- asmcmd
3.8 Q- What is the difference between a view and a materialized view?
A- A view is a select that is executed each time an user accesses to it. A materialized view stores
the result of this query in memory for faster access purposes.
3.9 Q- Which one is faster: DELETE or TRUNCATE?
A- TRUNCATE
3.10 Q- Are passwords in oracle case sensitive?
A- Only since Oracle 11g.
4. RAC (Only intended for RAC-specific DBAs, with varied difficultied questions)
4.1 Q- What is the recommended method to make backups of a RAC environment?
A- RMAN to make backups of the database, dd to backup your voting disk and hard copies of
the OCR file.
4.2 Q- What command would you use to check the availability of the RAC system?
A- crs_stat -t -v (-t -v are optional)
4.3 Q- What is the minimum number of instances you need to have in order to create a RAC?
A- 1. You can create a RAC with just one server.
4.4 Q- Name two specific RAC background processes
A- RAC processes are: LMON, LMDx, LMSn, LKCx and DIAG.
4.5 Q- Can you have many database versions in the same RAC?
A- Yes, but Clusterware version must be greater than the greater database version.
4.6 Q- What was RAC previous name before it was called RAC?
A- OPS: Oracle Parallel Server
4.7 Q- What RAC component is used for communication between instances?
A- Private Interconnect.
4.8 Q- What is the difference between normal views and RAC views?
A- RAC views has the prefix ‘G’. For example, GV$SESSION instead of V$SESSION
4.9 Q- Which command will we use to manage (stop, start…) RAC services in command-line
mode?
A- srvctl
4.10 Q- How many alert logs exist in a RAC environment?
A- One for each instance.
5. Master (A 3+ year experienced DBA would probably fail these questions, they are very
specifid and specially difficult. Be glad if he’s able to answer some of them)
5.1 Q- How can you difference a usual parameter and an undocumented parameter?
A- Undocumented parameters have the prefix ‘_’. For example, _allow_resetlogs_corruption
5.2 Q- What is BBED?
A- An undocumented Oracle tool used for foresnic purposes. Stans for Block Browser and
EDitor.
5.3 Q- The result of the logical comparison (NULL = NULL) will be… And in the case of
(NULL != NULL)
A- False in both cases.
5.4 Q- Explain Oracle memory structure
The Oracle RDBMS creates and uses storage on the computer hard disk and in random access
memory (RAM). The portion in the computer s RAM is called memory structure. Oracle has two
memory structures in the computer s RAM. The two structures are the Program Global Area
(PGA) and the System Global Area (SGA).
The PGA contains data and control information for a single user process. The SGA is the
memory segment that stores data that the user has retrieved from the database or data that the
user wants to place into the database.
5.5 Q- Will RMAN take backups of read-only tablespaces?
A- No
5.6 Q- Will a user be able to modify a table with SELECT only privilege?
A- He won’t be able to UPDATE/INSERT into that table, but for some reason, he will still be
able to lock a certain table.
5.7 Q- What Oracle tool will you use to transform datafiles into text files?
A- Trick question: you can’t do that, at least with any Oracle tool. A very experienced DBA
should perfectly know this.
5.8 Q- SQL> SELECT * FROM MY_SCHEMA.MY_TABLE;
SP2-0678: Column or attribute type can not be displayed by SQL*Plus
Why I’m getting this error?
A- The table has a BLOB column.
5.9 Q- What parameter will you use to force the starting of your database with a corrupted
resetlog?
A- _ALLOW_RESETLOGS_CORRUPTION
5.10 Q- Name the seven types of Oracle tables
A- Heap Organized Tables, Index Organized Tables, Index Clustered Tables, Hash Clustered
Tables, Nested Tables, Global Temporary Tables, Object Tables.
DBA Tasks
December 3, 2010 Mario Alcaide 1 comment
We can separate the dba tasks between daily, weekly and monthly procedures:
Daily
- Verify instance status
- Check alerts
- Check configured metrics
- Check RMAN backups
- Check storage
- Check CPU contention
- Check waiting times
- Check memory usage
- Check network load
- Check iostat
Weekly
- Invalid objects
- Tunning: indexes and execution plans
- Top SQL
- Environments consistence
- Review of ressource policy
- Trends and peaks
- Cleaning of alert logs
- Review of RMAN
Monthly
- Recovery tests
- Analyze the data increment trend
- Tunning
- Review I/O
- Fragmentation
- Row chaining
- High Availability Analysis
- Scalability
- Schedule monthly downtime
Have you ever asked yourself which are the default passwords in Oracle?
SYS: CHANGE_ON_INSTALL
SYSTEM: MANAGER
SCOTT: TIGER
ADAMS: WOOD
JONES: STEEL
BLAKE: PAPER
FORD: CAR
KING: GOLD
\
What is the data dictionary?
July 8, 2010 Mario Alcaide Leave a comment
The scope of this article is to clarify what exactly is the data dictionary. Probably all of you have
heard of it, and you know it’s a bunch of metadata that Oracle uses to work, but if you want to
know more about this Data Dictionary, then I hope this article teaches you something new.
The data dictionary is a repository of metadata (Information about information), about all the
information inside the database. This repository is owned by SYS, and is stored principally in the
SYSTEM tablespace, though some components are stored in the SYSAUX tablespace (in Oracle
10+).
The data dictionary is composed of tables and views. Some of these tables are inside of the
Oracle kernel, so you would never work directly with them unless you are working for Oracle
support or performing a disaster recovery scenario. But instead you can access to the views in
order to know the “information about the information”.
For example, a possible usage of this data dictionary would be to know all the tables owned by a
single user, or the list or relationships between all the tables of the database.
The main view of the data dictionary is the view DICT (or DICTIONARY):
Through the DICT view, you can access to all the data dictionary views that could provide you
the information that you need.
For example, if you are looking for information related to db_links, but you don’t know where to
look for, then query the DICT view:
TABLE_NAME
——————————
USER_DB_LINKS
ALL_DB_LINKS
DBA_DB_LINKS
V$DBLINK
GV$DBLINK
Now, you have just to query one of these views to find the data you are looking for. GV$ views
are very useful when you are working with RAC, and V$ views are instance related.
Remember that the data dictionary provides critical information of the database, and it should be
restricted to users. However, if a user really needs to query the data dictionary, you can use the
following sentence:
How would you determine the time zone under which a database was operating?
Related Articles
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.
WRAP
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.
27. Where in the Oracle directory tree structure are audit traces placed?
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
31. How would you determine what sessions are connected and what resources they are
waiting for?
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.
34. Give two methods you could use to determine what DDL changes have been made.
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.
38. When creating a user, what permissions must you grant to allow them to connect to the
database?
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?
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
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.
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
3. What UNIX command will control the default file permissions when files are created?
Umask
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.
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
Vmstat reports on virtual memory statistics for processes, disk, tape and CPU activity.
Use :%s/<old>/<new>/g
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!
Oracle Technical Interview Questions Answered - Part2
james koopmann | Nov 3, 2005 | Comments (40)
inShare
I promised the second part of this a couple of weeks ago. Well here it is.
Again this is an article I put together a while back but still get quite a bit of email in its regard. So
thought it might be of interest to the readers at ITtoolbox.
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?
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.
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.
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.
27. Where in the Oracle directory tree structure are audit traces placed?
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
31. How would you determine what sessions are connected and what resources they are waiting for?
34. Give two methods you could use to determine what DDL changes have been made.
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.
38. When creating a user, what permissions must you grant to allow them to connect to the database?
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?
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
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.
1. How do you list the files in an UNIX directory while also showing hidden files?
ls -ltra
3. What UNIX command will control the default file permissions when files are created?
Umask
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.
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
Vmstat reports on virtual memory statistics for processes, disk, tape and CPU activity.
Use :%s///g
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!