Oracle DBA工作笔记-运维.数据迁移与性能调优
本书特色
[
本书是来自一线oracle dba的实践工作笔记,凝结作者多年数据库管理运维心得;全书从运维、数据迁移和优化三个层面娓娓道来,精心筛选作者在实际工作中总结的技巧、对常见问题的高效处理方法,以及大量融入完善解决方案的诊断案例;尤其对数据库的宕机、容灾、监控管理、外部表迁移方案、系统调优、sql优化等重点内容的讲解更是细致入微。
]
内容简介
[
ace成员 一线资深dba 搜狐畅游数据库专家多年运维经验凝聚成简。以工作笔记形式凝练近800天原创技术博客精华,全面再现dba工作场景以及运维故障解决思路,透彻理解oracle运维、数据迁移和性能调优。
]
作者简介
[
杨建荣DBA一枚,Oracle ACE,DBAplus社群联合发起人,YEP成员(Young Expert Program),现就职于搜狐畅游,曾负责亚太电信运营商的数据业务支持,主要负责完成数据业务升级、数据迁移和性能调优。拥有Oracle 10g OCM,MySQL OCP认证,在数据库大会和Oracle嘉年华做过主题分享。除数据库技术之外,对shell,Java也有一定的功底,平时喜好写技术博客,每天坚持一篇,现已经坚持800多天(公众号 jianrong-notes)。
]
目录
第1篇 数据库运维篇第1章 数据库安装配置1.1 安装前的准备 11.2 安装数据库软件 51.2.1 方法1:oui安装 61.2.2 方法2:静默安装 81.2.3 方法3:克隆安装 111.2.4 诊断案例:克隆安装后无法登录的问题 131.3 创建/删除数据库 161.3.1 方法1:dbca图形建库 161.3.2 方法2:手工建库 181.3.3 方法3:dbca静默建库 221.3.4 方法4:omf建库 221.3.5 诊断案例:create database语句在10g、11g中的不同 231.3.6 创建数据库后的补充工作 261.3.7 删除数据库的步骤 291.4 关于sysdba、sysoper、dba的区别和联系 29第2章 常用工具和问题分析2.1 sql*plus使用及常见问题 342.1.1 sql*plus使用细则 342.1.2 sql*plus无法启动的常见原因 41特殊问题:乱码导致的sql*plus无法启动的问题 43特殊问题:使用strace诊断奇怪的sql*plus登录问题 442.2 解析exp/imp及常见问题 472.2.1 exp/imp使用场景及示例 472.2.2 exp/imp使用常见问题 50诊断案例:生产系统exp无法使用的紧急诊断和修复 55诊断案例:外部表的导入导出问题 57诊断案例:imp-00013 问题及解决方法 58诊断案例:使用strace分析exp中buffer设置的奇怪问题 60经验分享:你可能不了解的dump文件 632.3 解析datapump及常见问题 662.3.1 datapump使用场景及示例 662.3.3 只言片语分析datapump的工作原理 68诊断案例:impdp异常中断导致的问题 70诊断案例:使用impdp选项不当导致的数据丢失 73第3章 服务连接配置3.1 监听配置与客户端配置简介763.2 网络服务配置 783.2.1 网络配置细则与实践 78诊断案例:session跟踪失效的问题和原因 823.2.2 监听配置文件格式探究——一个空格的威力 843.2.3 rac中的taf的配置 883.2.4 rac中的scan的配置 903.2.5 通过单例模式模拟rac连接 933.3 监听器无法启动的几个原因94诊断案例:使用strace分析tns-12543的案例 96第4章 数据库启/停和宕机问题4.1 数据库启停的问题分析 994.2 数据库无法启动案例 100诊断案例:数据库参数设置不当导致无法启动的问题100诊断案例:服务器增加内存后无法重启数据库的问题及解决方案 102诊断案例:数据库shutdown之后无法启动的问题 103诊断案例:rac节点无法启动的ora-29702问题及分析 105诊断案例:连续出现的rac节点问题 1084.3 数据库无法登录问题分析1104.4 数据库无法登录案例 111诊断案例:归档空间不足导致的数据库无法登录问题 111诊断案例:session leak导致的数据库无法登录问题 115诊断案例:undo缺失导致的数据库无法登录问题 1184.5 数据库宕机问题和原因分析1194.6 数据库宕机问题案例 119诊断案例:一条sql语句导致的数据库宕机问题及分析 119诊断案例:存储导致的数据库宕机问题及分析 121诊断案例:i/o问题导致的数据库突然宕机的问题及分析 124诊断案例:数据库导致突然宕机的问题及解决 126第5章 容灾与备份恢复5.1 备份恢复应用及实践 1325.1.1 归档模式下的四种完全恢复场景 1325.1.2 rman中三个不完全恢复场景 137实验1:使用句柄实现特定场景的无备份恢复 141实验2:关于dual表的破坏性测试 1455.2 闪回应用及实践 1495.2.1 关于delete、drop、truncate异同和无备份恢复场景 1495.2.2 使用闪回查询备份数据 1525.2.3 使用flashback query巧妙抽取指定数据 154实战案例:巧用flashback database实现灵活的数据回滚 155实战案例:巧用flashback database实现灵活的数据切换 1565.3 data guard搭建与应用 1605.3.1 常见的data guard隐患 1615.3.2 11g data guard搭建实践 1635.3.3 论oracle备库的设计方案 1695.3.4 实用至上的 snapshot standby特性 171实践案例:data guard备库中的几个数据文件问题 175实践案例:data guard备库的数据文件的迁移实战 179诊断案例:由drop datafile导致的oracle bug 182诊断案例:一个oracle bug的手工修复 185诊断案例:11g备库无法开启adg的原因分析 188第6章 监控管理和故障处理6.1 zabbix、orabbix简介 1916.2 zabbix agent部署 1916.3 orabbix的部署 1946.4 浅谈zabbix和grid control的优劣 1976.5 orabbix定制监控oracle的简单配置 198实践案例:orabbix结合python发送图形报表 200实践案例:zabbix中配置data guard的监控 2056.6 两条腿走路更稳当——硬件监控很有必要 2076.7 运维平台的建设思考——元数据管理 2096.8 监控盲点与诊断案例 210监控盲点:由dual导致的一个潜在的监控问题 210诊断案例:备库cpu使用异常优化 213诊断案例:两条报警信息结合分析dg问题 216诊断案例:监控反被监控误——一则orabbix报警的分析 222诊断案例:自定义监控项快速定位问题 224诊断案例:cpu报警信息的分析 226 第2篇 数据迁移篇第7章 数据库升级7.1 数据库升级常用方法与准备工作 2307.2 oracle10g升级至11g完整呈现 2317.2.1 准备流程图 2317.2.2 10g升级至11g需要考虑的参数优化 2327.2.3 oracle10g升级至11g准备工作详细步骤 2337.2.4 升级流程示意图 2367.2.5 升级后需要考虑的补充工作 2377.2.6 实战汇总:oracle 10g 升级 11g过程中常见问题及解决方案 2387.3 升级后常见问题与解决方案2437.3.1 问题分析:关于oracle invalid components问题的解决 2437.3.2 问题分析:10g升级至11g后数据库无法启动的问题 2467.3.3 问题分析:10g升级至11g后exp启用consistent=y的问题 2487.3.4 问题分析:查询user_synonyms超时的问题 2547.3.5 问题分析:impdp 10g/11g问题解决 2557.3.6 问题分析:升级后数据库日志里的外部表错误 257第8章 数据迁移及问题处理8.1 数据迁移工具和使用场景分析2618.2 利用sql*loader进行数据迁移 2638.2.1 关于sql*loader-805问题的解决 2638.2.2 sql*loader加载性能问题的排查 2658.2.3 excel文件内容导入数据库的问题及解决 267诊断案例:生产环境sql*loader加载性能问题及分析 2698.3 传输表空间 2758.4 分区表迁移相关 2778.4.1 分区表的水平、垂直切分 2788.4.2 关于分区表的move操作 2798.4.3 批量转换分区表为普通表 2818.5 外部表 2828.5.1 外部表简单总结 282诊断案例:巧用外部表避免大量的insert 284诊断案例:巧用外部表备份历史数据 286诊断案例:通过外部表改进一个烦琐的大查询 2898.6 其他迁移方式 2928.6.1 数据库文件的迁移 2928.6.2 data guard环境中的数据文件迁移方式对比 2958.6.3 关于move tablespace的问题总结 298第9章 数据迁移之外部表实战9.1 失败的经验总结:数据迁移问题汇总 3009.1.1 非空约束导致的数据加载失败 3019.1.2 外键数据差异导致的约束无法启用 3019.1.3 网络问题导致数据加载中断 3019.1.4 约束问题导致datapump加载回滚 3029.1.5 undo不足的困扰 3029.1.6 冲突数据不易展现 3029.1.7 sequence冲突检查 3039.1.8 加载lob数据的假并行 3039.1.9 数据乱码的影响 3039.1.10 数据转储文件不可读/不易读 3039.1.11 大分区表的加载性能问题 3049.2 外部表方案的产生 3049.2.1 sql*loader和oracle_datapump性能大比拼 3049.2.2 海量数据迁移之通过shell脚本估算数据量 3059.2.3 数据迁移前的数据库检查和建议 3089.2.4 数据迁移前的系统检查 313小技巧:怎样突破表名30个字符的限制 315小技巧:使用shell生成状态报表 3179.3 数据抽取 3189.3.1 外部表切分原理 3199.3.2 抽取方式1:使用utl_file做选择性数据导出 3219.3.3 抽取方式2:海量数据迁移之外部表并行抽取 3249.3.4 抽取方式3:海量数据迁移之分区并行抽取 3279.3.5 抽取方式4:海量数据迁移之分区并行切分 3319.3.6 抽取方式5:海量数据迁移之通过rowid切分大表 332小技巧:海量数据迁移之使用shell启用多个动态并行 3369.4 数据预检查 3389.4.1 海量数据迁移之冲突数据筛查 3399.4.2 数据迁移判断非空约束 340小技巧:使用shell进行日志分析 342小技巧:使用shell脚本巧妙统计文件 3449.5 数据加载 3459.5.1 海量数据迁移之外部表加载 3459.5.2 巧用parallel极速提升数据加载速度 3489.5.3 海量数据迁移之使用分区并行切分导入 3509.5.4 海量数据迁移之分区表批量insert性能改进 3529.6 可能碰到的数据修复问题3529.6.1 使用错误日志修复数据的利弊 353诊断案例:数据紧急修复之启用错误日志 3559.6.2 人为操作失误的分析和应对 3569.7 数据迁移经验总结 3589.7.1 海量数据迁移之误操作和防范建议 3589.7.2 数据迁移需要考虑的问题 360第3篇 数据库优化篇第10章 优化工具简介和定制10.1 awr简介 36210.1.1 awr的常用功能 36310.1.2 解析awr中的cpu信息 36710.1.3 使用shell定制awr脚本 37010.1.4 强大的awr format 373小技巧:使用awr来分析session leak问题 375实例分析:一份awr报告分析的思路 37610.2 ash 38010.2.1 ash中的数据字典基表 38010.2.2 通过shell定制ash脚本 38310.3 addm 38510.3.1 使用shell定制addm脚本 385诊断案例 通过addm明确i/o问题 38710.4 sql profile简介 38910.4.1 sql profile的使用功能 38910.4.2 使用sqlt手工创建sql profile 39310.4.4 性能下降的不定时炸弹——过旧的sql profile 40010.5 sql monitor的功劳 40110.5.1 sql monitor的使用功能 40110.5.2 osm的改进点和简单定制 40310.6 数据字典 40510.6.1 数据字典管理 405实例诊断:数据字典中的细节问题 406诊断案例:关于dba_data_files无法访问一个小问题 40910.7 自定义脚本 41010.7.1 关于session leak的问题分析 410诊断案例:关于ora-00020问题的反思 41310.7.2 高级开发语言定制,量力而行 414第11章 数据库实例调优11.1 调整数据库参数 417诊断案例:关于修改数据库参数的测试 41711.2 内存组件调整 421诊断案例:关于纠结的recycle pool的设置 426诊断案例:分区表放入keep pool、recycle pool的问题及解析 42711.3 等待事件分析 430诊断案例:关于等待事件“read by other session” 431诊断案例:关于enq:tx – allocate itl entry的问题分析 43411.4 日志分析调优 437诊断案例:由一条日志警告所做的调优分析 437诊断案例:ora-17500 odm err的问题排查 440诊断案例:alert日志中一条ora警告信息的分析 44111.5 分区表优化 443诊断案例:通过分区键值发现性能问题 443经验分享:修改分区表的问题总结 44511.6 需要重视的并发 447第12章 系统调优12.1 i/o问题诊断 45112.1.1 orion的简单部署和测试 452诊断案例:启用odm极速调优i/o 455诊断案例:一次数据库响应缓慢的问题排查 45912.2 通过linux命令诊断性能问题 46012.2.1 那些极度危险的linux命令 46112.2.2 一些“简单”的linux命令 464诊断案例:crontab导致cpu异常的问题分析及处理 471诊断案例:服务器进程异常的原因分析 47412.3 内核参数优化诊断 477诊断案例:linux kernel引发的数据库连接问题 478诊断案例:linux kernel引发的data guard问题 481第13章 sql优化前奏和sql审核13.1 sql优化前奏 48713.1.1 sql的查询转换 48713.1.2 通过错误的sql来测试推理sql的解析过程 494诊断
封面
书名:Oracle DBA工作笔记-运维.数据迁移与性能调优
作者:杨建荣
页数:616
定价:¥79.0
出版社:中国铁道出版社
出版日期:2016-08-01
ISBN:9787113218973
PDF电子书大小:35MB 高清扫描完整版
本文标题:《Oracle DBA工作笔记-运维.数据迁移与性能调优》PDF下载
资源仅供学习参考,禁止用于商业用途,请在下载后24小时内删除!