资深教师经验凝聚
全程指导Oracle 10g应用
本书作者结合自己多年实践经验,从Oracle开发应用中遇到的问题着手,全面系统地介绍Oracle的安装与卸载、数据字典、安全管理以及用PL/SQL开发Oracle子程序等实用技术和方法。每章内容后面均附有在开发和应用中经常遇到的诸多问题,并提供解决方法和程序脚本。
本书内容丰富、图文并茂、注重实用,理论讲解与案例相结合,实现问题解答和实例解析的统一,为读者提供了一条切实可行的学习和掌握Oracle的捷径。
本书特点
● 作者有多年学校授课和企业培训经验。
● 介绍了从Oracle 9i 到10g的迁移。
● Oracle 10g从安装到使用全程指导。
● 案例精讲帮助读者掌握实践经验。
● 提供实践练习和授课PPT,可到机工新阅读网站下载。
无
Oracle是当今各领域中应用比较广泛的一个大型关系型数据库产品,它以高稳定性、可伸缩性强以及安全可靠等特性受到越来越多的系统开发人员的青睐,成为企业开发信息系统的首选产品。同其他数据库管理系统相比,Oracle产品较为庞大而复杂,因此,令许多数据库管理系统的学习者望而却步,究其原因,主要是没有掌握Oracle技术的脉络。
本书正是根据作者在高校和各种数据库培训班执教多年的教学经验,结合开发Oracle数据库的实践经验编撰而成的。本书编排的内容次序非常适合读者学习和把握Oracle的脉络,所选择的问题都是在实际开发应用Oracle过程中经常遇到而要解决的。通过学习解决这些问题的方法,可以使读者比较深入地认识和掌握Oracle技术的内涵,快速地进入开发角色。
本书共有11章,各章的主要内容如下:
第1章介绍Oracle 10g的安装卸载与使用环境,主要包括Oracle安装环境及方法,安装后的基本环境及服务,Oracle卸载,还包括验证数据库的安装,系统临时空间不足、监听服务无法启动以及Oracle默认帐户/口令等问题的精讲。
第2章阐述Oracle的体系结构,内容涉及Oracle数据库逻辑结构、物理结构以及Oracle文件的目录结构等。在案例精讲中对数据块校验、表的移动、数据文件丢失或损坏、丢失控制文件、数据文件更名以及数据库内文件的复制传输等问题的解决做了全面细致的讲解。
第3章主要介绍SQL及PL/SQL的运行环境及其他开发工具。
第4章主要介绍Oracle数据字典管理与数据类型,对数据字典的分类、使用方法以及各种对象的具体查询等内容做了详细的介绍。
第5章阐述数据库对象的创建与使用,主要包括各种类型的表创建以及适用情形,如外部表、分区表、嵌套表、全局临时表等;完整性约束的管理;索引,包括B树索引、基于函数的索引、位图索引、反向索引、降序索引、压缩索引等的使用方法及其适用情形等。在案例精讲中,对表压缩、约束的生效与失效、表的层次结构查询、防止删除表与对象、提取创建外键约束的脚本以及联机重新定义表结构的方法做了详细讲解。
第6章重点介绍PL/SQL程序设计,内容涵盖PL/SQL中常用的函数、异常处理等,并对随机数生成、分析函数、多表合并、单表分解、Bulk Collect/FORAll与批量数据等问题给出解决方法。
第7章主要介绍子程序和触发器,包括函数、存储过程、包以及触发器等。对子程序的调用者权限、表函数、传递触发器标识:new和:old、自治事务以及Java触发器也给出了具体的解决方法。
第8章主要介绍 LOB与面向对象的数据管理。
第9章主要介绍Oracle的监听器和网络设置,其中包括Oracle网络体系结构,Oracle Net参数文件的管理,监听器与网络连接配置,Oracle Net的管理等。针对应用中经常出现问题,如保护与设置监听器,监听器远程管理,端口号,客户机与服务器的连接,外部过程调用,OPS连接,不能解析服务名,没有监听器以及监听服务无法启动等都给出了详细的解决方法。
第10章阐述的是数据库的安全管理。包括加密Oracle子程序,存储应用程序用户名和口令,禁止修改删除数据库对象,Oracle数据加密以及丢失SYSMAN及资料档案库用户口令的解决方法。
第11章阐述的是数据库管理案例,包括导出数据库模式的DDL脚本,管理Oracle数据库实例的方法,数据恢复与flashback,管理资料档案库,日志分析与LogMiner、ASM实例,数据泵以及更改数据库字符集等具体方法。
本书包含丰富的图表,其中大部分是作者根据多年实践总结出来的,图示简练准确、易于理解。并附有解决问题的具体步骤方法和相应的脚本。还为使用本书作为教材的教师免费提供教辅资料,需要者请登录华章网站:www.hzbook.com。
由于时间仓促,书中难免有不足之处,恳请广大读者指正。
作者
2006年10月
资深教师经验凝聚 全程指导Oracle 10g应用 本书作者结合自己多年实践经验,从Oracle开发应用中遇到的问题着手,全面系统地介绍Oracle的安装与卸载、数据字典、安全管理以及用PL/SQL开发Oracle子程序等实用技术和方法。每章内容后面均附有在开发和应用中经常遇到的诸多问题,并提供解决方法和程序脚本。 本书内容丰富、图文并茂、注重实用,理论讲解与案例相结合,实现问题解答和实例解析的统一,为读者提供了一条切实可行的学习和掌握Oracle的捷径。 本书特点 ● 作者有多年学校授课和企业培训经验。 ● 介绍了从Oracle 9i 到10g的迁移。 ● Oracle 10g从安装到使用全程指导。 ● 案例精讲帮助读者掌握实践经验。 ● 提供实践练习和授课PPT,可到华章网站下载。
任树华 主要从事计算机科学、多媒体数据库、软件工程以及电子商务等领域的教学与科研工作,具有多年的Oracle、MS SQL Server 以及数据库原理与应用等课程的授课经验。
任树华:任树华: 主要从事计算机科学、多媒体数据库、软件工程以及电子商务等领域的教学与科研工作,具有多年的Oracle、MS SQL Server 以及数据库原理与应用等课程的授课经验。
前言
第1章Oracle安装卸载与使用环境1
11Oracle产品1
111产品的分类1
112产品的获取1
12Oracle Database的安装环境及方法2
121安装条件2
122安装Oracle Database 10g3
13Oracle 数据库文件目录结构7
14Oracle Database 10g安装后的基本环境与服务8
141安装后的程序组8
142Oracle数据库服务9
15卸载Oracle14
151不完全安装的手工卸载14
152单独组件的卸载14
153安装后的完全卸载14
16客户端产品的安装18
17企业管理产品的安装19
171安装需求19
172安装说明20
173服务与管理方法22
174企业管理器目录结构25
175删除企业管理器Oracle EnterpriseManager 10g27
案例精讲27
问题1验证数据库安装27
问题2Oracle 服务的参数28
问题3Oracle 默认帐户和口令30
问题4系统临时空间不足33
第2章Oracle体系结构35
21Oracle数据库逻辑结构35
211Oracle系统体系结构35
212Oracle逻辑结构36
213管理表空间39
214表空间的相关查询42
22Oracle数据库物理结构43
221参数文件43
222控制文件46
223数据文件48
224重做日志文件49
案例精讲51
问题1数据块校验与记录恢复51
问题2表的移动54
问题3更改归档日志模式58
问题4丢失控制文件61
问题5块中记录行数64
问题6数据文件更名66
问题7SYSAUX表空间69
问题8数据库内文件的传输71
第3章SQL及PL/SQL的使用环境73
31SQL及PL/SQL的使用环境73
32SQL*Plus74
321SQL*Plus工具的主要功能74
322启动SQL*Plus并快速登录数据库的方法74
323SQL语句、PL/SQL块和SQL*Plus
命令之间的区别77
324SQL*Plus安全限制选项77
325Qracle Database 10g新增的几个主要功能77
33PL/SQL Developer及TOAD开发工具78
331PL/SQL Developer78
332TOAD78
34连接与会话79
案例精讲80
问题1保存SQL*Plus输出80
问题2SQL*Plus Copy命令81
问题3在SQL*Plus中改变字体和字符集82
第4章Oracle数据字典管理与数据类型85
41Oracle数据字典85
411数据字典的概念85
412数据字典的拥有者85
413数据字典的用途85
414数据字典的分类86
415数据字典的使用时机86
42数据字典的使用方法86
421查询用户信息86
422查询表空间87
423查询数据库对象87
424查询表87
425查询索引88
426查询序列88
427查询视图88
428查询聚簇和快照89
429查询同义词和数据库链接89
4210查询触发器89
4211查询函数和过程的状态与代码 89
4212查询约束90
4213查询回滚段90
4214查询作业90
4215查询参数91
4216其他信息的查询91
4217查询回收站91
43数据分类与数据类型92
431标量数据类型92
432PL/SQL数据类型93
案例精讲93
问题1元数据查询93
问题2数据字典更新95
问题3数据字典保护95
问题4SYS_CONTEXT与环境信息96
问题5获取主机名和IP地址99
第5章数据库对象的创建与使用101
51数据库对象概述101
52表103
521表的概述103
522表的创建与管理104
523修改表105
524常见的表管理命令106
53表的类型108
531常规表108
532全局临时表108
533索引组织表110
534外部表112
535分区表112
536簇表117
537嵌套表120
54完整性约束123
541实体完整性123
542参照完整性124
543约束的属性125
544约束的使用125
545约束对象的查询128
546查询违反约束的行129
55索引129
551B树索引129
552基于函数的索引131
553位图索引132
554反向索引133
555降序索引133
556压缩索引133
557本地索引和全局索引134
558修改索引134
案例精讲136
问题1表压缩136
问题2约束的生效与失效139
问题3外键约束更名143
问题4表的层次结构查询145
问题5外部表147
问题6序列153
问题7dual表154
问题8防止删除表与对象155
问题9提取创建外键约束的脚本156
问题10联机重新定义表结构157
第6章PL/SQL程序设计162
61PL/SQL基本结构与函数162
611SQL与PL/SQL162
612基本结构162
613变量与数据类型162
614函数165
62游标168
621游标的概念168
622显式游标的处理168
623游标属性169
624游标与for循环170
625游标的where current of子句170
626隐式游标171
627游标变量171
63异常处理173
631Oracle预定义的异常处理173
632非预定义的Oracle异常174
633用户自定义的异常175
634raise_application_error过程175
案例精讲176
问题1随机数生成176
问题2分析函数179
问题3多表合并185
问题4单表分解189
问题5Bulk Collect/FORALL与批量数据191
第7章子程序和触发器196
71子程序196
711函数196
712存储过程199
72包201
73触发器204
731触发器的基本概念与用途204
732触发器的类型与通用格式205
733创建触发器的通用格式205
734DML触发器206
735替代触发器211
736系统触发器212
737触发器的限制215
738触发器的状态215
案例精讲216
问题1子程序的调用者权限AUTHID216
问题2表函数218
问题3传递触发器标识:new和:old223
问题4触发器与自治事务224
问题5Java触发器228
第8章LOB与面向对象的数据管理230
81LOB的使用230
811LOB类型230
812LOB定位指针230
813内部LOB与外部LOB的区别231
814DDL命令和LOB232
815dbms_lob系统包235
816LOB的约束239
817使用LOB的例子239
82对象类型243
821对象类型的定义243
822对象表245
823对象关系表245
案例精讲248
问题1Word文档存储与查询248
问题2批量数据装载与SQL*Loader250
第9章Oracle的监听器和网络设置262
91Oracle网络体系结构262
911C/S应用体系结构262
912Web应用连接263
92Oracle Net参数文件的管理265
921Net参数文件的配置格式265
922参数文件266
93监听器与网络连接配置276
931客户端连接服务器的基本过程276
932命名方法276
933参数文件与服务名解析277
934连接配置279
94Oracle Net的管理280
941监听器控制280
942tnsping 连接测试命令283
943Oracle Net Manager283
944Oracle Net Configuration Assistant283
案例精讲284
问题1保护与设置监听器284
问题2监听器远程管理287
问题3端口号287
问题4客户机与服务器的连接291
问题5外部过程调用294
问题6OPS连接299
问题7ORA12154:TNS:不能解析服务名299
问题8ORA12541:TNS:没有监听器302
问题9监听服务无法启动303
第10章数据库的安全管理305
101Oracle的安全体系结构305
102用户管理306
1021创建用户307
1022更改用户口令307
1023锁定用户308
1024删除用户308
1025查询用户信息308
103权限与角色309
1031权限309
1032授予权限格式309
1033with admin option与with grantoption的区别310
1034角色311
1035特殊帐户与权限311
104概要文件与资源管理312
1041创建概要文件313
1042使用概要文件管理用户口令314
105口令文件315
1051口令文件的位置315
1052创建口令文件315
1053向口令文件中添加用户315
1054查询口令文件中的用户316
1055删除口令文件316
1056重建口令文件316
106数据库安全的措施317
1061建立数据库的安全机制及实施计划317
1062安装数据库317
1063数据库内部的管理317
1064资源管理318
1065网络数据通信的管理318
1066Oracle高级安全技术319
1067其他措施319
案例精讲321
问题1加密Oracle子程序321
问题2存储应用程序用户名和口令323
问题3跟踪用户月登录情况326
问题4禁止修改删除数据库对象327
问题5数据加密333
问题6DBA更改用户口令337
问题7口令与用户名相同339
问题8限制用户更改口令341
问题9限定IP访问数据库343
问题10锁住SQL*Plus的通道345
问题11用户登录与退出的审计348
问题12SYSMAN口令352
第11章数据库管理案例精讲359
问题1创建数据库361
问题2更改数据库名367
问题3更改SID371
问题4复制或克隆数据库373
问题5导出数据库DDL脚本377
问题6导出模式对象脚本379
问题7移动数据库文件位置382
问题8数据库移植(表空间传输)386
问题9企业管理器391
问题10管理数据库实例 399
问题11企业管理器框架安全407
问题12管理资料档案库412
问题13字符集的转换、乱码及校验415
问题14日志分析与LogMiner433
问题15数据恢复与flashback439
问题16ASM实例450
问题17数据泵456
参考文献461