《Oracle数据库精讲与疑难解析》PDF下载

  • 购买积分:24 如何计算积分?
  • 作  者:赵振平编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2008
  • ISBN:7121061899
  • 页数:932 页
图书介绍:本书介绍了Oracle的安装及卸载、数据库的启动关闭、表空间和数据文件的管理、Oracle网络管理、口令文件管理、内存管理、进程管理、用户管理、数据的导入导出、备份与恢复、模式对象的管理以及应用程序开发等相关知识。本书旨在向用户解答使用Oracle中遇到的疑难问题,并展示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的总体框架结构 6

1.5.1 Oracle实例(Oracle Instance) 6

1.5.2 Oracle的存储结构 8

1.6数据字典(Data Dictionary) 9

1.6.1数据字典概述 9

1.6.2数据字典的结构 9

1.6.3数据字典的使用 10

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

2.1 Oracle的安装 11

2.1.1 Oracle安装的几个概念 11

2.1.2 Oracle 10g(10.1)的安装——Windows篇 13

2.1.3 Oracle 10g的安装——Solaris篇 20

2.1.4 Oracle安装疑难解析 34

2.2 Oracle的卸载 55

2.2.1 Oracle完全卸载——Windows篇 55

2.2.2 Oracle完全卸载——UNIX篇 60

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

3.1创建数据库 71

3.1.1数据库创建概述 71

3.1.2 Solaris下用DBCA创建数据库 74

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

3.1.4数据库创建疑难解析 93

3.2删除数据库 103

3.2.1数据库删除概述 103

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

3.2.3数据库删除——DBCA篇 104

第4章 Oracle网络管理并不难 108

4.1 Oracle网络体系结构 108

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

4.1.2 Oracle Net 110

4.1.3 OSI模型 111

4.1.4 Oracle Net的堆栈结构 111

4.1.5 Oracle监听器 113

4.1.6连接描述符(connect identifier) 115

4.1.7网络服务名(Net Service Name) 115

4.1.8命名方法 117

4.1.9配置Oracle网络的工具 118

4.2 Oracle网络管理实务 118

4.2.1 Oracle网络服务器端配置 118

4.2.2 Oracle网络客户端配置 125

4.3 Oracle网络管理疑难解析 130

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

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

4.3.3 Oracle网络与防火墙(Firewall) 162

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

5.1系统管理工具SQL*Plus 170

5.2 SQL缓冲区(SQL Buffer) 171

5.3 SQL*Plus的环境配置 171

5.3.1 SQL*Plus的环境变量 171

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

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

5.4 SQL*Plus的启动 172

5.5 SQL*Plus专有命令介绍 173

5.5.1登录,注销命令 173

5.5.2编辑命令 174

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

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

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

6.1数据库启动 199

6.1.1数据库启动原理 199

6.1.2数据库启动实务 200

6.1.3数据库启动疑难解析 215

6.2数据库关闭 238

6.2.1数据库关闭原理 238

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

6.2.3数据库关闭疑难解析 243

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

7.1理解专有服务器模式(Dedicated Server Mode) 247

7.2共享服务器模式(Shared Server Mode)原理 248

7.2.1共享服务器模式(Shared Server Mode)的架构 248

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

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

7.2.4调度进程(Dispatcher Processes, Dunn) 249

7.2.5共享服务器进程(Shared Server Processes,Snnn) 250

7.3共享服务器模式(Shared Server Mode)实务 250

7.4共享服务器模式(Shared Server Mode)疑难解析 262

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

8.1数据库存储结构 275

8.1.1物理结构 275

8.1.2逻辑结构 279

8.2深刻理解表空间 286

8.2.1大文件表空间 286

8.2.2系统表空间 287

8.2.3辅助表空间 287

8.2.4回滚表空间(Undo Tablespace) 287

8.2.5临时表空间 291

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

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

8.2.8非标准块表空间 293

8.2.9表空间的离线(ine)与在线(Online) 294

8.2.10只读表空间(Read-Only Tablespace) 294

8.3深刻理解数据文件 294

8.3.1数据文件的内容 294

8.3.2数据文件的尺寸(Size) 295

8.3.3离线数据文件 295

8.3.4 临时数据文件(Temporary Datafiles) 295

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

8.4.1永久表空间管理 295

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

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

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

8.5.1数据文件管理实务 345

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

第9章 进程管理 357

9.1 Oracle进程简介 357

9.2用户进程 358

9.3 Oracle进程 358

9.3.1服务器进程 358

9.3.2后台进程 358

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

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

第10章 内存管理 379

10.1 Oracle内存结构简介 379

10.2系统全局区 380

10.3 SGA自动管理 381

10.4 SGA组成介绍 382

10.4.1数据库高速缓冲区 382

10.4.2日志缓冲区 383

10.4.3共享池 383

10.4.4大池 385

10.4.5 Java池 385

10.4.6流池 385

10.5程序全局区 385

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

第11章 用户管理 407

11.1用户验证 408

11.1.1口令认证 408

11.1.2外部认证 408

11.1.3全局认证 409

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

11.2.1系统权限 410

11.2.2对象权限 413

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

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

11.4.1资源限制的级别 416

11.4.2限制资源的参数 417

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

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

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

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

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

第12章 数据导出 440

12.1数据导出方法介绍 440

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

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

12.2数据导出实务 443

12.3数据导出疑难解析 463

第13章 数据导入 485

13.1数据导入方法介绍 485

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

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

13.2数据导入实务 488

13.3数据导入疑难解析 510

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

14.1控制文件的概念 524

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

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

15.1超级用户权限(SYSDBA、SYSOPER)介绍 537

15.2口令文件的基本概念 538

15.3启用口令文件认证 539

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

第16章 联机日志文件管理 555

16.1联机日志文件的概念 555

16.1.1联机日志文件的内容 556

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

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

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

17.1参数文件的基本概念 569

17.2初始化参数文件 570

17.3服务器参数文件 570

17.4初始化参数的修改 571

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

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

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

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

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

18.1.3数据库链接(Database Link) 581

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

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

19.1裸设备的概念 591

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

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

20.1归档的基本概念 602

20.1.1非归档模式 602

20.1.2归档模式 603

20.1.3归档路径 603

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

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

21.1理解数据库备份 629

21.1.1数据库失败的种类 630

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

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

21.1.4备份的类型 631

21.1.5执行用户管理的备份 631

21.2恢复管理器(RMAN) 633

21.2.1通道 633

21.2.2备份集的维护 634

21.2.3 RMAN资料库 636

21.2.4 RMAN的使用 637

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

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

第22章 失而复得——数据库恢复 669

22.1数据库恢复 669

22.1.1实例恢复 669

22.1.2介质恢复 670

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

22.2数据库闪回(Flashback Database) 672

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

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

