编辑推荐
风格轻松活泼:如果您习惯于看天书一般的教材,请勿买此书!!此书非正襟危坐的教材,而是像小说一样可轻松阅读的参考书。
源于工作实践:如果您习惯于读理论研究方面的教材,请勿买此书!!此书非抽象的、研究型的教材,而是工作与培训经验的总结,系实战型的入门书。
内容简介
《Oracle数据库管理与开发(适用于OCP认证)》是作者二十多年IT工作和教学实践的总结与升华,可作为Oracle数据库的入门教材,也可作为OCP认证的入门级参考书。
本着“把Oracle数据库从高雅的象牙塔中带出来,使它的‘贵族’身份平民化,为大学生、普通IT工作者和爱好者提供一套买得起、容易学、用得上的Oracle数据库实用教材”的写作理念,《Oracle数据库管理与开发(适用于OCP认证)》结合大量生动而简单的生活例子来解释复杂的计算机和数据库概念,避免了计算机例子的晦涩难懂。本书是自封闭的,读者可以在没有任何计算机专业知识的情况下阅读本书,而且不需要其他的参考书。为了消除读者对IT教材常有的畏惧心理,书中使用的语言轻松而幽默,读者可像读小说一样阅读。《Oracle数据库管理与开发(适用于OCP认证)》是由相对独立的两大部分组成的:一部分主要介绍OracleSQL和SQL*Plus;第二部分主要介绍Oracle数据库的管理和维护。书中内容是严格按照由浅入深的顺序编排的,可以轻松入门、快速提高。为了使读者更容易理解书中所介绍的内容,每一章中都给出了数量可观的例题。此外,在每章的后还给出了大量的习题,这些习题或者例题很多来源于OCP认证的考题,目的是帮助读者在学习的同时参与OCP认证,为以后工作打下更好的基础。
作者简介
何明,Oracle高级讲师,Linux高级讲师,10年Oracle数据库技术服务与培训经验,同时也多次应邀进行Linux培训,先后为西门子、惠普、中国移动、中国网通、中信银行、神州数码、NEC等50余家大中型企业做过Oracle、Linux培训。
内页插图
目录
第0章 Oracle的安装及相关配置
0.1 Oracle的安装
0.2 进入Oracle的SQL*Plus界面
0.3 scott用户及其对象维护
0.4 本书中将用到的表
0.5 SQL(Structured Query Language)语言
0.6 本书所用的术语
0.7 Oracle 11g上的SQL*Plus
0.8 使用iSQL*Plus
0.9 使用DOS窗口启动SQL*Plus
第1章 简单查询、限制性查询和数据的排序
1.1 最简单的查询语句
1.2 在查询语句中如何选择特定的列(投影操作)
1.3 如何书写查询语句
1.4 列标题和数据的默认显示格式
1.5 如何在SQL语句中使用算术表达式
1.6 如何在SQL语句中使用列的别名
1.7 连接运算符
1.8 DISTINCT运算符
1.9 基本查询语句的格式
1.10 如何限制所选择的数据行(选择操作)
1.11 如何使用BETWEEN AND比较运算符
1.12 在SQL语句中使用字符串和日期
1.13 使用IN比较运算符
1.14 使用LIKE比较运算符
1.15 如何使用转义操作符
1.16 ORDER BY子句(排序操作)
1.17 在ORDER BY子句中使用别名或表达式
1.18 在ORDER BY子句中使用列号及使用多列
1.19 扩充后的查询语句的格式
1.20 练习题
第2章 常用的SQL*Plus命令和环境变量
2.1 DESC[RIBE]命令
2.2 SET LINE[SIZE]{80|n}命令
2.3 L命令和n text命令
2.4 “/”(RUN)命令
2.5 n(设置当前行)命令和A[PPEND](附加)命令
2.6 DEL命令
2.7 C[HANGE]命令
2.8 如何生成脚本文件
2.9 如何编辑脚本文件
2.10 如何直接运行脚本文件
2.11 SPOOL命令
2.12 控制SQL*Plus的环境
2.13 SQL*Plus的环境变量ECHO
2.14 常用的SQL*Plus环境变量
2.15 SQL*Plus的COLUMN格式化命令
2.16 SQL*Plus的其他格式化命令
2.17 怎样获取SQL*Plus的帮助信息
2.18 练习题
第3章 函数、NULL值的处理以及逻辑操作
3.1 什么是函数
3.2 单行函数简介
3.3 单行字符型函数
3.4 使用单行字符型函数的实例
3.5 数字型函数
3.6 日期型数据的处理
3.7 日期函数
3.8 ROUND和TRUNC函数用于日期型数据
3.9 不同数据类型之间的隐含转换
3.10 不同数据类型之间的显式转换
3.11 什么是空值
3.12 含有空值的表达式的运算
3.13 空值的排序
3.14 逻辑表达式和逻辑运算符
3.15 运算符的优先级
3.16 NVL函数
3.17 DECODE函数
3.18 单值函数的嵌套
3.19 Oracle 9i新增加的单值函数和表达式
3.20 COUNT函数
3.21 AVG和SUM函数
3.22 MAX和MIN函数
3.23 GROUP BY子句的应用与排列次序
3.24 GROUP BY子句的特殊用法以及非法操作
3.25 HAVING子句的使用
3.26 分组函数的嵌套
3.27 分组函数的空值问题
3.28 其他的分组函数和分组函数的小结
3.29 练习题
第4章 多表查询和单行子查询
4.1 数据库的规范化
4.2 主键和实体完整性
4.3 第一范式
4.4 消除部分依赖
4.5 外键和引用完整性
4.6 第二范式和第三范式
4.7 规范化过程小结
4.8 多表连接
4.9 相等连接
4.10 连接中表别名的使用
4.11 笛卡儿乘积(乘积连接)
4.12 自连接
4.13 两个以上表的连接
4.14 不等连接
4.15 外连接
4.16 SQL:1999语法的笛卡儿乘积和自然连接
4.17 使用USING子句和ON子句的连接
4.18 使用ON子句的多表连接和附加条件
4.19 左外连接和右外连接
4.20 全外连接
4.21 为什么引入单行子查询
4.22 WHERE子句中的单行子查询
4.23 HAVING子句和FROM子句中的单行子查询
4.24 练习题
第5章 表、索引以及替代变量
5.1 创建表的语句以及命名和引用规则
5.2 列的数据类型和默认值
5.3 创建表的例子
5.4 利用子查询来创建表
5.5 修改表的结构
5.6 改变对象的名称
5.7 截断表和删除表
5.8 为什么引入索引
5.9 如何建立索引
5.10 如何查看索引
5.11 使用索引时应注意的问题
5.12 如何删除索引
5.13 替代变量引入的原因
5.14 以&开始的替代变量
5.15 字符型和日期型替代变量
5.16 以&&开始的替代变量
5.17 替代变量可以出现的地方
5.18 使用DEFINE定义替代变量
5.19 使用ACCEPT定义替代变量
5.20 ACCEPT命令的格式和选项
5.21 练习题
第6章 数据的维护
6.1 准备工作
6.2 INSERT语句
6.3 INSERT语句中的空值问题
6.4 如何向表中插入特殊的值
6.5 如何利用子查询向表中插入数据
6.6 如何利用替代变量向表中插入数据和将INSERT语句存入脚本文件
6.7 利用ACCEPT在INSERT语句中产生用户友好的系统提示
6.8 UPDATE语句
6.9 基于另一个表来修改记录
6.10 利用多列子查询来修改记录
6.11 DELETE语句
6.12 在使用DELETE时可能出现的问题
6.13 基于另一个表来删除行
6.14 引入事务处理的原因和Oracle数据库的事务
6.15 利用COMMIT和ROLLBACK语句控制事务
6.16 有关事务处理应注意的一些问题
6.17 练习题
第7章 Oracle系统的约束
7.1 Oracle系统提供的约束
7.2 非空约束
7.3 查看有关约束的信息
7.4 唯一约束
7.5 条件约束
7.6 主键约束
7.7 外键约束
7.8 外键约束对DML语句和DDL语句的影响
7.9 外键的ON DELETE SET NULL和ON DELETE CASCADE子句
7.10 约束的维护
7.11 约束小结
7.12 练习题
第8章 视图、序列和同义词
8.1 为什么引入视图
8.2 使用视图的好处
8.3 如何创建视图
8.4 如何修改视图
8.5 Oracle系统如何管理视图
8.6 如何使用视图来进行DML操作
8.7 如何使用视图的WITH CHECK OPTION子句
8.8 WITH READ ONLY子句的使用
8.9 如何删除视图
8.10 ROWNUM的更多应用
8.11 序列号的引入及创建序列号语句的格式
8.12 如何创建序列号
8.13 如何使用创建的序列号
8.14 NEXTVAL和CURRVAL虚(伪)列介绍和它们的使用规则
8.15 序列号的修改
8.16 删除序列号
8.17 同义词的引入及创建
8.18 创建公用同义词及删除同义词
8.19 练习题
第9章 Oracle的体系结构
9.1 Oracle引入复杂的体系结构的原因
9.2 Oracle数据库中常用的术语
9.3 Oracle数据库管理系统的体系结构
9.4 Oracle服务器的安装方式
9.5 Oracle实例和数据库以及其他的关键文件
9.6 建立与Oracle实例的连接
9.7 各种不同的连接方式
9.8 服务器进程
9.9 Oracle执行SQL查询语句的步骤
9.10 共享池(shared pool)
9.11 数据库高速缓冲区(databasebuffer cache)
9.12 内存缓冲区顾问(v$db_cache_ advice)
9.13 重做日志缓冲区(redo logbuffer)
9.14 大池(large pool)和Java池(Java pool)
9.15 内存缓冲区大小的设定
9.16 内存缓冲区信息的获取
9.17 重做日志写进程(LGWR)及快速提交(fast commit)
9.18 数据库写进程(DBWR/DBWn)
9.19 系统监督进程(SMON)和进程监督进程(PMON)
9.20 校验点(checkpoint)和校验点进程
9.21 归档日志(ARCH/ARCn)进程
9.22 小结
9.23 练习题
第10章 Oracle数据库管理工具与实例管理
10.1 Oracle通用安装程序(Oracle Universal Installer)
10.2 Oracle数据库配置助手(DBCA)
10.3 数据库管理员用户sys和system
10.4 SQL*Plus命令行工具
10.5 Oracle 10g企业管理器(EM)
10.6 初始化参数文件(initialization parameter files)
10.7 静态参数文件(PFILE)
10.8 动态服务器参数文件(SPFILE)
10.9 启动数据库
10.10 将数据库置为限制模式
10.11 关闭数据库
10.12 如何利用诊断文件来监督实例
10.13 练习题
第11章 数据字典和控制文件
11.1 数据字典简介
11.2 数据字典的操作和使用
11.3 格式化数据字典视图的输出
11.4 如何使用数据字典视图
11.5 动态性能表(视图)
11.6 数据字典应用实例
11.7 控制文件及控制文件中所存放的内容
11.8 从控制文件中获取信息的数据字典
11.9 如何限定控制文件的大小
11.10 怎样查看控制文件的配置
11.11 怎样添加和移动控制文件
11.12 控制文件的备份
11.13 虚拟环境的创建
11.14 练习题
第12章 重做日志文件
12.1 引入重做日志的目的
12.2 重做日志组
12.3 重做日志成员
12.4 日志切换和检查点
12.5 获取重做日志的信息
12.6 添加和删除联机重做日志文件组
12.7 添加和删除联机重做日志成员(文件)
12.8 清除联机重做日志文件
12.9 利用OMF来管理联机重做日志文件
12.10 联机重做日志的配置
12.11 练习题
第13章 表空间和数据文件的管理
13.1 Oracle引入逻辑结构的目的
13.2 Oracle数据库中存储结构之间的关系
13.3 表空间和数据文件之间的关系及表空间的分类
13.4 表空间中的磁盘空间管理
13.5 创建本地管理的表空间
13.6 还原表空间
13.7 临时表空间
13.8 默认临时表空间
13.9 设置表空间为脱机
13.10 只读(read-only)表空间
13.11 重置表空间的大小
13.12 移动数据文件的方法
13.13 删除表空间
13.14 利用OMF来管理表空间
13.15 练习题
第14章 存储结构及其之间的关系和创建数据库
14.1 各种类型的段
14.2 存储子句的优先级
14.3 区段(extent)
14.4 数据库块(database block)
14.5 自动的段空间管理
14.6 创建数据库概述
14.7 筹划和组织数据库优化而弹性的体系结构
14.8 创建数据库的先决条件
14.9 创建数据库的方法
14.10 创建数据库过程中的排错
14.11 利用Oracle Managed Files来创建数据库
14.12 练习题
第15章 管理还原数据
15.1 还原数据的管理方法
15.2 Oracle使用还原段的目的
15.3 还原段的类型
15.4 自动还原数据管理的概念和配置
15.5 还原表空间的创建与维护
15.6 还原表空间之间的切换
15.7 删除还原表空间
15.8 自动还原数据管理的一些参数
15.9 获得还原数据的信息
15.10 练习题
第16章 管理表
16.1 存储数据的方法和Oracle内置数据类型
16.2 ROWID
16.3 Oracle数据行的结构
16.4 创建普通表
16.5 创建临时表
16.6 表的维护和管理
16.7 非分区表的重组
16.8 列的维护
16.9 表的截断和删除
16.10 练习题
第17章 索引的管理与维护
17.1 Oracle引入索引的目的
17.2 索引的分类
17.3 B-树索引
17.4 位图索引
17.5 B-树索引和位图索引的比较
17.6 创建索引
17.7 重建和维护索引
17.8 标识索引的使用情况
17.9 删除索引
17.10 练习题
第18章 用户及系统资源和安全的管理
18.1 创建用户
18.2 数据库模式
18.3 改变用户在表空间上的配额
18.4 删除用户
18.5 用户的安全控制域
18.6 概要文件(profiles)
18.7 利用概要文件进行资源管理
18.8 创建资源限制的概要文件
18.9 口令管理
18.10 口令验证函数
18.11 创建口令限制的概要文件
18.12 修改和删除概要文件
18.13 创建概要文件的应用实例
18.14 练习题
第19章 管理权限
19.1 权限的分类以及系统权限
19.2 系统权限的限制
19.3 授予系统权限
19.4 回收系统权限
19.5 对象权限
19.6 对象权限的授权和回收
19.7 练习题
第20章 管理角色
20.1 引入角色(role)的原因
20.2 角色的创建
20.3 角色的修改
20.4 角色的授权
20.5 建立默认角色
20.6 激活和禁止角色
20.7 角色的回收和删除
20.8 创建和使用角色指南
20.9 Oracle预定义的角色
20.10 用户、概要文件、权限和角色的应用实例
20.11 练习题
参考文献
Oracle数据库管理与开发(适用于OCP认证) 内容简介 本书是一本全面深入的Oracle数据库管理与开发实践指南,旨在帮助读者掌握Oracle数据库的核心技术,为通过Oracle Certified Professional (OCP) 认证考试奠定坚实的基础。全书紧密围绕OCP认证的考试大纲,结合大量实操案例和详细步骤,从数据库基础架构的理解到高级性能调优,再到安全管理和开发实践,层层递进,力求为读者提供一个完整、系统且实用的学习路径。 第一部分:Oracle数据库基础与架构 本部分将带领读者从零开始,逐步建立对Oracle数据库的宏观认知。我们将详细介绍Oracle数据库的逻辑结构和物理结构,深入剖析实例(Instance)和数据库(Database)的概念及其相互关系。读者将学习到Oracle数据库如何管理内存,包括System Global Area (SGA) 和Program Global Area (PGA) 的组成、作用及调优原理。同时,我们将详细讲解Oracle数据库的存储结构,如数据文件(Datafile)、表空间(Tablespace)、段(Segment)、区(Extent)和块(Block)等,并阐述它们在数据存储和管理中的作用。 此外,本部分还将重点介绍Oracle数据库的启动与关闭过程,理解各个启动阶段的含义及可能出现的问题。我们将详细讲解Oracle数据库的控制文件(Control File)、重做日志文件(Redo Log File)和归档日志文件(Archived Log File)的重要性,以及它们在数据库正常运行、故障恢复和数据保护中的关键作用。通过对这些基础概念的深入理解,读者将为后续更高级的学习打下坚实的基础。 第二部分:Oracle数据库管理的核心实践 本部分将聚焦于Oracle数据库日常管理中的核心任务和关键技术。我们将详细讲解用户与安全性的管理,包括创建、修改和删除用户,以及用户权限的授予、撤销和角色管理。安全是数据库管理的重要组成部分,我们将深入探讨Oracle数据库的安全特性,如审计(Auditing)、加密(Encryption)和网络安全等,帮助读者构建坚固的数据库安全防线。 在本部分,读者还将学习到Oracle数据库的备份与恢复策略。我们将详细介绍各种备份方法,包括逻辑备份(如Data Pump)和物理备份(如RMAN),并深入讲解不同恢复场景下的恢复技术,如完全恢复、不完全恢复、介质恢复和时间点恢复等。通过大量的RMAN实例操作,读者将熟练掌握如何制定并执行有效的备份和恢复计划,确保数据在任何情况下都能得到安全可靠的保护。 此外,本部分还将涵盖Oracle数据库性能监控与调优的基础知识。我们将介绍常用的性能视图(V$视图)和工具,帮助读者识别数据库瓶颈,如CPU、I/O和内存瓶颈。读者将学习如何通过分析SQL语句的执行计划来优化查询性能,以及如何进行表和索引的维护,如收集统计信息、重建表和索引等。 第三部分:Oracle数据库开发与高级特性 本部分将深入探讨Oracle数据库的开发层面,以及一些高级的管理与调优技术。我们将详细讲解PL/SQL(Procedural Language/SQL)编程语言,这是Oracle数据库强大的过程化语言扩展。读者将学习PL/SQL的基本语法,包括变量声明、控制结构(IF-THEN-ELSIF, LOOP, WHILE, FOR)、游标(Cursor)和例外处理(Exception Handling)。我们将通过丰富的实例,演示如何编写存储过程(Stored Procedure)、存储函数(Stored Function)、触发器(Trigger)和包(Package),以实现复杂的业务逻辑和数据处理。 本部分还将介绍Oracle数据库的SQL高级特性,包括分析函数(Analytic Functions)、层次查询(Hierarchical Queries)和物化视图(Materialized Views)等。这些特性能够极大地提升SQL查询的效率和灵活性,帮助开发者编写出更强大、更高效的SQL语句。 在性能调优方面,本部分将进一步深入。我们将讲解Oracle数据库的SQL优化器(Optimizer)的工作原理,以及如何通过Hints来指导优化器生成最优的执行计划。读者将学习如何使用SQL Trace和TKPROF工具进行SQL性能分析,以及如何识别和解决SQL性能问题。此外,我们还将介绍Oracle的AWR(Automatic Workload Repository)和ADDM(Automatic Database Diagnostic Monitor)报告,帮助读者全面诊断数据库性能问题并获取调优建议。 第四部分:Oracle数据库的高可用性与灾难恢复 本部分将重点讲解Oracle数据库的高可用性(High Availability, HA)和灾难恢复(Disaster Recovery, DR)解决方案。我们将详细介绍Oracle Data Guard技术,包括物理备库(Physical Standby)、逻辑备库(Logical Standby)和Snapshot备库(Snapshot Standby)的配置、管理和故障切换(Failover)操作。通过Data Guard,读者将掌握如何构建一个高可用性的数据库环境,以应对硬件故障、数据中心灾难等突发情况,最大限度地减少停机时间,保障业务连续性。 此外,本部分还将介绍Oracle Real Application Clusters (RAC) 的基本概念和架构。虽然RAC的深入配置和管理可能超出OCP认证的范畴,但理解其原理对于构建高可用性集群至关重要。我们将简要介绍RAC的集群软件(Grid Infrastructure)、投票盘(Voting Disk)、OCR(Oracle Cluster Registry)和SCAN(Single Client Access Name)等关键组件,帮助读者了解如何在多节点环境中实现数据库的高可用和负载均衡。 第五部分:OCP认证考试指导与模拟练习 本部分旨在帮助读者系统地梳理OCP认证考试的重点和难点。我们将针对OCP认证的各个模块,提供详细的考点解析和复习建议。我们将结合全书内容,提炼出考试中最常出现的概念和操作,并提供大量的模拟试题和练习题。这些练习题涵盖了选择题、填空题、命令行操作题等多种题型,旨在帮助读者巩固知识,熟悉考试形式,并提高解题速度和准确性。 总结 《Oracle数据库管理与开发(适用于OCP认证)》以实际应用为导向,理论与实践相结合,内容全面且深入。本书不仅是备考OCP认证的理想学习资料,更是Oracle数据库管理员和开发人员日常工作中的得力助手。通过本书的学习,读者将能够全面掌握Oracle数据库的核心技术,具备独立进行数据库管理、开发和性能调优的能力,从而在IT领域取得更大的成就。本书的章节设置逻辑清晰,语言通俗易懂,配以大量的图示和代码示例,力求为读者提供一个高效、愉快的学习体验。