Oracle DBA全攻略

来源:互联网 发布:ubuntu 搜狗 乱码 编辑:程序博客网 时间:2024/05/16 16:57
Oracle DBA全攻略之一:必备16大技能和经典书籍汇总
一个称职的数据库DBA仅仅取得ORACLE厂家认证是不够的,关键是真实环境的历练,笔者从事ORACLE DBA多年,经历ORACLE版本从8i到10g(注:对于一个公司或单位的真实环境,对于版本的追求首要的,关键的稳定性),操作系统从windows 单机、双机到主流IBM、HP的UNIX操作系统,以下是笔者多年从事ORACLE DBA的一些心得,希望能给初学者一些启示和鼓励,与同道中人带来一些共鸣。

作为一个专业的DBA必须具备以下技能:

一、os : linux,solaris或其他unix起码要一种

二、bash (不精通也要熟) LINUX与UNIX SHELL编程指南.pdf

三、perl (精通):
Perl_CD_BookShelf.chm,包括learning perl、perl pragramming 

四、java(掌握)包括jdbc thin,oci等4类不同的连接方式,性能设置,一些中间件的知识了解一些就够了

五、oracle performance tuning(范围很广)
OCP performance book下tom的书《Wrox - Expert one-on-one Oracle》(Oracle专家高级编程)
本 书是一本关于使用Oracle成功开发应用程序的工具手册,由Oracle公司的资深开发人员Thomas Kyte集自己多年开发经验编写。学习本书能帮助读者彻底理解Oracle的工作原理,并将Oracle作为一个强大的计算环境来使用,书中内容可以迅速 解决大多数信息管理问题。
Oracle SQL High-Performance Tuning (2nd Edition):

六、PL/SQL:
OReilly_oracle_Bookshelf 包括:
Oracle PL/SQL Programming, 2nd Edition by Steven Feuerstein 介绍:PL/SQL Guru Steven Feuerstein 的经典之作 Oracle PL/SQL Programming个人认为是一本很好的参考书,从 1995 年到 2005 年的 10 年间,千千万万的程序员从这本书收益良多.这恐怕也是关于 PL/SQL 方面最好的一本书了,特别是第四版涵盖了 Oracle 10gR2 的相关特性,并且相对第三版来说多了安全、IO、I18N等新的章节。
Oracle Built-in Packages by Steven Feuerstein 介绍:Oracle is the most popular database management system in use today, and PL/SQL plays a pivotal role in current and projected Oracle products and applications……

七、oracle network
ocp network book

八、os tuning
system performance tuning 2nd editon by gian-paolo《系统性能优化(第二版)》,介绍:本书解答了读者对计算机系统提出的两个最基本的问题:如何在不购买新硬件的条件下完成更多的工 作?何时才真正需要添加硬件(更多的内存,更快的磁盘、 CPU以及网络接口)?有时只需消除一些简单的瓶颈即可解决许多性能问题——但是要实现它,你必须充分了解自己的计算机和网络,从而找到真正的瓶颈所 在……

九、sql loader & exp/imp,有很多这样的资料:
export one to one by Tom:很经典的一本书,很难在网上找到电子版,估计只能老老实实买书

十、oracle sql:
可阅读OCP OracleXX Database Performance Tuning

十一、oracle rac:
可阅读OCP OracleXX Database Performance Tuning
Dataguard配置Step by Step

十二、存储:hds、netapp、emc、nfs、san、nasas、iscsi等...
Data ONTAP® 7.1 Cluster Installation and Administration Guide

十三、安全控制
practice oracle 8i by jenathon
metalink bug and patch search

十四、数据库安装升级,OS安装升级

十五、数据库备份与恢复

十六、数据库迁移

以下是ORACLE专家怎么样选择和定位一个合格的DBA

