第1章KingbaseES数据库安装部署11.1KingbaseES数据库简介11.2准备安装KingbaseES数据库的软硬件环境11.2.1准备安装KingbaseES数据库的服务器11.2.2安装Linux操作系统21.2.3准备安装KingbaseES数据库的存储空间31.3安装KingbaseES数据库61.3.1KingbaseES数据库软件安装包文件和许可证61.3.2KingbaseES数据库安装前的准备工作71.3.3安装KingbaseES数据库软件91.3.4KingbaseES数据库安装后的操作161.4本书的实验环境171.4.1配置实验环境171.4.2导入TPCH测试数据集18第1章KingbaseES数据库安装部署11.1KingbaseES数据库简介11.2准备安装KingbaseES数据库的软硬件环境11.2.1准备安装KingbaseES数据库的服务器11.2.2安装Linux操作系统21.2.3准备安装KingbaseES数据库的存储空间31.3安装KingbaseES数据库61.3.1KingbaseES数据库软件安装包文件和许可证61.3.2KingbaseES数据库安装前的准备工作71.3.3安装KingbaseES数据库软件91.3.4KingbaseES数据库安装后的操作161.4本书的实验环境171.4.1配置实验环境171.4.2导入TPCH测试数据集181.4.3命令行提示符约定211.4.4本书提供的资源文件221.4.5制作自己的虚拟机备份22
第2章KingbaseES数据库客户端工具242.1安装KingbaseES数据库客户端242.1.1在Linux操作系统上安装KingbaseES数据库客户端242.1.2在Windows操作系统上安装KingbaseES数据库客户端272.2客户端与服务器的连接方式282.2.1使用命令行选项282.2.2使用服务名282.2.3数据库用户密码文件.kbpass302.3客户端程序ksql302.3.1ksql的命令行选项312.3.2ksql的元命令322.3.3ksql初始化文件.ksqlrc392.4图形客户端程序KStudio40
第3章KingbaseES数据库体系结构433.1KingbaseES数据库服务器433.2KingbaseES数据库的进程结构443.2.1KingbaseES数据库主进程453.2.2KingbaseES数据库服务进程453.2.3KingbaseES数据库后台进程453.3KingbaseES数据库的内存结构483.3.1系统全局区493.3.2程序全局区493.3.3内存参数初始优化建议503.4KingbaseES数据库逻辑结构503.4.1数据库集簇503.4.2数据库513.4.3模式543.4.4数据库对象573.5KingbaseES数据库物理结构573.5.1数据文件583.5.2控制文件603.5.3WAL文件633.5.4配置文件643.6系统表与系统视图653.6.1系统表与系统视图的类别653.6.2查询数据库对象信息663.7连接和会话683.8SQL语句的执行过程69
第4章管理KingbaseES数据库实例704.1数据库实例的启动与关闭704.1.1启动数据库704.1.2关闭数据库724.1.3kingbase服务744.2系统配置参数744.2.1系统配置参数概述754.2.2设置系统配置参数784.2.3查看系统配置参数值的设置来源854.3管理数据库的扩展插件864.4管理数据库的软件许可证884.5数据库实例与数据库集簇90
第5章管理用户与会话连接925.1用户管理925.1.1创建数据库用户925.1.2删除数据库用户955.1.3查询用户信息965.2管理连接会话975.2.1设置与会话连接相关的系统配置参数975.2.2查看会话连接信息985.2.3处理有问题的连接会话1015.3配置文件sys_hba.conf1025.4配置文件sys_ident.conf105
第6章管理用户数据1076.1管理表空间1076.1.1创建表空间1076.1.2删除表空间1126.2用户数据的存储规划1166.2.1表空间的分类1166.2.2表空间的规划1166.3管理表中数据1186.3.1表的填充因子1186.3.2生成批量测试数据1196.3.3使用COPY命令导入/导出数据库表1206.3.4使用sys_bulkload装载大表1216.3.5大表模糊查询1236.3.6数据存储空间查询124
第7章事务与并发控制1267.1事务的基本概念1267.2事务处理模型1277.2.1显式事务与隐式事务1277.2.2DDL语句与事务1297.2.3事务隔离级别1307.2.4事务并发控制机制1327.3MVCC1337.3.1事务号与事务状态1337.3.2元组的结构1347.3.3元组的增、删、改1357.3.4元组的访问1397.3.5元组的并发更新1437.4管理元组的多版本1477.4.1手工清理无效元组1477.4.2自动清理无效元组1507.5管理事务号1517.5.1自动冻结事务号1517.5.2手工冻结事务号1537.6数据库锁1587.6.1表级锁1587.6.2事务锁1647.6.3死锁1667.7故障恢复机制1687.7.1故障恢复概述1687.7.2日志系统组件1687.7.3WAL文件1697.7.4检查点机制1717.7.5配置WAL文件1737.7.6归档日志模式174
第8章数据库日常运行监控1768.1数据库服务器的运行维护日志1768.1.1启动日志文件startup.log1768.1.2运行日志文件1778.2数据库服务器的操作系统监控1818.2.1本节实验环境说明1818.2.2监控服务器内存1838.2.3监控服务器磁盘I/O1848.2.4监控服务器CPU1858.2.5监控服务器文件系统1868.3数据库的运行监控1888.3.1监控会话1888.3.2监控长时间的活动事务1908.3.3监控长时间运行的SQL语句1918.3.4监控锁1928.3.5监控vacuum操作1948.3.6监控事务ID回卷风险1958.4接手一个生产数据库196第9章数据库性能问题诊断工具1989.1性能问题诊断工具概述1989.2KWR1999.2.1KWR的使用场景1999.2.2配置KWR2009.2.3创建KWR快照2029.2.4查看KWR快照2029.2.5删除KWR快照2039.2.6生成KWR报告2059.2.7生成KWR运行期对比报告KWR DIFF2059.3KSH2069.3.1KSH的使用场景2069.3.2配置KSH2079.3.3查看KSH数据2089.3.4生成KSH报告2089.4KDDM2109.4.1KDDM的使用场景2109.4.2生成KDDM用户报告2119.4.3获取数据库配置参数的建议值2119.5性能诊断工具KWR实战212
第10章SQL语句执行计划21610.1SQL语句的执行过程21610.2查看SQL语句的执行计划21810.3阅读SQL语句的执行计划21910.3.1单表查询21910.3.2多表连接查询22110.3.3分组聚集查询22510.3.4子查询22610.4影响SQL语句的执行计划22810.4.1更新数据库的统计信息22810.4.2创建合适的索引22910.4.3影响执行计划的配置参数23210.4.4使用查询提示SQL hint234
第11章物理数据库备份与恢复23711.1数据库备份与恢复的基本概念23711.1.1逻辑备份与物理备份23711.1.2冷备份和热备份23811.1.3全量备份、差异备份和增量备份23911.1.4数据库恢复24011.2为生产系统引入备份恢复测试机24111.2.1准备数据库备份恢复测试机24111.2.2为数据库服务器配置rsync服务24211.2.3配置主机间的无密码ssh24311.3数据库脱机冷备份与恢复24411.3.1数据库脱机冷备份24411.3.2物理数据库脱机冷备份恢复24811.4数据库联机热备与恢复24811.4.1sys_rman备份恢复工具简介24811.4.2配置sys_rman25011.4.3使用sys_rman备份数据库25211.4.4管理sys_rman备份集25311.4.5在生产数据库上执行完全恢复25611.4.6异机恢复KingbaseES数据库25911.4.7不完全恢复到指定时间点26011.4.8不完全恢复到指定事务号263
第12章逻辑备份与恢复26712.1sys_dump和sys_restore26712.1.1数据库的逻辑备份与恢复26712.1.2模式的逻辑备份与恢复27112.1.3表的逻辑备份与恢复27312.1.4逻辑备份用户和表空间定义27512.2Oracle兼容的exp和imp27612.2.1导出/导入数据库27612.2.2导出/导入用户模式27712.2.3导出/导入表277
第13章闪回查询与闪回表28013.1配置KingbaseES数据库的闪回功能28013.2闪回回收站28013.2.1清空闪回回收站28113.2.2删除闪回回收站中的一个表28113.2.3从闪回回收站恢复被误删除的表28313.3闪回查询28313.3.1基于时间戳的闪回查询28413.3.2基于CSN的闪回查询28513.4闪回表28613.5闪回技术的限制287
第14章KingbaseES主备集群28814.1KingbaseES主备集群简介28814.1.1KingbaseES主备集群的拓扑结构28814.1.2KingbaseES主备集群的组件28914.2安装KingbaseES主备集群29114.2.1规划一个KingbaseES主备集群29114.2.2准备安装主备集群的服务器29114.2.3安装主备集群的准备工作29314.2.4安装主备集群30014.2.5部署完主备集群后的操作30114.3管理KingbaseES主备集群30114.3.1获取集群信息的指令30114.3.2停止主备集群30514.3.3启动主备集群30514.3.4让节点重新加入集群30614.3.5集群主备切换30714.3.6重做备用节点30814.3.7为集群添加新的备节点30914.3.8从集群中删除备节点31114.3.9从集群中删除见证节点31214.3.10为集群添加见证节点31314.4主备集群sys_rman备份实战31414.4.1REPO外部部署31414.4.2REPO内部部署318
附录A安装CentOS 7操作系统323A.1准备服务器硬件323A.2下载CentOS 7328A.3安装CentOS 7328A.4安装Google Chrome浏览器339A.5删除逻辑卷centos/toBeDeleted339A.6备份CentOS虚拟机文件341
附录B安装KingbaseES单机数据库的*佳实践342B.1*佳实践安装规划342B.2基础安装342B.3KingbaseES数据库优化配置343B.3.1创建数据库用户kingbase343B.3.2优化WAL日志344B.3.3配置KingbaseES数据库工作在归档模式344B.3.4初步优化KingbaseES数据库的系统参数345B.3.5控制文件多元化346B.3.6设置默认表空间和临时表空间346B.3.7配置服务名347B.4导入测试数据集347B.5CentOS 7操作系统安全加固347B.5.1隐藏GNOME登录界面中的用户名347B.5.2在GNOME登录界面显示文本信息348B.5.3禁止普通用户关机348B.5.4禁用Ctrl Alt Del组合键348B.5.5禁止系统休眠349B.6备份CentOS虚拟机文件349
附录C生成TPCH测试数据集350
参考文献354