22.5控制文件损坏的恢复 687

22.6数据文件损坏的恢复 699

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

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

23.1结构化查询语言简介 746

23.2 SELECT语句 748

23.2.1理解SELECT语句 748

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

23.3 INSERT语句 761

23.3.1理解INSERT语句 761

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

23.4 UPDATE语句 768

23.4.1理解UPDATE语句 768

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

23.5 DELETE语句 770

23.5.1理解DELETE语句 770

23.5.2 DELETE语句的使用 771

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

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

24.1模式(Schema)的概念 779

24.2模式对象管理 780

24.2.1表(Table) 780

24.2.2索引(Index) 801

24.2.3外部表(External Table) 807

24.2.4 临时表(Temporart Table) 817

24.2.5分区表(Partition Table) 822

24.2.6聚簇(Cluster) 838

24.2.7索引组织表(Index-Organized Table,IOT) 840

24.2.8视图 847

24.2.9同义词 853

24.2.10序列 856

第25章 PL/SQL应用程序开发 863

25.1 PL/SQL简述 863

25.1.1 PL/SQL块结构 863

25.1.2数据类型 864

25.1.3运算符 864

25.1.4 PL/SQL语句控制结构 866

25.2存储过程(Stored Procedure) 867

25.2.1存储过程的基本原理 867

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

25.3函数(Function) 885

25.3.1函数的基本原理 885

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

25.4包 894

25.4.1包的基本原理 894

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

25.5触发器 901

25.5.1触发器的基本原理 901

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

25.6游标 925

25.6.1游标的基本原理 925

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

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

实务1安装Oracle时,为什么不能启动安装界面 34

实务2为什么Oracle安装界面无法显示中文,都是“□□□” 34

实务3安装Oracle时,报告错误“ORA-12547:TNS:lost contact” 35

实务4如何下载Oracle的安装文件 35

实务5 Oracle安装完成后,用户sys与system默认的密码是什么 36

实务6如何找到Oracle安装时生成的日志文件 36

实务7安装Oracle时,是否需要安装JDK 37

实务8解压安装文件时,报告无权限 37

实务9安装Oracle软件并创建完数据库后,服务内的ORACLESID显示“启动”而不是“已启动” 37

实务10安装Oracle时,报告错误“Thrown when the IP address of a hostcannot be determined” 38

实务11安装Oracle时,报告错误“无法读取C:/Program Files/Oracle/Inventory/ContentsXML/comps.xml,丢失某些产品清单信息” 38

实务12安装时,提示“安装程序交换区C:\Documents and Settings\Administrator\Local Settings\Temp\OraInstall没有足够的磁盘空间,请再装备一些磁盘空间,然后再试” 38

实务13创建数据库时,出现错误“ORA-03113:end-of-file on communication channel” 38

实务14安装Oracle时,报告错误“ORA-27102:out of memory” 39

实务15在Linux(UNIX)环境下成功安装了Oracle 10g,从Windows下用IE登录Oracle log的em时,按钮显示为“□□” 39

实务16在Linux AS4安装Oracle 9i(9.2.X.X),当执行runInstaller时,出现错误 39

实务17是否可以在同一机器上既装Oracle 8i又装Oracle 9i 40

实务18安装Oracle 9i时,遇到错误“invalid end header format” 40

实务19在同一台机器上同时安装Oracle 9i与Oracle 10g 41

实务20安装Oracle时,报告错误“ORA-27123:unable to attach to shared memory segment”。 41

实务21安装Oracle时,报告错误,不能够写/tmp目录 42

实务22安装Oracle 10g时,报告操作系统版本(operating system version)检查失败之案例一 43

实务23在安装Oracle 10g时,报告补丁包(Service Pack)检查失败 44

实务24安装Oracle时,报告显示器(monitor)设置检查失败 45

实务25 Oracle安装完成以后,为什么在提示符下输入sqlplus,提示命令不存在 45

实务26安装Oracle时,报告打开共享对象文件libawt.so:libXp.so.6错误 47

实务27安装Oracle时,报告错误“...cannot restore segment prot after reloc:Permission denied” 48

实务28安装Oracle时,报告错误“...libaio.so.l:cannot open shared object file” 49

实务29在Windows上安装Oracle,临时目录的空间充足,却报告不能够写临时目录 50

实务30安装Oracle到一定进度时,报告错误“加载数据库时出错:areasQueries” 50

实务31 Oracle 8i在奔腾4(P4)机器上安装的异常处理 51

实务32安装Oracle时,报告先决条件检查失败 52

实务33如何标识已经存在的Oracle根目录(Oracle Base Directory) 53

实务34如何标识已经存在的Oracle清单目录(Oracle Inventory Director) 54

实务35如何标识已经存在的Oracle主目录(Oracle Home Director) 54

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

实务36使用DBCA创建数据库时,报告错误“ORA-12547:TNS:lost contact” 93

实务37使用DBCA创建数据库时,报告错误“ORA-12571:TNS:packet writer failure” 93

实务38使用DBCA创建数据库时,报告错误“ORA-27123:unable to attach to shared memory segment” 94

实务39手工创建数据库时,如何查找数据库创建失败的原因 95

实务40手工创建数据库时,报告错误“ORA-01504:database name'TT'does not match parameter db_name'man’” 96

实务41手工创建数据库,启动实例时,报告错误“ORA-24324:service handle not initialized” 96

实务42手工创建数据库时,报告错误“ORA-27038:created file already exists” 97

实务43手工创建数据库时,报告错误“ORA-01100:database already mounted” 97

实务44 手工重建数据库时,报告错误“ORA-01092:ORACLE instance terminated.Disconnection forced”之案例一 98

实务45手工重建数据库时,报告错误“ORA-01092:ORACLE instance terminated.Disconnection forced”之案例二 99

实务46手工重建数据库时,报告错误“ORA-01092:ORACLE instance terminated.Disconnection forced”之案例三 100

实务47手工创建数据库时,报告错误“ORA-01034:ORACLE not available” 101

实务48手工创建数据库,启动实例时,后台进程启动失败(如ORA-00444:background process“LGWR”failed while starting) 102

实务49手工创建数据库,启动实例时,报告参数user dump_dest错误 103

第4章 Oracle网络管理并不难 108

实务50启动监听器时,报告错误“无法找到指定的路径” 130

实务51连接数据库时,报告错误“TNS-12541:TNS:no listener”(没有监听器)之案例一 131

实务52连接数据库时,报告错误“TNS-12541:TNS:no stener”(没有监听器)之案例二 132

实务53连接数据库时,报告错误“TNS-12541:TNS:no stener”(没有监听器)之案例三 134

实务54如何修改监听器的端口号 135

实务55启动监听器时,报告错误“TNS-12545:Connect failed because target host or object does not exist”,案例一 136

