第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