内容简介
第一篇 成长之路
第1章 三十八载,Oracle伴我同行
1.1 缘起边陲,恰同学风华正茂
1.2 京师磨练,转眼已历十二载
1.3 笔耕不辍,年少曾怀作家梦
1.4 三重境界,见山见水见真我
1.5 云和恩墨,数据服务起征途
1.6 理想实践,开发运维一体化
1.7 快乐生活,此心安处是吾乡
第2章 回首向来萧瑟处,也无风雨也无晴
2.1 人生若只如初见
2.2 日久生情见真心
2.3 衣带渐宽终不悔
2.4 天下谁人不识君
2.5 回首向来萧瑟处,也无风雨也无晴
第3章 正确抉择,丰富人生
3.1 初闻Oracle
3.2 选择适合自己的路
3.2.1 选择合适的资料书
3.2.2 融入圈子
3.2.3 关于大学的课程
3.3 树立目标
3.3.1 参与论坛分享
3.3.2 写作
3.3.3 参加技术研讨会
3.4 关于认证
第二篇 知识基础
第4章 Oracle数据库的跟踪和分析方法
4.1 SQL_ TRACE及10046事件
4.2 SQL_ TRACE说明
4.2.1 DBMS SYSTEM跟踪案例
4.2.2 系统递归调用的跟踪
4.3 10046与等待事件
4.3.1 通过跟踪理解数据库的初始化
4.3.2 远程支持之10046事件
4.3.3 通过10046事件跟踪解决未知问题
4.3.4 通过10046解决数据库RAC集群案例
4.4 Oracle跟踪总结
4.5 参考资料:数据类型比较规则
4.5.1 数值类型
4.5.2 日期类型
4.5.3 字符类型
4.5.4 对象类型
4.5.5 数组和嵌套表类型
第5章 兴趣、思考与实践
5.1 Kaunus谈技术、学习与分享
5.1.1 Oracle的适用场景
5.1.2 为什么Oracle广受欢迎
5.1.3 如何实现灾备
5.1.4 数据库发展对DBA工作的影响
5.1.5 Oracle的学习方法
5.1.6 如何成为ACE
5.2 以12c Identity类型示范自我探索式学习方法
5.3 Dump Block是否会引起Block读入内存
5.4 Dump Block是否会引起脏数据写入磁盘
5.5 如何验证ASM的块头备份块的位置
5.6 如何利用文件句柄恢复误删除的文件
5.7 从一道面试题看分析问题的思路
5.7.1 检查被阻塞会话的等待事件
5.7.2 查找blocker
5.7.3 乙方DBA需谨慎
5.7.4 清除blocker
5.7.5 深入一步
5.8 涓涓细流终聚海
第6章 使用XTTS技术进行U2L跨平台数据迁移
6.1 XTTS概述
6.2 XTTS技术迁移应用场景
6.2.1 应用场景一:全国“去IOE””战略实施
6.2.2 应用场景二:“云平台”数据中心建设
6.2.3 应用场景三:老旧环境淘汰改造
6.2.4 应用场景四:数据库分布式存储重构
6.2.5 应用场景五:其他应用场景
6.3 XTTS迁移步骤
6.4 XTTS迁移方式
6.4.1 方式一:dbms_file_transfer
6.4.2 方式二:RMAN Backup
6.4.3 方式三:手工XTTS迁移
6.5 XTTS前置条件检查
6.6 XTTS最佳实践方案论证
6.6.1 技术方案概况
6.6.2 技术方案实施步骤
6.6.3 技术方案模型
6.6.4 方案可行性说明
6.6.5 方案优缺点论述
6.6.6 技术方案论证结论
6.7 XTTS RMAN Backup步骤
6.8 XTTS实战案例分享
6.8.1 案例现状介绍
6.8.2 系统现状评估
6.8.3 迁移需求分析
6.8.4 迁移方案选型
6.8.5 迁移的具体实施
6.9 XTTS风险预估
6.10 XTTS总结
第7章 Oracle的参数和参数文件
7.1 参数的分类
7.1.1 推导参数
7.1.2 操作系统依赖参数
7.1.3 可变参数
7.1.4 不推荐参数
7.1.5 废弃参数
7.2 参数文件管理和使用
7.2.1 参数文件的创建
7.2.2 12c create spfile的警示
7.3 12c参数与参数文件新特性
7.3.1 参数表的引入
7.3.2 参数表在PDB启动中的作用
7.4 参数修改及重置
7.4.1 解决参数文件的修改错误
7.4.2 通过event事件来跟踪对参数文件的修改
7.5 参数的查询
7.5.1 参数查询的基本方式
7.5.2 参数值的可选项
7.6 不同查询方法之间的区别
7.6.1 V$PARAMETER和V$PARAMETER2的区别
7.6.2 V$PARAMETER和V$SYSTEM_PARAMETER的区别
7.6.3 GV$SPPARAMETER和V$SPPARAMETER的区别
7.7 RAC下参数的维护
7.7.1 RAC下共享spfile
7.7.2 使用ASM存储参数文件
7.7.3 谨慎修改RAC参数
7.7.4 RAC环境下初始化参数的查询方法
7.8 参数文件备份
7.9 参数文件恢复
第三篇 SQL之美
第8章 学习与分享
8.1 对数据库开发和运维的认识
8.2 行业发展给DBA带来的挑战
8.3 个人学习经验分享
8.4 Oracle中的NULL剖析
8.4.1 NULL的基础概念和由来
8.4.2 NULL的布尔运算的特点
8.4.3 NULL的默认数据类型
8.4.4 空字符串’’与NULL的关系
8.4.5 NULL和索引
8.4.6 NULL的其他方面特点
第9章 诊断Cache buffers chains案例一则
9.1 详细诊断过程
9.2 总结
第10章 戒骄戒躁、细致入微
10.1 我的职业生涯
10.2 运维的现状及发展
10.3 如何提高数据库的开发水平
10.4 DBA面临的挑战
10.5 数据库优化的思考
10.6 提问的智慧
10.7 细致入微方显价值——通过真实案例认识SQL审核
10.7.1 案例一仅仅是NULL的问题
10.7.2 案例二想不到的优化方式
10.8 号段选取应用的SQL技巧
10.8.1 问题的提出
10.8.2 相关基础知识
10.8.3 解决问题
10.8.4 小结
10.9 connect by的作用与技巧
10.9.1 connect by是什么
10.9.2 connect by可以做什么
第四篇 诊断分析
第11章 抽丝剥茧——一次特殊的ORA-04030故障处理
11.1 聚集数据的信息采集和分析
11.2 聚焦疑点的跟踪测试与验证
11.3 解析原理的问题总结与建议
第12章 不积跬步,无以至千里
12.1 技术生涯有感
12.2 自我定位及规划
12.3 对数据库运维工作的认识
12.4 学习理念分享
12.5 RAC数据库频繁hang问题诊断案例
12.5.1 案例现象及概要
12.5.2 故障详细分析
12.5.3 案例总结
12.6 Exadata环境下SQL性能问题诊断案例
12.6.1 AWR报告
12.6.2 生成SQL报告
12.6.3 检查历史数据
12.6.4 判断问题产生的流程
12.6.5 查询历史数据
12.6.6 并列执行的序列过程
12.6.7 检查call tack
12.6.8 检查并行会话
12.7 关于RAC数据库load alance案例分析
12.8 总结
第13章 反思与总结:轻松从菜鸟到专家
13.1 一波三折:释放内存导致数据库崩溃的案例
13.2 层层深入:DRM引发RAC的故障分析
13.3 始于垒土:应用无法连接数据库问题分析
13.4 变与不变:应用SQL突然变慢优化分析
13.5 实践真知:INSERT入库慢的案例分析
13.6 按图索骥:Expdp遭遇ORA-07445的背后
13.7 城门失火:Goldengate引发的数据库故障
第14章 勤奋与汗水
14.1 我的职业生涯与思考
14.2 如何看待企业运维
14.3 对性能问题的认识
14.4 学习方法
14.5 所有奇异的故障都有一个最简单的本质
14.6 案例一:意料之外的RAC宕机祸首——子游标
14.6.1 信息采集,准确定位问题
14.6.2 层层分析,揪出罪魁祸首
14.6.3 对症下药,排除数据故障
14.6.4 深入总结,一次故障长久经验
14.7 案例二:异常诡异的SQL性能分析
14.7.1 信息收集
14.7.2 新特性分析
14.8 总结
参考文献