实务56启动监听器时,报告错误“TNS-12545:Connect failed because target host or object does not exist,案例二 137

实务57客户端连接数据库时,报告权限不足(ORA-01031:insufficient privileges) 138

实务58以SYSDBA的身份登录数据库,报告错误“ORA-12518:TNS:listener could not hand off client connection” 139

实务59连接数据库时,报告错误“TNS-12538:TNS:no such protocol adapter” 139

实务60如何禁止以操作系统认证方式登录Oracle 140

实务61连接数据库时,报告错误“ORA-12505:TNS:listener does not currently know of SID given in connect descriptor” 141

实务62连接数据库时,报告错误“TNS-03505:Failed to resolve name”(无法解析服务名)之案例一 141

实务63连接数据库时,报告错误“TNS-03505:Failed to resolve name”(无法解析服务名)之案例二 143

实务64连接数据库时,报告错误“TNS-03505:Failed to resolve name”(无法解析服务名)之案例三 144

实务65连接数据库时,报告错误“TNS-03505:Failed to resolve name”(无法解析服务名)之案例四 145

实务66连接数据库时,报告错误“TNS-12535:TNS:operation timed out”之案例一 146

实务67连接数据库时,报告错误“TNS-12533:TNS:illegal ADDRESS parameters” 147

实务68连接数据库时,报告错误“TNS-12504:TNS:listener was not given the SID in CONNECT_DATA ” 149

实务69协议适配器错误(ORA-12560:TNS:protocol adapter error)之案例一 149

实务70协议适配器错误(ORA-12560:TNS:protocol adapter error)之案例二 150

实务71连接数据库时,报告错误“ORA-03113:end-of-file on communication channel,ORA-24315:illegal attribute type” 151

实务72连接数据时,报告错误“ORA-12545:Connect failed because target host or object does not exist”之案例三 152

实务73连接数据库时,报告错误“ORA-12154:TNS:could not resolve the connect identifier specified” 155

实务74连接数据库时,报告错误“ORA-12162:TNS:net service name is incorrectly specified” 157

实务75连接数据库时,报告错误“ORA-12514:TNS:listener does not currently know of service” 158

实务76连接数据库时,报告错误“ORA-12523:TNS:listener could not find instance appropriate for the conent connection” 160

实务77连接数据库时,报告错误“ORA-12520:TNS:listener could not find available handler for requested type of server” 161

实务78连接数据库时,报告错误“ORA-12170:TNS:Connect timeout occurred” 162

实务79连接数据库时,报告错误“TNS-12535:TNS:operation timed out”之案例二 165

实务80连接数据库时,报告错误“ORA-12537:TNS:connection closed” 165

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

实务81如何定义绑定变量(Bind Variables) 178

实务82使用SQL*Plus,如何登录数据库 178

实务83如何在SQL*Plus中执行SQL语句 181

实务84如何把SQL*Plus设置成自动提交模式(AUTOCOMMIT) 182

实务85在SQL*Plus中,如何终止SQL语句的执行 182

实务86如何在SQL*Plus中执行操作系统命令(OS COMMANDS) 183

实务87在SQL*Plus中,如何执行一段PL/SQL块(PL/SQL Blocks) 183

实务88如何在SQL*Plus中执行存储过程 184

实务89如何重复执行一条SQL语句 184

实务90如何在启动SQL*Plus时,不出现登录界面 185

实务91如何修改Oracle日期显示格式 186

实务92如何把SQL缓冲区的内容保存到操作系统文件中 186

实务93如何编辑缓冲区中的SQL语句 187

实务94如何运行一个SQL脚本文件 188

实务95如何将查询结果保存到文件中 189

实务96如何知道SQL语句的执行速度 190

实务97如何查看SQL*Plus的系统变量 191

实务98如何设置SQL*Plus的系统变量 192

实务99如何改变SQL*Plus的启动选项 192

实务100如何关闭SQL*Plus 192

实务101如何禁止用户在SQL*Plus中执行指定命令 192

实务102如何列出SQL缓冲区中的内容 194

实务103如何把SQL脚本文件的内容装载到SQL*Plus的缓冲区中 194

实务104如何查出SQL*Plus默认使用哪个编辑器(editor) 195

实务105如何设置SQL*Plus默认使用哪个编辑器(editor) 195

实务106如何把SQL*Plus所有环境变量的设置保存到操作系统文件中 195

实务107在SQL*Plus中,为什么无法显示小时 196

实务108为什么SQL语句的返回结果非常零乱 197

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

实务109如何使数据库自动启动/关闭之UNIX/Linux篇 200

实务110如何使数据库自动启动/关闭之Windows篇 204

实务111如何把数据库启动到NOMOUNT状态 205

实务112如何把数据库启动到MOUNT状态 206

实务113如何打开数据库(Open) 207

实务114如何一步一步启动数据库 209

实务115如何用特定的初始化参数文件(Initialization Parameter File,PFILE)启动数据库 210

实务116如何把数据库启动到限制模式(RESTRICT) 211

实务117如何以只读模式(Read Only)打开数据库 212

实务118如何把数据库启动到恢复模式(RECOVER) 213

实务119如何重新启动数据库(RESET) 214

实务120启动数据库时,报告错误“LRM-00123:invalid character 0 found in the input file” 215

实务121启动数据库时,报告“权限不足”(ORA-01031:insufficient privileges) 215

实务122启动数据库时,报告错误“ORA-07217:sltln:environment variable cannot be evaluated” 216

实务123连接数据库时,提示错误“ORA-27101:shared memory realm does not exist” 217

实务124启动数据库时,报告错误“ORA-00600:intemal error code,arguments:[num],[?],[?],[?],[?]” 217

实务125如何判断数据库是否已经启动 221

实务126如何知道数据库处于何种状态 222

实务127打开数据库时,报告错误“ORA-01507:database not Mounted” 223

实务128启动数据库时,报告错误“未知参数名”(LRM-00101:unknown parameter name'ss') 224

实务129启动数据库时,报告错误“不能打开参数文件”(ORA-01078:failure in processing system parameters) 224

实务130启动数据库时,报告错误“LRM-00116:syntax error at'DB BLOCK_SIZE' following'='” 225

实务131启动数据库时,报告错误“ORA-24323:value not allowed” 225

实务132启动数据库时,报告错误“标识控制文件时,发生错误”(ORA-00205:error in identifying control file, check alert log for more info) 226

实务133启动数据时,报告错误“ORA-00381:cannot use both new and old parameters for buffer cache size specification” 227

实务134启动数据库时,报告错误“数据库已经运行”(ORA-01081:cannot start already-running ORACLE-shut it down first) 229

实务135启动数据库时,报告错误“ORA-19809:limit exceeded for recovery file” 229

