Welcome to WordPress. This is your first post. Edit or delete it, then start blogging!
Category Archives: uncategorized
Senior-Level DBA Interview Question:
With well over a decade of Oracle experience from version 6 to 11g, I have had my share of interviewing prospective DBA employees in a range from Junior to Senior DBAs. Needless to say in this field, technical competence is the key to any new hire and early on I made the blunder of not asking the write questions during the interview. I am sure every senior person or manager has made this mistake and had to deal with either training the person from scratch or letting them go. Either of these options is not desirable in our fast past business world. So, I decided to write a couple of articles which cover what I believe a Junior, Mid, and Senior Oracle DBA should know to fill their prospective positions.
In this article we will cover what a Senior Level DBA should know to be successful. If you have any comments or questions, please email me at larry.catt@relidb.com.
Questions: NOTE: Answers here can be very broad, however they not always wrong. That is why it is important to have a proven DBA on staff or one you can call to review the answers. I have seen very inventive ways to get around the most impossible tasks and while they do not actually meet the standard way of doing the work, I would not count these people out. A person whom thinks outside of the box is very valuable in IT and believe it or not, some of the best DBA’s I have ever met thought completely outside the box, however always accomplished the task.
1. You have a brand new Solaris Machine, freshly built by the SA, with all Oracle RDBMS recommended patching and Kernel Parameters set. Please give the order of tasks to install Oracle up to its latest CPU?
2. You have just moved Oracle Binary files from an ORACLE_HOME on one server to another server. What is the oracle utility command you would use to make this new ORACLE_HOME usable?
3. Tell me why just copying the oracle datafiles from HP-UX to LINUX RHEL and starting the database would not work?
4. In what months does Oracle release CPU patches and what is the utility to apply them.
5. You need to shutdown the oracle database but it will not shutdown with SHUTDOWN IMMEDIATE. How will you shutdown the database?
6. How do you logon to Oracle server without knowing any oracle passwords?
7. How would you determine that SCATTERED READ where occuring?
8. How would you see the SQL of the currently active sessions from a command prompt?
9. When having multiple oracle homes on a single server or client what is the parameter that points all Oracle installs at one TNSNAMES.ORA file.
10. You have ASM database that used by three production systems. The server which the ASM database is shutdown. What happens to the production RDBMS?
Answers:
1. You have a brand new Solaris Machine, freshly built by the SA, with all Oracle RDBMS recommended patching and Kernel Parameters set. Please give the order of tasks to install Oracle up to its latest CPU?
– Verify that all patches are installed and kernel parameters set.(Some not all SA say the system is ready when it is not. You can save yourself a lot of problems by double checking)
– Configuration of .profile or .bash_profile for the Oracle owner.
– Base Installation of Oracle (ie what to get to 10.2.0.4 must install Oracle 10.1 first).
– Upgrade to Oracle Version Desired.
– Upgrade the database(if upgrade is necessary)
– Run UTLRP.SQL.
– Apply lastest CPU patch.
– Run UTLRP.SQL.
– Configuration of Listener.
– Configuration of client TNSNAMES.ORA file.
2. You have just moved Oracle Binary files from an ORACLE_HOME on one server to another server. What is the oracle utility command you would use to make this new ORACLE_HOME usable?
Solution:
Relink all
3. Tell me why just copying the oracle datafiles from HP-UX to LINUX RHEL and starting the database would not work?
Solution:
Differing Indian codes.
4. In what months does Oracle release CPU patches and what is the utility to apply them.
Solution:
JAN, APR, JUL, OCT
5. You need to shutdown the oracle database but it will not shutdown with SHUTDOWN IMMEDIATE. How will you shutdown the database?
Solution:
Kill the smon process.
6. How do you logon to Oracle server without knowing any oracle passwords?
Solution:
Sudo to the Oracle software owners account and logon with the command sqlplus ‘/ as sysdba’
7. How would you determine that SCATTERED READ where?
Solution:
Look in the views v$session_wait or v$session_wait_history.
Could give:
Statspack or EM report.
8. How would you see the SQL of the currently active sessions from a command prompt?
Solution:
Compare tables V$SQL view by sql_address with V$SESSION view of currently active sessions.
9. When having multiple oracle homes on a single server or client what is the parameter that points all Oracle installs at one TNSNAMES.ORA file.
Solution:
TNS_ADMIN
10. You have ASM database that used by three production systems. The server which the ASM database is shutdown. What happens to the production RDBMS?
Solution:
Other database would shutdown abort.
Larry Catt, OCP 9i, 10g
oracle@allcompute.com
www.allcompute.com
Oracle RDBMS and UNIX/LINUX environmental variables.
Oracle RDBMS installations on UNIX and LINUX require the use of operating system parameters to operate properly. Experienced DBA will take care in setting up the operation system parameter before movement, upgrade, or installation of an Oracle RDBMS system on UNIX and LINUX. This article will cover the necessary OS variables to setup a functioning ORACLE RDBMS system.
Required Variables:
ORACLE_HOME – The ORACLE_HOME variable defines the location of the oracle installation directory. Under the ORACLE_HOME you will find such directories as BIN, DBS, NETWORK, etc. These are all core components of the Oracle RDBMS system. Without proper definition of the ORACLE_HOME most of the Oracle binaries will not execute.
ORACLE_BASE – The ORACLE_BASE variable defines the location (normally one level above the ORACLE_HOME) where the Oracle inventory files are stored and is the root directory of multiple Oracle product installs. If you have several different RDBMS versions installed on your system, normally the varies ORACLE_HOMEs would be located directly under the ORACLE_BASE directory.
ORACLE_SID – The ORACLE_SID defines the name of the instance of your database. Without proper definition of the ORACLE_SID most of the Oracle binaries will not execute.
TNS_ADMIN – The TNS_ADMIN defines the directory where your Oracle networking components are located. This directory will usually include: TNSNAMES.ORA, LISTENER.ORA, and SQLNET.ORA. THE TNS_ADMIN is normally pointed at ORACLE_HOME/network/admin.
PATH – The PATH variable points to all binaries which you may need during
administration and operation of your Oracle Server. In the Oracle environment, it is important to include $ORACLE_HOME/bin in this parameter. NOTE: You will require other executables and the PATH variable will be considerable longer then $ORACLE_HOME/bin.
LD_LIBRARY_PATH – The LD_LIBRARY_PATH variable defines the directories which contain .lib files for your binary executables. The directory $ORACLE_HOME/lib and/or $ORACLE_HOME/lib32 must be defined within this variable. Without properly defining the LD_LIBRARY_PATH variable, errors will arise during execution of Oracle binaries.
NLS_LANG – The NLS_LANG variable defines the National Language Set used within your Oracle database.
PATH – The PATH variable defines the location of every executable required for proper operation of Oracle products. For a DBA, you should edit the PATH variable to include $ORACLE_HOME/bin directory.
OPATCH – The OPATCH variable defines the directory where Oracle OPatch utility is stored. Normally, this is located in $ORACLE_HOME/OPatch. This utility is the normally tool used to install Oracle RDBMS quartly CPU patches.
Nice to have Aliases:
udump – Provides the ability to change directories to your user dump
destination.
cdump – Provides the ability to change directories to your core dump
destination.
bdump – Provides the ability to change directories to your backround dump
destination.
alert – Provides for quick opening of your alert log.
oradata – Provides the ability to change directories to datafile destination.
pfile – Provides for quick opening of your parameter file.
Example .profile file of ORACLE UNIX or LINUX server.
umask 022
ORACLE_BASE = /app/oracle/products
export ORACLE_BASE
ORACLE_HOME = $ORACLE_BASE/10.2.0
export ORACLE_HOME
ORACLE_SID = orcl
export ORACLE_SID
TNS_ADMIN = $ORACLE_HOME/network/admin
export TNS_ADMIN
PATH = $PATH:$ORACLE_HOME/bin
export PATH
OPATCH = $ORACLE_HOME/OPatch
export OPATCH
alias udump=’cd /app/oracle/product/admin/orcl/udump’
alias cdump=’cd /app/oracle/product/admin/orcl/cdump’
alias bdump=’cd /app/oracle/product/admin/orcl/bdump’
alias alert=’vi /app/oracle/product/admin/orcl/bdump/alert_lufs.log’
alias oradata=’cd /app/oracle/product/oradata/orcl’
alias pfile=’cd /app/oracle/product/10.2.0/dbs’
Larry J Catt, 9i, 10g
oracle@allcompute.com
www.allcompute.com