资深教师经验凝聚
全程指导Oracle 10g应用
本书作者结合自己多年实践经验,从Oracle开发应用中遇到的问题着手,全面系统地介绍Oracle的安装与卸载、数据字典、安全管理以及用PL/SQL开发Oracle子程序等实用技术和方法。每章内容后面均附有在开发和应用中经常遇到的诸多问题,并提供解决方法和程序脚本。
本书内容丰富、图文并茂、注重实用,理论讲解与案例相结合,实现问题解答和实例解析的统一,为读者提供了一条切实可行的学习和掌握Oracle的捷径。
本书特点
● 作者有多年学校授课和企业培训经验。
● 介绍了从Oracle 9i 到10g的迁移。
● Oracle 10g从安装到使用全程指导。
● 案例精讲帮助读者掌握实践经验。
● 提供实践练习和授课PPT,可到华章网站下载。
封面图
目录
- 前言
- 第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