实务136启动数据库时,数据库被挂起之案例一 231

实务137启动数据库时,数据库被挂起之案例二 232

实务138启动数据库时,数据库被挂起之案例三 233

实务139启动数据库时,报告错误“ORA-10997:another STARTUP/SHUTDOWN operation of this instance inprogress” 234

实务140启动数据库时,报告错误“ORA-02778:Name given for the log directo is invalid” 235

实务141启动数据库时,报告错误“ORA-01565:error in identifying file'E:\oracle\ product\10.2.0\db_ 1/dbs/SPFILEWM.ora’” 236

实务142启动数据时,报告错误“ORA-27046:file size is not a multiple of logical block size” 237

实务143启动数据库时,报告错误“ORA-00106:cannot STARTUP/SHUTDOWN database when connected to a dispatcher” 237

实务144如何以NORMAL方式关闭数据库 239

实务145如何以IMMEDIATE方式关闭数据库 240

实务146如何以TRANSACTIONAL方式关闭数据库 241

实务147如何以ABORT方式关闭数据库 242

实务148为什么关闭数据库如此慢 243

实务149连接数据库时,报告错误“ORA-01090:SHUTDOWN in progress-connection is not permitted” 244

实务150登录数据库时,报告错误“ORA-01033:Oracle initialization or shutdown in progress” 245

实务151为什么使用SHUTDOWN IMMEDIATE命令不能关闭数据库 245

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

实务152如何把数据库配置成共享服务器模式(Shared Server)之手工篇 250

实务153如何把数据库配置成共享服务器模式(Shared Server)之DBCA篇 253

实务154数据库已经被配置成共享服务器模式,如何请求一个专有服务器连接 256

实务155如何确定数据库中有多少个共享服务器进程(Shared Server Processes) 257

实务156如何确定数据库中有多少个调度进程(Dispatcher) 258

实务157如何增加调度进程(Dispatcher)的数量 258

实务158如何增加共享服务器进程(Shared Server Processes)的数量 259

实务159如何关闭指定的调度进程 260

实务160使用数据库时,报告错误“ORA-00104:deadlock detected;all public servers blocked waiting for resources” 262

实务161关闭数据库时,报告错误“ORA-00106:cannot STARTUP/SHUTDOWN database when Connected to a dispatcher” 263

实务162启动数据库时,报告错误“ORA-00132:syntax error or unresolved network name 'listeners wm’” 264

实务163如何把数据库从共享服务器模式(Shared Server)改成专有服务器模式(Dedicatied Server)之手工篇 265

实务164如何把数据库从共享服务器模式(Shared Server)改成专有服务器模式(dedicatied server)之DBCA篇 268

实务165如何判断数据库是运行在专有服务器模式,还是共享服务器模式 270

实务166数据库已经被配置成共享服务器模式,为什么客户端请求到的还是专有服务器连接? 271

实务167如何判断客户端请求到的是专有服务器连接还是共享服务器连接 273

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

实务168如何创建大文件表空间 295

实务169如何创建表空间 296

实务170如何删除表空间 297

实务171如何知道表空间PRODUCT由哪些数据文件组成 297

实务172如何创建非标准块表空间 297

实务173如何把字典管理的表空间(Dictionary Extent Management)转换成本地管理的表空间(Local Extent Management) 299

实务174如何把本地管理的表空间(Local Extent Management)转换成字典管理的表空间(Dictionary Extent Management) 300

实务175为什么表空间离线后无法在线 300

实务176用DELETE语句删除表中数据以后,为什么表空间的空闲空间没有增加 301

实务177如何禁止任何人写表空间test 301

实务178如何对一个表空间进行扩展 302

实务179如何限制某个用户对表空间的使用(Tablespace Quota) 303

实务180如何使只读表空间可读/写 303

实务181如何使一个表空间在线 304

实务182如何使一个表空间离线 304

实务183如何重命名表空间 304

实务184如何知道数据库中有哪些表空间 305

实务185如何知道一个表空间的存储参数(Storage Parameters) 305

实务186如何知道表空间的空间使用情况 306

实务187如何知道哪些表空间是本地管理的 307

实务188把表空间设置成只读,为什么很长时间还没有完成 307

实务189如何收缩表空间 309

实务190如何使用户能够使用另外一个表空间 310

实务191如何把永久表空间转换成临时表空间 311

实务192如何知道数据库中所有用户的默认表空间 312

实务193如何得到创建表空间的SQL语句 312

实务194对表空间进行操作时,报告错误“表空间不存在” 313

实务195删除表空间时,报告错误“ORA-22868:table with LOBs contains Segment in different Tablespaces” 314

实务196创建表时,报告错误:ORA-01950:no privileges on Tablespace'USERS’” 314

实务197删除表空间时,报告错误“ORA-01549:Tablespace not empty, useCLUDING CONTENTS option” 315

实务198删除表空间时,报告错误“ORA-02429:cannot DROP index used for enforcement of unique/primary key” 316

实务199创建表时,报告错误“ORA-01536:space quota exceeded for Tablespace 'TBST’” 318

实务200创建表空间时,报告错误“ORA-27038:created file already exists(创建的数据文件已经存在)” 319

实务201创建表空间时,报告错误“ORA-12913:Cannot create dictiona managed Tablespace” 319

实务202报告错误“ORA-03212:temporary Segment cannot be create in locally-managed Tablespace” 320

实务203创建表时,报告错误“ORA-01659:unable to allocate MINEXTENTS beyond 4 in Tablespace TP” 321

实务204创建表时,报告错误“Ora-01658:unable to create INITAL Extent for Segment in Tablespace TP” 322

实务205删除表空间时,报告错误“ORA-23515:materialized views and/or their indices exist in the tablespac” 322

实务206不能删除表空间,报告错误“ORA-00942:table or view does not exist” 323

实务207创建表空间时,报告错误“ORA-29339:Tablespace Block SIZE*16384 does not match configured Block Sizes” 324

实务208删除表空间时,报告错误“ORA-25183:index-organized table top index Segment is in a different Tablespace” 326

实务209往表空间中添加数据文件时,报告错误“ORA-00059:maximum number of DB FILES exceeded” 327

实务210往表中插入数据时,报告错误“ORA-01653:unable to extend table REP.PHONE_ RESUME by 32 in Tablespace TBS_PRO” 328

实务211往表中插入数据时,报告错误“ORA-1654:unable to extend index PRODUCT.IND_STY by 128 in Tablespace IND_TBS” 329

实务212如何创建临时表空间 330

实务213如何知道数据库中有哪些临时表空间 331

实务214如何知道数据库使用哪个临时表空间作为默认临时表空间(Default Temporary Tablespace) 331

实务215 如何改变数据库默认的临时表空间 332

实务216如何重建临时表空间 333

