oracle数据库dba管理手册
第一部分 数据库体系结构 第1章 Oracle体系结构 1 1.1 数据库概述及实例 1 1.2 数据库 1 1.2.1 表空间 2 1.2.2 文件 2 1.3 实例 3 1.4 数据库内部结构 3 1.4.1 表、列和数据类型 4 1.4.2 约束条件 5 1.4.3 抽象数据类型 6 1.4.4 分区和子分区 7 1.4.5 用户 7 1.4.6 模式 8 1.4.7 索引 8 1.4.8 簇 9 1.4.9 散列簇 9 1.4.10 视图 9 1.4.11 序列 10 1.4.12 过程 10 1.4.13 函数 10 1.4.14 软件包 11 1.4.15 触发器 11 1.4.16 同义词 12 1.4.17 权限及角色 12 1.4.18 数据库链接 13 1.4.19 段、盘区和块 14 1.4.20 回滚段 14 1.4.21 快照和显形图 14 1.5 内部存储结构 15 1.5.1 系统全局区 15 1.5.2 环境区 17 1.5.3 程序全局区 17 1.6 后台进程 18 1.7 外部结构 20 1.7.1 重做日志 20 1.7.2 控制文件 21 1.7.3 跟踪文件与警告日志 21 1.8 基本数据库的实现 21 1.8.1 备份/恢复功能 22 1.8.2 安全性能 23 1.8.3 典型数据库逻辑设计 24 1.8.4 典型数据库物理设计 24 1.9 逻辑模型约定 25 1.9.1 一对一关系 25 1.9.2 一对多关系 26 1.9.3 多对多关系 26 1.10 创建数据库 27 1.10.1 修改创建模板的脚本文件 27 1.10.2 创建数据库后修改 MAXDATAFILES 27 1.10.3 使用OEM 28 第2章 硬件配置研究 30 2.1 结构概述 30 2.2 独立主机 31 2.2.1 磁盘阵列独立主机 31 2.2.2 磁盘镜像独立主机 34 2.2.3 多数据库独立主机 35 2.3 网络主机 36 2.3.1 数据库网络 37 2.3.2 远程更新:高级复制选项 39 2.3.3 集群服务器:Oracle并行服务器 40 2.3.4 多处理器:并行查询和并行装载 选项 41 2.3.5 客户机/服务器数据库应用 42 2.3.6 三层体系结构 43 2.3.7 Oracle透明网关访问 44 2.3.8 备用数据库 44 2.3.9 复制型数据库 45 2.3.10 外部文件访问 45 第3章 数据库逻辑设计 47 3.1 最终产品 47 3.2 优化软结构 47 3.2.1 起点:SYSTEM表空间 47 3.2.2 分离应用程序数据段:DATA 48 3.2.3 分离应用程序索引段:INDEXES 48 3.2.4 分离工具段:TOOLS 49 3.2.5 分离回滚段:RBS 50 3.2.6 分离临时段:TEMP 50 3.2.7 分离用户:USERS 51 3.3 扩展OFA 51 3.3.1 分离低使用的数据段:DATA_2 51 3.3.2 分离低使用的索引段:INDEXS_2 52 3.3.3 分离工具索引:TOOLS_1 52 3.3.4 分离特殊回滚段:RBS_2 53 3.3.5 分离用户特殊临时段: TEMP_USER 53 3.3.6 附加的应用特殊OFA扩展 54 3.4 合理的逻辑设计 54 3.5 解决方案 55 第4章 数据库物理设计 57 4.1 数据库文件设计 57 4.1.1 数据文件间的I/O冲突 57 4.1.2 所有数据库文件中的I/O瓶颈 59 4.1.3 后台进程中的并发I/O操作 61 4.1.4 定义系统恢复能力与性能目标 61 4.1.5 系统硬件及结构镜像的定义 62 4.1.6 识别专用于数据库的磁盘 62 4.1.7 选择正确的设计 63 4.2 I/O权值估计的检验 66 4.3 如何解决磁盘不足问题 69 4.4 解决方案 70 4.4.1 小型开发数据库设计 70 4.4.2 产品OLTP数据库设计 70 4.4.3 具有历史数据的产品OLTP数据库 设计 71 4.4.4 数据仓库设计 72 4.5 文件位置 75 4.6 数据库空间使用概述 76 4.6.1 storage子句的意义 77 4.6.2 表段 78 4.6.3 索引段 79 4.6.4 回滚段 79 4.6.5 临时段 79 4.6.6 自由空间 80 4.7 重新确定数据文件大小 81 4.8 数据库文件的移动 83 4.8.1 移动数据文件 83 4.8.2 用Oracle Enterprise Manager 移动数据文件 85 4.8.3 移动联机重做日志文件 91 4.8.4 移动控制文件 91 4.9 段空间的重新分配方法 92 4.9.1 数据文件收缩 92 4.9.2 数据表、簇、索引的收缩 93 4.9.3 重建索引 94 4.10 物理条件的满足 95 第二部分 数据库管理 第5章 开发过程管理 97 5.1 成功三要素 97 5.2 培植过程 97 5.3 管理过程 98 5.3.1 定义环境 98 5.3.2 角色的定义 99 5.3.3 交付使用 100 5.3.4 Oracle8i中引入的开发环境特性 102 5.3.5 确定数据库对象的大小 107 5.3.6 迭代开发 125 5.3.7 迭代列定义 126 5.4 管理技术 126 5.4.1 CASE工具 127 5.4.2 共享目录 127 5.4.3 项目管理数据库 127 5.4.4 讨论数据库 127 5.5 管理包开发 127 5.5.1 生成图表 128 5.5.2 空间需求 128 5.5.3 调整目标 128 5.5.4 安全需求 128 5.5.5 数据需求 128 5.5.6 版本要求 128 5.5.7 执行规划 129 5.5.8 验收测试过程 129 5.5.9 测试环境 129 5.6 管理环境 130 第6章 多数据库的监控 131 6.1 常见问题 131 6.1.1 表空间中的自由空间缺乏 131 6.1.2 临时段的空间不足 132 6.1.3 回滚段达到扩展极限 132 6.1.4 数据段碎片 132 6.1.5 自由空间碎片 133 6.1.6 SGA区域大小设置得不正确 133 6.2 目标选择 133 6.3 最终产品 134 6.4 建立Command Center数据库 136 6.4.1 数据获取 139 6.4.2 生成报警报表 143 6.4.3 空间汇总报表 147 6.4.4 数据过滤 149 6.5 监控内存对象 150 6.5.1 UTLBSTAT及UTLESTAT的必要 修改 150 6.5.2 统计报表解释 156 6.5.3 统计报表的扩展 159 6.6 良好管理的数据库 165 第7章 回滚段管理 166 7.1 回滚段概述 166 7.1.1 数据库对回滚段的使用 166 7.1.2 激活回滚段 168 7.1.3 为事务处理指定回滚段 169 7.2 回滚段的空间使用 169 7.3 监控回滚段使用 173 7.3.1 监控当前空间分配 173 7.3.2 收缩回滚段 173 7.3.3 监控当前状态 174 7.3.4 监控动态扩展 174 7.3.5 每个回滚段中的事务 177 7.3.6 回滚段中的数据量 178 7.4 使用Oracle Enterprise Manager 管理回滚段 178 7.4.1 从OEM创建回滚段 179 7.4.2 创建与现有回滚段一样的回滚段 180 7.4.3 设置回滚段为联机状态 181 7.4.4 设置回滚段为脱机状态 182 7.4.5 删除回滚段 184 7.5 选择回滚段的数量和大小 185 7.5.1 事务条目数量 185 7.5.2 事务数量 186 7.5.3 确定最佳值 189 7.5.4 创建回滚段 191 7.5.5 产品回滚段与数据装载回滚段 192 7.6 解决方案 192 7.6.1 OLTP应用 192 7.6.2 数据仓库/批处理应用 193 第8章 数据库调整 194 8.1 调整应用程序设计 194 8.1.1 高效的表设计 194 8.1.2 分配CPU请求 195 8.1.3 高效地进行应用设计 196 8.2 调整SQL 197 8.3 调整内存使用 201 8.4 调整数据存储 204 8.4.1 段的碎片整理 204 8.4.2 自由盘区的碎片整理 206 8.4.3 标识链接行 210 8.4.4 增加Oracle块尺寸 211 8.4.5 使用索引组织表 211 8.5 调整数据操作 212 8.5.1 大量数据的插入:使用SQL*Loader Direct Path选项 212 8.5.2 大量数据的插入:常见陷阱和成功 诀窍 214 8.5.3 大量数据的删除:truncate命令 215 8.5.4 分区 216 8.6 调整物理存储 216 8.6.1 整理文件碎片 216 8.6.2 使用原始设备 217 8.6.3 使用RAID和镜像 217 8.7 调整逻辑存储 217 8.8 减少网络流量 218 8.8.1 数据复制 218 8.8.2 使用远程过程调用 222 8.9 使用OEM和性能调整组件 224 8.9.1 Oracle Expert组件 224 8.9.2 Oracle性能管理器选项 227 8.10 调整方案 229 第9章 数据库安全与审计 231 9.1 安全性能 231 9.1.1 帐户安全性 231 9.1.2 对象权限 231 9.1.3 系统级角色和权限 232 9.2 实现安全性 232 9.2.1 操作系统安全性 232 9.2.2 创建用户 232 9.2.3 撤消用户 234 9.2.4 系统级权限 235 9.2.5 用户环境文件 237 9.2.6 口令管理 239 9.2.7 防止口令重新使用 240 9.2.8 设置口令复杂度 241 9.2.9 数据库帐户与主机帐户相连 245 9.2.10 用口令文件进行验证 247 9.2.11 口令保护 247 9.2.12 对象级权限 248 9.2.13 列表权限 251 9.3 限制可用的命令:产品用户环境文件 253 9.4 登录期间的口令安全 253 9.5 口令加密与技巧 253 9.5.1 如何存储口令 254 9.5.2 设置不存在的口令 254 9.5.3 变成另一个用户 255 9.6 审计 257 9.6.1 登录审计 257 9.6.2 操作审计 258 9.6.3 对象审计 259 9.7 保护审计跟踪 260 9.8 分布式环境的安全性 260 9.9 解决方案 260 第10章 优化备份和恢复过程 262 10.1 特性 262 10.2 逻辑备份 262 10.2.1 导出 262 10.2.2 导入 262 10.3 物理备份 263 10.3.1 脱机备份 263 10.3.2 联机备份 263 10.4 实现 264 10.4.1 导出 264 10.4.2 导入 285 10.4.3 脱机备份 289 10.4.4 联机备份 291 10.4.5 备用数据库 301 10.5 备份过程集成 301 10.5.1 逻辑备份和物理备份集成 302 10.5.2 数据库和操作系统备份集成 303 10.6 使用备份过程时的恢复情形 304 10.6.1 实例失败 304 10.6.2 介质失败 305 10.6.3 恢复意外删除或修改的对象 306 10.6.4 并行恢复 307 10.6.5 Recovery Manager 308 第11章 管理Oracle Financials和其他软件包 及实用程序 317 11.1 软件包的通用管理准则 317 11.1.1 定制数据库结构 317 11.1.2 安全与数据访问控制 321 11.1.3 事务管理 322 11.1.4 文件定位 322 11.1.5 监控 322 11.1.6 版本考虑 323 11.1.7 DBA的角色 324 11.2 管理Oracle Financials软件包的特殊 准则 324 11.2.1 数据库结构 324 11.2.2 数据库访问 326 11.2.3 并发管理器 327 11.2.4 演示数据库 328 11.2.5 版本管理 328 11.2.6 文件定位 328 11.2.7 init.ora参数 329 11.2.8 最活跃的表和索引 330 11.2.9 优化程序 330 11.3 管理Oracle Designer的特殊准则 330 11.3.1 数据库结构 331 11.3.2 init.ora参数 332 11.3.3 最活跃的表和索引 333 11.3.4 优化程序 333 11.4 管理其他软件包和实用程序 333 11.4.1 ConText 333 11.4.2 SQL*Loader 335 11.4.3 程序设计接口 336 第12章 大型数据库管理 337 12.1 设置环境 337 12.1.1 确定大型数据库的容量 337 12.1.2 设置支持区大小 340 12.1.3 选择物理设计 341 12.1.4 分区 342 12.1.5 创建显形图 347 12.1.6 创建完全索引表 348 12.1.7 创建和管理索引组织表 348 12.1.8 创建和管理位映射索引 349 12.2 事务管理 350 12.2.1 配置批事务环境 350 12.2.2 装载数据 352 12.2.3 插入数据 352 12.2.4 删除数据 353 12.3 备份 355 12.3.1 备份需求及策略评估 356 12.3.2 备份方案 357 12.4 调整 357 12.5 使用可迁移表空间 359 12.5.1 生成可迁移的表空间集 360 12.5.2 插入可迁移的表空间集 360 12.6 局部管理的表空间 361 第三部分 网络Oracle 第13章 SQL*Net V2和Net8 363 13.1 SQL*Net V2和Net8概述 363 13.1.1 连接描述符 365 13.1.2 服务名 366 13.1.3 监听程序 367 13.1.4 Oracle8i中的监听程序 368 13.2 使用Net8 Configuration Assistant 369 13.2.1 配置监听程序 370 13.2.2 命名方法配置 371 13.2.3 本地网络服务名的配置 374 13.2.4 目录服务配置 374 13.3 使用Net8 Assistant 375 13.3.1 多协议交换 377 13.3.2 使用连接管理器 378 13.3.3 使用Oracle Names 379 13.4 应用样例:客户机/服务器应用程序 380 13.5 应用样例:数据库链接 380 13.6 应用样例:copy命令 381 13.7 Oracle Names 的服务器/客户机配置 383 13.8 调整SQL*Net和Net8 383 第14章 UNIX上的Oracle联网技术 385 14.1 主机的识别 385 14.2 数据库的识别 385 14.3 服务的识别 386 14.4 启动监听程序服务器进程 388 14.5 控制监听程序服务器进程 388 14.6 调试连接问题 390 第15章 Windows NT上的联网技术 392 15.1 Oracle和Windows NT 392 15.2 Oracle和Net8 395 15.2.1 Net8监听程序 396 15.2.2 使用多线程服务器 396 15.3 配置Windows NT为后端服务器 397 15.3.1 降低交互式前台应用程序的 优先权 398 15.3.2 减少Windows NT服务器的文件 缓存 398 15.3.3 禁止不必要的服务 398 15.3.4 取消不使用的网络协议并重新设置 连接顺序 399 15.3.5 其他可用的配置选项 399 第16章 分布式数据库管理 400 16.1 远程查询 400 16.2 远程数据操作:两阶段提交 401 16.3 动态数据复制 402 16.4 分布式数据管理 403 16.4.1 基础结构:实施位置透明性 403 16.4.2 数据库链接管理 406 16.4.3 数据库触发器管理 407 16.4.4 快照管理 408 16.4.5 选择刷新类型 415 16.4.6 快照的脱机实例化 415 16.4.7 清除快照日志 416 16.5 分布式事务管理 417 16.6 数据库域和群 418 16.7 分布式数据库监控 419 16.8 分布式数据库调整 420 16.9 使用作业队列 422 第17章 配置客户机/服务器和Web网络 环境 424 17.1 客户机/服务器处理概述 424 17.2 瘦客户机配置概述 425 17.3 配置服务器 429 17.3.1 标识可用主机 429 17.3.2 标识可用的服务 430 17.3.3 标识可用数据库 430 17.3.4 启动Net8 432 17.4 配置客户机 432 17.4.1 标识可用的主机 432 17.4.2 客户机说明 433 17.5 中间层应用服务器 433 17.5.1 运行Net8 433 17.5.2 Oracle与防火墙 433 第四部分 附 录 附录A DBA的SQL命令参考 435 附录B Oracle8.0和Oracle8i中的init.ora参数 变化 582 附录C 24×7可用性的重新设计 599
- 1
- 粉丝: 38
- 资源: 131
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助