Oracle数据库精讲与疑难解析(第2版)

Oracle数据库精讲与疑难解析(第2版)

赵振平编著

ISBN978-7-121-20021-2

20134月出版

定价:148.00

1100

16

编辑推荐

    耗时3年,作者曾为本书辞职在家专心写作

   754个实务,件件源自实际工作的经验与教训,配有实务速查目录

    分享经验,现在作者管理数据库时,就通过复制本书内容来搞定问题

    为初学者去除Oracle的神秘面纱,少走弯路

    为专业人士提供速查手册,遇到故障不求人

内容提要

本书是一本毫无保留的Oracle学习宝典。通过作者历时3年的写作,本书介绍了Oracle的安装及卸载、数据库的启动/关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入/导出、备份与恢复、模式对象的管理,以及应用程序开发等相关知识。本书旨在向读者解答使用Oracle中遇到的疑难问题,并展示管理Oracle的大量技巧。

本书第2版对Oracle进行更深入的介绍,新增RAC(集群)、HugePage、同步I/O、异步I/O、直接I/O、内存文件系统、自动存储管理(ASM)等内容。每个内容几乎都是Oracle的高级专题,它们从不同的角度去切入Oracle的性能,都值得读者慢慢品味!此外,RAC的系统介绍,使读者更容易理解和构建自己的Oracle集群!

目录

1篇创建属于自己的Oracle数据库

1章认识Oracle的世界——Oracle的体系结构 2

1.1  Oracle的发家史    2

1.2  数据库   3