实务217临时表空间为空的错误(ORA-25153:temporary Tablespace is empty) 334

实务218删除临时表空间时,报告错误“ORA-12906:cannot DROP default temporary Tablespace” 336

实务219改变临时文件时,报告错误“ORA-01516:nonexistent log file,datafile, or TEMPFILE” 337

实务220报告错误“ORA-01652:unable to extend temp Segment by*8192 in Tablespace TEMP” 337

实务221创建临时表空间时,提示错误“ORA-25139:invalid option for CREATE TEMPORARY TABLESPACE” 338

实务222如何创建回滚表空间 338

实务223如何删除回滚表空间 339

实务224如何查看数据库中回滚段的管理方式 340

实务225如何往回滚表空间中增加数据文件 340

实务226如何显示数据库当前正在使用的回滚表空间 340

实务227如何切换回滚表空间 341

实务228如何使用回滚段自动管理 342

实务229如何知道数据库中有哪些回滚表空间 343

实务230如何重建数据库正在使用的当前回滚表空间(活动回滚表空间) 343

实务231使用数据库时,报告错误“ORA-01650:unable to extend roback Segment RB01 by*256 in Tablespace UNDOTBS1” 344

实务232如何移动数据文件 345

实务233如何删除数据文件 348

实务234如何使数据文件离线 348

实务235如何知道数据文件的使用情况 349

实务236如何使数据文件PRODUCT 1在线 350

实务237如何重命名数据文件PRODUCT2 351

实务238如何增加数据文件的尺寸 353

实务239如何使数据文件自动扩展 353

实务240如何知道整个数据库中有哪些数据文件 354

实务241改变数据文件的尺寸时,报告错误“ORA-03297:file contains used data beyond requested RESIZE value” 354

实务242不能扩展数据文件(ORA-01237:cannot extend datafile 21) 355

实务243往表空间中添加数据文件时,报告错误“ORA-01641:Tablespace TBS CONTRO'is not online-cannot add data file” 355

第9章 进程管理 357

实务244如何查询数据库中有哪些后台进程 363

实务245如何增加数据库书写进程的数量 364

实务246如何增加归档进程的数量 365

实务247如何把校验点进程的信息写入警报文件 366

实务248可不可以杀死Oracle后台进程 367

实务249如何查看每个进程占用的系统资源 367

实务250为什么修改初始化参数processes不生效 370

实务251如何提高Oracle的最大会话数 372

实务252如何查询数据库有哪些会话 373

实务253如何知道用户TEST是从哪台机器登录的 373

实务254如何杀掉一个进程(会话) 374

实务255杀掉进程时,报告错误“ORA-00028:your session has been killed” 375

实务256杀掉进程的时候,报告错误“ORA-00026:missing or invalid session ID” 376

实务257为什么非但不能杀掉一个进程,还报告错误“ORA-00031:session marked for kill” 376

第10章 内存管理 379

实务258如何显示SGA的情况 385

实务259如何设置SGA自动管理 386

实务260如何禁用SGA自动管理 388

实务261如何限制SGA的最大尺寸 388

实务262如何查看用于SGA管理的单位 390

实务263如何设置高速缓冲区中保持池的大小 390

实务264如何设置高速缓冲区中回收池的大小 391

实务265如何计算数据库高速缓冲区的命中率(Hit Ratio) 391

实务266如何提高数据库高速缓冲区的大小 392

实务267如何计算出数据库高速缓冲区的实际大小 393

实务268如何显示保持池的大小 395

实务269如何显示回收池的大小 396

实务270如何显示共享池的大小 396

实务271如何显示共享池中的自由空间 397

实务272如何修改共享池的大小 398

实务273如何计算库缓冲区的命中率 398

实务274如何计算数据字典缓冲区的命中率 398

实务275如何显示日志缓冲区的实际大小 399

实务276如何修改日志缓冲区的大小 399

实务277如何把SGA锁定在物理内存中 401

实务278如何显示大池的大小 402

实务279如何修改大池的大小 403

实务280如何显示JAVA池的大小 404

实务281如何修改Java池的大小 405

实务282为什么数据库高速缓冲区的大小总是为0 405

第11章 用户管理 407

实务283如何创建用户 418

实务284如何删除用户 418

实务285如何修改用户的属性 418

实务286如何找出指定用户的默认表空间 419

实务287如何修改用户的默认表空间 419

实务288如何改变数据库默认表空间 420

实务289如何查出用户正在使用的临时表空间 420

实务290如何修改用户的临时表空间 421

实务291如何知道数据库中有哪些用户 421

实务292如何列出所有用户的表空间限额 422

实务293如何锁住一个用户 423

实务294如何把权限授予用户 423

实务295如何回收授予用户的权限 424

实务296如何知道一个用户有哪些对象权限 425

实务297如何知道到一个用户有哪些系统权限 426

实务298如何列出当前会话有哪些有效的系统权限 426

实务299如何知道一个用户是否可以把自己从其他用户获得的权限授予另外的用户 427

实务300如何创建角色 428

实务301如何把权限授予角色 429

实务302如何回收授予角色的权限 429

实务303如何把角色授予角色 430

实务304如何把角色授予其他用户 430

实务305如何禁用角色(Disabling Role)或者激活角色(Enabling Role) 430

实务306如何列出当前会话有哪些激活的角色 431

实务307如何设置用户默认角色(Default Role) 431

实务308如何删除角色 432

实务309如何查询一个角色有哪些系统权限 432

实务310如何查询一个角色有哪些对象权限 433

实务311如何查询一个角色有哪些角色权限 433

实务312如何列出数据库中的所有角色 433

实务313如何查询一个用户拥有的角色 434

实务314如何启用(激活)数据库资源限制 434

实务315如何创建资源限制文件 435

实务316如何删除资源限制文件 435

实务317如何显示数据库中有哪些资源限制文件 436

实务318如何知道一个资源限制文件中有哪些资源限制 436

实务319如何为用户指派一个资源限制文件 437

实务320如何修改资源限制文件 437

第12章 数据导出 440

实务321使用参数文件,如何执行全库导出 443

实务322使用参数文件,如何执行用户模式导出 444

实务323使用参数文件,如何执行表模式导出 444

实务324如何把Oracle的数据导入到Excel中 445

实务325把Oracle数据导成文本文件之存储过程篇 449

实务326把Oracle数据导成文本文件之SPOOL篇 451

实务327把Oracle数据导成文本文件之PL/SQL Developer篇 452

实务328把Oracle数据导成文本文件之TOAD篇 454

实务329如何通过交互式执行数据的导出 455

实务330如何通过命令行方式(Command-Line)执行数据的导出 456

实务331如何通过参数文件方式执行数据的导出 456

实务332如何通过交互式模式导出用户zzp的表PROCESSING_LOGS 456