Selecting a Proper DBA
Over the last few years I have been interviewed for, and have interviewed
several dozen candidates for, Oracle-related positions. The positions ranged from entry-level developer to
senior-level DBA. Many of the interviews were for DBA-level positions. In this period I learned that it is very
difficult to hire, or be hired, as a DBA unless you know exactly who or what you are looking for when you
use the title "DBA." This section will attempt to clear up the misconceptions about the Oracle DBA position,
specify the levels within the DBA position, and give some idea of how to interview and be interviewed for
Oracle DBA positions.
To be a full-charge DBA, a candidate must be knowledgeable in all of these areas:
.Design
.Installation
.Configuration management
.Security
.Monitoring and tuning
.Backup and recovery
.Troubleshooting
.Vendor interface
Desirable Personality Traits of a DBA Many times, managers concentrate on technical qualities and
overlook personality. Virtually every category shown in the preceding list means a DBA will have to
interface with other personnel, be they vendors, users, developers, or managers. This means the DBA
should possess the following personal traits:
.Self-confidence
.Curiosity
.Tenacity
.Tact
.Self-motivation
.Detail-orientation
Of all of these, a recent survey showed tenacity to be the most important. Why are these traits important? I
have had several subordinates who lacked self-confidence; they constantly asked my opinion on every
decision, major or minor, and showed no initiative. As a novice DBA under a full-charge DBA, this may be
all right, but if the person is the full-charge DBA, then who is he or she going to depend on to help make
decisions if he or she has no self-confidence? Interview questions, therefore, should include problems
confronted and how they were solved. The answers should demonstrate self-confidence. One thing to
remember is that not knowing an answer is not bad, but not to know where to find an answer is.
The Oracle database system is constantly changing. Not all of these changes are documented. Therefore,
curiosity is a requirement to be a good DBA. If DBAs aren't curious, they are passive, and wait for things to
be told them. A curious DBA will install the latest version and immediately begin searching out the
differences and improvements and how they can be applied to make his or her job better (read easier).
Curious DBAs will have multiple reference publications they purchased with their own money and will have
read them. One of my interview questions involves what references the candidate has and uses. Needless
to say, if he or she responds by citing only the documentation set, and he or she hasn't even read that, then
that candidate's stock loses value rapidly. Curiosity will also drive qualified DBAs to understand the Oracle
data dictionary and any utilities or packages provided by Oracle. Many of my interview questions deal with
these Oracle internals. Lack of knowledge about the data dictionary tables and views and the Oracleprovided
utilities and packages is unforgivable in a full-charge DBA.
Troubleshooting requires a bulldog-like tenacity, getting a hold and not letting go until the problem is solved.
Many DBAs will give up on a problem that would have been solved with the next solution they tried. As a
sysop for the CompuServe ORAUSER forum, I see questions daily that could have been solved by the
people asking them, if they were tenacious and curious. I use troubleshooting questions from my own
experience and from those of others from the DBAPipeline on the www.revealnet.com and the
metalink.oracle.com support forums.
A self-starting employee is important for any position, doubly so for a DBA. A DBA must be able to wade in
and make things happen, not just wait for things to happen. Self-starting DBAs obtain or develop their own
scripts to monitor such items as table sizes, tablespace usage, SGA usage?in short, all of the items that
can get them in trouble if ignored. Interview questions dealing with level of experience in PL/SQL, SQL, and
SQL*Plus will show how many scripts the DBA candidate has developed. Some operations in PL/SQL and
SQL*Plus are generally only used by DBAs, so questions concerning specific techniques will expose those
who have written their own scripts and those who haven't.
Dealing with developers and managers, not to mention users, requires tact. A tactless DBA will make
nothing but enemies for your department. Tact has been called the ability to tell someone to go to Hades
and have them anxious to make the trip. Many times, developers, managers, and users will make
TEAMFLY
Team-Fly?
unreasonable requests; the DBA must have tact to field and deflect these requests without burning bridges.
How a person acts during the interview process will show his or her level of tact.
The final trait, being detail-oriented, is very important. DBAs who are detail-oriented don't have to be told to
cross-check details. It also means they actively document quirks in the installation "just in case." The
indications of a detail-oriented person are such things as bringing a Daytimer or scheduler to the interview,
showing up ahead of time, and asking questions that indicate the candidate has researched the company
he or she is interviewing with. This detail orientation will show up in the candidate's knowledge of the
Oracle internals and an understanding of the relationships between the views, tables, and dynamic
performance tables. Usually, a detail-oriented person will take the time to research the database on his or
her own.
Knowledge Required of a DBA A good DBA candidate will know all of the areas discussed in the
preceding subsection, "Selecting a Proper DBA." DBAs must be familiar with design so that when new
tables or indexes are proposed by designers they will know how they should fit into the general schema.
Knowledge of a modeling tool such as Designer2000 or ERWin (Platinum Technologies) is a requirement.
DBAs should be able to read an ERD diagram with one eye closed, and be able to fight their way through a
UML diagram.
The DBA must be familiar with installation and update on the platform that your system is running against.
Each platform has its own quirks and idiosyncrasies. A DBA experienced on Windows NT will have
difficulty performing an installation on UNIX or DEC VMS. Updates can wreak havoc with production
machines if they are done incorrectly. DBA candidates should be able to answer specific questions
concerning installation and upgrade of Oracle systems on your platform. During the interview process, they
should exhibit the curiosity to ask about your platform and any modifications to the standard installation that
exist upon it.
Configuration management involves database sizing, file placement, and specification of storage media. A
full-charge DBA will be familiar with system topics such as RAID levels, disk sharing, disk shadowing, solid
state disks, optical storage, and their application to the Oracle database environment. On UNIX, they
should also be familiar with the cost and benefits associated with use of raw devices and when raw device
usage is mandatory.
Understanding Oracle security options is vital to the DBA job. A demonstrated knowledge of system and
object-level privileges, roles, and profiles is required for any DBA. Understanding how the operating system
security options interface with the Oracle options is also important. Additional requirements such as use of
Secure Oracle and implementation of SQLNET are also considerations.
One of the critical aspects of the DBA's job is the monitoring and tuning of the database and any
applications. Monitoring and tuning requires a detailed understanding of the Oracle data dictionary, the
tkprof, and plan utilities, as well as an undestanding of how both the cost-based and rule-based optimizers
function. Detailed understanding of what can and can't be done via indexing, use of hints, and SQL
statement tuning is vital to a DBA. A DBA candidate should demonstrate knowledge of the following:
?DBA_ views, ALL_ views, and USER_ views
?SYS-owned "$" tables
?dynamic performance tables (V$)
All of these are a part of the Oracle data dictionary. In addition, the DBA candidate should have knowledge
of the DBMS_* series of packages and how they can be used to facilitate tuning and script development,
and the UTL*.SQL series of utility scripts and their usage in tuning and monitoring.
A DBA candidate must understand all of the backup and recovery options. Use of the import and export
utilities and of cold and hot backups are all vital topics that a DBA must understand. Answers to interview
questions concerning types of database backups used and how the utilities can be implemented must show
level of knowledge in this area. Additional topics to cover in this phase of the interview are recovery
scenarios involving partial recovery at the table, tablespace, and database levels.
Troubleshooting is a binary ability. Usually people will either have the knack or they won't. Troubleshooting
requires an analytical approach, where the problem is laid out in discrete parts and each is attacked in a
methodological fashion until the problem is solved. Troubleshooting also involves being unafraid to admit
when you don't know something but having the tenacity to say, "I can look it up." Interview questions on
troubleshooting must come from real life and should involve multiple steps and critical thinking to solve. To
test their troubleshooting ability, candidates should be asked the most difficult problem they have
encountered and how they solved it.
A final bit of knowledge required of a DBA is the ability to communicate clearly, either orally or via written
materials. Since a major portion of a DBA job will involve interaction with others on multiple levels within a
company environment, DBAs must be able to speak, think, and write clearly and concisely. A review of
their resumes with particular attention to any publishing credits will help to determine their abilities in this
regard. Presentations at user groups, local or national, magazine articles or articles in local user group
publications all show the ability to communicate.
At a professional level, look for experience writing documentation or procedures. Most candidates with
advanced degrees such as a master's or Ph.D. will have to have written and communicated to gain that
level of education. Ask them to bring their dissertations or examples of their writing to the interview.
Candidates should be expected to bring examples of this type of experience to the interview. The ability to
speak clearly, to take and give instructions, and to understand complaints is vital. As technically qualified
as a candidate may be, if he or she cannot communicate, he or she will not succeed.
What Level of DBA Do You Need? DBAs range from DBBS level (database baby sitters) to full-charge
DBAs. What level do you need? If you place a full-charge, fire-breathing DBA in a job where all he or she
has to do is monitor an older version of Oracle and ensure backups are taken, the DBA will soon tire of the
job and leave?not to mention that his or her salary requirements will be significantly higher than for more
junior people. On the other hand, if you hire a dyed-in-the-wool, don't-want-to-grow DBBS for a position
where initiative, drive, tenacity, and troubleshooting skills are critical, you are asking for trouble. Be sure
that you get the right candidate for the job. I would rather hire a technically inexperienced DBA who showed
all of the personality traits discussed earlier than a DBBS who could rewrite Oracle?if someone told him or
her to, that is.
A database baby -sitter usually has a good-looking resume that is full of projects and jobs involving Oracle.
However, most of these jobs will have involved third-party applications that were preinstalled and only
required monitoring. If they can't answer in-depth questions concerning the DBA_ views or the V$ tables,
chances are they are DBBS- rather than DBA-level candidates. Another key indicator is a lack of
knowledge about the Oracle utilities, such as import, export, and the tuning tools tkprof and explain plan. A
final indicator is lack of knowledge concerning the DBA task-related DBMS_* packages.
If all you need is someone to monitor a third-party database application via a preconfigured monitoring tool,
and to take action when the tool tells him or her after a problem has happened, then hire a DBBS.
Otherwise, you will waste a DBA and no one will be happy if you get an overqualified person into a lowlevel
job.
If you do need a full-charge DBA, don't hire a DBBS unless he or she shows the curiosity and tenacity to
use deep-end learning to pull him- or herself up to the level of a full DBA. Deep-end learning is the analogy
for throwing someone into the deep end of the pool to teach him or her to swim. Usually, there won't be
time to send such a person to the multitude of classes required to give him or her full knowledge, so he or
she will have to learn on the fly. Get the person involved with the Oracle forums and user groups, and
John Wiley & Sons-Oracle Administration and Management
purchase whatever references he or she requires. I suggest a full paper copy of the Oracle manuals that is
the DBA's alone. An online reference such as the Oracle Administrator product from RevealNet is also a
good idea, as it will provide battle-tested solutions to many problems. The Oracle documentation on CDROM
makes a very convenient and portable way to carry the entire document set, as long as the DBA has
a laptop. But, at least to me, nothing replaces a paper manual for ease of use (besides, you can use it even
during a power outage?by candlelight!).
Developing Questions for Interviews Interview questions should be diligently researched, and the
expected answers listed. Where open-ended questions are used, the interviewer should have the level of
knowledge required to judge the answers' correctness. The questions should be broken into categories,
and each should be assigned a point value based on either a scale from, say, 0?, or according to difficulty.
At the conclusion of the interview, technical ability evaluation should be based on the results from these
points. Your interview questions should be reviewed by technically competent personnel for accuracy and
applicability. Some sample interview questions are included in the downloads for this book at
, in the books section, under this title, in Acrobat Reader format.
Prequalification of Candidates In the past, candidates had two sources for Oracle knowledge:
experience and/or Oracle Corporation training classes. Experience speaks for itself and can be judged as
to depth and level. Training was only as good as what the candidate put into it. What I mean by this is that
the candidates could either gain much from Oracle training, if they took with them to class the will to learn
and curiosity, or they could take nothing away from the class, if they practiced passive learning. Since
Oracle training is not graded, everyone receives masters certification regardless of participation. Now,
many vendors offer Oracle classes. Indeed, with the plethora of classes available, it is difficult, if not
impossible, to judge the quality of training a candidate may have received. One item that will assist hiring
managers is the Oracle Certification Exams offered by Sylvan Prometric Learning Systems (the Oracle
Certified Professional, OCP, program). These exams test candidates' knowledge in all areas of the DBA
skill set. The tests were created by battle-tested DBAs and Oracle Corporation. To pass, a candidate will, in
almost all cases, have to have had actual experience as an Oracle DBA and knowledge from multiple
Oracle references. While obtaining an Oracle certification from these exams is no guarantee that a
candidate is fully qualified, it can be used as an acid test to separate the wheat from the chaff.
Always check a candidate's references. Speak to previous employers if possible, and find out about a
candidate's past work history. Many people will interview wonderfully but can't function in the job.
Appearance A candidate who doesn't take the time put the right foot forward by presenting a proper
appearance probably doesn't have the wherewithal to perform adequately in the job. Clean, appropriate
clothing and proper grooming show that the candidate is willing to make the effort to please the employer.
Candidates who are sloppy in appearance and manner will bring this to the job and to their interactions with
other parts of the company.
There is no magic formula for determining whether a candidate can perform adequately; nor is there any
way to ensure an employer will always properly evaluate a candidate's abilities. However, if proper
preparation is done by both the employer and candidate, then successful hiring or acquisition of a proper
position can be less a matter of chance.
原创粉丝点击