第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