最新公告
  • 开通终身SVIP,享全站不限量下载次数-云资源-集成各类网络资源-正在更新中-预计更新到5W+文章开通SVIP
  • 文章介绍
  • 评价建议
  • 资源名称:ORACLE DBA工作笔记 运维数据迁移与性能调优

    内容简介:

    本书是来自一线Oracle DBA的实践工作笔记,凝结作者多年数据库管理运维心得;全书从运维、数据迁移和优化三个层面娓娓道来,精心筛选作者在实际工作中总结的技巧、对常见问题的高效处理方法,以及大量融入完善解决方案的诊断案例;尤其对数据库的宕机、容灾、监控管理、外部表迁移方案、系统调优、SQL优化等重点内容的讲解更是细致入微。

    作者简介:

    DBA一枚,Oracle ACE,DBAplus社群联合发起人,YEP成员(Young Expert Program),现就职于搜狐畅游,曾负责亚太电信运营商的数据业务支持,主要负责完成数据业务升级、数据迁移和性能调优。

    拥有Oracle 10g OCM,MySQL OCP认证,在数据库大会和Oracle嘉年华做过主题分享。

    除数据库技术之外,对shell,Java也有一定的功底,平时喜好写技术博客,每天坚持一篇,现已经坚持800多天(公众号 jianrong-notes)。

    资源目录:

    第1篇 数据库运维篇

    第1章 数据库安装配置

    1.1 安装前的准备 1

    1.2 安装数据库软件 5

    1.2.1 方法1:OUI安装 6

    1.2.2 方法2:静默安装 8

    1.2.3 方法3:克隆安装 11

    1.2.4 诊断案例:克隆安装后无法登录的问题 13

    1.3 创建/删除数据库 16

    1.3.1 方法1:DBCA图形建库 16

    1.3.2 方法2:手工建库 18

    1.3.3 方法3:DBCA静默建库 22

    1.3.4 方法4:OMF建库 22

    1.3.5 诊断案例:create database语句在10g、11g中的不同 23

    1.3.6 创建数据库后的补充工作 26

    1.3.7 删除数据库的步骤 29

    1.4 关于SYSDBA、SYSOPER、DBA的区别和联系 29

    第2章 常用工具和问题分析

    2.1 SQL*Plus使用及常见问题 34

    2.1.1 SQL*Plus使用细则 34

    2.1.2 SQL*Plus无法启动的常见原因 41

    特殊问题:乱码导致的SQL*Plus无法启动的问题 43

    特殊问题:使用strace诊断奇怪的SQL*Plus登录问题 44

    2.2 解析exp/imp及常见问题 47

    2.2.1 exp/imp使用场景及示例 47

    2.2.2 exp/imp使用常见问题 50

    诊断案例:生产系统exp无法使用的紧急诊断和修复 55

    诊断案例:外部表的导入导出问题 57

    诊断案例:IMP-00013 问题及解决方法 58

    诊断案例:使用strace分析exp中buffer设置的奇怪问题 60

    经验分享:你可能不了解的dump文件 63

    2.3 解析Datapump及常见问题 66

    2.3.1 Datapump使用场景及示例 66

    2.3.3 只言片语分析Datapump的工作原理 68

    诊断案例:impdp异常中断导致的问题 70

    诊断案例:使用impdp选项不当导致的数据丢失 73

    第3章 服务连接配置

    3.1 监听配置与客户端配置简介 76

    3.2 网络服务配置 78

    3.2.1 网络配置细则与实践 78

    诊断案例:Session跟踪失效的问题和原因 82

    3.2.2 监听配置文件格式探究——一个空格的威力 84

    3.2.3 RAC中的TAF的配置 88

    3.2.4 RAC中的SCAN的配置 90

    3.2.5 通过单例模式模拟RAC连接 93

    3.3 监听器无法启动的几个原因 94

    诊断案例:使用strace分析TNS-12543的案例 96

    第4章 数据库启/停和宕机问题

    4.1 数据库启停的问题分析 99

    4.2 数据库无法启动案例 100

    诊断案例:数据库参数设置不当导致无法启动的问题 100

    诊断案例:服务器增加内存后无法重启数据库的问题及解决方案 102

    诊断案例:数据库shutdown之后无法启动的问题 103

    诊断案例:RAC节点无法启动的ORA-29702问题及分析 105

    诊断案例:连续出现的RAC节点问题 108

    4.3 数据库无法登录问题分析 110

    4.4 数据库无法登录案例 111

    诊断案例:归档空间不足导致的数据库无法登录问题 111

    诊断案例:Session Leak导致的数据库无法登录问题 115

    诊断案例:undo缺失导致的数据库无法登录问题 118

    4.5 数据库宕机问题和原因分析 119

    4.6 数据库宕机问题案例 119

    诊断案例:一条SQL语句导致的数据库宕机问题及分析 119

    诊断案例:存储导致的数据库宕机问题及分析 121

    诊断案例:I/O问题导致的数据库突然宕机的问题及分析 124

    诊断案例:数据库导致突然宕机的问题及解决 126

    第5章 容灾与备份恢复

    5.1 备份恢复应用及实践 132

    5.1.1 归档模式下的四种完全恢复场景 132

    5.1.2 RMAN中三个不完全恢复场景 137

    实验1:使用句柄实现特定场景的无备份恢复 141

    实验2:关于DUAL表的破坏性测试 145

    5.2 闪回应用及实践 149

    5.2.1 关于delete、drop、truncate异同和无备份恢复场景 149

    5.2.2 使用闪回查询备份数据 152

    5.2.3 使用Flashback Query巧妙抽取指定数据 154

    实战案例:巧用Flashback Database实现灵活的数据回滚 155

    实战案例:巧用Flashback Database实现灵活的数据切换 156

    5.3 Data Guard搭建与应用 160

    5.3.1 常见的Data Guard隐患 161

    5.3.2 11g Data Guard搭建实践 163

    5.3.3 论Oracle备库的设计方案 169

    5.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简介 191

    6.2 Zabbix Agent部署 191

    6.3 Orabbix的部署 194

    6.4 浅谈Zabbix和Grid Control的优劣 197

    6.5 Orabbix定制监控Oracle的简单配置 198

    实践案例:Orabbix结合Python发送图形报表 200

    实践案例:Zabbix中配置Data Guard的监控 205

    6.6 两条腿走路更稳当——硬件监控很有必要 207

    6.7 运维平台的建设思考——元数据管理 209

    6.8 监控盲点与诊断案例 210

    监控盲点:由DUAL导致的一个潜在的监控问题 210

    诊断案例:备库CPU使用异常优化 213

    诊断案例:两条报警信息结合分析DG问题 216

    诊断案例:监控反被监控误——一则Orabbix报警的分析 222

    诊断案例:自定义监控项快速定位问题 224

    诊断案例:CPU报警信息的分析 226

    第2篇 数据迁移篇

    第7章 数据库升级

    7.1 数据库升级常用方法与准备工作 230

    7.2 Oracle10g升级至11g完整呈现 231

    7.2.1 准备流程图 231

    7.2.2 10g升级至11g需要考虑的参数优化 232

    7.2.3 Oracle10g升级至11g准备工作详细步骤 233

    7.2.4 升级流程示意图 236

    7.2.5 升级后需要考虑的补充工作 237

    7.2.6 实战汇总:Oracle 10g 升级 11g过程中常见问题及解决方案 238

    7.3 升级后常见问题与解决方案 243

    7.3.1 问题分析:关于Oracle Invalid Components问题的解决 243

    7.3.2 问题分析:10g升级至11g后数据库无法启动的问题 246

    7.3.3 问题分析:10g升级至11g后exp启用consistent=y的问题 248

    7.3.4 问题分析:查询user_synonyms超时的问题 254

    7.3.5 问题分析:impdp 10g/11g问题解决 255

    7.3.6 问题分析:升级后数据库日志里的外部表错误 257

    第8章 数据迁移及问题处理

    8.1 数据迁移工具和使用场景分析 261

    8.2 利用SQL*Loader进行数据迁移 263

    8.2.1 关于SQL*Loader-805问题的解决 263

    8.2.2 SQL*Loader加载性能问题的排查 265

    8.2.3 Excel文件内容导入数据库的问题及解决 267

    诊断案例:生产环境SQL*Loader加载性能问题及分析 269

    8.3 传输表空间 275

    8.4 分区表迁移相关 277

    8.4.1 分区表的水平、垂直切分 278

    8.4.2 关于分区表的move操作 279

    8.4.3 批量转换分区表为普通表 281

    8.5 外部表 282

    8.5.1 外部表简单总结 282

    诊断案例:巧用外部表避免大量的insert 284

    诊断案例:巧用外部表备份历史数据 286

    诊断案例:通过外部表改进一个烦琐的大查询 289

    8.6 其他迁移方式 292

    8.6.1 数据库文件的迁移 292

    8.6.2 Data Guard环境中的数据文件迁移方式对比 295

    8.6.3 关于move tablespace的问题总结 298

    第9章 数据迁移之外部表实战

    9.1 失败的经验总结:数据迁移问题汇总 300

    9.1.1 非空约束导致的数据加载失败 301

    9.1.2 外键数据差异导致的约束无法启用 301

    9.1.3 网络问题导致数据加载中断 301

    9.1.4 约束问题导致Datapump加载回滚 302

    9.1.5 undo不足的困扰 302

    9.1.6 冲突数据不易展现 302

    9.1.7 sequence冲突检查 303

    9.1.8 加载LOB数据的假并行 303

    9.1.9 数据乱码的影响 303

    9.1.10 数据转储文件不可读/不易读 303

    9.1.11 大分区表的加载性能问题 304

    9.2 外部表方案的产生 304

    9.2.1 SQL*Loader和ORACLE_DATAPUMP性能大比拼 304

    9.2.2 海量数据迁移之通过shell脚本估算数据量 305

    9.2.3 数据迁移前的数据库检查和建议 308

    9.2.4 数据迁移前的系统检查 313

    小技巧:怎样突破表名30个字符的限制 315

    小技巧:使用shell生成状态报表 317

    9.3 数据抽取 318

    9.3.1 外部表切分原理 319

    9.3.2 抽取方式1:使用utl_file做选择性数据导出 321

    9.3.3 抽取方式2:海量数据迁移之外部表并行抽取 324

    9.3.4 抽取方式3:海量数据迁移之分区并行抽取 327

    9.3.5 抽取方式4:海量数据迁移之分区并行切分 331

    9.3.6 抽取方式5:海量数据迁移之通过rowid切分大表 332

    小技巧:海量数据迁移之使用shell启用多个动态并行 336

    9.4 数据预检查 338

    9.4.1 海量数据迁移之冲突数据筛查 339

    9.4.2 数据迁移判断非空约束 340

    小技巧:使用shell进行日志分析 342

    小技巧:使用shell脚本巧妙统计文件 344

    9.5 数据加载 345

    9.5.1 海量数据迁移之外部表加载 345

    9.5.2 巧用Parallel极速提升数据加载速度 348

    9.5.3 海量数据迁移之使用分区并行切分导入 350

    9.5.4 海量数据迁移之分区表批量insert性能改进 352

    9.6 可能碰到的数据修复问题 352

    9.6.1 使用错误日志修复数据的利弊 353

    诊断案例:数据紧急修复之启用错误日志 355

    9.6.2 人为操作失误的分析和应对 356

    9.7 数据迁移经验总结 358

    9.7.1 海量数据迁移之误操作和防范建议 358

    9.7.2 数据迁移需要考虑的问题 360

    第3篇 数据库优化篇

    第10章 优化工具简介和定制

    10.1 AWR简介 362

    10.1.1 AWR的常用功能 363

    10.1.2 解析AWR中的CPU信息 367

    10.1.3 使用shell定制AWR脚本 370

    10.1.4 强大的AWR Format 373

    小技巧:使用AWR来分析Session Leak问题 375

    实例分析:一份AWR报告分析的思路 376

    10.2 ASH 380

    10.2.1 ASH中的数据字典基表 380

    10.2.2 通过shell定制ASH脚本 383

    10.3 ADDM 385

    10.3.1 使用shell定制ADDM脚本 385

    诊断案例 通过ADDM明确I/O问题 387

    10.4 SQL Profile简介 389

    10.4.1 SQL Profile的使用功能 389

    10.4.2 使用SQLT手工创建SQL Profile 393

    10.4.4 性能下降的不定时炸弹——过旧的SQL Profile 400

    10.5 SQL Monitor的功劳 401

    10.5.1 SQL Monitor的使用功能 401

    10.5.2 OSM的改进点和简单定制 403

    10.6 数据字典 405

    10.6.1 数据字典管理 405

    实例诊断:数据字典中的细节问题 406

    诊断案例:关于dba_data_files无法访问一个小问题 409

    10.7 自定义脚本 410

    10.7.1 关于Session Leak的问题分析 410

    诊断案例:关于ORA-00020问题的反思 413

    10.7.2 高级开发语言定制,量力而行 414

    第11章 数据库实例调优

    11.1 调整数据库参数 417

    诊断案例:关于修改数据库参数的测试 417

    11.2 内存组件调整 421

    诊断案例:关于纠结的RECYCLE Pool的设置 426

    诊断案例:分区表放入KEEP Pool、RECYCLE Pool的问题及解析 427

    11.3 等待事件分析 430

    诊断案例:关于等待事件“read by other session” 431

    诊断案例:关于enq:TX – allocate ITL entry的问题分析 434

    11.4 日志分析调优 437

    诊断案例:由一条日志警告所做的调优分析 437

    诊断案例:ORA-17500 ODM err的问题排查 440

    诊断案例:alert日志中一条ORA警告信息的分析 441

    11.5 分区表优化 443

    诊断案例:通过分区键值发现性能问题 443

    经验分享:修改分区表的问题总结 445

    11.6 需要重视的并发 447

    第12章 系统调优

    12.1 I/O问题诊断 451

    12.1.1 Orion的简单部署和测试 452

    诊断案例:启用ODM极速调优I/O 455

    诊断案例:一次数据库响应缓慢的问题排查 459

    12.2 通过Linux命令诊断性能问题 460

    12.2.1 那些极度危险的Linux命令 461

    12.2.2 一些“简单”的Linux命令 464

    诊断案例:Crontab导致CPU异常的问题分析及处理 471

    诊断案例:服务器进程异常的原因分析 474

    12.3 内核参数优化诊断 477

    诊断案例:Linux Kernel引发的数据库连接问题 478

    诊断案例:Linux Kernel引发的Data Guard问题 481

    第13章 SQL优化前奏和SQL审核

    13.1 SQL优化前奏 487

    13.1.1 SQL的查询转换 487

    13.1.2 通过错误的SQL来测试推理SQL的解析过程 494

    诊断案例:从查询转换的角度来调优SQL 496

    13.1.3 聚簇因子和执行计划的联系 501

    13.1.4 常见的三种表连接 504

    13.1.5 Oracle中的半连接 508

    13.1.6 Oracle中的反连接 510

    诊断案例:一条运行了3天的“简单”的SQL 514

    13.1.7 理解Consistent Gets 515

    13.1.8 读懂执行计划中“%CPU”的含义 520

    13.2 解析索引 523

    13.2.1 关于索引的内部信息 524

    13.2.2 关于索引的访问模式 526

    13.2.3 索引和空值的恩恩怨怨 529

    13.2.4 很多人比较纠结的约束和索引的关系 533

    诊断案例:索引列顺序导致的性能问题 537

    13.2.5 索引进阶之虚拟索引 540

    13.2.6 索引进阶之不可见索引 543

    13.3 SQL需求审核 547

    13.3.1 关于评审开发人员的SQL语句 549

    诊断案例:通过ORA错误反思SQL语句规范 551

    诊断案例:记一次数据同步需求的改进和实践 552

    第14章 SQL优化技巧

    14.1 常规SQL优化技巧 558

    14.1.1 SQL优化中的简化 559

    诊断案例:简化SQL中的子查询 559

    诊断案例:通过图表简化表SQL中的表关联 560

    14.1.2 统计信息是SQL优化的基础 563

    诊断案例:物化视图查询优化之统计信息分析 563

    14.1.3 索引是SQL优化的催化剂 566

    诊断案例:Union语句中的全表扫描优化 566

    14.1.4 并行加速数据处理 569

    诊断案例:查看并行进程的简单信息 570

    诊断案例:通过图表分析Oracle的Parallel性能 572

    诊断案例:使用dbms_parallel_execute来加速DML的并行 576

    诊断案例:由一条SQL语句导致的系统I/O问题 579

    14.2 其他SQL优化技巧 582

    14.2.1 敢于质疑 582

    优化案例:质疑一条运行已久的SQL语句 582

    14.2.2 学会变通,变通则达 587

    优化案例:验证表中有无数据的方法比较 588

    优化案例:递归查询语句的优化 590

    优化案例:PL/SQL和SQL之间的转换 592

    14.2.3 使用Hint 594

    优化案例:使用Hint来调优SQL语句 595

    14.2.4 结合业务优化是王道 597

    优化案例:结合业务优化全表扫描 598

    资源截图:

    1.png


    陌佑网云资源 » ORACLE DBA工作笔记 运维数据迁移与性能调优_运维教程

    常见问题FAQ

    免费下载或者VIP会员专享资源能否直接商用?
    本站所有资源版权均属于原作者所有,这里所提供资源均只能用于参考学习用,请勿直接商用。若由于商用引起版权纠纷,一切责任均由使用者承担。更多说明请参考 VIP介绍。
    提示下载完但解压或打开不了?
    最常见的情况是下载不完整: 可对比下载完压缩包的与网盘上的容量,若小于网盘提示的容量则是这个原因。这是浏览器下载的bug,建议用百度网盘软件或迅雷下载。若排除这种情况,可在对应资源底部留言,或 联络我们.。
    找不到素材资源介绍文章里的示例图片?
    对于PPT,KEY,Mockups,APP,网页模版等类型的素材,文章内用于介绍的图片通常并不包含在对应可供下载素材包内。这些相关商业图片需另外购买,且本站不负责(也没有办法)找到出处。 同样地一些字体文件也是这种情况,但部分素材会在素材包内有一份字体下载链接清单。
    • 50027资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 1695稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情