实务333如何通过交互式导出方式导出用户zzp拥有的所有表 457

实务334如何通过命令行方式导出用户test的所有数据 458

实务335如何把Oracle数据导成多个DUMP文件 458

实务336如何导出一个表的部分数据 459

实务337如何只导出表的结构 460

实务338如何定时导出 461

实务339如何判断导出是否成功 463

实务340如何把数据导出到磁带上 463

实务341执行数据导出时,报告错误“EXP-00071:QUERY parameter not compatible with Direct Path export” 463

实务342导出时,报告错误“snapshot too old”之现象一 464

实务343导出数据时,报告错误“snapshot too old”之现象二 465

实务344 导出数据时,报告错误“ORA-04063:package body'……'has errors” 466

实务345导出表空间中的数据时,报告错误“EXP-00044:must be connected 'ASP-SYSDBA'to do Point-in-time Recovery or Transportable Tablespace import” 467

实务346导出表空间时,报告错误“ORA-29341:The transportable set is not self-contained” 468

实务347导出数据时,报告错误“ORA-19206:Invalid value for query or REF CURSOR parameter” 469

实务348导出数据时,报告错误“ORA-21779:duration not active” 470

实务349导出数据时,报告“写导出文件错误(EXP-00002:error in writing to export file)” 471

实务350导出数据时,报告错误“ORA-04045:errors during recompilation/revalidationof SYS.DBMS REFRESH EXP SITES” 474

实务351导出数据时,报告错误“ORA-00942:table or view does not exist” 475

实务352导出数据时,报告无效的列名(ORA-00904:invalid column name) 475

实务353导出数据时,报告错误“ORA-00933:SQL command not properly ended” 477

实务354导出数据时,报告错误“EXP-00000:Message 0 not found; No message file for product=RDBMS, facili=EXP” 477

实务355导出数据时,报告错误“ORA-31600:invalid input value EMIT_SCHEMA for parameter NAME in function SET TRANSFORM PARAM” 478

实务356导出数据时,报告错误“EXP-00003:no definition of memo found for the segment(*109,*7313)” 479

实务357导出数据时,报告错误“EXP-00009:no privilege to export TEST's table STUDENT2” 480

实务358导出数据时,报告错误“EXP-00091:Exporting questionable statistics” 481

实务359用EXPORT工具导出数据时,报告错误“ORA-12540:TNS:internal limit restriction exceeded” 483

第13章 数据导入 485

实务360如何显示DUMP文件的内容 488

实务361把文本数据导入Oracle之PL/SQL Developer篇? 489

实务362把文本数据导入Oracle之TOAD篇 491

实务363如何把Excel的数据导入到Oracle中 494

实务364如何把数据导入到另外一个表空间 495

实务365如何只导入一个表的数据 495

实务366如何只导入一个用户的数据 496

实务367如何只导入表的结构 496

实务368如何把表空间从一个数据库移动到另外一个数据库 497

实务369如何把Access的数据导入Oracle中 500

实务370如何判断导入是否成功 503

实务371如何使用SQL*Loader装载数据到Oracle中 504

实务372导入数据时,报告错误“IMP-00020:long column too large for column buffer size (7)” 510

实务373执行导入操作时,报告“处理参数错误” 511

实务374导入被挂起的原因之——要创建的对象名已经被占用 511

实务375导入数据时,报告错误“IMP-00017:following statement fail with Oracle...” 512

实务376导入数据时,报告错误“ORA-00001:unique constraint(TEST.SYS_C*005*074) violated” 513

实务377为什么数据总是被导到system表空间 514

实务378执行数据导入后,为什么没有数据被导入 516

实务379导入数据时,报告错误“ORA-01401:inserted value too large for column” 517

实务380导入数据时,报告错误“IMP-00013:only a DBA can Import a file Exported by another DBA” 517

实务381没有导入任何数据,为什么表空间中已使用空间却增加了 518

实务382执行数据导入时,报告错误“IMP-00041:Warning:object created with compilation warnings” 520

实务383导入数据时,报告错误“ORA-01653:unable to extend table NBC.SSBS by*128 in tablespace TBS2” 520

实务384导入数据时,报告错误“IMP-00015:following statement failed because the object already exists” 521

实务385导入数据时,报告错误“IMP-00029:cannot qualify table name by owner (test…student2),use FROMUSER parameter” 521

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

实务386如何创建控制文件 525

实务387如何得到创建控制文件的脚本 528

实务388如何镜像控制文件 529

实务389如何知道当前数据库中控制文件的名字及位置 530

实务390如何删除控制文件 531

实务391如何移动控制文件 532

实务392如何知道控制文件的内容 533

实务393创建控制文件时,遗漏数据文件怎么办 533

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

实务394如何把超级用户权限(SYSDBA与SYSOPER)授予其他用户 541

实务395如何回收授予用户的超级用户权限 542

实务396如何知道系统中有哪些超级用户 542

实务397如何修改口令文件的最大用户数 543

实务398授予用户SYSDBA权限时,报告错误“ORA-01994:GRANT failed:password file missing or disabled” 543

实务399如何把Oracle的认证方式改成操作系统认证方式 544

实务400忘记了超级用户sys的密码,怎么办 546

实务401如何使普通用户sun成为超级用户 546

实务402连接数据时,报告错误“ORA-01017:invalid use_name/password; logon denied” 549

实务403进行授权时,报告错误“ORA-01996:GRANT failed:password file”is full” 550

实务404进行授权时,报告错误“ORA-01999:password file cannot be updated in SHARED mode” 551

实务405 ORA-01991:invalid password file... 552

实务406创建口令文件时,报告错误“OPW-00001:Unable to open password-file” 552

实务407登录数据库时,报告错误“ORA-12641:Authentication service failed to initialize” 553

第16章 联机日志文件管理 555

实务408如何创建一个联机日志组 557

实务409如何添加一个联机日志文件 557

实务410如何删除一个联机日志组 557

实务411如何删除一个联机日志文件 558

实务412如何清除(初始化)联机日志文件的内容(Clearing a Redo Log File) 558

实务413如何强迫日志切换 559

实务414如何镜像联机日志文件 559

实务415 最容易模糊的概念——联机日志文件的3个状态 560

实务416如何提高联机日志切换(Log Switch)的频率 560

实务417如何移动联机日志文件 560

实务418如何查看联机日志是否已经归档 561

实务419如何增加联机日志文件的尺寸 562

实务420如何知道数据库中有哪些联机日志组 564

实务421如何知道数据库中有哪些联机日志文件 564

实务422创建联机日志组时,报告错误“ORA-00336:log file size*4096 blocks is less than minimum*8192 blocks” 565

实务423删除联机日志组时,报告错误“ORA-01624:log 2 needed for crash recovery of instance nbo(thread 1)” 566

