标签分类 热门分类
当前位置:首页 > 数据库电子书 > Oracle电子书网盘下载
高并发Oracle数据库系统的架构与设计 高并发Oracle数据库系统的架构与设计
vikenpeng

vikenpeng 提供上传

资源
30
粉丝
15
喜欢
163
评论
16

    高并发Oracle数据库系统的架构与设计 PDF 高清版

    Oracle电子书
    • 发布时间:

    给大家带来的一篇关于Oracle相关的电子书资源,介绍了关于高并发Oracle数据库系统的架构与设计方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小61.9 MB,侯松编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:8.4,更多相关的学习资源可以参阅 数据库电子书、等栏目。

  • 高并发Oracle数据库系统的架构与设计 PDF 下载
  • 下载地址:https://pan.baidu.com/s/1jtrWwRhgpouXLwIvpU2dZ
  • 分享码:cu93
  • 这是国内第一本深度讲解如何架构与设计高并发Oracle数据库系统的著作,也是国内第一本系统讲解内存数据库TimesTen的专著。作者是拥有10余年Oracle从业经验的资深数据库架构师,本书的内容也得到了业界以盖国强为代表的数位数据库专家的一致认可。本书秉承大道至简的思想,技术与艺术并重,从技术、方法论、原理和思想等角度讲解了如何架构与设计高并发Oracle数据库系统。

    高并发Oracle数据库系统的架构与设计主要内容从三个维度展开:首先是内部扩展的维度,深入探讨了高效B树索引、高效表设计、查询优化器等数据库架构设计与优化的核心技术,以及高并发Oracle数据库系统架构与设计的方法论和常见的高并发案例;其次是纵向扩展的维度,国内首次详细讲解了内存数据库TimesTen的基本使用、高可用架构设计、缓存应用、监控方法、数据备份与恢复、数据迁移以及高并发场景;最后是横向扩展的维度,详细讲解了如何使用GoldenGate构建数据库群,重点是结合链路原理的实现,介绍了拓展数据集成平台和异构数据库群的设计思路。此外,还从容灾和高并发的角度介绍了Data Guard的妙用,以及超出纯技术范围的一些最佳实践。

    目录

    • 推荐序一
    • 推荐序二
    • 前言
    • 第一部分 内政篇
    • 第1章 大道至简 2
    • 1.1 初见高并发 2
    • 1.1.1 从一次谈话说起 3
    • 1.1.2 问题就在那里 4
    • 1.1.3 你不是一个人在战斗 6
    • 1.2 说句时髦话 8
    • 1.2.1 谈谈去IOE 8
    • 1.2.2 开源的作用域 9
    • 1.3 在Oracle的世界里 10
    • 1.3.1 数据库森林体系 10
    • 1.3.2 大道至简 12
    • 1.4 本章小结 13
    • 第2章 高效B树索引 14
    • 2.1 索引扫描识别 14
    • 2.1.1 B树索引 15
    • 2.1.2 全表扫描 16
    • 2.1.3 ROWID扫描 17
    • 2.1.4 索引唯一扫描 18
    • 2.1.5 索引范围扫描 20
    • 2.1.6 索引全扫描 21
    • 2.1.7 索引快速全扫描 22
    • 2.1.8 索引跳跃扫描 24
    • 2.1.9 索引组合扫描 25
    • 2.1.10 索引联立扫描 27
    • 2.2 索引与排序 28
    • 2.2.1 B树索引内部结构 28
    • 2.2.2 输出排序 29
    • 2.2.3 降序索引 34
    • 2.2.4 聚合查询min()与max() 37
    • 2.3 索引设计优化 40
    • 2.3.1 索引选择度 40
    • 2.3.2 数据分布的影响 41
    • 2.3.3 索引聚簇因子 45
    • 2.3.4 数据存储的影响 47
    • 2.3.5 复合索引 50
    • 2.3.6 索引被无视 54
    • 2.4 索引分裂 58
    • 2.4.1 分裂原理 59
    • 2.4.2 实例分析 61
    • 2.5 索引维护 70
    • 2.5.1 为何重建索引 71
    • 2.5.2 何时重建索引 73
    • 2.5.3 如何重建索引 76
    • 2.5.4 废旧索引清理 77
    • 2.6 本章小结 78
    • 第3章 高效表设计 79
    • 3.1 数据生命周期管理 80
    • 3.1.1 什么是数据生命周期管理 80
    • 3.1.2 架构模型设计 81
    • 3.1.3 数据分层存储 86
    • 3.2 常用字段类型选择 87
    • 3.2.1 VARCHAR2与CHAR 87
    • 3.2.2 NUMBER与VARCHAR2 88
    • 3.2.3 主键字段的选择 90
    • 3.2.4 LOB字段 91
    • 3.3 字段顺序 95
    • 3.3.1 热字段靠前排 95
    • 3.3.2 行宽需要控制 97
    • 3.4 行链接与行迁移 99
    • 3.4.1 行链接原理 99
    • 3.4.2 行迁移原理 101
    • 3.4.3 发现问题 101
    • 3.4.4 解决问题 104
    • 3.5 分区表的使用 105
    • 3.5.1 何时使用分区表 105
    • 3.5.2 分区表设计思路 106
    • 3.5.3 分区表特性 106
    • 3.6 适当的冗余 110
    • 3.6.1 反范式建模 110
    • 3.6.2 物化视图 113
    • 3.6.3 结果集缓存 117
    • 3.6.4 直接路径插入 120
    • 3.7 碎片分析与整理 122
    • 3.7.1 碎片的产生 123
    • 3.7.2 DBMS_SPACE包 125
    • 3.7.3 碎片的整理 130
    • 3.8 本章小结 138
    • 第4章 查询优化器 139
    • 4.1 优化器概述 140
    • 4.1.1 优化器简介 140
    • 4.1.2 参数配置 143
    • 4.2 像优化器一样思考 147
    • 4.2.1 成本计算机制 147
    • 4.2.2 成本计算公式推导 150
    • 4.3 统计信息管理 155
    • 4.3.1 统计信息分类 156
    • 4.3.2 制定收集策略 158
    • 4.3.3 管理收集方式 164
    • 4.3.4 制定备份策略 168
    • 4.3.5 收集直方图 174
    • 4.4 执行计划管理 175
    • 4.4.1 获取执行计划 175
    • 4.4.2 固化执行计划 176
    • 4.5 性能影响分析 183
    • 4.6 数据库重放 188
    • 4.6.1 普通数据库重放特性 188
    • 4.6.2 强化数据库重放特性 193
    • 4.7 本章小结 195
    • 第5章 常见高并发案例 196
    • 5.1 锁相关问题 196
    • 5.1.1 Lock、Latch、Pin、Mutex 196
    • 5.1.2 游标争用问题解决 198
    • 5.1.3 索引争用问题解决 203
    • 5.1.4 LOB争用问题解决 207
    • 5.1.5 全表锁问题解决 213
    • 5.2 REDO相关问题 214
    • 5.2.1 REDO块的大小 214
    • 5.2.2 DIO与AIO 218
    • 5.2.3 进程优先级 219
    • 5.2.4 log file sync分析 221
    • 5.3 本章小结 222
    • 第二部分 纵横篇
    • 第6章 TimesTen内存数据库 224
    • 6.1 TimesTen概述 225
    • 6.1.1 TimesTen历史与定位 225
    • 6.1.2 TimesTen应用场景 226
    • 6.1.3 TimesTen技术架构 228
    • 6.2 开始使用 233
    • 6.2.1 TimesTen安装 233
    • 6.2.2 参数配置 237
    • 6.2.3 创建独立实例 239
    • 6.2.4 创建缓存实例 241
    • 6.3 缓存集合管理 242
    • 6.3.1 只读缓存集合 244
    • 6.3.2 AWT缓存集合 248
    • 6.3.3 SWT缓存集合 251
    • 6.3.4 自定义缓存集合 254
    • 6.3.5 多表缓存集合 258
    • 6.3.6 缓存老化 259
    • 6.3.7 缓存过滤器 261
    • 6.3.8 动态缓存集合 261
    • 6.3.9 PassThrough属性 263
    • 6.4 高可用复制架构 263
    • 6.4.1 复制原理 264
    • 6.4.2 ASP架构 266
    • 6.5 高可用网格架构 273
    • 6.5.1 无网格双活架构 274
    • 6.5.2 网格双活架构 274
    • 6.5.3 ASP网格双活架构 280
    • 6.6 分库分表 283
    • 6.6.1 只读缓存集合的分库分表 283
    • 6.6.2 AWT缓存集合的分库分表 285
    • 6.7 TimesTen设计与管理 286
    • 6.7.1 表设计与管理 286
    • 6.7.2 索引管理 291
    • 6.7.3 统计信息与执行计划 294
    • 6.8 TimesTen性能监控 299
    • 6.8.1 关键指标 299
    • 6.8.2 SQL监控 300
    • 6.8.3 监控报告 302
    • 6.8.4 复制监控 305
    • 6.8.5 自动刷新监控 307
    • 6.9 TimesTen备份与恢复 309
    • 6.9.1 数据库备份 309
    • 6.9.2 数据库恢复 311
    • 6.9.3 数据迁移 313
    • 6.10 TimesTen高并发场景 315
    • 6.10.1 场景选择 316
    • 6.10.2 并发场景测试 317
    • 6.11 本章小结 318
    • 第7章 GoldenGate构建数据库群 319
    • 7.1 GoldenGate概述 319
    • 7.1.1 小核心,大外围 320
    • 7.1.2 GoldenGate应用场景 321
    • 7.1.3 GoldenGate技术架构 323
    • 7.1.4 数据库群的制约因素 328
    • 7.2 开始使用 329
    • 7.2.1 GoldenGate安装 329
    • 7.2.2 GoldenGate配置 331
    • 7.2.3 基本链路的搭建 334
    • 7.2.4 GoldenGate的监控 339
    • 7.3 高级应用 343
    • 7.3.1 DDL功能支持 343
    • 7.3.2 用户级复制 345
    • 7.4 异构数据库群 347
    • 7.4.1 异构字符集数据库间复制 347
    • 7.4.2 异构数据库间复制 351
    • 7.5 本章小结 353
    • 第8章 Data Guard的妙用 354
    • 8.1 “T-1”交易数据库 354
    • 8.1.1 实现原理与应用场景 355
    • 8.1.2 “T-1”备库简介 356
    • 8.1.3 “T-1”库闪回简介 357
    • 8.1.4 “T-1”数据库搭建 358
    • 8.2 ADG实现读写分离 361
    • 8.2.1 ADG架构简介 361
    • 8.2.2 ADG数据库搭建 362
    • 8.3 本章小结 365
    • 第9章 最佳实践 366
    • 9.1 术 366
    • 9.1.1 技术回顾 367
    • 9.1.2 规矩方圆 369
    • 9.1.3 穿越之眼 370
    • 9.2 道 370
    • 9.2.1 数据库架构师 370
    • 9.2.2 沟通之道 371
    • 9.3 势 374
    • 9.4 本章小结 375

    上一篇:Nexus规模化Scrum框架  下一篇:自然语言处理技术入门与实战

    展开 +

    收起 -

     
    Oracle 相关电子书
    关于Oracle的学习笔记
    网友NO.906161

    MyBatis批量插入数据到Oracle数据库中的两种方式(实例代码)

    一、mybatis批量插入数据到Oracle中的两种方式: 第一种: insert id="addList" parameterType="java.util.List" useGeneratedKeys="false" INSERT ALL foreach item="item" index="index" collection="list" INTO T_APPLAUD ( ID, USER_ID, BUSINESS_TYPE, PRODUCT_ID, CREATE_TIME ) VALUES ( #{item.id, jdbcType=NUMERIC}, #{item.userId, jdbcType=VARCHAR}, #{item.businessType, jdbcType=VARCHAR}, #{item.productId, jdbcType=VARCHAR}, #{item.createdTime, jdbcType=NUMERIC} ) /foreach SELECT 1 FROM DUAL /insert 第二种: insert id="addList" parameterType="java.util.List" useGeneratedKeys="false" INSERT INTO T_APPLAUD ( ID, USER_ID, BUSINESS_TYPE, PRODUCT_ID, CREATE_TIME ) foreach item="item" index="index" collection="list" separator="union all" ( SELECT #{item.id}, #{item.userId}, #{item.businessType}, #{item.productId}, #{item.createdTime} FROM DUAL ) /foreach /insert 注意:将 useGeneratedKeys设置为"false" 总结 以上所述是小编给大家介绍的MyBatis批量插入数据到Oracle数据库中的两种方式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对码农之家网站的支持! ……

    网友NO.962080

    java实现的连接oracle/mysql数据库功能简单示例【附oracle+mysql数据库驱动包】

    本文实例讲述了java实现的连接oracle mysql数据库功能。分享给大家供大家参考,具体如下: package com.nuo.test.Connection;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;import java.sql.SQLException;public class DBUtil{ public static Connection getConnection() throws Exception{ Connection conn=null; try { Class.forName( //"oracle.jdbc.driver.OracleDriver" "com.mysql.jdbc.Driver" ); conn=DriverManager.getConnection( //"jdbc:oracle:thin:@127.0.0.1:1521:qiye","jossinfo","tao" "jdbc:mysql://localhost:3306/care","root","nuo" ); } catch (Exception e) { e.printStackTrace(); throw e; } return conn; } public static void close(Connection conn) throws Exception{ if(conn!=null){ try { conn.close(); } catch (SQLException e) { System.out.println(e); } } } public static void main(String[] args) throws Exception{ ResultSet rs = null; Connection conn = null; String valiresult=""; try{ conn = DBUtil.getConnection(); PreparedStatement prep = conn.prepareStatement( "select * from tab_user " ); rs = prep.executeQuery(); while(rs.next()){ valiresult=rs.getString(1);//表第一列内容 System.out.println(valiresult); } }catch(Exception e){ e.printStackTrace(); throw e; }finally{ DBUtil.close(conn); } }} 附: 实例代码与驱动包点击此处 本站下载 。 更多关于java相关内容感兴趣的读者可查看本站专题:《Java+MySQL数据库程序设计总结》、《Java数据结构与算法……

    网友NO.883398

    Oracle开启和关闭的四种模式

    1 启动数据库 在cmd命令窗口,直接输入"sqlplus",直接进入oracle管理界面,输入用户名和密码后,开始启动数据库,启动数据库三个步骤:启动实例、加载数据库、打开数据库 命令格式: startup [nomount|mount|open|force][restrict][pfile=filename] nomount:表示启动实例不加载数据库 mount:表示启动实例、加载数据库并保持数据库的关闭状态 open:表示启动实例、加载并打开数据库,这个是默认选项 force:表示终止实例并重新启动数据库 restrict:用于指定以受限制的会话方式启动数据库 pfile:用于指定启动实例时所使用的文本参数文件,filename就是文件名 1.1 nomount模式 只会创建实例(oracle实例的各种内存结构和服务进程),并不加载数据库,也不会打开任何数据文件; startup nomount 注意:用户要以sysdba的身份登录,才会有关闭和启动数据实例额权限 1.2 mount模式 这种模式将启动实例、加载数据库并保持数据库的关闭状态。 startup mount 1.3 open模式 这种模式将启动实例,加载并打开数据库,这就是常规的启动模式,如果用户想要对数据库进行多种操作,就必须使用open模式启动数据库实例。 startup startup命令后面不带有任何参数,就表示以open模式启动数据库实例 1.4 force模式 这种模式将终止实例并重新启动数据库,这种启动模式具有一定的强制性。比……

    网友NO.960378

    python安装cx_Oracle模块常见问题与解决方法

    本文实例讲述了python安装cx_Oracle模块常见问题与解决方法。分享给大家供大家参考,具体如下: 安装或使用cx_Oracle时,需要用到Oracel的链接库,如libclntsh.so.10.1,否则会有各种各样的错误信息。 安装Oracle Instant Client就可得到这个链接库,避免安装几百兆之巨的Oracle Client。 软件下载地址: cx_Oracle的主页:http://cx-oracle.sourceforge.net/ 必需的Oracle链接库的下载地址:http://www.oracle.com/technology/software/tech/oci/instantclient/index.html 常见的错误和解决方法: 一.win32二进制安装 在windows下安装cx_Oracle-5.0-10g.win32-py2.6.msi之后,导入时,报DLL加载失败的错误,如下: IDLE 2.6.1 import cx_OracleTraceback (most recent call last): File "pyshell#0", line 1, in module import cx_OracleImportError: DLL load failed: 找不到指定的程序。 解决方法: 从Oracle站点下载instantclient-basic-win32-10.2.0.4.zip,解压后,将其中的oci.dll文件复制到Python安装目录的Lib/site-packages下,如 C:/Python26/Lib/site-packages 二.linux下二进制安装 在linux_x86_64下,安装cx_Oracle-5.0.1-10g-py24-1.x86_64.rpm时报错。 [root@BJ-UPDATE-01 ~]# rpm -ivh cx_Oracle-5.0.1-10g-py24-1.x86_64.rpmerror: Failed dependencies: libclntsh.so.10.1()(64bit) is needed by cx_Oracle-5.0.1-1.x86_64 解决方法: 参考http://cx-oracle.sourceforge.net/BUILD.txt 从Oracle站点下载basic-10.2.0.4.0-linux-x86_64.zip到/opt目录并……

    Copyright 2018-2020 xz577.com 码农之家

    电子书资源由网友、会员提供上传,本站记录提供者的基本信息及资源来路

    鸣谢: “ 码小辫 ” 公众号提供回调API服务、“ 脚本CDN ”提供网站加速(本站寻求更多赞助支持)

    版权投诉 / 书籍推广 / 赞助:520161757@qq.com

    上传资源(网友、会员均可提供)

    查看最新会员资料及资源信息