词条 | 深入解析Oracle |
释义 | 针对数据库的启动和关闭、控制文件与数据库初始化、参数及参数文件、数据字典、内存管理、Buffer Cache与Shared Pool原理、重做、回滚与撤销、等待事件、性能诊断与SQL优化等几大Oracle热点主题,《深入浅出——DBA入门、进阶与诊断案例》从基础知识入手,深入研究相关技术,并结合性能调整及丰富的诊断案例,力图将Oracle知识全面、系统、深入地展现给读者。 《深入浅出——DBA入门、进阶与诊断案例》给出了大量取自实际工作现场的实例,在分析实例的过程中,兼顾深度与广度,不仅对实际问题的现象、产生原因和相关的原理进行了深入浅出的讲解,更主要的是,结合实际应用环境,提供了一系列解决问题的思路和方法,包括详细的操作步骤,具有很强的实战性和可操作性。 深入解析OracleDBA入门进阶与诊断案例 作者:盖国强 市场价:¥69.00 出版社:人民邮电出版社 页码:527 页 出版日期:2009年 ISBN:9787115190772 版本:1版 装帧:平装 开本:16 丛书名:IT名人堂 作者简介盖国强,网名eygle,Oracle ACE总监,ITPUB Oracle管理版版主,ITPUB论坛超级版主,《程序员》杂志特邀专家顾问,目前从事独立的咨询顾问服务。曾任职于某国家大型企业,服务于烟草行业,开发过基于Oracle数据库的大型ERP系统;后任职于北京某电信增值服务商企业,提供电信级数据库的规划与运维支持。实践经验丰富,长于数据库诊断、性能调整与SQL优化等。对于Oracle内部技术等具有深入研究。高级培训讲师,培训经验丰富,曾主讲Itpub dba培训及Itpub高级性能调整等主要课程。2008年2月,被Oracle公司授予Oracle ACE Director(ACE 总监)称号。2007年7月,出版个人专著《循序渐进Oracle:数据库管理、优化与备份恢复》一书。2007年3月,被Oracle公司授予Oracle ACE称号。2006年8月,在“中国首届杰出数据库工程师评选”活动中,获评为“十大杰出数据库工程师”之一。2006年7月,出版个人专著《深入浅出Oracle-DBA入门、进阶与诊断案例》一书。2005年6月,担任《Oracle数据库性能优化》一书的主编及主要作者。2004年2月,担任《Oracle数据库DBA专题技术精粹》一书的主编及主要作者。 专业书评转眼间《深入浅出——DBA入门、进阶与诊断案例》一书已经出版两年有余。作为ITPUB技术丛书系列中面向入门与进阶者的一本数据库专著,《深入浅出——DBA入门、进阶与诊断案例》给ITPUB上的读者带来了巨大的知识价值,帮助很多读者进入数据库管理的这个行业,找到了很多个人发展机会。在此,作为ITPUB的主持人和联系人,感谢作者对本书所做出的辛勤工作和知识分享,也期待再版的新书,能够为读者带来更多的新知识。 黄志洪(tigerfish)ITPUB论坛创始人 Eygle一向是能长期坚持的人,这么多年不断地学习、不断地分享。独乐乐不如众乐乐,开放、分享是互联网的精神,可以说我们这一代人成长于互联网又回馈于互联网,《深入浅出——DBA入门、进阶与诊断案例》则是Eygle回馈内容的升华。希望《深入浅出——DBA入门、进阶与诊断案例》能帮助到正在这个方向上努力着的数据库从业人员,同时也希望大家能将这种分享的精神,传递给正要从事这个行业的人。 冯春培(Biti_rainy)阿里巴巴首席DBA Oracle ACE Director 近五载来,数据库江湖王国人才辈出,但环顾国内,在技术上能让我服膺者少之又少,国强便是其中之一,窃以为,堪称国内数据库界之牛耳者,国强或可勉力为之,国强对数据库的精通应已达举重若轻、大巧不工之境。古人有“术”、“道”之论,以数据库技术而论,国强应近乎道矣! 牛新庄 中国建设银行特聘资深数据库专家 IBM官方认证资深软件专家 作者盖国强(Eygle)是认识的DBA中,较早开始做Oracle,而且又能持之以恒、坚持不懈研究的人,非常值得敬佩。我曾经看过作者很多实际中的诊断案例,可以看到其思维非常严谨。在《深入浅出——DBA入门、进阶与诊断案例》中,收录了大量作者作为资深DBA所遇到的实际案例,我相信,这种实际的经验总结能给大家非常大的帮助。 陈吉平 淘宝网首席DBA,Oracle ACE《构建Oracle高可用环境》作者 目录第1章 数据库的启动和关闭 1.1 数据库的启动 1.1.1 启动数据库到NOMOUNT状态的过程 1.1.2 启动数据库到MOUNT状态 1.1.3 启动数据库OPEN阶段 1.2 数据库的访问 1.2.1 客户端的TNSNAMES.ORA文件配置 1.2.2 服务器端的监听器文件listener.ora配置 1.2.3 通过不同服务器名对数据库的访问 1.2.4 动态监听器注册服务 1.3 数据库的关闭 1.3.1 数据库关闭的步骤 1.3.2 几种关闭方式的对比 第2章 控制文件与数据库初始化 2.1 控制文件的内容 2.2 SCN 2.2.1 SCN的定义 2.2.2 SCN的获取方式 2.2.3 SCN的进一步说明 2.3 检查点(Checkpoint) 2.3.1 检查点(Checkpoint)的工作原理 2.3.2 常规检查点与增量检查点 2.3.3 LOG_CHECKPOINT_TO_ALERT参数 2.3.4 控制文件与数据文件头信息 2.3.5 数据库的启动验证 2.3.6 使用备份的控制文件 2.3.7 FAST_START_MTTR_TARGET 2.3.8 关于检查点执行的案例 2.3.9 Oracle 10g自动检查点调整 2.3.10 检查点信息及恢复起点 2.3.11 正常关闭数据库的状况 2.3.12 数据库异常关闭的情况 2.3.13 数据库并行恢复案例一则 2.3.14 判断一个死事务的恢复进度 2.4 数据库的初始化 2.4.1 bootstrap$及数据库初始化过程 2.4.2 bootstrap$的定位 2.4.3 Oracle中独一无二的Cache对象 2.4.4 Oracle数据库的引导 2.4.5 系统对象与bootstrap$ 2.4.6 bootstrap$的重要性 2.4.7 BBED工具的简要介绍 2.4.8 坏块的处理与恢复 第3章 参数及参数文件 3.1 初始化参数的分类 3.1.1 推导参数(Derived Parameters) 3.1.2 操作系统依赖参数 3.1.3 可变参数 3.1.4 初始化参数的获取 3.2 参数文件 3.2.1 PFILE和SPFILE 3.2.2 获取参数的视图 3.2.3 SPFILE的创建 3.2.4 SPFILE的搜索顺序 3.2.5 使用PFILE/SPFILE启动数据库 3.2.6 修改参数 3.2.7 解决SPFILE参数修改错误 3.2.8 重置SPFILE中设置的参数 3.2.9 判断是否使用了SPFILE 3.2.10 SPFILE的备份与恢复 3.2.11 Oracle 11g参数文件恢复 3.2.12 如何设置Events事件 3.2.13 导出SPFILE文件 3.3 诊断案例之一:参数文件 3.3.1 登录系统检查告警日志文件 3.3.2 尝试重新启动数据库 3.3.3 检查数据文件 3.3.4 MOUNT数据库,检查系统参数 3.3.5 检查参数文件 3.3.6 再次检查alert文件 3.3.7 修正PFILE 3.3.8 启动数据库 3.4 诊断案例之二:RAC环境参数文件 3.4.1 数据库资源异常 3.4.2 问题的发现 3.4.3 参数文件问题的解决 第4章 数据字典 4.1 数据字典概述 4.2 内部RDBMS(X$)表 4.3 数据字典表 4.4 静态数据字典视图 4.4.1 静态数据字典视图的分类 4.4.2 静态数据字典视图的内部实现 4.4.3 常用数据字典视图举例 4.5 动态性能视图 4.5.1 GV$和V$视图 4.5.2 GV_$、V_$视图和V$、GV$同义词 4.5.3 进一步的说明 4.5.4 动态性能视图与数据库启动 4.6 最后的验证 4.6.1 V$PARAMETER的结构 4.6.2 视图还是同义词 4.6.3 Oracle如何通过同义词定位对象 第5章 内存管理 5.1 PGA管理 5.1.1 什么是PGA 5.1.2 UGA与CGA 5.1.3 PGA管理技术的变迁 5.1.4 参数的设置与内存分配 5.1.5 自动PGA管理实现原理 5.1.6 PGA的调整建议 5.1.7 PGA的转储 5.2 SGA管理 5.2.1 SGA的组成 5.2.2 SGA与共享内存 5.2.3 SGA管理的变迁 5.3 Oracle的内存分配和使用 5.3.1 诊断案例一:SGA与SWAP 5.3.2 诊断案例二:SGA设置过高导致的系统故障 5.3.3 诊断案例三:如何诊断和解决CPU高度消耗(100%)问题 第6章 Buffer Cache与Shared Pool原理 第7章 重做(Redo) 第8章 回滚与撤销 第9章 等待事件 第10章 性能诊断与SQL优化 …… 序言关于本书 根据Gartner公司最近发布的关系数据库2007年市场份额报告,Oracle以48.6%的高份额再占首位。而2006年Gartner的统计数据显示Oracle的市场份额为47.9%,也就是说在2007年度,Oracle获得了0.7%的份额增长。 不管这些市场份额数据怎样在发生微小的变化,有一点是肯定的,Oracle数据库持续的占有了市场第一的位置,在本书第一版出版的两年多时间,国内的Oracle从业市场和学习环境都有了进一步的发展和进步,甚至有些大学已经开设了专门的Oracle系列课程或专业方向,从事数据库管理工作的朋友们也越来越多。 为了让更多进入Oracle领域的朋友能够快速了解和掌握Oracle技术,让具备一定经验和积累的Oracle从业人员继续深入学习,作者倾力修订了本书。 本书作者活跃于国内著名Oracle技术论坛ITPUB(www.itpub.net),并全力打造国内最具影响力的个人Oracle技术站点Eygle.com (www.eygle.com),本书从基础出发,逐层深入,并结合实际工作中的诊断案例进行全面讲解,力图从点到面,让读者 对每个主题都有深入的了解和认识。 本书特点 目前市场上的Oracle书籍普遍存在的问题是模式单一,要么只讲基础知识,要么侧重代码编程实例,要么针对具体的版本特性(Oracle 9i/lOg/11g等),要么缺少实践应用检验,很少能对Oracle相关知识进行全面深入讲解。 本书针对这些问题,从基础知识入手,再进行深入研究,结合性能调整、诊断案例实践,将Oracle知识全面、系统、深入地展现给读者: 本书内容更涉及Oracle数据库的多个版本8i/9i/lOg/11g,将Oracle的版本变化和功能改进,一以贯之地展现出来,让大家看到这些变革的真正原因以及Oracle的不断技术创新,通过真实案例的学习,更可以加深大家对现实环境的了解,从而提高实践能力。 本书是作者多年实践工作的积累和总结,各章更从DBA的成长历程入手,引导大家快速进入并深入Oracle知识的国度。 延伸1. Oracle电子商务套件(Oracle E-Business Suite) Oracle电子商务套件是行业中第一个集成的基于互联网的商务应用套件,它将前台与后台运营中的关键业务流程自动化。Oracle电子商务套件涵盖了营销、销售、服务、合同、定单管理、产品设计、采购、供应链、制造、财务、项目管理、人力资源与专业服务自动化在内的企业中每一个领域的业务。2001年全球共有1100多家企业实施了Oracle电子商务套件,目前全球已经有超过12000家用户正在获益于Oracle电子商务套件所带来的前所未有的好处。 自从Oracle电子商务套件首次面世以来,甲骨文公司已经推出了6种电子商务套件的增强版本,从而形成了一整套成熟的、功能齐全的应用套件。Oracle电子商务套件能够使用户在实施业务应用时拥有前所未有的可选择性与灵活性,它的开放式基础架构与单一数据模型使用户在部署套件中的应用软件时拥有多种选择,既可以单独使用,也可以组成业务流,还可以作为一个整体的集成套件来部署。Oracle电子商务套件既可以作为用CD ROM为载体的传统软件的形式,也可以作为一种在线服务的形式来提供给用户。 2. Oracle10g —— 新一代电子商务平台 Oracle10g是业界第一个完整的、智能化的新一代Internet基础架构,Oracle10g电子商务平台实际上是指Oracle数据库10g、Oracle应用服务器10g和Oracle开发工具套件10g的完整集成。 Oracle数据库10g是第一套具有无限可伸缩性与高可用性,并可在集群环境中运行商业软件的互联网数据库,具有400多个领先的数据库功能,在集群技术、高可用性、商业智能、安全性、系统管理等方面都实现了新的突破。作为甲骨文公司长达十年的软件技术研发成果,真正应用集群技术(Real Application Clusters)能够提供近乎无限的扩充能力与整体可用性,为用户带来透明的、高速增长的集群功能。 Oracle应用服务器10g是J2EE认证的、最轻、最快、最具伸缩性的应用服务器,提供了企业门户软件、无线支持、高速缓存、轻量级J2EE引擎、商务智能、快速应用开发、应用与业务集成、Web 服务等多种应用开发功能,形成完整的电子商务应用开发和部署环境。使用了Oracle应用服务器10g的用户可以通过升级软件来取代升级硬件,大大的节省了基础设施的成本花费。 Oracle开发工具套件10g是一套完整的集成开发工具,可用于快速开发使用Java和XML语言的互联网应用和Web服务,支持任何语言、任何操作系统、任何开发风格、开发生命周期的任何阶段以及所有最新的互联网标准。 9i之后的Oracle的硬件要求很高,(Windows版本)9i建议配512M内存,10g建议配1G内存。 文摘通常所说的Oracle Server主要由两个部分组成:Instance和Database。Instance是指一组后台进程(在Windows上是一组线程)和一块共享内存区域,Database是指存储在磁盘上的一组物理文件。通过Instance与Database协同,Oracle数据库才能形成一个动态的可访问关系型数据库系统。 本章将由数据库如何启动与关闭入手,开始和大家一起进入Oracle数据库的国度。 1.1数据库的启动 从表象来看, 数据库的启动极其简单, 只需要以SYSDBA/SYSOPER身份登录,输入一 条startup命令即可启动数据库。然而在这条命令之后,Oracle需要执行一系列复杂的操作,深入理解这些操作不仅有助于了解Oracle数据库的运行机制,还可以在故障发生时帮助用户快速的定位问题的根源所在,所以接下来将分析一下数据库的启动过程。 Oracle数据库的启动主要包含3个过程: 启动数据库到NOMOUNT状态; 启动数据库到MOUNT状态: 启动数据库到OPEN状态。 完成这3个过程,数据库才能进入就绪状态,准备提供数据访问。图1-1描述了一个数 据库从SHUTDOWN(关闭)状态到OPEN状态经历的这些过程(关闭过程与此相反,是一个逆向过程)。 后记感谢你,我的朋友们,如果你已经读完本书,并且有所收获,那将是我最愿意听到的好消息。如果读过本书的第一版,又读了这本第二版,你一定可以发现Oracle数据库已经发生了很大的变化,有些变化是显而易见的,也有很多变化可能是来自内部、潜移默化的,不过我一直试图跟上这些变化,并且将我所理解的知识和大家分享。这是这些年我一直不停在做的工作。从《深入浅出Oracle——DBA入门、进阶与诊断案例》到《深入解析Oracle——DBA入门、进阶与诊断案例》,这本书真实地见证了我的Oracle生涯、我的学习方法,我在学习和工作中遇到的疑难和案例,都在本书中进行了选择性的收录,并作了详细的分析和讲解,我的思考、我的思路、我的成长,在这本书中展露无疑。 也许你看到的一个简简单单的案例,在实际生产中就曾经是一个导致巨大损失的灾难;也许你看到的一个轻轻易易的SQL优化,在实际生产中却曾经困扰良久。书中几乎每个案例都来自不同的公司、不同类型的生产环境,有着不同的故事。 我就是在这样的自我学习和问题解决过程中走过来的,很高兴能通过本书再经历了这样一段历程,而且这一次,还有了这么多朋友的陪伴。 算起来,接触Oracle已经有8年之久了,在北京的漂泊也已经超过了5年。时间总是流逝的飞快。我的职业生涯中已经经历了Oracle从8i到119这么多个版本的变迁,而当然我的生活也已经发生了很大的改变。在编写本书第一版的时候,我还只是一个人,而现在,我已经有了妻子和儿子的陪伴,等我的那个小家伙能够坐在书桌前写他自己的文字时,我们又将会经历怎样的生活呢?而这本书呢?它又陪伴着你度过了怎样的时光。 |
随便看 |
百科全书收录4421916条中文百科知识,基本涵盖了大多数领域的百科知识,是一部内容开放、自由的电子版百科全书。