实务424删除联机日志文件组时,报告错误“ORA-00350:log 3 of thread 1 needs to be archived” 567

实务425删除联机日志文件组时,报告错误“ORA-01623:log 2 is current log for instance nbo(thread 1)-cannot drop” 567

实务426添加联机日志文件时,报告错误“ORA-00357:too many members specified for log file,the maximum is 3” 568

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

实务427如何知道SPFILE的名字及存放位置 571

实务428如何查看初始化参数的值 572

实务429如何使用参数文件启动数据库 572

实务430在数据库运行时,如何修改初始化参数文件(PFILE)中的参数 574

实务431在数据库运行时,如何修改服务器参数文件(SPFILE)中的参数 574

实务432如何根据PFILE创建SPFILE 575

实务433如何根据SPFILE创建PFILE 576

实务434修改初始化参数时,报告错误“ORA-02095:specified initialization parameter cannot be modified” 577

实务435修改初始化参数时,报告错误“ORA-32001:write to SPFILE requested but no SPFILE specified at STARTUP” 577

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

实务436如何创建到另外一个数据库的数据库链接 582

实务437如何删除数据库链接 582

实务438使用数据库链接,如何查询远程数据库中的数据 583

实务439如何利用数据库链接往远程数据库中插入数据 583

实务440如何利用数据库链接,修改远程数据库中的数据 583

实务441如何利用数据库链接删除远程数据库的数据 584

实务442使用数据库链接,如何把杭州数据库中的数据插入到北京(本地)的数据库中 584

实务443如何查询出数据库中有哪些数据库链接 585

实务444使用数据库链接时,报告错误“ORA-02019:Connection description for remote database not found” 586

实务445使用数据库链接时,报告错误“ORA-02085:database link LK.WXXR.COM.CN Connects to WM.WXXR.COM.CN” 587

实务446创建数据库链接时,报告错误“ORA-01017:invalid username/password;logon denied” 587

实务447创建数据库链接时,报告错误“ORA-12154:TNS:could not resolve the connect identifier specified” 588

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

实务448如何配置裸设备(Raw Device)? 592

实务449如何使用裸设备创建表空间 595

实务450如何把裸分区加入到表空间中 595

实务451如何把联机日志文件放到裸设备上 596

实务452如何把回滚表空间放到裸设备上 597

实务453如何使用RMAN把数据文件BBT1.dbf移动到裸设备上 598

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

实务454如何把数据库切换到归档模式 604

实务455如何把数据库切换到非归档模式 607

实务456如何手工归档联机日志文件 608

实务457如何启动归档进程 608

实务458如何定时删除归档日志文件 609

实务459如何知道数据库处于哪种归档模式 611

实务460如何指定归档路径(Archive Destination) 612

实务461如何停止归档进程 612

实务462如何知道数据库产生了哪些归档日志文件 613

实务463如何知道归档进程的信息 614

实务464如何知道数据库的归档路径 615

实务465如何删除归档日志文件 616

实务466如何设置归档日志文件的大小 617

实务467普通用户登录数据库时,报告错误“ORA-00257:archiver error.connect intectal only, until freed”案例一 617

实务468普通用户登录数据库时,报告错误“ORA-00257:archiver error.connect intectal only, until freed”案例二 618

实务469修改归档路径时,报告错误“ORA-16179:incremental changes to “LOG_ARCHIVE_DEST_1”not allowed with SPFTLE” 620

实务470手工归档时,报告错误“ORA-16020:less destinations available than specified by LOG_ARCHIVE_MIN_SUCCEED DEST”之案例一 621

实务471手工归档时,报告错误“ORA-16020:less destinations available than specified by LOG_ARCHIVE_MIN_SUCCEED DEST”之案例二 622

实务472设置归档模式时,报告错误“ORA-00265:instance recovery required,cannot set ARCHIVELOG mode” 623

实务473启动数据库时,报告错误“ORA-00439:feature not enabled:Managed Standby” 624

实务474启动数据库时,报告错误“ORA-32006:LOG_ARCHIVE START initialization parameter has been deprecated” 625

实务475执行ARCHIVE LOG LIST命令时,报告权限不足 626

实务476启动数据库时,报告错误“ORA-16024:parameter LOG_ARCHIVE_DEST_2 cannot be parsed” 627

实务477启动数据库时,报告错误“ORA-09291:sksachk:invalid device specified for archive destination” 627

实务478启动数据库时,报告错误“ORA-16019:cannot use db recovery_file_dest with LOG_ARCHIVE_DEST or LOG_ARCHIVE_DUPLEX_DEST” 628

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

实务479如何备份整个数据库 637

实务480如何备份一个数据文件 638

实务481如何备份表空间 639

实务482使用RMAN进行备份时,如何产生“双备份” 639

实务483如何备份归档日志文件 640

实务484如何备份控制文件 641

实务485控制文件被RMAN自动备份到哪里 642

实务486如何备份SPFILE 643

实务487如何将RMAN命令执行的结果写入到一个日志文件中 644

实务488备份归档日志文件时,报告错误“RMAN-06059:expected archived log not found, lost of archived log compromises recoverability” 644

实务489备份数据库时,报告错误“ORA-27063:skgfospo:number of bytes read/written is incorrect” 646

实务490备份数据库时,报告错误“ORA-19504:failed to create file“/export/back_ arch_1si*005cc_1_1”” 646

实务491备份数据库时,报告错误“ORA-27037:unable to obtain file status” 647

实务492进行备份时,报告错误“ORA-00230:operation disallowed:snapshotcontrol file enqueue unavailable” 648

实务493备份归档日志文件时,报告错误“RMAN-06089:archived log\ARCHIVE\ DBT*001S*03368.ARC not found or out of sync with catalog” 649

实务494备份数据库时,报告错误“PLS-00553:character set name is not recognized” 650

实务495备份归档日志文件以后,没有自动删除所有归档路径下的归档日志文件 650

实务496备份数据时,报告错误“ORA-00600:internal error code, arguments:[kghstack underflow internal_2], [0x*111C1CF30],[],[],[],[],[],[]” 651

实务497备份数据库成功完成,但最后总会报错 652

实务498备份数据库时,报告错误“RMAN-06056:could not access datafile 10” 652

实务499备份表空间时,报告错误“ORA-19602:cannot backup or copy active file in NOARCHIVELOG mode” 653

实务500备份数据库时,报告错误“ORA-19815:WARNING:db_recovery_file_ dest size of*104*8576 bytes is*100.00% used” 654

实务501备份表空间时,报告错误“ORA-01123:cannot start online backup; media recovery not enabled” 655

实务502注册数据库时,报告错误“RMAN-10031:ORA-65535 occurred during call to BMS_BACKUP RESTORE.DEVICESTATUS” 656