1.3  数据库管理系统(DBMS 3

1.4  关系数据库的概念(RDBMS   3

1.4.1  关系数据库模型         4

1.4.2           5

1.5  Oracle的总体框架结构         5

1.5.1  Oracle实例(Oracle Instance        6

1.5.2  Oracle的存储结构     7

1.6  数据字典(Data Dictionary      8

1.6.1  数据字典概述    8

1.6.2  数据字典的结构         8

1.6.3  数据字典的使用         8

2章迈出第1步——Oracle的安装/卸载    10

2.1  Oracle的安装         10

2.1.1  Oracle安装的几个概念     10

2.1.2  Oracle 11g R211.2)的安装——Windows       12

2.1.3  Oracle 11g RAC的安装——Linux 27

2.1.4  Oracle安装疑难解析          98

2.2  Oracle的卸载         123

2.2.1  Oracle完全卸载——Windows     123

2.2.2  Oracle完全卸载——UNIX    128

3章有米之炊——数据库的创建与删除     137

3.1  创建数据库   137

3.1.1  数据库创建概述         137

3.1.2  Solaris下用DBCA创建数据库 139

3.1.3  DIY——Solaris下手工创建数据库   149

3.1.4  数据库创建疑难解析         155

3.2  删除数据库   164

3.2.1  数据库删除概述         164

3.2.2  数据库删除——手工篇    165

3.2.3  数据库删除——DBCA  165

2篇网络管理

4  Oracle网络管理并不难 168

4.1  Oracle网络体系结构    168

4.1.1  Oracle应用的几种网络结构     168

4.1.2  Oracle Net   170

4.1.3  OSI模型      170

4.1.4  Oracle Net的堆栈结构      171

4.1.5  Oracle监听器     172

4.1.6  连接描述符(connect identifier    173

4.1.7  网络服务名(Net Service Name   174

4.1.8  命名方法    176

4.1.9  配置Oracle网络的工具    176

4.2  Oracle网络管理实务    176

4.2.1  Oracle网络服务器端配置          176

4.2.2  Oracle网络客户端配置     182

4.3  Oracle网络管理疑难解析    187

4.3.1  Oracle网络服务器端配置疑难解析          187

4.3.2  Oracle网络客户端配置疑难解析     194

4.3.3  Oracle网络与防火墙(Firewall    215

3篇系统管理

5章系统管家婆——SQL*Plus的使用 222

5.1  系统管理工具SQL*Plus         222

5.2  SQL缓冲区(SQL Buffer    223

5.3  SQL*Plus的环境配置    223

5.3.1  SQL*Plus的环境变量          223

5.3.2  SQL*Plus站点配置文件(Site Profile    223

5.3.3  SQL*Plus用户配置文件(User Profile  223

5.4  SQL*Plus的启动    223

5.5  SQL*Plus专有命令介绍         225

5.5.1  登录、注销命令         225

5.5.2  编辑命令    225

5.5.3  其他有用的SQL*Plus命令         227

5.6  SQL*Plus实务与疑难解析    228

6章有始有终——数据库的启动与关闭     247

6.1  数据库启动   247

6.1.1  数据库启动原理         247

6.1.2  数据库启动实务         248

6.1.3  数据库启动疑难解析         261

6.2  数据库关闭   284

6.2.1  数据库关闭原理         284

6.2.2  数据库的关闭(SHUTDOWN)实务         284

6.2.3  数据库关闭疑难解析         288

7章理清两个模式问题——专有/共享服务器模式   292

7.1  理解专有服务器模式   292

7.2  共享服务器模式原理   293

7.2.1  共享服务器模式的架构    293

7.2.2  监听器和调度进程的关系         293

7.2.3  请求队列(Request Queue/响应队列(Response Queue       294

7.2.4  调度进程(Dispatcher ProcessesDnnn     294

7.2.5  共享服务器进程(Shared Server ProcessesSnnn     294

7.3  共享服务器模式实务   294

7.4  共享服务器模式疑难解析   305

8章掌握两个管理问题——表空间和数据文件的管理     317

8.1  数据库存储结构   317

8.1.1  物理结构    317

8.1.2  逻辑结构    320

8.2  深刻理解表空间   327

8.2.1  大文件表空间    327

8.2.2  系统表空间         327

8.2.3  辅助表空间         327

8.2.4  回滚表空间(Undo Tablespace     327

8.2.5  临时表空间         330

8.2.6  表空间中区的管理方式    331

8.2.7  表空间中段的管理方式    332

8.2.8  非标准块表空间         333

8.2.9  表空间的离线(Offline)与在线(Online   333

8.2.10  只读表空间(Read-Only Tablespace   333

8.3  深刻理解数据文件        334

8.3.1  数据文件的内容         334

8.3.2  数据文件的尺寸(Size  334

8.3.3  离线数据文件    334

8.3.4  临时数据文件(Temporary Datafiles   334

8.4  表空间管理实务与疑难解析        335

8.4.1  永久表空间管理         335

8.4.2  临时表空间管理实务与疑难解析    366

8.4.3  回滚表空间管理实务与疑难解析    373

8.5  数据文件管理实务与疑难解析   379

8.5.1  数据文件管理实务    379

8.5.2  数据文件管理疑难解析    388

9章进程管理          390

9.1  Oracle进程简介    390

9.2  用户进程        391

9.3  Oracle进程    391

9.3.1  服务器进程         391

9.3.2  后台进程    391

9.4  进程综合管理实务与疑难解析   395

9.5  会话管理实务与疑难解析   403

10章内存管理       408

10.1  Oracle内存结构简介  408

10.2  系统全局区(SGA   409

10.2.1  SGA简介   410

10.2.2  SGA组成   411

10.3  程序全局区(PGA  414

10.3.1  私有SQL       414

10.3.2  SQL工作区        415

10.3.3  用户全局区       415

10.4  软件代码区 415

10.5  管理Oracle内存的方式     415

10.5.1  PGA自动管理  415

10.5.2  SGA自动管理   416

10.5.3  自动内存管理  416

10.6  内存管理实务与疑难解析 416

11章用户管理       439

11.1  用户验证      440

11.1.1  口令认证  440

11.1.2  外部认证  440

11.1.3  全局认证  441

11.2  Oracle的安全大门——权限(Privileges       441

11.2.1  系统权限  441

11.2.2  对象权限  444

11.3  使权限管理变得更加容易——角色(Role  445

11.4  限制用户的资源消耗——资源限制文件(Profile        446

11.4.1  资源限制的级别       447

11.4.2  限制资源的参数       447

11.5  用户与权限管理实务与疑难解析      448

11.5.1  用户管理实务与疑难解析       448

11.5.2  权限管理实务与疑难解析       453

11.5.3  角色管理实务与疑难解析       457

11.5.4  资源限制文件管理实务与疑难解析       463

4篇移动数据库

12章数据导出       468

12.1  数据导出方法介绍      468

12.1.1  Oracle最新导出工具——Data Pump Export 468

12.1.2  Oracle原来的导出工具——Export         468

12.2  数据导出实务      471

12.3  数据导出疑难解析      489

13章数据导入       508

13.1  数据导入方法介绍      508

13.1.1  Oracle最新导入工具——Data Pump Import          508

13.1.2  Oracle以前的导入方法——Import        508

13.2  数据导入实务      510

13.3  数据导入疑难解析      530

5  Oracle文件管理

14章重中之重——控制文件的管理   544

14.1  控制文件的概念 544

14.2  控制文件管理实务与疑难解析 545

15章成为数据库的最高统治者——口令文件(Password File)管理     555

15.1  超级用户权限(SYSDBASYSOPER)介绍       555

15.2  口令文件的基本概念 556

15.3  启用口令文件认证      557

15.4  口令文件管理实务与疑难解析 558

16章联机日志文件管理       571

16.1  联机日志文件的概念 571

16.1.1  联机日志文件的内容       571

16.1.2  联机日志文件的循环利用       572

16.2  联机日志文件管理实务与疑难解析 572

17章参数文件(PFILE/SPFILE)管理  584

17.1  参数文件的基本概念 584

17.2  初始化参数文件 585

17.3  服务器参数文件 585

17.4  初始化参数的修改      585

17.5  参数管理实务与疑难解析 586

6  Oracle高级专题

18章全球应用——分布式数据库疑难攻略       594

18.1  分布式数据库系统的概念 594

18.1.1  同构分布式数据库系统  595

18.1.2  异构分布式数据库系统  595

18.1.3  数据库链接(Database Link        595

18.2  分布式数据库管理实务与疑难解析 595

19章并不陌生的问题——裸设备       603

19.1  裸设备的概念      603

19.2  裸设备管理实务与疑难解析      604

7篇数据库备份/恢复

20章备份/恢复之基石——归档(Archivelog)管理         612

20.1  归档的基本概念 612

20.1.1  非归档模式       612

20.1.2  归档模式  613

20.1.3  归档路径  613

20.2  归档管理实务与疑难解析 614

21章必行之举——数据库备份   636

21.1  理解数据库备份 636

21.1.1  数据库失败的种类  637

21.1.2  备份和恢复的解决方案  637

21.1.3  备份和恢复的物理结构  638

21.1.4  备份的类型       638

21.1.5  执行用户管理的备份       638

21.2  恢复管理器(RMAN       639

21.2.1  通道  640

21.2.2  备份集的维护  640

21.2.3  RMAN资料库   642

21.2.4  RMAN的使用   643

21.3  数据库备份实务与疑难解析      643

21.4  恢复目录管理实务与疑难解析 665

22章失而复得——数据库恢复   673

22.1  数据库恢复 673

22.1.1  实例恢复  673

22.1.2  介质恢复  674

22.1.3  用户错误(User Error)的恢复      675

22.2  数据库闪回(Flashback Database 676

22.3  用户管理的恢复(User-managed Recovery 676

22.4  联机日志文件丢失的恢复 677

22.5  控制文件损坏的恢复 689

22.6  数据文件损坏的恢复 700

22.7  表的恢复(用户错误的恢复) 711

8  Oracle程序设计

23章数据库通用语言——SQL语句    742

23.1  结构化查询语言简介 742

23.2  SELECT语句          743

23.2.1  理解SELECT语句     743

23.2.2  SELECT语句使用实务与疑难解析 744

23.3  INSERT语句          754

23.3.1  理解INSERT语句     754

23.3.2  INSERT语句使用实务与疑难解析 755

23.4  UPDATE语句        761

23.4.1  理解UPDATE语句   761

23.4.2  UPDATE语句使用实务与疑难解析         761

23.5  DELETE语句         763

23.5.1  理解DELETE语句    763

23.5.2  DELETE语句的使用 763

23.6  SQL语句中,集合函数使用实务与疑难解析  766

24章模式对象(Schema Object)的管理   771

24.1  模式(Schema)的概念     771

24.2  模式对象管理      772

24.2.1  表(Table      772

24.2.2  索引(Index 790

24.2.3  外部表(External Table        795

24.2.4  临时表(Temporary Table   805

24.2.5  分区表(Partition Table       809

24.2.6  聚簇(Cluster       822

24.2.7  索引组织表(Index-Organized TableIOT         825

24.2.8  视图  831

24.2.9  同义词       836

24.2.10  序列         839

25  PL/SQL应用程序开发   844

25.1  PL/SQL简述 844

25.1.1  PL/SQL块结构  844

25.1.2  数据类型  845

25.1.3  运算符       845

25.1.4  PL/SQL语句控制结构       846

25.2  存储过程(Stored Procedure 847

25.2.1  存储过程的基本原理       847

25.2.2  存储过程管理实务与疑难解析       847

25.3  函数(Function        863

25.3.1  函数的基本原理       863

25.3.2  函数的管理实务与疑难解析  863

25.4  871

25.4.1  包的基本原理  871

25.4.2  包管理实务与疑难解析  871

25.5  触发器 878

25.5.1  触发器的基本原理  878

25.5.2  触发器管理实务与疑难解析  879

25.6  游标      899

25.6.1  游标的基本原理       899

25.6.2  游标管理实务与疑难解析       899

9篇内存探索

26章勿忘历史——Oracle内存管理的变迁        908

26.1  Oracle 内存变迁概述          908

26.2  Oracle 7 的内存管理  908

26.3  Oracle 8/8i的内存管理       909

26.4  Oracle 9i的内存管理  909

26.5  Oracle 10g的内存管理        909

26.6  Oracle 11g的内存管理        909

27  SGA之家——共享内存段   911

27.1  共享内存段的基本概念      911

27.2  共享内存段与内核参数      911

27.3  数据库启动与共享内存段 911

27.4  设置共享内存段 912

27.5  共享内存段的管理工具      913

27.5.1  Oracle小工具——sysresv       914

27.5.2  Oracle调试工具——oradebug        914

27.5.3  操作系统工具——ipcsipcrm   915

27.6  查看内核参数对共享内存段的限制 916

27.7  共享内存段的空间使用情况      916

27.8  共享内存段与进程      917

27.9  删除共享内存段 917

28章内存管理效率的提升——HugePage  919

28.1  HugePage的原理         919

28.2  HugePage的配置         920

28.3  HugePage疑难解析    923

29章内存管理方式的巨变——内存文件系统   928

29.1  内存文件系统      928

29.2  第一阶段:传统模式(共享内存段)      929

29.3  第二阶段:新型模式(内存文件系统) 929

29.4  第三阶段:内存文件系统的设置      931

29.5  第四阶段:从“新型模式”切换到“传统模式” 931

10  I/O探索

30章永恒的主题——I/O(同步I/O、异步I/O、直接I/O    934

30.1  磁盘的物理结构 934

30.1.1  盘片(碟片,Platter   934

30.1.2  磁头(Head 934

30.1.3  磁道(Track 934

30.1.4  扇区(Sector         934

30.2  磁盘工作原理      935

30.2.1  寻道时间(Seek Time  935

30.2.2  旋转延迟(Rotational Latency    935

30.2.3  传输时间(Transfer Time    935

30.2.4  访问时间(Access Time       935

30.3  衡量磁盘性能的两个指标 935

30.4  I/O介绍        935

30.4.1  同步I/O    936

30.4.2  异步I/O    936

30.4.3  直接I/O    936

30.4.4  OracleI/O配置    936

30.4.5  异步I/O的使用        936

30.4.6  直接I/O的使用        938

30.5  随机I/O和顺序I/O     939

30.5.1  随机I/O的原理        939

30.5.2  顺序I/O的原理        940

30.6  I/O大比拼   940

30.6.1  随机I/O和顺序I/O的巨大反差     940

30.6.2  同步I/O和异步I/O的对比     940

30.6.3  直接I/O与内存的使用   941

11  RAC管理

31章理论奠基——RAC简介        944

31.1  高可用性介绍      944

31.2  Oracle 集群          945

31.3  硬件架构      946

31.3.1  服务器介绍       946

31.3.2  共享存储介绍  946

31.3.3  网络介绍  952

31.4  软件架构      954

31.4.1  软件分层  954

31.4.2  Oracle Clusterware软件  955

31.4.3  Oracle RAC软件        962

32  RAC的意义——负载均衡和失败转移        963

32.1  负载均衡      963

32.1.1  负载均衡简介  963

32.1.2  客户端负载均衡       964

32.1.3  服务器端负载均衡  967

32.2  失败转移      967

32.2.1  失败转移简介  967

32.2.2  失败转移实战  967

33章存储的主打曲——自动存储管理(ASM        973

33.1  ASM基本概念     973

33.1.1  ASM实例(ASM Instance    973

33.1.2  ASM磁盘组(ASM Disk Group    973

33.1.3  ASM文件(ASM File    974

33.1.4  区(Extent    974

33.1.5  镜像和失败组(Mirroring and Failure Group      975

33.2  配置ASM实例    976

33.2.1  创建ASM实例 976

33.2.2  ASM的初始化参数  978

33.2.3  ASM实例的连接      979

33.2.4  ASM的启动      979

33.2.5  ASM的关闭      980

33.2.6  检查ASM实例的状态     981

33.3  磁盘组的管理      981

33.3.1  准备磁盘(以裸设备为例)  981

33.3.2  确保ASM能够搜索到磁盘     984

33.3.3  创建磁盘组       985

33.3.4  磁盘组的加载/卸载          987

33.3.5  在磁盘组上创建表空间  988

33.3.6  往磁盘组中添加磁盘       989

33.3.7  从磁盘组中删除磁盘       989

33.3.8  删除磁盘组       989

33.3.9  手工重平衡磁盘组中的文件  990

33.3.10  磁盘和磁盘组的信息    990

33.4  管理工具ASMCMD     991

33.5  动态卷管理器(ADVM)和集群文件系统(ACFS       992

33.5.1  动态卷管理器(ADVM)的使用    993

33.5.2  集群文件系统(ACFS)的使用       996

33.6  ASM管理疑难解析     997

34章练兵场——RAC管理   1003

34.1  你必须清楚的一件情——命令运行环境 1003

34.2  集群管理工具      1003

34.3  集群的启动和关闭      1004

34.4  IP地址管理 1005

34.4.1  SCAN VIP的漂移       1005

34.4.2  检查SCAN的配置    1005

34.4.3  修改SCAN VIPVIP        1005

34.4.4  私有IP地址的修改 1008

34.4.5  修改SCAN监听器的端口        1009

34.5  实例的管理 1010

34.5.1  实例的启动和关闭  1010

34.5.2  数据库的启动和关闭       1011

34.5.3  参数文件(PFILESPFILE)管理   1011

34.5.4  会话管理  1013

34.6  物理结构管理      1013

34.6.1  回滚表空间的管理  1013

34.6.2  联机重做日志的管理       1014

34.6.3  集群注册表(OCR)的管理   1015

34.6.4  Oracle本地注册表(OLR)的管理         1019

34.6.5  表决盘(Voting Disk)的管理         1020

34.6.6  集群注册表和表决盘管理实务       1022

34.7  节点管理      1029

34.7.1  节点失败那点事儿  1029

34.7.2  数据库管理模式       1030

34.7.3  删除节点  1031

34.7.4  增加节点  1042

作者简介

    赵振平

    生于20世纪末中国西南的一个边陲小镇。21世纪初,那是一个IT业动荡的日子,多少网站林立,又有多少网站倒闭;多少英雄冲锋,又有多少豪杰流泪。华尔街金融巨子们疯狂涌入IT业,克林顿总统先生的“信息高速公路”政策,为我们描绘了IT业的宏伟蓝图,不知天有多高、地有多厚的我们,被卷入了全球IT业的激流中。但是,在激流中有过倒下,在激流中有过彷徨.....在彷徨中思考未来。于是公元2001年,我正式主攻数据库和数据仓库。开始的岁月,SybaseOracleSQL Server三座大山压得我无法喘息,从不低头的我们仍然要继续前行的路。N年以后,我们越过了SybaseOracleSQL ServerMySQLDB2这几座大山。但是,中国至今在数据库领域还没有太多的话语权,路还很远,很长......还需要更多的人与我们一起努力!!

前言

亲爱的朋友,在使用Oracle时,你肯定会遇到许多诸如下面的问题。

安装Oracle时,不能启动安装界面……

安装Oracle时,安装界面显示乱码……

  Oracle 8i不能在奔腾4P4)机器上安装……

不能完全卸载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 forresources……”

对表空间进行操作时,提示:表空间不存在(表空间确实存在)……

创建表时,报告错误“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 intablespace 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 atstartup…...”

修改初始化参数时,报告错误“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 groupfunction……

查询数据时,报告错误“ORA-02032: clustered tables cannot be used before the cluster indexis built……”

访问序列时,报告错误“ORA-08002: sequence string.CURRVAL is not yet defined in thissession……”

执行存储过程,报告错误“ORA-01031: insufficient privileges……”

……......……......……......……......……......……......……......……......

遇到上面的问题,怎么办?Oracle博大精深,出现的问题亦千奇百怪,本书正是为了解决你使用Oracle中遇到的各种疑难问题而编写的,它能助你破除重重障碍,成功到达Oracle的彼岸。特别注意的是,本书不是只为了讲解基本概念而写,而是重在疑难解惑,与读者分享工作经验。

 

写本书的体会

我在2000年参加工作,2001年正式成为DBA(数据库管理员),一直从事Oracle数据库的管理工作,从Oracle 7Oracle 8i,从Oracle 8iOracle 9iOracle 10g,直到当前的Oracle 11g7年多的光阴,我依然奋斗在DBA这个行列。在以往的日子里,每当遇到许多疑难问题时,我总是重复经历(看英文文档—研究—解决问题)的过程。问题解决以后,我总是把解决的过程记录在一个文本文件中。正是这一次次的经历,为我积累了丰富的经验,也为我成就今天这本书打下了坚实的基础。正所谓“宝剑锋从磨砺出,梅花香自苦寒来”。积累的这个“文本文件”,现在也成了我的“宝贝”,所以,我会经常把它备份到好多地方,以防丢失!

20057月,电子工业出版社的胡辛征老师正在筹划一本有关Oracle疑难解析方面的书,我也很乐意与大家一起分享我的经验,于是我和胡老师不谋而合。

于是,我开始蜷伏在北京上地的某个角落,从日出东方到夕阳西下,经历了不知多少个日日夜夜。看过漫天尘土的春季,浸泡在炎热的夏季,看着秋天的落叶,不知不觉中走过了冬季。漫漫长路,历时三载,2008年元旦,本书初稿终于尘埃落定。

本书重在疑难解析,帮助读者解决使用Oracle中遇到的疑难问题。这本书中的疑难问题都是缘于我的亲身经历。

出于严谨性的考虑,本书中的例子我都在机器上重新进行了模拟试验,因此,这本书耗费了我大量的时间和精力。

由于这本书中例子很多、很常见,所以,虽然这本书是我自己写的,但是我自己也经常在使用这本书的电子版,当我遇到问题的时候,我只需要在本书的电子版中输入错误提示信息(或者关键字)进行搜索,马上就能找到答案,并且,只需把本书中给出的步骤(脚本/命令)复制出来,稍微修改一下,马上就能运行,真的很方便、很快捷!所以,我相信这是一本Oracle疑难解析方面的好书。因为这本书对我有用,所以管用!

学习Oracle其实并没有那么难,做任何事情都要讲究途径和努力。学习Oracle要先把它的体系结构、概念机制搞清楚,在了解、熟悉了这些之后,接下来的工作就是要建立一个测试环境并不断去实践,这是尤为关键的。因为做OracleDBA,其水平高低不在于你对它的名词概念掌握了多少,也不在于你是否有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*PlusOracle的管理工具,本章主要介绍SQL*Plus使用的各种技巧。

6章有始有终——数据库的启动与关闭  44个实务

本章引导读者如何启动和关闭数据库,并解答启动数据库和关闭数据库中遇到的疑难问题。

7章理清两个模式问题——专有/共享服务器模式含16个实务

本章介绍Oracle的两种模式——共享服务器(SharedServer)模式和专有服务器(DedicatedServer)模式,教会读者如何配置这两种模式,并解答配置这两种模式时遇到的疑难问题。

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 8Oracle 11g内存管理的变化。

27  SGA之家——共享内存段 

本章主要讲述共享内存段和SGA的关系。

28章内存管理效率的提升——HugePage  3个实务

本章主要讲述HugePageOracle内存的影响。

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管理的各种实战。

本书的实务速查目录电子版的下载地址是http://space.itpub.net/?13804621www.broadview.com.cn。查询电子版实务目录,再翻阅本书内容,真正做到遇到问题速查解决。

本书的使用

本书的学习流程如下图所示。

 

                        

 

本书的符号说明

Environment(环境)〗:对数据库环境和操作系统环境进行简要描述。

Symptom(现象)〗:对问题产生时的现象进行描述。

Cause(原因)〗:解释问题产生的原因。

Action(方法)〗:描述问题的解决方法和步骤。

 

 

 

20133    

posted @ 2013-05-09 13:17  博文视点(北京)官方博客  阅读(490)  评论(0编辑  收藏  举报