Oracle数据库是世界上最流行的数据库,至今令其最强劲的对手也略显失色.Oracle公司令人羡慕的位置是通过提高产品性能来获得的:如兼容性.可扩展性和可移植性.除此之外,它执行的速度非常快.Oracle保持竞争优势的主要因素是其价格,但Oracle数据库是一种非常复杂的产品,并且随着每个版本的发布而变得更为复杂.结果,数据库管理已经变得非常重要,并且DBA(数据库管理员)已经变为Oracle成功实施的关键.本书是OracleDBA为OracleDBA写的.如果你是一个OracleDBA或正在打算成为一个DBA,本书正适合你.本书是用来作为参考的,因为本书采用了简洁扼要的表达方式.我们假设这里的大部分信息在某些方面已经为DBA所熟悉,我们只是提供信息的位置和格式以使你能根据需要很快地找到它们.如果你想要清晰的.简明的关于Oracle数据库管理的信息,你会在适当的地方找到许多总结表和关于语法和用法的快速参考.然而,如果你是刚刚学习数据库管理,需要一本教程从头到尾对你进行指导,那么你或许应该从介绍性的文字开始.同样地,如果你是程序设计者.开发者.webmaster或管理者,你也将在本书中发现很多有用的信息,但是如果你对数据库管理一无所知,那么你也可能要从更初级的地方开始.我们并不是想阻止你买这本书或阅读这本书,我们只是想让你预先知道,我们写本书的目的是想让你在有限的篇幅中获得更简洁.更紧凑的参考资料.我们为什么写这本书数据库管理包含一系列任务,DBA是在各种条件下负责执行这些任务的具有高级技术的人.为了有效和正确地完成这些任务,DBA需要了解关于Oracle的大量知识.几年以前,当Oracle是一种不太复杂的产品时,一些DBA已经开始阅读手册,参加训练课程,参加用户会议并学习我们需要知道的关于Oracle的每件事.那时,如果你读手册,你不可能是“真正的”的DBA.很明显,事情在改变.对任何一个人来讲,他不再可能学习关于Oracle的所有知识,即使他可能这样做,产品更新得如此快速,以至于积累的知识很快也会过时.今天,DBA有必要对Oracle数据库有高度的理解并掌握大量可用的信息.不幸的是,大多数信息只在Oracle手册中,要及时有效地找到这些信息至少有两个困难:?Oracle手册按照主题结构被严格地组织.结果,你通常需要两本或三本手册才能获得有关一个特定DBA任务所需的信息.在合适的手册中找到合适的章节是很困难的,尤其是在你处于很大的压力之下时.?除非你(或你的雇主)希望花费额外的一大笔钱,否则Oracle手册现在只有电子版提供[在光盘上或可以从Metalink的Oracle在线支持服务查看或下载(www.oracle.com/support)],这使它们难于使用,尤其是在你需要同时查看多个手册时.如果你像我们一样,你会希望信息以传统的纸面形式出现在你面前.我们决定写这本书是因为我们看到了DBA真正的需求,这就是把DBA日常工作要用到的重要资料以整洁.简明的形式,按照逻辑关系被组织到一本书中.我们的目标不是代替Oracle手册.事实上,Oracle手册上的大量信息我们不能在这里重复.许多情况下,在这本书中你可能会找到你需要的基本信息,但是你仍然需要去参考适当的Oracle手册以获得更详细的信息.当我们写这本书的时候,我们意识到这项工作的工作量比我们预期的还要大,事实上,我们有多次曾经怀疑不能把它做完.本书原来计划为大约300页,而结果你已经看见了,要比计划长了一些.我们花了许多时间和精力研究所提供的信息,并尝试把大量的信息提炼成条理清晰的章节,最终对你.OracleDBA都有帮助.我们结合25年的数据库管理经验来尝试节省你的时间,使你的工作更容易,甚至还可能避免潜在的灾难.我们尽力提供详细信息,同时有重点地保留了较大的范围.我们希望在这个任务上成功.请告诉我们你是怎样想的.Oracle的版本本书包括Oracle7和Oracle8版本,并在必要时指出了两者的区别.虽然许多公司开始使用Oracle8(和Oracle8i),但是许多人仍然在使用Oracle7.既然我们想要这本书帮助DBA做日常工作,我们就需要在其中包括较早的Oracle7平台.在下个版本中,我们将包括Oracle8i,并淘汰Oracle7.本书的组织结构本书分为两大部分.第一部分“DBA任务”第一部分提供了DBA的各种重要职责及怎样实现这些职责的例子.为了帮助你计划并实现新的Oracle安装,这部分基本上按照在实际情况中执行这些职责的顺序说明.此部分包括下面章节:第一章,“简介”,介绍数据库管理和DBA执行的典型任务,并对Oracle体系结构和选项做了基本介绍,这里也提供了对配置计划的概述.第二章,“安装”,总结安装Oracle产品和启动数据库所需要的操作.第三章,“Oracle性能最大化”,讲述关于操作系统.Oracle配置.对象大小调整和优化的基本内容.第四章,“防止数据丢失”,讲述了在进行Oracle数据库备份和恢复时所需使?玫难∠?.第五章,“Oracle网络”,讨论了Oracle网络体系结构,总结了主要网络产品的特性,而且提供了SQL*Net(Net8forOracle8)产品的配置和故障诊断解决信息.第六章,“安全和监控”,讲述了关于Oracle数据库管理的尤为重要的两个方面的简要讨论:安全和监视.第七章,“审计”,讲述了Oracle数据库中审计工作是怎样进行的,并且提供了加强审计策略的语句和选项.第八章,“查询最优化”,描述了两个Oracle优化器:基于开销的优化器和基于规则的优化器,以及它们是怎样处理查询的和如何通过指定优化器捉示来影响它们的操作.第九章,“Oracle工具”,讲述了DBA最常使用的基本Oracle工具:SQL*Plus.Oracle服务器管理器.SQLDBA.Oracle网络管理器.SQL*Loader和OEM.第二部分”DBA参考”第二部分提供了执行DBA职能所需要的详细参考信息,包括广泛的语句语法和参数设置.第二部分由下列章节构成:第十章,“Oracle实例”,描述Oracle实例的组成部分,尤其是各种Oracle进程和内存结构.第十一章,“Oracle数据库”,描述了数据库的组成部分:物理文件和表空间,而且描述了存储分配.第十二章,“初始化参数”,为存储在INIT.ORA文件中的Oracle初始化参数提供了快速参考.第十三章,“DBA使用的SQL语句”,为DBA使用的SQL语句提供了快速参考.第十四章,“Oracle数据字典”,为DBA使用的数据字典视图提供了快速参考.第十五章,“系统特权和初始角色”,为Oracle实现的系统特权和Oracle建立的初始或默认角色提供了快速参考.第十六章,“工具和实用程序”,为DBA经常与工具(SQL*Plus.导出.导入和SQL*Loader)一起使用的命令和参数提供了快速参考.附录“DBA使用的资源”,总结了相关的图书.杂志.组织.网址.讨论组和列表服务器,DBA可以在其中找到有用的信息资源.排版约定本书使用下列排版约定:斜体(Italic)用于脚本.文件和目录名.等宽字体(Constantwidth)用于代码示例.等宽斜体(Constantwidthitalic)在代码示例中,指示你提供的一个元素(例如一个参数).大写字母(UPPERCASE)在代码示例中,通常指Oracle关键字.小写字母(lowercase)在代码示例中,通常指用户定义的项目,如变量.[]在语法示例中,方括号用于可选项.{}在语法示例中,大括号用于一列项目,你必须从这个列表中选择一个项目.|在语法示例中,垂线用于一个括号列表中把项目分开.建议与评论本书的内容都经过测试,尽管我们做了最大的努力,但错误和疏忽仍然是在所难免的.如果你发现有什么错误,或者是对将来的版本有什么建议,请通过下面的地址告诉我们:美国:O''''Reilly&Associates,Inc.101MorrisStreetSebastopol,CA95472中国:100080北京市海淀区知春路49号希格玛公寓B座809室奥莱理软件(北京)有限公司针对本书有一个web页面,读者可以在这里找到勘误表.例子程序以及关于本书其他信息:http://www.oreilly.com/catalog/oradba/询问技术问题或对本书的评论,请发电子邮件到:info@mail.oreilly.com.cn最后,您可以在WWW上找到我们:http://www.oreilly.comhttp://www.oreilly.com.cn致谢我们向在这本书的创作过程中给予我们很大帮助的人们表示深深的感谢.DaveKreines:我要感谢我的家人允许我在“地下室”中工作而一直没有打扰我,这是非常花费时间并且压力很大地工作.我要对我的合作者BrianLaskey表示感谢,我一直认为他是最优秀的DBA之一.我为能和Brian一起工作而感到骄傲,并把他当做朋友.我也要感谢我的同事Rhodia,他(虽然不是有意的)为本书提供了机会和主题.BrianLaskey:我要感谢我的妻子Sherry和两个女儿Tiffany和Chandra,感谢她们能容忍我的工作.这项工作所花费的时间和努力远比我预期的多.感谢DaveKreines允许我一起工作.也感谢JohnKing的技术建议和LoisHuff的关于如何使这本书更易懂的建议.当然也要感谢MichiganHospital大学的合作者CherylFox和KathieMcFry.我们为IOUG—ALive!98会议写了一篇关于在IBMSP/2系统上实现OPS的文章,本书关于并行服务器的大部分内容都来自这篇文章.最后,我要感谢SteveLavender,在工作最难的时候,他给我鼓励使我能够完成工作.DaveKreines和BrianLaskey:我们的许多知识和专长都源自我们同大量出色的DBA组进行交流,尤其是IOUG-A(InternationalOracleUsersGroup-Americas)的成员.EOUG(EuropeanOracleUsersGroup)的成员和许多其他对Oracle的知识收集有贡献的Oracle用户.另外我们也要感谢Oracle公司的员工,尤其是Oracle支持小组,因为他们为我们提供了充足的共享信息.另外要特别感谢我们的技术审校:JohnBeresniewicz.SteveHazeldine.JohnKing和MattReagan,尤其要感谢JonathanGennick,他不仅自己进行认真深入的审读,还对别人的审读进行再次审阅.我们也感谢MarleneTheriault,他审读了一些章节的草稿.最后,我们也要感谢MichaelHartstein,Oracle公司Oracle8i产品管理和服务器技术产品管理总监,感谢他的技术审校和对特定事实和概念验证的快速回复.KenJacobs,Oracle公司数据服务器产品管理副总裁,也很快答复了我们的帮助请求.这些Oracle专家牺牲了自己的时间来帮助我们以保证信息和技术的正确,我们真诚地感谢他们.这本书的出版也离不开O''''Reilly&Associates员工的大量辛勤工作和支持.我们要特别向DebbyRussell表达我们的感谢,他是我们的编辑,他认识到这本书的价值,在这本书的写作过程中他不断地给予我们鼓励.帮助和激励.也感谢MadeleineNewell,这本书的责任编辑.感谢SteveAbrams和MichaelBlanding,感谢他们在巨大的压力之下,仍然能够继续进行编辑,尤其是EdieFreedman,他为我们设计了封面——一组漂亮的昆虫.Oracle数据库管理员需要丰富的知识和完成大量工作的能力,从安装和调试,到网络故障诊断与排除,到全部的日常管理工作。Oracle提供了很多工具用于执行这些任务,其中的诀窍就是知道你的工作需要使用哪个工具、哪个命令(和什么时候使用),以及要设置什么样的参数和特权。你需要在压力下、在面对一个接一个危机时知道如何去做。本书为OracleDBA每天(及当灾难发生时)所需要的信息提供了简明参考。它包含丰富的快速参考表、任务列表和其他新手和有经验的DBA需要经常使用的总结资料。同时它也包含了Oracle8的新命令和操作,还为仍旧运行早期版本的站点提供了Oracle7的信息。本书分两部分:·DBA任务——怎样执行DBA的最重要职能:安装、性能调试、防止数据丢失、网络、安全和监视、审计、查询最优化以及怎样使用各种Oracle工具和实用程序。·DBA参考——为下列内容提供了快速参考:Oracle实例和数据库、初始化(INIT.ORA文件)参数、DBA经常使用的SQL语句、数据字典表、系统特权和角色以及SQL*Plus、Export、Import和SQL*Loader的语法。本书的附录部分列出了适用于DBA的相关书籍、网址和其他资源。本书是你可以反复查看的资源。如果你在办公室、在家或在故障排除现场只能选择一本书,那么本书正是你的最佳选择。