实务503启动RMAN时,报告错误“RMAN-06000:could not open recovery manager library file” 656

实务504使用RMAN连接目标数据库时,报告错误“ORA-01031:insufficient privileges” 657

实务505备份归档日志文件时,报告错误“RMAN-20242: specification does not match any archive log in the recovery catalog” 658

实务506备份数据库时,报告错误“ORA-19566:exceeded limit of 0 corrupt blocks for file /export/home/nbodata/nbo/users01.dbf” 659

实务507装载介质管理库失败(ORA-27211:Failed to load Media Management Library) 660

实务508如何创建恢复目录 661

实务509如何把数据库注册到恢复目录 663

实务510用report命令查询恢复目录时,报告错误“RMAN-20087:invalid OFFLINE range online_ scn” 664

实务511 RMAN-12014:multiple records for default channel configuration for DISK found in catalog 664

实务512创建恢复目录,发生错误 665

实务513执行RMAN命令时,报告错误“ORA-01455:converting column overflows integer datatype” 666

实务514创建恢复目录时,报告错误“RMAN-06002:command not allowed when not connected to a recovery catalog” 666

实务515备份数据库时,报告错误“RMAN-06181:multiple channels require Enterprise Edition” 667

实务516 RMAN-20001:TARGET database not found in recovery catalog 668

第22章 失而复得——数据库恢复 669

实务517损坏一个联机日志文件(Online Redo Log)的恢复 673

实务518损坏不活动的联机日志组(Online Redo Log Group)的恢复 675

实务519损坏一个活动的联机日志组(Online Redo Log Group)的恢复 677

实务520损坏一个当前的联机日志组(Online Redo Log Group)的恢复 682

实务521初始化(Clear)联机日志文件(Online Redo Log)时,报告错误“ORA-02236:invalid file name” 687

实务522损坏一个控制文件,如何进行恢复 687

实务523损坏了当前所有的控制文件,只有控制文件的自动备份(Control File Autobackups ),如何进行恢复 688

实务524损坏了当前所有的控制文件,只有RMAN使用Recovery Catalog生成的备份,如何进行恢复 690

实务525损坏了当前所有的控制文件,只有用户管理备份(User-Managed)生成的控制文件备份,如何进行恢复 692

实务526损坏了当前所有的控制文件,没有RMAN使用Recovery Catalog生成的备份,没有控制文件的自动备份,也没有用户管理生成的控制文件备份,如何进行恢复 695

实务527从控制文件的自动备份中还原控制文件时,报告错误“RMAN-06172:no autobackup found or specified handle is not a valid copy or piece” 698

实务528还原控制文件时,报告错误“RMAN-06004:ORACLE error FROM recovery Catalog Database:RMAN-20005:Target Database name is ambiguous ” 699

实务529数据文件中有坏块,如何进行恢复 699

实务530在数据库打开的情况下,误删除一个数据文件,有数据文件的备份,如何进行恢复 700

实务531在数据库打开的情况下,误删除一个数据文件,没有数据文件的备份,如何进行恢复 702

实务532数据库损坏,但是只有RESETLOGS之前的备份,如何进行恢复 702

实务533如何把数据库恢复到RESETLOGS之前的某个状态 704

实务534执行数据库恢复时,报告错误“ORA-01244:unnamed datafile(s)added to control file by media recovery” 706

实务535执行数据库恢复时,报告错误“RMAN-06054: media recovery requesting unknown log:thread 1 scn*223*801” 707

实务536 ORA-01861:literal does not match format string 708

实务537启动RMAN时,RMAN挂起 709

实务538 ORA-19910:cannot change recovery target incarnation in control file 710

实务539恢复数据库时,报告错误“RMAN-20207:UNTIL TIME or RECOVERY WINDOW is before RESETLOGS time” 710

实务540误删除(DELETE)一个表,如何进行恢复之案例一——利用表的闪回(Flash Table) 711

实务541误删除(DELETE)一个表,如何进行恢复之案例二——利用数据库闪回 712

实务542误删除(DELETE)一个表,如何进行恢复之案例三——使用Tablespace Point-in-Time Recovery (TSPTTR) 715

实务543误删除(DROP)一个表,如何进行恢复之案例一——使用回收站(Recycle Bin) 716

实务544误删除(DROP)一个表,如何进行恢复之案例二——使用Tablespace Point-in-Time Recovery (Windows篇) 717

实务545误删除(DROP)一个表,如何进行恢复之案例二——使用Tablespace Point-in-Time Recovery (Linux/UNIX篇) 729

实务546误删除(TRUNCATE)一个表,如何进行恢复 740

实务547如何启用数据库闪回 741

实务548连接辅助实例时,报告错误“ORA-04031:unable to allocate64 bytes of shared memory ” 743

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

实务549如何在select语句中使用回车键 749

实务550如何选出表中前5行数据 749

实务551如何得到当前系统日期 750

实务552如何得到当前系统的时间戳 751

实务553 SQL语句中的IF语句 752

实务554执行查询语句时,如何给行加上序列号 754

实务555如何在SELECT语句中使用子查询(Subquery) 754

实务556如何对分区表中指定的分区进行查询 756

实务557在查询表时,报告错误“ORA-01591:lock held by in-doubt Distributed Transaction 21.89.*1537” 756

实务558在SELECT中使用函数时,报告错误“ORA-14551:cannot perform a DML operation inside a query” 757

实务559对表进行操作时,为什么总提示表不存在 759

实务560往分区表中插入数据时,报告错误“ORA-14402:updating partition key column would cause a partition change” 761

实务561往表中插入数据时,报告错误“ORA-00372:file 8 cannot be modified at this time” 763

实务562在向表插入数据时,报告违反唯一性错误(ORA-00001) 764

实务563如何将把表student2与student3的数据插入到表tar中 765

实务564如何插入日期型的数据 765

实务565如何往指定的分区中插入数据 766

实务566往分区表中插入数据时,报告错误“ORA-14401:inserted partition key is outside specified partition” 766

实务567如何根据一张表中的数据更新另外一张表 768

实务568执行update语句时,报告错误“ORA-01427:single-row subquery returns more than one row” 769

实务569如何删除表中的重复记录 771

实务570如何删除一张表中所有的数据 772

实务571如何得到两个表中不相同的记录 774

实务572如何找出A表比B表多出的记录 775

实务573如何找出两个表中相同的记录 776

实务574 ORA-00937:not a single-group group function 777

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

实务575如何创建表 781

实务576如何删除表 782

实务577如何找出表sales3中有哪些链接行(Chained Row) 782

实务578如何把表PROCESSING LOGS从表空间JIRA移动到表空间 testSTATION 783

实务579如何知道表PROCESSINGwe LOGS属于哪个表空间 784

实务580如何知道表PROCESS