文档信息 2
目录 4
1. 前言 9
1.1. 成就DBA介绍 9
1.2. 我应该成为一名DBA么? 9
1.3. 我怎样得到第一份DBA工作? 10
1.3.1. 提示#1:接受教育。 11
1.3.2. 提示#2:锻炼成为DBA。 11
1.3.3. 提示#3:获得认证。 11
1.3.4. 提示#4:利用你现有的技能。 12
1.3.5. 提示#5:利用现在的机会。 12
1.3.6. 提示#6:寻找较低级的DBA职位。 12
1.4. 我刚得到我的第一份工作!现在该怎样? 12
1.4.1. 步骤#1: 关系型数据库理论 12
1.4.2. 步骤#2: 彻底的学习查询语言 13
1.4.3. 步骤#3: 开始学习基本的数据库管理工作 13
1.4.4. 步骤#4: 阅读,阅读,再阅读 13
1.4.5. 步骤#5: 创建测试案例 13
1.4.6. 步骤#6: 找一个良师 14
1.4.7. 步骤#7: 参加本地用户群 14
1.5. 我如何能够从一名DBA初学者变为一个具有中级水平的DBA? 14
1.5.1. 步骤#1: 学习操作系统和你的服务器硬件 14
1.5.2. 步骤#2: 学习应用程序设计因为它与数据库相关 14
1.5.3. 步骤#4: 取得认证 14
1.5.4. 步骤#5: 获得一个资源库 15
1.5.5. 步骤#6: 开始在不同的新闻组和论坛上交流 15
1.6. 我如何从一名具有中级水平的DBA转变为一名高级DBA? 15
1.6.1. 步骤#1: 阅读所有的文档 16
1.6.2. 步骤#2: 成为一名专家 16
1.6.3. Route #3: 积极参加新闻组,论坛和用户组 16
1.6.4. Route #4: 写白皮书并且展示它们 16
1.6.5. 步骤#5: 成为解决Oracle问题的专家 16
1.6.6. 步骤#6: 成为性能调优的专家 16
1.6.7. 步骤#7: 成为承载能力计划的专家 17
1.6.8. 步骤#8: 密切关注新的技术 17
1.7. 结论 17
2. DBA工作概述 18
2.1. DBA职责 18
2.1.1. 决定数据库中的信息内容和结构 18
2.1.2. 决定数据库的存储结构和存取策略 18
2.1.3. 定义数据的安全性要求和完整性约束条件 18
2.1.4. 监控数据库的使用和运行 18
2.1.5. 数据库的改进和重组重构 18
2.2. DBA 日常工作——运行维护 19
2.2.1. ORACLE数据库管理员应按如下方式对ORACLE数据库系统做定期监控: 19
2.2.2. 每天的工作 20
2.2.3. 每周的工作 21
2.2.4. 每月的工作 22
DBA例行工作 22
2.3. 开发 DBA 工作 24
3. 操作系统和服务器硬件 25
3.1. 操作系统 25
3.2. 服务器硬件 25
4. 数据库安装与配置 26
4.1. 数据库安装 26
4.1.1. Unix下操作步骤 26
4.1.2. Linux下操作步骤 26
4.2. 数据库基本配置 26
4.2.1. 常用参数 26
4.2.2. 操作步骤 26
4.3. 数据库升级 26
4.3.1. 操作步骤 26
5. 数据库逻辑设计 27
6. 数据库物理设计 28
7. 数据常用参数管理 29
7.1. 内核参数的应用 29
8. 数据库对象管理 30
8.1. 日志管理 30
8.2. 表空间管理 31
8.3. 表管理 32
8.3.1. 创建表 32
8.3.2. 修改表 32
8.3.3. 删除表 32
8.4. 表分区管理: 33
8.4.1. 表分区定义 33
8.4.2. 数据分区存储的优点 33
8.4.3. 分区方法 34
8.4.4. 创建分区表 34
8.4.5. 查询分区 35
8.4.6. 添加分区 35
8.4.7. 删除分区 35
8.4.8. 修改分区 35
8.4.9. 移动分区 36
8.4.10. 拆分分区 36
8.4.11. 截断分区 36
8.4.12. 合并分区 36
8.4.13. 交换表分区 36
8.5. 索引 37
8.6. 约束 37
8.7. LOAD数据 38
8.8. reorganizing data 38
8.9. 其他技巧 39
9. 数据库安全管理 40
9.1. 定义 40
9.2. 安全内容及工作 40
9.2.1. 安全内容 40
9.2.2. 安全工作 40
9.3. 安全性策略 40
9.3.1. 系统安全性策略 40
9.3.2. 用户安全性策略 41
9.3.3. 数据库管理者安全性策略 41
9.3.4. 应用程序开发者的安全性策略 41
9.4. 用户管理 41
9.4.1. 数据库的存取控制 41
9.4.1.1. 用户鉴别 41
9.4.1.2. 用户的表空间设置和定额 42
9.4.1.3. 用户资源限制和环境文件 42
9.4.1.4. 用户环境文件 42
9.4.2. 创建用户 43
9.4.3. 修改用户 43
9.4.4. 删除用户 43
9.5. 口令管理 44
9.6. 权限和角色 44
9.7. 数据库审计 47
10. Oracle的性能优化 48
10.1. 性能优化概述 48
10.1.1. 性能优化的内容 48
10.1.2. 不同类型系统的优化 48
10.1.2.1. 在线事务处理信息系统(OLTP) 48
10.1.2.2. 数据仓库系统(Data Warehousing) 48
10.2. SQL语句的优化 48
10.2.1. SQL语句的优化规则 48
10.2.2. SQL语句优化的具体方法 49
10.2.2.1. 索引的使用 49
10.2.2.2. SQL语句排序优化 49
10.2.2.3. 选择联合查询的联合次序 49
10.2.2.4. SQL子查询的调整 49
10.3. Oracle 运行环境的优化 50
10.3.1. 内存结构的调整 50
10.3.1.1. 共享池 50
10.3.1.2. 数据缓冲区 50
10.3.1.3. 日志缓冲区 51
10.3.2. 物理I/O的调整 51
10.3.2.1. 在磁盘上建立数据文件前首先运行磁盘碎片整理程序 51
10.3.2.2. 不要使用磁盘压缩 51
10.3.2.3. 不要使用磁盘加密 51
10.3.2.4. 使用RAID 51
10.3.2.5. 分离页面交换文件到多个磁盘物理卷 51
10.3.3. CPU的优化调整 51
10.3.3.1. 查看CPU的使用情况 51
10.3.3.2. 查看SQL语句的解析情况 52
10.3.3.3. 查看Oracle数据库的冲突情况 52
10.3.3.4. CPU的优化调整方法 52
10.3.4. 网络配置的优化 52
10.3.5. Oracle碎片整理 53
10.3.5.1. 碎片是如何产生的 53
10.3.5.2. 碎片对系统的影响 53
10.3.5.3. 自由范围的碎片计算 53
10.3.5.4. 自由范围的碎片整理 54
10.3.5.5. 段的碎片整理 54
10.3.6. Oracle系统参数的调整 55
10.3.6.1. Shared Pool and Library Cache Performance Tuning(共享池和Library Cache) 55
10.3.6.2. Buffer Cache Performance Tuning(数据库缓存调整) 55
10.3.6.3. Latch Contention(加锁或插销竞争) 55
10.3.6.4. Redo Log Buffer Performance Tuning(重写日志缓冲的调整) 55
10.3.6.5. Query Performance Tuning(查询效率的调整) 55
10.3.6.6. Temporary Tablespace Performance Tuning(临时表空间的调整) 56
10.4. 并发事件处理 56
10.4.1. 并发事件的产生 56
10.4.2. 锁 56
10.4.2.1. 锁的功能 56
10.4.2.2. 锁的类型 57
10.4.2.3. 锁的模式 58
10.4.2.4. 查看相关信息 59
10.5. 数据完整性 59
10.5.1. 数据完整性的类型 59
10.5.2. 完整性约束及其优点 59
10.5.3. 完整性约束的类型 59
10.5.3.1. NOT NULL约束 59
10.5.3.2. UNIQUE键约束 59
10.5.3.3. PRIMARY KEY约束 59
10.5.3.4. FOREIGN KEY约束 60
10.5.3.5. CHECK约束 60
10.5.4. 数据库触发器 60
10.6. 数据库性能优化工具 60
10.7. 常见问题处理 60
10.7.1. 序号生成器 60
10.7.2. 确定Oracle数据库中重复的记录 61
10.7.2.1. 自关联查询方法 61
10.7.2.2. GROUP BY/HAVING查询方法 61
10.7.2.3. Exception into子句 61
11. 备份与恢复 62
11.1. Oracle 归档模式 62
11.2. 备份 62
11.2.1. 备份方法 62
11.2.2. 完全数据库脱机备份 63
11.2.3. 联机部分数据库备份 63
11.2.4. 卸出(Export) /装入(Import) 63
11.2.5. 卸出数据(Export) 64
11.3. 恢复 65
11.4. 相关命令 65
1