描述
开 本: 16开纸 张: 胶版纸包 装: 平装-胶订是否套装: 否国际标准书号ISBN: 9787302501787丛书名: 高等学校应用型特色规划教材
《Oracle 11g数据库应用简明教程(第2版)》是针对Oracle Database 11g编写的,以Oracle数据库的常用知识点作为主要的介绍对象,并尽量避免一些生僻的理论知识,同时尽可能采用实例讲解,目的就是让读者轻松地进入Oracle的大门,为以后更深入的学习打好基础。
为了使读者由浅入深地掌握Oracle数据库的各方面技术,《Oracle 11g数据库应用简明教程(第2版)》对第1版的章节进行了调整,另外根据实际应用的情况,删除了一些不太常用的知识点,*终希望读者轻松掌握Oracle数据库知识。
《Oracle 11g数据库应用简明教程(第2版)》共分为16章,概要内容如下。
第1章:Oracle关系数据库。简单介绍什么是关系数据库,以及如何在Windows环境下正确安装Oracle Database 11g R2。
第2章:Oracle数据库体系结构。概要地介绍Oracle数据库的体系结构,包括物理存储结构、逻辑存储结构、Oracle进程结构,并对Oracle中的数据字典做了简单介绍,目的是让读者对Oracle数据库有一个整体的认识,为后面的学习做好铺垫。
第3章:使用SQL*Plus工具。介绍Oracle自带的SQL*Plus开发工具的使用,主要是对SQL*Plus中的一些常用命令进行讲解。
第4章:SQL语言基础。介绍Oracle数据库的SQL语言基础,包括基本的SELECT、INSERT、UPDATE和DELETE语句的使用,以及Oracle提供的一些函数应用,并在*后简单介绍了Oracle事务的处理。
第5章:多表查询。深入介绍SQL的多表查询,包括子查询、连接查询和集合操作。
第6章:PL/SQL基础。介绍PL/SQL程序块的构成、常量与变量的使用、条件循环语句的使用、游标的使用、异常的处理等。
第7章:存储过程、函数、触发器和包。介绍PL/SQL命名程序块,主要包括存储过程、函数、触发器和程序包。
第8章:管理控制文件和日志文件。介绍如何管理Oracle数据库系统的控制文件和日志文件,并介绍如何管理归档日志。
第9章:管理表空间和数据文件。介绍如何管理Oracle数据库中*的逻辑存储结构——表空间,表空间在物理上对应Oracle的数据文件。Oracle表空间的类型有很多种,如基本表空间、临时表空间、撤销表空间等。
第10章:数据表对象。介绍数据库*基本的对象——表,以及针对表的完整性约束。
第11章:其他数据库对象。Oracle中除了基本的表以外,还有如视图、索引等数据库对象。本章介绍Oracle中的索引、视图、序列和同义词。
第12章:用户管理与权限分配。就Oracle数据库的安全管理方面进行讲解,主要内容包括数据库用户的创建与管理、Oracle中的权限与角色的授予与撤销。
第13章:数据导出和导入。介绍如何使用Oracle中的EXPDP/IMPDP工具对数据进行导出和导入。
第14章:使用RMAN工具。介绍如何使用恢复管理器(RMAN)实现数据库的备份与恢复。
第15章:Oracle闪回技术。为了让用户可以及时地获取误操作之前的数据,Oracle提供了各种闪回技术。本章重点介绍Oracle提供的闪回技术。
第16章:生产管理系统。本章以车辆营运企业的生产管理为环境,从实际应用的角度出发,以面向对象的方式分析、开发一个基于Oracle数据库的信息管理系统。
《Oracle 11g数据库应用简明教程(第2版)》从初学者的角度出发,以通俗易懂的语言,丰富多彩的实例,详细介绍了使用Oracle进行数据管理的各方面技术。全书共分16章,主要内容包括:Oracle11g关系数据库概述,Oracle数据库体系结构,使用SQL*Plus工具,SQL语言基础,多表查询,PL/SQL编程,管理控制文件和日志文件,管理表空间和数据文件,数据表对象,其他数据对象,用户管理与权限分配,数据导出和导入,使用RMAN工具,Oracle闪回技术,*后介绍基于Oracle数据库的Web应用实例——生产管理系统。
书中所有知识都结合具体实例进行介绍,让读者轻松领会Oracle管理数据库的精髓,快速提高数据库管理技能。另外,本书除了纸质内容之外,附带资源还给出了海量开发资源库。
《Oracle 11g数据库应用简明教程(第2版)》针对的是初学者,适合作为高等院校数据库技术专业、信息管理与信息系统专业的教材。
目 录
第1章 Oracle关系数据库 1
1.1 关系数据模型 1
1.2 安装Oracle Database 11g 2
1.2.1 在Windows环境下的安装过程 2
1.2.2 Oracle服务管理 7
1.3 创建数据库 8
1.4 Oracle账户解锁 13
第2章 Oracle数据库体系结构 15
2.1 物理存储结构 15
2.1.1 数据文件 15
2.1.2 控制文件 17
2.1.3 重做日志文件 17
2.1.4 其他文件 18
2.2 逻辑存储结构 19
2.2.1 表空间(Tablespace) 19
2.2.2 段(Segment) 20
2.2.3 区(Extent) 21
2.2.4 数据块(Block) 21
2.3 Oracle的进程结构 21
2.3.1 数据库写进程(DBWR) 21
2.3.2 重做日志写进程(LGWR) 22
2.3.3 校验点进程(CKPT) 22
2.3.4 系统监控进程(SMON) 23
2.3.5 进程监控进程(PMON) 23
2.3.6 归档日志进程 23
2.4 Oracle的内存结构 24
2.4.1 系统全局区(SGA) 24
2.4.2 程序全局区(PGA) 27
2.5 Oracle的服务器和实例 27
2.6 数据字典 28
2.6.1 Oracle数据字典介绍 28
2.6.2 Oracle常用的数据字典 29
2.7 习题 32
第3章 使用SQL*Plus工具 34
3.1 SQL*Plus概述 34
3.1.1 SQL*Plus的主要功能 34
3.1.2 用SQL*Plus连接与断开数据库 35
3.2 使用SQL*Plus命令 37
3.2.1 使用DESCRIBE命令查看表结构 37
3.2.2 使用SQL*Plus语句快速编辑SQL语句 38
3.2.3 使用SAVE命令将缓冲区内容保存到文件中 40
3.2.4 使用GET命令读取文件内容到缓冲区中 41
3.2.5 使用START命令读取并运行文件内容 41
3.2.6 使用EDIT命令编辑缓冲区内容或文件内容 42
3.2.7 使用SPOOL命令复制输出结果到文件 42
3.2.8 使用临时变量 43
3.2.9 使用已定义变量 46
3.3 格式化查询结果 48
3.3.1 格式化列的显示效果 48
3.3.2 设置一页显示多少行数据 49
3.3.3 设置一行显示多少个字符 50
3.3.4 清除列格式 50
3.4 习题 51
第4章 SQL语言基础 53
4.1 SQL语言概述 53
4.2 使用SELECT语句检索数据 54
4.2.1 基本的SELECT语句 54
4.2.2 WHERE子句 56
4.2.3 ORDER BY子句 58
4.2.4 DISTINCT关键字 58
4.3 使 用 函 数 60
4.3.1 字符串函数 60
4.3.2 数字函数 62
4.3.3 日期时间函数 63
4.3.4 转换函数 64
4.3.5 聚合函数 66
4.3.6 GROUP BY子句 67
4.3.7 HAVING子句 68
4.4 数据操纵语言(DML) 69
4.4.1 INSERT语句 69
4.4.2 UPDATE语句 71
4.4.3 DELETE语句 73
4.5 事务处理 74
4.5.1 事务的概念和特性 74
4.5.2 事务处理 74
4.6 习题 77
第5章 多表查询 79
5.1 子查询 79
5.1.1 在WHERE子句中使用子查询 79
5.1.2 在HAVING子句中使用子查询 81
5.1.3 使用IN操作符处理多行子查询 82
5.1.4 使用ANY操作符处理多行子查询 83
5.1.5 使用ALL操作符处理多行子查询 84
5.1.6 实现多列子查询 84
5.1.7 实现关联子查询 85
5.1.8 实现嵌套子查询 86
5.2 连接查询 87
5.2.1 使用等号(=)实现多个表的简单连接 88
5.2.2 使用INNER JOIN实现多个表的内连接 89
5.2.3 使用OUTER JOIN实现多个表的外连接 92
5.2.4 使用CROSS JOIN实现交叉连接 94
5.3 集合查询 94
5.3.1 使用UNION操作符获取两个结果集的并集 95
5.3.2 使用INTERSECT操作符获取两个结果集的交集 95
5.3.3 使用MINUS操作符获取两个结果集的差集 96
5.4 习题 96
第6章 PL/SQL基础 98
6.1 PL/SQL 98
6.1.1 PL/SQL程序块的基本结构 98
6.1.2 常量和变量 99
6.1.3 %TYPE类型和%ROWTYPE类型 101
6.1.4 PL/SQL记录类型和表类型 103
6.1.5 PL/SQL程序注释 105
6.2 条件选择语句 106
6.2.1 IF条件语句 106
6.2.2 CASE表达式 108
6.3 循环语句 110
6.3.1 LOOP循环语句 110
6.3.2 WHILE循环语句 111
6.3.3 FOR循环语句 111
6.4 游标 113
6.4.1 显式游标 113
6.4.2 隐式游标 115
6.4.3 游标FOR循环 116
6.4.4 使用游标更新数据 116
6.5 异常 117
6.5.1 异常处理 117
6.5.2 预定义异常 118
6.5.3 非预定义异常 120
6.5.4 自定义异常 121
6.6 习题 121
第7章 存储过程、函数、触发器和包 124
7.1 存 储 过 程 124
7.1.1 创建与调用存储过程 124
7.1.2 带参数的存储过程 126
7.1.3 修改与删除存储过程 129
7.1.4 查询存储过程的定义信息 129
7.2 函数 129
7.3 触发器 131
7.3.1 认识触发器 131
7.3.2 DML触发器 132
7.3.3 INSTEAD OF触发器 135
7.3.4 系统事件触发器 136
7.3.5 DDL触发器 137
7.3.6 禁用与启用触发器 138
7.3.7 修改与删除触发器 138
7.4 程序包 138
7.4.1 创建程序包 139
7.4.2 调用程序包中的元素 140
7.4.3 删除程序包 141
7.5 习题 141
第8章 管理控制文件和日志文件 143
8.1 管理控制文件 143
8.1.1 查看控制文件 143
8.1.2 控制文件的多路复用 144
8.1.3 创建控制文件 145
8.1.4 备份控制文件 148
8.1.5 恢复控制文件 149
8.1.6 删除控制文件 150
8.2 管理重做日志文件 150
8.2.1 获取重做日志文件信息 150
8.2.2 增加日志组及其成员 151
8.2.3 修改重做日志的位置或名称 152
8.2.4 删除重做日志组及其成员 154
8.2.5 切换日志文件组 155
8.2.6 清空日志文件组 156
8.3 管理归档日志文件 156
8.3.1 数据库工作模式 156
8.3.2 设置归档目录 158
8.3.3 归档进程 159
8.4 习题 160
第9章 管理表空间和数据文件 162
9.1 表空间与数据文件的关系 162
9.2 Oracle的默认表空间 163
9.2.1 SYSTEM表空间 163
9.2.2 SYSAUX表空间 164
9.3 创建表空间 165
9.3.1 创建表空间的语法 165
9.3.2 创建撤销表空间 166
9.3.3 创建非标准块表空间 167
9.3.4 建立大文件表空间 168
9.4 维护表空间与数据文件 170
9.4.1 设置默认表空间 170
9.4.2 更改表空间的状态 171
9.4.3 重命名表空间 174
9.4.4 删除表空间 175
9.4.5 管理表空间对应的数据文件 176
9.5 管理临时表空间 178
9.5.1 创建临时表空间 178
9.5.2 查询临时表空间的信息 179
9.5.3 关于临时表空间组 179
9.6 习题 180
第10章 数据表对象 182
10.1 创建数据表 182
10.1.1 数据类型 182
10.1.2 创建数据表 184
10.1.3 创建临时表 185
10.1.4 DUAL表的作用 187
10.2 维护数据表 187
10.2.1 增加和删除列 188
10.2.2 修改列 189
10.2.3 重命名表和修改表的状态 190
10.2.4 改变表空间 191
10.2.5 删除表定义 192
10.3 数据完整性和约束性 192
10.3.1 非空(NOT NULL)约束 192
10.3.2 唯一性(UNIQUE)约束 193
10.3.3 主键(PRIMARY KEY)约束 193
10.3.4 外键(FOREIGN KEY)约束 194
10.3.5 条件(CHECK)约束 194
10.3.6 禁用和激活约束 195
10.3.7 删除约束 196
10.4 习题 196
第11章 其他数据库对象 198
11.1 索引对象 198
11.1.1 创建索引 198
11.1.2 B树索引 200
11.1.3 位图索引 201
11.1.4 反向键索引 202
11.1.5 基于函数的索引 202
11.1.6 监控索引 203
11.1.7 合并索引和重建索引 204
11.1.8 删除索引 205
11.2 视图对象 205
11.2.1 创建视图 206
11.2.2 对视图执行DML操作 207
11.2.3 查询视图的定义信息 209
11.2.4 视图的修改与删除 209
11.3 序列对象 209
11.3.1 创建和使用序列 210
11.3.2 修改与删除序列 212
11.4 同义词 212
11.4.1 创建同义词 213
11.4.2 删除同义词 215
11.5 习题 215
第12章 用户管理与权限分配 217
12.1 用户与模式 217
12.2 创建与管理用户 218
12.2.1 创建用户 218
12.2.2 修改用户 220
12.2.3 删除用户 222
12.3 用户配置文件 222
12.3.1 创建用户配置文件 222
12.3.2 使用配置文件 225
12.3.3 修改与删除配置文件 225
12.4 用户权限管理 226
12.4.1 权限简介 226
12.4.2 系统权限 227
12.4.3 授予用户系统权限 228
12.4.4 回收系统权限 229
12.4.5 对象授权 230
12.4.6 回收对象权限 232
12.5 角色管理 233
12.5.1 角色概述 233
12.5.2 创建角色 235
12.5.3 为角色授予权限 235
12.5.4 授予用户角色 237
12.5.5 修改用户的默认角色 237
12.5.6 管理角色 238
12.6 习题 240
第13章 数据导出和导入 243
13.1 EXPDP和IMPDP概述 243
13.2 使用EXPDP导出数据 244
13.2.1 导出数据前的准备 244
13.2.2 执行导出命令 245
13.2.3 导出参数 248
13.3 使用IMPDP导入数据 251
13.3.1 IMPDP命令参数 252
13.3.2 实现数据导入 254
13.4 使用EXPDP和IMPDP工具传输表空间 258
13.5 SQL* Loader工具 260
13.5.1 SQL* Loader概述 260
13.5.2 加载数据 262
13.6 习题 265
第14章 使用RMAN工具 267
14.1 RMAN简介 267
14.2 建立RMAN到数据库的连接 268
14.3 使用RMAN备份控制文件 269
14.4 设置RMAN 271
14.5 恢复目录 274
14.6 RMAN的备份 275
14.6.1 脱机备份 276
14.6.2 联机备份整个数据库 278
14.6.3 备份表空间 280
14.6.4 备份数据文件 280
14.6.5 增量备份 281
14.6.6 镜像复制 283
14.7 RMAN的恢复 285
14.7.1 数据库非归档恢复 285
14.7.2 数据库归档恢复 290
14.7.3 数据块恢复 291
14.8 备份维护 292
14.8.1 VALIDATE BACKUPSET命令 292
14.8.2 RESTORE VALIDATE命令 293
14.8.3 LIST命令 294
14.8.4 REPORT命令 296
14.9 习题 298
第15章 Oracle闪回技术 300
15.1 闪回数据库 300
15.1.1 闪回数据库概述 300
15.1.2 闪回数据库技术应用 303
15.2 闪回表 305
15.2.1 闪回表概述 305
15.2.2 使用闪回表 306
15.3 闪回删除 307
15.3.1 回收站概述 307
15.3.2 闪回被删除的表 309
15.3.3 恢复相关对象 311
15.3.4 永久删除 312
15.4 闪回版本的查询 313
15.5 闪回事务的查询 314
15.6 闪回数据的归档 316
15.6.1 闪回数据归档区 317
15.6.2 使用闪回数据归档 318
15.6.3 清除闪回数据归档区数据 321
15.7 习题 322
第16章 生产管理系统 324
16.1 开发背景与需求分析 324
16.2 系统设计 326
16.2.1 系统总体设计 326
16.2.2 系统详细设计 327
16.3 数据库设计 328
16.3.1 设计数据库对象 328
16.3.2 创建数据库对象 333
16.4 用户界面设计 334
16.4.1 用户登录页面 335
16.4.2 主窗口设计 337
16.4.3 用户管理页面 338
16.5 数据访问层 339
16.5.1 管理数据连接 339
16.5.2 数据库访问模式 341
16.6 安全模块 343
16.6.1 用户登录 343
16.6.2 用户管理 347
16.7 资源管理模块 350
16.7.1 人力资源的数据访问层技术分析 350
16.7.2 人力资源的界面显示层技术分析 355
16.8 营运管理模块 355
附录 习题参考答案 358
第2版前言
Oracle数据库是由Oracle公司提供的数据库管理系统,凭借其优异的性能,在数据库市场的占有率远远超过其对手,始终位于数据库领域的领先地位。本书是针对Oracle 11g R2版本,但同样也适用于Oracle 12C版本。
Oracle(甲骨文)公司于1989年正式进入中国市场,创建了Oracle中国公司。为了帮助中国用户及时、充分地利用世界最先进的计算机软件技术与产品,Oracle中国公司在产品汉化方面投入了大量资源。目前,Oracle的大部分产品已实现了全面中文化,这对我们中国的程序人员来说是最激动人心的事情。
本书是针对Oracle Database 11g编写的,以Oracle数据库的常用知识点作为主要的介绍对象,并尽量避免一些生僻的理论知识,同时尽可能采用实例讲解,目的就是让读者轻松地进入Oracle的大门,为以后更深入的学习打好基础。
为了使读者由浅入深地掌握Oracle数据库的各方面技术,本书对第1版的章节进行了调整,另外根据实际应用的情况,本书删除了一些不太常用的知识点,最终希望读者轻松掌握Oracle数据库知识。
本书共分为16章,概要内容如下。
第1章:Oracle关系数据库。简单介绍什么是关系数据库,以及如何在Windows环境下正确安装Oracle Database 11g R2。
第2章:Oracle数据库体系结构。概要地介绍Oracle数据库的体系结构,包括物理存储结构、逻辑存储结构、Oracle进程结构,并对Oracle中的数据字典做了简单介绍,目的是让读者对Oracle数据库有一个整体的认识,为后面的学习做好铺垫。
第3章:使用SQL*Plus工具。介绍Oracle自带的SQL*Plus开发工具的使用,主要是对SQL*Plus中的一些常用命令进行讲解。
第4章:SQL语言基础。介绍Oracle数据库的SQL语言基础,包括基本的SELECT、INSERT、UPDATE和DELETE语句的使用,以及Oracle提供的一些函数应用,并在最后简单介绍了Oracle事务的处理。
第5章:多表查询。深入介绍SQL的多表查询,包括子查询、连接查询和集合操作。
第6章:PL/SQL基础。介绍PL/SQL程序块的构成、常量与变量的使用、条件循环语句的使用、游标的使用、异常的处理等。
第7章:存储过程、函数、触发器和包。介绍PL/SQL命名程序块,主要包括存储过程、函数、触发器和程序包。
第8章:管理控制文件和日志文件。介绍如何管理Oracle数据库系统的控制文件和日志文件,并介绍如何管理归档日志。
第9章:管理表空间和数据文件。介绍如何管理Oracle数据库中最大的逻辑存储结构——表空间,表空间在物理上对应Oracle的数据文件。Oracle表空间的类型有很多种,如基本表空间、临时表空间、撤销表空间等。
第10章:数据表对象。介绍数据库最基本的对象——表,以及针对表的完整性约束。
第11章:其他数据库对象。Oracle中除了基本的表以外,还有如视图、索引等数据库对象。本章介绍Oracle中的索引、视图、序列和同义词。
第12章:用户管理与权限分配。就Oracle数据库的安全管理方面进行讲解,主要内容包括数据库用户的创建与管理、Oracle中的权限与角色的授予与撤销。
第13章:数据导出和导入。介绍如何使用Oracle中的EXPDP/IMPDP工具对数据进行导出和导入。
第14章:使用RMAN工具。介绍如何使用恢复管理器(RMAN)实现数据库的备份与恢复。
第15章:Oracle闪回技术。为了让用户可以及时地获取误操作之前的数据,Oracle提供了各种闪回技术。本章重点介绍Oracle提供的闪回技术。
第16章:生产管理系统。本章以车辆营运企业的生产管理为环境,从实际应用的角度出发,以面向对象的方式分析、开发一个基于Oracle数据库的信息管理系统。
由于本书的编写时间仓促,而且作者水平有限,所以书中难免会存在不足之处,恳请广大读者批评与指正。
编 者
第1版前言
数据库在如今的各行各业中都有着举足轻重的地位,而Oracle数据库则是数据库系统中的佼佼者,其安全性、完整性、一致性等优点深受广大企业的青睐,所以它在数据库市场上占有的份额也远远超过其他数据库。因此,学好Oracle数据库也就成为众多程序开发人员的首选。
Oracle(甲骨文)公司于1989年正式进入中国市场,成为第一家进入中国的世界软件巨头,并创建了Oracle中国公司。为了帮助中国用户及时、充分地利用世界最先进的计算机软件技术与产品,Oracle中国公司在产品汉化方面投入了大量资源。目前,Oracle的大部分产品已实现了全面中文化,这无疑给中国的程序人员带来了极大的方便。
2007年7月12日,Oracle公司宣布推出Oracle最新版本——Oracle Database 11g,它在Oracle Database 10g的基础上新增加了400多项特性,使Oracle数据库变得更可靠、性能更好、更容易使用和更安全。
本书针对Oracle Database 11g编写,以Oracle数据库的常用知识点作为主要的介绍对象,并对生僻的知识采取简略甚至省略的态度,目的就是让读者轻松地叩开Oracle数据库的大门,为以后更深入的学习打下良好的基础。
本书共分为18章,主要内容如下。
* 第1章:Oracle关系数据库。简单介绍数据库关系理论,以及如何在Windows环境下正确安装Oracle Database 11g。
* 第2章:Oracle数据库体系结构。概要地介绍Oracle数据库的体系结构,包括物理存储结构、逻辑存储结构、Oracle进程结构,并对Oracle中的数据字典做简单的介绍,目的是帮助读者理解Oracle数据库,为后面的学习做好铺垫。
* 第3章:使用SQL*Plus工具。介绍Oracle自带的SQL*Plus开发工具的使用,主要是对SQL*Plus中的一些常用命令进行讲解。
* 第4章:管理表空间。介绍如何管理Oracle数据库中最大的逻辑存储结构——表空间。表空间的类型有很多种,如基本表空间、临时表空间、撤销表空间等。
* 第5章:模式对象。介绍表、表的完整性约束、索引、视图、序列和同义词使用。
* 第6章:管理控制文件与日志文件。介绍如何管理Oracle数据库系统的控制文件与日志文件,并介绍如何管理归档日志。
* 第7章:SQL语言基础。介绍Oracle数据库的SQL语言基础,包括DML语句的使用和函数的使用,并在最后简单地介绍Oracle事务的处理。
* 第8章:子查询与高级查询。深入介绍SQL查询,包括子查询与高级查询。
* 第9章:PL/SQL基础。介绍PL/SQL程序块的构成、常量与变量的使用、条件循环语句的使用、游标的使用以及异常的处理等。
* 第10章:存储过程、函数、触发器和包。介绍PL/SQL命名程序块,主要包括存储过程、函数、触发器和程序包。
* 第11章:其他表类型。Oracle中除了基本的堆表以外,还有其他类型的表。该章介绍Oracle中的临时表、外部表和分区表。
* 第12章:用户权限与安全。就Oracle数据库的安全管理方面进行讲解,主要内容包括数据库用户的创建与管理、Oracle中的权限与角色的授予和撤销。
* 第13章:SQL语句优化。为了提高应用程序的效率,用户应该对SQL语句进行优化,其所需要的成本最低,而往往影响又最大。该章将介绍部分SQL语句优化方式。
* 第14章:数据加载与传输。介绍如何使用Oracle中的数据泵技术对数据进行加载与传输。
* 第15章:使用RMAN工具。介绍如何使用恢复管理器(RMAN)实现数据库的备份与恢复。
* 第16章:Oracle
Database 11g闪回技术。为了让用户可以及时地获取误操作之前的数据,Oracle提供了各种闪回技术。本章重点介绍Oracle Database 11g中的6种闪回技术。
* 第17章:宠物商店管理系统。以管理宠物商店的形式,从实际应用的角度出发,将Oracle数据库与JSP技术结合起来,为读者介绍Oracle数据库在Web程序中的应用效果。
* 第18章:通讯录。将实现Web通讯录,同样是结合Oracle数据库与JSP技术,目的是帮助读者巩固Oracle数据库的实际应用。
本书采取简明易懂的编写风格,并以实验指导的形式向读者介绍数据库的实际应用,帮助读者掌握一定的应用技巧。另外,为了帮助初学者培养良好的编程习惯,本书在编写代码时严格遵循代码规范,希望读者在自己的学习过程中也有良好的代码规范意识。
本书针对的是初学者,适合作为高等院校数据库技术专业、信息管理与信息系统专业的教材。
由于作者水平有限,书中难免会有不足之处,恳请广大读者批评指正。
编 者
第2章 Oracle数据库体系结构
本章导读
Oracle的体系结构是指Oracle数据库的组成、工作过程与原理,以及数据在数据库中的组织与管理机制。了解Oracle的体系结构不仅可以使我们对Oracle数据库有一个从外到内的整体认识,而且还可以对以后的具体操作具有指导意义。
本章主要介绍Oracle数据库的体系结构,包括物理存储结构、逻辑存储结构、内存结构和实例进程结构。最后简要介绍Oracle中的数据字典,以及数据字典的作用和使用方法。
学习目标
了解Oracle的物理存储结构。
了解Oracle的逻辑存储结构。
了解Oracle进程结构。
了解Oracle内存结构。
熟悉Oracle中的数据字典。
理解数据字典的作用。
2.1 物理存储结构
物理存储结构是指从物理角度分析数据库的构成,即Oracle数据库创建后所使用的操作系统文件。从物理存储结构上分析:每一个Oracle数据库主要是由3种类型的文件组成的,分别是数据文件(*.dbf)、控制文件(*.ctl)和重做日志文件(*.log)。
2.1.1
数据文件
数据文件(Data File)是指存储数据库数据的文件。数据库中的所有数据最终都保存在数据文件中,如表中的记录和索引等。如果数据文件中的某些数据被频繁访问,则这些数据会被存储在内存的缓冲区中。
读取数据时,如果用户要读取的数据不在内存的数据缓冲区中,那么Oracle就从数据文件中把数据读取出来,放到内存的缓冲区中,供用户查询;存储数据时,用户修改或添加的数据会先保存在内存的数据缓冲区中,然后由Oracle的后台进程DBWn将数据写入数据文件。
通过这种使用缓冲区的数据存取方式,可以减少磁盘的I/O操作,提高系统的响应性能。
一个Oracle数据库往往有多个数据文件。也就是说,当向Oracle数据库中某个表添加数据时,输入到表中的数据可能存储在一个数据文件中,也可能存储在多个数据文件中。
如果想要了解数据文件的信息,可以查询数据字典dba_data_files和v$datafile。其中,数据字典dba_data_files主要包含有如下字段。
? file_name:数据文件的名称以及存放路径。
? file_id:数据文件在数据库中的ID号。
? tablespace_name:数据文件对应的表空间名。
? bytes:数据文件的大小。
? blocks:数据文件所占用的数据块数。
? status:数据文件的状态。
? autoextensible:数据文件是否可扩展。
【例2.1】使用数据字典dba_data_files,查看表空间system所对应的数据文件信息。相关命令及执行结果如下:
SQL> COLUMN file_name FORMAT A50;
SQL> COLUMN tablespace_name FORMAT A15;
SQL> SELECT file_name , tablespace_name
, autoextensible
2 FROM dba_data_files WHERE
tablespace_name = ‘SYSTEM’;
FILE_NAME
TABLESPACE_NAME AUT
———————————————- ————— —
D:APPADMINISTRATORORADATAORCLSYSTEM01.DBF SYSTEM YES
有关数据库字典的详细内容,将在本章最后一节介绍。
另一个数据字典v$datafile记录了数据文件的动态信息,在不同时间其查询结果是不相同的。它主要包含如下字段。
? file#:存放数据文件的编号。
? status:数据文件的状态。
? checkpoint_change#:数据文件的同步号,随着系统的运行会自动修改,以维持所有数据文件的同步。
? bytes:数据文件的大小。
? blocks:数据文件所占用的数据块数。
? name:数据文件的名称以及存放路径。
【例2.2】使用数据字典v$datafile,查看当前数据库的数据库文件动态信息。相关命令及执行结果如下:
SQL> COLUMN name FORMAT A50;
SQL> SELECT file# , name , checkpoint_change#FROM
v$datafile;
FILE# NAME CHECKPOINT_CHANGE#
—— ——————————————– ——————
1 D:APPADMINISTRATORORADATAORCLSYSTEM01.DBF 987560
2 D:APPADMINISTRATORORADATAORCLSYSAUX01.DBF 987560
3 D:APPADMINISTRATORORADATAORCLUNDOTBS01.DBF 987560
4 D:APPADMINISTRATORORADATAORCLUSERS01.DBF 987560
在使用数据字典之前,最好先使用DESCRIBE命令查看其结构。例如DESCRIBE v$datafile,这样就可以了解该数据字典的字段名,从而也可以了解通过该数据字典可以查看哪些信息。为了避免繁冗,后面使用数据字典时不再一一介绍其结构。
评论
还没有评论。