目录 前言 I 简介 课程目标 I-2 Oracle9i 企业版 I-3 数据库管理员的任务 I-4 1 Oracle 体系结构组件 目标 1-2 基本组件概览 1-3 Oracle 服务器 1-5 Oracle 例程 1-6 建立连接和创建会话 1-7 Oracle 数据库 1-9 物理结构 1-10 内存结构 1-11 系统全局区 1-12 共享池 1-15 库高速缓存 1-16 数据字典高速缓存 1-17 数据库缓冲区高速缓存 1-18 重做日志缓冲区 1-21 大型共享池 1-22 Java 池 1-24 程序全局区 1-25 进程结构 1-28 用户进程 1-29 服务器进程 1-30 后台进程 1-31 数据库写入器 (DBWn) 1-32 日志写入器 (LGWR) 1-33 系统监视器 (SMON) 1-34 进程监视器 (PMON) 1-35 检查点 (CKPT) 1-36 归档程序 (ARCn) 1-37 逻辑结构 1-39 处理 SQL 语句 1-42 小结 1-44 练习 1 概览 1-45 iii
Oracle Universal Installer 2-4 启动 Universal Installer 2-5 目标 2-2 数据库管理工具 2-3 Oracle Universal Installer 2-4 启动 Universal Installer 2-5 使用响应文件进行非交互式安装 2-6 Oracle Database Configuration Assistant 2-9 数据库管理员用户 2-10 SQL*Plus 2-11 Oracle Enterprise Manager 2-12 Oracle Enterprise Manager 体系结构 2-13 控制台 2-15 小结 2-17 练习 2 概览 2-18 3 管理 Oracle 例程 目标 3-2 初始化参数文件 3-3 PFILE initSID.ora 3-6 创建 PFILE 3-7 PFILE 示例 3-8 SPFILE spfileSID.ora 3-9 创建 SPFILE 3-10 SPFILE 示例 3-13 STARTUP 命令行为 3-14 修改 SPFILE 中的参数 3-15 启动数据库 NOMOUNT 3-19 启动数据库 MOUNT 3-20 启动数据库 OPEN 3-21 STARTUP 命令 3-22 ALTER DATABASE 命令 3-25 以受限模式打开数据库 3-26 以只读模式打开数据库 3-29 关闭数据库 3-31 关闭选项 3-32 使用诊断文件监视例程 3-36 警报日志文件 3-37 后台跟踪文件 3-39 用户跟踪文件 3-40 iv
Database Configuration Assistant 4-12 启用或禁用用户跟踪 3-41 小结 3-43 练习 3 概览 3-44 4 创建数据库 目标 4-2 管理和组织数据库 4-3 最佳灵活体系结构 (OFA) 4-4 Oracle 软件和文件位置 4-5 创建的前提条件 4-6 数据库管理员的验证方法 4-7 使用口令文件验证 4-8 创建数据库 4-10 操作系统环境 4-11 Database Configuration Assistant 4-12 使用 Database Configuration Assistant 创建数据库 4-13 手动创建数据库 4-17 创建数据库 4-20 使用 Oracle 管理文件 (OMF) 创建数据库 4-23 故障排除 4-27 数据库的创建结果 4-28 小结 4-29 练习 4 概览 4-30 5 使用数据字典和动态性能视图 目标 5-2 内置数据库对象 5-3 数据字典 5-4 基表和数据字典视图 5-5 创建数据字典视图 5-6 数据字典内容 5-7 数据字典的使用方式 5-8 数据字典视图类别 5-9 数据字典示例 5-11 动态性能表 5-12 动态性能表示例 5-13 管理脚本命名约定 5-15 小结 5-16 练习 5 概览 5-17 v
使用 SPFILE 时对控制文件进行多元备份 6-8 使用 PFILE 时对控制文件进行多元备份 6-9 6 维护控制文件 目标 6-2 控制文件 6-3 控制文件的内容 6-5 对控制文件进行多元备份 6-7 使用 SPFILE 时对控制文件进行多元备份 6-8 使用 PFILE 时对控制文件进行多元备份 6-9 使用 OMF 管理控制文件 6-10 获取控制文件信息 6-11 小结 6-14 练习 6 概览 6-15 7 维护重做日志文件 目标 7-2 使用重做日志文件 7-3 重做日志文件的结构 7-4 重做日志文件如何发挥作用 7-6 强制执行日志切换和检查点 7-8 添加联机重做日志文件组 7-9 添加联机重做日志文件成员 7-10 删除联机重做日志文件组 7-12 删除联机重做日志文件成员 7-13 重定位或重命名联机重做日志文件 7-15 联机重做日志文件的配置 7-17 使用 OMF 管理联机重做日志文件 7-19 获取组和成员信息 7-20 归档的重做日志文件 7-22 小结 7-26 练习 7 概览 7-27 8 管理表空间和数据文件 目标 8-2 表空间和数据文件 8-3 表空间类型 8-4 创建表空间 8-5 表空间的空间管理 8-9 本地管理的表空间 8-10 字典管理的表空间 8-12 还原表空间 8-13 临时表空间 8-14 vi
缺省临时表空间 8-17 创建缺省临时表空间 8-18 缺省临时表空间的限制 8-21 只读表空间 8-22 使表空间脱机 8-25 缺省临时表空间 8-17 创建缺省临时表空间 8-18 缺省临时表空间的限制 8-21 只读表空间 8-22 使表空间脱机 8-25 更改存储设置 8-28 调整表空间大小 8-30 启用数据文件自动扩展 8-31 手动调整数据文件的大小 8-34 向表空间添加数据文件 8-35 移动数据文件的方法 8-37 删除表空间 8-40 使用 OMF 管理表空间 8-43 使用 OMF 管理表空间 8-44 获取表空间信息 8-45 小结 8-46 练习 8 概览 8-47 9 存储结构和关系 目标 9-2 存储和关系结构 9-3 段类型 9-4 存储子句优先级 9-8 区的分配与回收 9-9 已用区和空闲区 9-10 数据库块 9-11 多种块大小支持 9-12 标准块大小 9-13 非标准块大小 9-14 创建非标准块大小的表空间 9-16 多种块大小的规则 9-18 数据库块内容 9-19 块空间使用参数 9-20 数据块管理 9-22 自动段空间管理 9-23 配置自动段空间管理 9-25 手动数据块管理 9-26 块空间使用率 9-27 获取存储信息 9-29 小结 9-32 练习 9 概览 9-33 vii
自动还原管理:调整 UNDO 表空间的大小 10-24 自动还原管理:还原限额 10-26 获取还原段信息 10-27 小结 10-29 10 管理还原数据 目标 10-2 管理还原数据 10-3 还原段 10-4 还原段:用途 10-5 读一致性 10-6 还原段的类型 10-7 自动还原管理:概念 10-9 自动还原管理:配置 10-10 自动还原管理:初始化参数 10-11 自动还原管理:UNDO 表空间 10-12 自动还原管理:改变 UNDO 表空间 10-14 自动还原管理:切换 UNDO 表空间 10-16 自动还原管理:删除 UNDO 表空间 10-18 自动还原管理:其它参数 10-21 还原数据统计信息 10-23 自动还原管理:调整 UNDO 表空间的大小 10-24 自动还原管理:还原限额 10-26 获取还原段信息 10-27 小结 10-29 练习 10 概览 10-30 11 管理表 目标 11-2 存储用户数据 11-3 Oracle 内置数据类型 11-6 ROWID 格式 11-10 行的结构 11-12 创建表 11-13 创建表:原则 11-17 创建临时表 11-18 设置 PCTFREE 和 PCTUSED 11-19 行移植和行链接 11-20 更改存储和块使用参数 11-21 手动分配区 11-24 重新组织非分区表 11-25 截断表 11-26 删除表 11-27 删除列 11-29 使用 UNUSED 选项 11-31 viii
获取表信息 11-33 小结 11-35 练习 11 概览 11-36 12 管理索引 目标 12-2 索引分类 12-3 获取表信息 11-33 小结 11-35 练习 11 概览 11-36 12 管理索引 目标 12-2 索引分类 12-3 B 树索引 12-5 位图索引 12-7 比较 B 树索引和位图索引 12-9 创建正常的 B 树索引 12-10 创建索引:原则 12-13 创建位图索引 12-15 更改索引的存储参数 12-18 分配和回收索引空间 12-20 重建索引 12-21 联机重建索引 12-23 合并索引 12-24 检查索引及其有效性 12-25 删除索引 12-27 标识未用索引 12-29 获取索引信息 12-30 小结 12-31 练习 12 概览 12-32 13 维护数据完整性 目标 13-2 数据完整性 13-3 约束的类型 13-5 约束的状态 13-6 约束检查 13-8 将约束定义为立即或延迟 13-9 执行主键和唯一键约束 13-10 外键注意事项 13-11 创建表时定义约束 13-13 约束定义原则 13-17 启用约束 13-18 使用 EXCEPTIONS 表 13-23 获取约束信息 13-26 小结 13-29 练习 13 概览 13-30 ix
口令校验函数 VERIFY_FUNCTION 14-12 创建配置文件:口令设置 14-13 改变配置文件:口令设置 14-17 14 管理口令安全性和资源 目标 14-2 配置文件 14-3 口令管理 14-5 启用口令管理 14-6 口令帐户锁定 14-7 口令失效和过期 14-8 口令历史记录 14-9 口令校验 14-10 用户提供的口令函数 14-11 口令校验函数 VERIFY_FUNCTION 14-12 创建配置文件:口令设置 14-13 改变配置文件:口令设置 14-17 删除配置文件:口令设置 14-19 资源管理 14-21 启用资源限制 14-22 在会话级设置资源限制 14-23 在调用级设置资源限制 14-24 创建配置文件:资源限制 14-25 使用 “数据库资源管理器” 管理资源 14-28 资源计划指令 14-31 获取口令和资源限制信息 14-33 小结 14-35 练习 14 概览 14-36 15 管理用户 目标 15-2 用户和安全性 15-3 数据库方案 15-5 创建用户操作的核对清单 15-6 创建新用户:数据库验证 15-7 创建新用户:操作系统验证 15-10 更改用户的表空间限额 15-12 删除用户 15-14 获取用户信息 15-16 小结 15-17 练习 15 概览 15-18 x
撤消通过 ADMIN OPTION 授予的系统权限 16-12 对象权限 16-13 授予对象权限 16-14 撤消对象权限 16-17 16 管理权限 目标 16-2 管理权限 16-3 系统权限 16-4 系统权限:示例 16-5 授予系统权限 16-6 SYSDBA 和 SYSOPER 权限 16-8 系统权限限制 16-9 撤消系统权限 16-10 撤消通过 ADMIN OPTION 授予的系统权限 16-12 对象权限 16-13 授予对象权限 16-14 撤消对象权限 16-17 撤消对象权限 WITH GRANT OPTION 16-20 获取权限信息 16-21 小结 16-22 练习 16 概览 16-23 17 管理角色 目标 17-2 角色 17-3 角色的优点 17-4 创建角色 17-5 预定义角色 17-7 修改角色 17-8 分配角色 17-10 设置缺省角色 17-13 应用程序角色 17-15 启用和禁用角色 17-16 撤消用户角色 17-19 删除角色 17-21 角色创建原则 17-23 使用口令与缺省角色的原则 17-24 获取角色信息 17-25 小结 17-26 练习 17 概览 17-27 18 审计 目标 18-2 审计 18-3 审计原则 18-4 xi
选择 Unicode 解决方案:Unicode 数据库 20-12 选择 Unicode 解决方案:Unicode 数据类型 20-13 审计类别 18-6 数据库审计 18-8 审计选项 18-10 获取审计信息 18-12 获取审计记录信息 18-13 小结 18-14 练习 18 概览 18-15 19 将数据加载到数据库中 目标 19-2 数据加载方法 19-3 直接加载 19-4 串行直接加载 19-6 并行直接加载 19-7 SQL*Loader 19-9 使用 SQL*Loader 19-11 SQL*Loader 控制文件 19-13 与控制文件的语法有关的注意事项 19-17 输入数据和数据文件 19-18 逻辑记录 19-22 加载方法 19-23 直接路径加载和常规路径加载的比较 19-26 并行直接路径加载 19-28 数据转换 19-29 被废弃或拒绝的记录 19-30 日志文件的内容 19-34 SQL*Loader 原则 19-36 小结 19-37 练习 19 概览 19-38 20 使用 “全球化支持” 目标 20-2 “全球化支持” 功能 20-3 编码方案 20-5 数据库字符集和国家字符集 20-8 选择 Oracle 数据库字符集的原则 20-9 选择 Oracle 国家字符集的原则 20-11 选择 Unicode 解决方案:Unicode 数据库 20-12 选择 Unicode 解决方案:Unicode 数据类型 20-13 xii
A 如何在 Unix 环境中创建 Oracle9i 数据库 B 手动管理还原数据(回退段) C SQL*Plus 练习解答 指定语言相关行为 20-14 指定服务器的语言相关行为 20-15 相关语言和地域缺省值 20-16 指定会话的语言相关行为 20-18 客户机-服务器体系结构中的字符集 20-19 指定会话的语言相关行为 20-21 文字排序 20-22 NLS 排序 20-23 在 SQL 函数中使用 NLS 参数 20-26 文字索引支持 20-30 使用 NLS 导入和加载数据 20-31 获取字符集信息 20-32 获取 NLS 设置信息 20-33 在 SQL 函数中使用 NLS 参数 20-37 小结 20-38 练习 20 概览 20-39 A 如何在 Unix 环境中创建 Oracle9i 数据库 B 手动管理还原数据(回退段) C SQL*Plus 练习解答 D Oracle Enterprise Manager 练习解答 xiii
xiv