本书介绍Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理以及应用程序开发等相关知识。
本书旨在向用户解答使用Oracle中遇到的疑难问题,并展示Oracle使用的大量技巧。
本书内容全面,案例丰富,从基础知识到疑难问题,共有近700个案例。
亲爱的朋友,在使用Oracle时,你肯定会遇到许多诸如下面的问题。
安装Oracle时,不能启动安装界面……
安装Oracle时,安装界面显示乱码……
Oracle 8i不能在奔腾4(P4)机器上安装……
不能完全卸载Oracle数据库……
数据库突然掉电……
一个数据文件损坏……
一个表中的数据被意外删除……
连接数据库时,提示:监听器不存在(TNS-12541 TNS: no listener)……
连接数据库时,提示:无法解析服务名(TNS-03505 Failed to resolve name)......
连接数据库时,提示“TNS-12535 TNS: operation timed out……”
数据库无法启动……
数据库无法关闭……
使用数据库时,报告错误“ORA-00104: deadlock detected; all public servers blocked waiting for resources……”
对表空间进行操作时,提示:表空间不存在(表空间确实存在)……
创建表时,报告错误“ORA-01950: no privileges on tablespace 'USERS'……”
创建表时,报告错误“ORA-01536: space quota exceeded for tablespace 'TBST'……”
往表中插入数据时,提示“ORA-01653: unable to extend table REP.PHONE_RESUME by 32 in tablespace TBS_PRO……”
不能往表空间中添加数据文件……
不能杀掉一个进程……
如何提高Oracle的最大会话数……
为什么数据库高速缓冲区(Database Buffer Cache)的大小总是显示为0……
表被锁住,如何解锁……
为什么我不能成为超级用户……
遇到snapshot too old错误……
导出数据时,报告错误“EXP-00091: Exporting questionable statistics……”
如何把Access的数据导入Oracle中……
如何把Excel的数据导入到Oracle中……
导入数据时,报告错误“IMP-00020: long column too large for column buffer size (7) ……”
为什么数据总是被导到SYSTEM表空间……
修改初始化参数时,报告错误“ORA-32001: write to SPFILE requested but no SPFILE specified at startup…...”
修改初始化参数时,报告错误“ORA-02095: specified initialization parameter cannot be modified……”
使用数据库连接时,报告错误“ORA-02019: connection description for remote database not found……”
执行命令ARCHIVE LOG LIST时,报告权限不足……
无法归档(ARCHIVELOG)数据库……
普通用户登录数据库时,报告错误“ORA-00257: archiver error. Connect internal only, until freed……”
在SELECT中使用函数时,报告错误“ORA-14551: cannot perform a DML operation inside a query……”
ORA-00937: not a single-group group function……
查询数据时,报告错误“ORA-02032: clustered tables cannot be used before the cluster index is built……”
访问序列时,报告错误“ORA-08002: sequence string.CURRVAL is not yet defined in this session……”
执行存储过程,报告错误“ORA-01031: insufficient privileges……”
遇到上面的问题,怎么办?Oracle博大精深,出现的问题亦千奇百怪,本书正是为了解决你使用Oracle中遇到的各种疑难问题而编写的,它能助你破除重重障碍,成功到达Oracle的彼岸。特别注意的是,本书不是只为了讲解基本概念而写,而是重在疑难解惑,与读者分享工作经验。
写本书的体会
我在2000年参加工作,2001年正式成为DBA(数据库管理员),一直从事Oracle数据库的管理工作,从Oracle 7到Oracle 8i,从Oracle 8i到Oracle 9i、Oracle 10g,直到当前的Oracle 11g,7年多的光阴,我依然奋斗在DBA这个行列。在以往的日子里,每当遇到许多疑难问题时,我总是重复经历(看英文文档-研究-解决问题)的过程。问题解决以后,我总是把解决的过程记录在一个文本文件中。正是这一次次的经历,为我积累了丰富的经验,也为我成就今天这本书打下了坚实的基础。正所谓“宝剑锋从磨砺出,梅花香自苦寒来”。积累的这个“文本文件”,现在也成了我的“宝贝”,所以,我会经常把它备份到好多地方,以防丢失!
2005年7月,电子工业出版社的胡辛征老师正在筹划一本有关Oracle疑难解析方面的书,我也很乐意与大家一起分享我的经验,于是我和胡老师不谋而合。
于是,我开始蜷伏在北京上地的某个角落,从日出东方到夕阳西下,经历了不知多少个日日夜夜。看过漫天尘土的春季,浸泡在炎热的夏季,看着秋天的落叶,不知不觉中走过了冬季。漫漫长路,历时三载,2008年元旦,本书初稿终于尘埃落定。
本书重在疑难解析,帮助读者解决使用Oracle中遇到的疑难问题。这本书中的疑难问题都是缘于我的亲身经历。
出于严谨性的考虑,本书中的例子我都在机器上重新进行了模拟试验,因此,这本书耗费了我大量的时间和精力。
由于这本书中例子很多、很常见,所以,虽然这本书是我自己写的,但是我自己也经常在使用这本书的电子版,当我遇到问题的时候,我只需要在本书的电子版中输入错误提示信息(或者关键字)进行搜索,马上就能找到答案,并且,只需把本书中给出的步骤(脚本/命令)复制出来,稍微修改一下,马上就能运行,真的很方便、很快捷!所以,我相信这是一本Oracle疑难解析方面的好书。因为这本书对我有用,所以管用!
学习Oracle其实并没有那么难,做任何事情都要讲究途径和努力。学习Oracle要先把它的体系结构、概念机制搞清楚,在了解、熟悉了这些之后,接下来的工作就是要建立一个测试环境并不断去实践,这是尤为关键的。因为做Oracle的DBA,其水平高低不在于你对它的名词概念掌握了多少,也不在于你是否有Oracle官方的OCP认证,而是在于你的实际排查、解决故障问题的能力——这是衡量一个数据库管理员水平高低的唯一标准。对于那些已经熟悉了Oracle的名词概念和体系结构的人,如果想要更进一步地提升自己的水平,那么本书正是提供了这样一种途径,让你掌握更多的解决Oracle问题的方法。水平再高的Oracle DBA也不敢说自己能解决Oracle出现的所有问题,Oracle机制复杂,版本也不断更新,总会有我们没有遇到过的问题出现,这就需要我们不断地积累经验、整理总结。我是一个对技术有些偏执的人,每当碰到一个技术问题时,我都会反复实验,钻研得很深很细,谓之触类旁通并非过誉,这本书总结了我多年以来在Oracle领域解决疑难问题的经验。
本书的结构
本书共34章,超过1000页,每章的第一节(或者更小的节)介绍一些基本概念,让初学者对Oracle的基本概念有个清晰的了解(介绍Oracle的体系结构,不是本书的重点)。然后下面一节将手把手教会读者如何(HOW TO)操纵数据库(大部分是基于命令行的)。如果在操纵数据库的时候遇到疑难问题,在最后一节(或者更小的节)将会告诉你为什么会出现这样的问题,并一步一步地教会读者如何解决这样的问题,只要严格按照书中给出的步骤,就一定能解决你遇到的问题(FAQ)。
本书快速目录
第1章 认识Oracle的世界——Oracle的体系结构
本章介绍主要Oracle的一些基本概念。
第2章 迈出第1步——Oracle的安装/卸载 含43个实务
本章介绍如何安装/卸载Oracle,并帮助读者解决安装/卸载过程中遇到的疑难问题。
第3章 有米之炊——数据库的创建与删除 含14个实务
本章介绍如何创建和删除数据库,并解决安装过程中遇到的疑难问题。
第4章 Oracle网络管理并不难 含31个实务
本章介绍Oracle网络的基本配置,并解析Oracle网络中遇到的各种疑难问题。
第5章 系统管家婆——SQL*Plus的使用 含28个实务
SQL*Plus是Oracle的管理工具,本章主要介绍SQL*Plus使用的各种技巧。
第6章 有始有终——数据库的启动与关闭 含44个实务
本章引导读者如何启动和关闭数据库,并解答启动数据库和关闭数据库中遇到的疑难问题。
第7章 理清两个模式问题——专有/共享服务器模式 含16个实务
本章介绍Oracle的两种模式——共享服务器(Shared Server)模式和专有服务器(Dedicated Server)模式,教会读者如何配置这两种模式,并解答配置这两种模式时遇到的疑难问题。
第8章 掌握两个管理问题——表空间和数据文件的管理 含76个实务
本章介绍表空间/数据文件的基本概念,并解析表空间/数据文件使用中遇到的疑难问题。
第9章 进程管理 含14个实务
本章介绍进程的基本概念,并解析与进程有关的疑难问题。
第10章 内存管理 含27个实务
本章介绍Oracle内存的组成及内存使用中遇到的疑难问题。
第11章 用户管理 含38个实务
本章介绍用户和权限,并解析用户管理及权限管理中遇到的各种疑难问题。
第12章 数据导出 含39个实务
本章介绍Oracle数据的导出,详细介绍Oracle导出的各种方法(如使用Oracle的导出工具、使用第三方的导出工具)。本章介绍的导出方法并不仅仅局限于Oracle提供的导出方法。本章不仅介绍导出的各种技巧,还向读者展示导出过程中遇到的各种疑难问题,并给出应对之策。
第13章 数据导入 含26个实务
如何把文本数据导入Oracle;如何把Excel的数据导入Oracle;如何把Access的数据导入Oracle。本章介绍数据的各种导入方法,并解析导入过程中遇到的各种疑难问题。本书并不局限于Oracle提供的导入工具。
第14章 重中之重——控制文件的管理 含8个实务
本章介绍控制文件的管理,并介绍管理控制文件时遇到的各种疑难问题。
第15章 成为数据库的最高统治者——口令文件(Password File)管理 含14个实务
口令文件是Oracle安全体系的一部分,本章介绍控制文件的使用及控制文件管理时遇到的疑难问题。
第16章 联机日志文件管理 含19个实务
本章介绍联机日志文件管理技巧及联机日志文件使用中遇到的各种疑难问题。
第17章 参数文件(PFILE/SPFILE)管理 含9个实务
数据库启动时会用到参数文件,本章介绍如何使用参数文件启动数据库,并解析参数文件使用中遇到的各种疑难问题。
第18章 全球应用——分布式数据库疑难攻略 含12个实务
本章介绍如何使用分布式数据库,以及使用分布式数据库的技巧及解惑。
第19章 并不陌生的问题——裸设备 含6个实务
本章详细介绍裸设备的基本概念,以及裸设备的使用技巧。
第20章 备份/恢复之基石——归档(Archivelog)管理 含25个实务
本章主要讨论归档的管理技巧,以及归档设置中的各种疑难问题。
第21章 必行之举——数据库备份 含38个实务
本章通过实战演习,介绍数据库的各种备份方法。
第22章 失而复得——数据库恢复 含32个实务
本章通过实战演习,介绍数据库故障的各种恢复技巧。
第23章 数据库通用语言——SQL语句 含26个实务
本章介绍SQL语句的使用技巧及疑难问题。
第24章 模式对象(Schema Object)的管理 含110个实务
本章介绍各种数据库对象的管理及管理数据库对象中会遇到的各种问题。
第25章 PL/SQL应用程序开发 含70个实务
本章主要介绍程序开发过程中遇到的与数据库相关的各种疑难问题。
第26章 勿忘历史——Oracle内存管理的变迁
本章主要讲述从Oracle 8到Oracle 11g内存管理的变化。
第27章 SGA之家——共享内存段
本章主要讲述共享内存段和SGA的关系。
第28章 内存管理效率的提升——HugePage 含3个实务
本章主要讲述HugePage对Oracle内存的影响。
第29章 内存管理方式的巨变——内存文件系统
本章着重介绍Oracle 11g和内存文件系统的关系。
第30章 永恒的主题——I/O(同步I/O、异步I/O、直接I/O)
本章从操作系统的角度诠释各种I/O,以及它们对性能的影响。
第31章 理论奠基——RAC简介
本章用通俗易懂的语言介绍RAC,使你对RAC的架构有一个清晰的了解。
第32章 RAC的意义——负载均衡和失败转移
本章展示负载均衡和失败转移的场景。
第33章 存储的主打曲——自动存储管理(ASM) 含4个实务
本章着重介绍Oracle的存储管理——ASM。
第34章 练兵场——RAC管理 含1个实务
本章内容贴近生产环境,着重介绍RAC管理的各种实战。
本书的实务速查目录电子版的下载地址。查询电子版实务目录,再翻阅本书内容,真正做到遇到问题速查解决。
速查电子目录在哪里?