kingbase v7环境

示例(安装的bin目录下)
isql -h 192.168.10.52 -USYSTEM -Wkingbase -p54321 -dTEST
isql --help

如要显示中文 指定GBK  set client_encodeing=GBK 

kingbaseES系统管理
2.系统结构
分为:管理工具,接口,执行处理器,存储管理器
存储管理:主要实现数据库存储管理,封锁,并发控制,事务管理,缓存管理,日志空间管理等
SQL处理层:负责SQL底层的(函数,索引,数据字典,存储过程,触发器)实现,解析,优化,执行和缓存处理
安全和策略:提供特权分立,访问控制,存储加密等

2.1 存储结构
默认创建数据库 TEMPLATE0,TEMPLATE1,SAMPLES
文件类型:数据文件,控制文件,日志文件,临时文件
数据库中的数据文件从逻辑上划分成若干个表空间,表空间是一个或多个数据文件的集合,每个数据文件只能隶属于一个表空间。
注:在数据目录下,只能修改kingbase.conf配置文件
2.1.1 数据以页为单位,默认页大小为8K, 分为数据页面和控制页面
数据页面用户存储各种对象的数据
控制页面用于对文件的空间以及数据库对象的空间进行管理
2.1.2 逻辑存储
一个表空间只能属于一个数据库,
可以通过“ALTER TABLESPACE ADD DATAFILE”语句为某个表空间增加数据文件。
可以通过“ALTER TABLESPACE MODIFY DATAFILE”语句来修改其当前大小、最大大小和空间增长率
\h create tablespace
\h alter tablespace
2.1.3 物理存储
控制文件用来记录数据库实例的状态信息,如记录各种文件信息,检查点信息,事务状态信息等。
sys_datafile 文件 KingbaseES 的数据文件信息存储在控制文件 sys_datafile 中。
sys_redolog 记录数据库的日志信息

数据文件
创建数据库时,KingbaseES 会自动为该数据库创建“SYSTEM”和“CATALOG”表空间,“SYSTEM”表空间是用来存放用户表的,“CATALOG”表空间是存放系统表的

日志文件
系统默认有三个日志文件,默认名字为 REDOLOG0.ldf,REDOLOG1.ldf,REDOLOG02.ldf,默认大小为100M,初始化的时候可以设置日志文件大小
日志切换:用户主动切换,日志写满需要新日志
日志文件有三种状态:
CURRENT 表示当前正在使用的日志文件。
ACTIVE 表示这个日志文件处在激活状态,不能再次被使用。
NOACTIVE 表示这个日志文件可以被重用。
对日志文件的删除,只有在日志文件处于 NOACTIVE 状态下,才能起作用,否则会出错,提示用户作切换日志文件的操作。
日志文件的信息可以通过系统视图 sys_redolog工具进行查询

临时文件
 用来存放查询执行过程中的某些中间结果,如排序操作的归并单元、中间结果集等。
初始化一个数据库实例时会自动创建一个临时文件 TEMPDB.dbf

2.2 服务与实例管理
一个 KingbaseES 实例在操作系统上表现为一个 KingbaseES 进程
一个 KingbaseES 实例管理多个逻辑上的数据库
在一台设备上可以支持注册16个实例服务。一个数据目录只能注册成一个实例服务。
实例包括:各种线程,共享内存
在一个数据目录只能同时启动一个实例,不同的数据目录可以同时以不同的端口,手动启动为不同的实例。
KingbaseES 实例采用多线程架构,因此该进程中会包含多个线程。这些线程按照功能的不同可以分为后台线程和服务线程
配置参数 shared_buffers 决定了数据库实例使用多少内存
日志页面缓存 参数 wal_buffers 设置日志页面缓存大小。
参数 work_mem 设置每个服务线程排序和连接运算使用的缓存大小

2.3 事务管理
数据库工作的基本单位是事务,事务是不能被拆分的。一个事务执行的结果只可能有两个:事务内的语句都成功执行,事务执行成功,即事务提交;或事务执行失败,本事务不对数据造成任何影响,即事务回滚。

事务的特性 称为事务的 ACID 特性。
原子性(Atomicity)
一致性(Consistency)
隔离性(Isolation)
持久性(Durability)
KingbaseES 默认提交事务方式为自动提交。

事务的隔离级别
隔离级别 读脏数据 不可重复读 读幻象数据 
读未提交(Read uncommitted) 可能 可能 可能 
读已提交(Read committed) 不可能 可能 可能 
可重复的读(Repeatable read) 不可能 不可能 可能 
可串行化(Serializable) 不可能 不可能 不可能 

3.基本使用
创建和配置数据库
命令行初始化工具initdb --help
大小写敏感:参数case_sensitive
case_sensitive取值为Y时,数据库标识符在数据库中存储为大写方式,字符串比较时区分大小写

实例服务
注册实例服务
命令格式:kingbase --install   <实例名> -D<数据目录> [-p<端口号> ] [-U<数据库管理用户> ] 
注销实例服务
命令格式:kingbase --uninstall   <实例名>
启动|停止实例服务
命令格式:kingbase --start|--stop|--status  <实例名> 

实例服务的远程控制
启动|停止|状态|注册|注销krmsd服务
命令格式:krms   --start|--stop|--status|install|uninstall 

启动与停止数据库

isql
isql --help