kingbase人大金仓期末粗略知识点,启停,连接,元命令,对象管理,参数设置,备份,国产化替代

一、启停数据库

启停数据库

sys_ctl start -D /data
        stop
        restart

未配置环境变量需要加-D /data参数

二、连接数据库

ksql -d [数据库] -h [地址] -U [用户名] -p [端口号] -f [文件名] -c [命令]

-f 链接时执行某个文件

-c执行耽搁命令

用system用户连接,地址为192.168.121.128,端口号23456的student数据库

ksql -U system -h 192.168.121.128 -p 23456 -d student;

用system用户连接,地址为192.168.121.128,端口号23456的student数据库,并运行/backup/query.sql文件

ksql -U system -h 192.168.121.128 -p 23456 -d student -f '/backup/query.sql';

三、元命令

\l  列出所有数据库
\d  列出表、视图、索引
\db 列出表空间
\dn 列出当前数据库中的模式
\du 列出所有角色和用户
\dt 列出所有的表
\dv 列出所有的试图
\c  切换数据库
\i  执行SQL文件

四、数据对象管理

1、创建表空间

CREATE TABLESPACE [表空间名] LOCATION ['目录'];

用/home/kingbase/ts01目录创建名为ts01的表空间

CREATE TABLESPACE ts01 LOCATION '/home/kingbase/ts01';

2、创建数据库

CREATE DATABASE [数据库名] TABLESPACE [表空间];

在表空间ts01中创建数据库db01

CREATE DATABASE db01 TABLESPACE ts01;

3、创建模式

CREATE SCHEMA [模式名];

创建模式sch_01

CREATE SCHEMA sch_01;

4、创建表

创建数据库时如果不手动指定模式则默认将表默认创建在public模式中

CREATA TABLE [(模式名).表名]([属性名][属性类型],...);

在sch_01中创建t01数据库包含id(int)属性,name (varchar(20))属性

CREATR TABLE sch_01.t01(id int,name varchar(20));

5、查询

SELECT [要查询的属性、表达式、聚集函数] FREOM [(模式名).表名]
WHERE [查询条件]
GROUP BY [用于分组的属性]
ORDER BY [属性名][ascasc升序\desc降序)]

查询student表中专业(sdept)的个数

SELECT sdept,COUNT(*) FROM student 
GROUP BY sdept;

从student表中查询所有学生信息,并按照降序排列

SELECT * FROM student 
ORDER BY sdept desc; 

6、更新

UPDATE [表名] SET [属性名 = 新值] WHERE [条件];

7、添加数据

INSERT INTO [表名] VALUES();
INSERT INTO [表名] [子查询];

8、删除数据

DELETE FROM [表名] WHERE [条件]

五、体系结构与参数设置

1、用户访问控制

配置文件位置

/data/sys_hba.conf

字段名称说明
TYPE类型
DATABASE数据库
USER用户名
ADDRESS地址
METHOD身份认证类型

eg:

host    db01    rg01    192.168.121.0/24   scram-sha-256

2、服务端参数配置

查询方法

1、show
SHOW work_mem;
2、查询sys_settings视图

查询单个参数的信息

SELECT * FROM sys_settings WHERE name = 'work_mem';
SELECT name,setting,context FROM sys_settings WHERE name = 'work_mem';

查询参数总个数

SELECT COUNT(*) FROM sys_settings;

修改参数

编辑kingbase.conf

位置 /data/kingbase.conf

不需要重新启动的参数

sys_ctl reload

需要重新启动的参数

sys_ctl restart
ALTER SYSTEM命令修改参数
ALTER SYSTEM SET [参数名] = [修改后的参数值];

ALTER SYSTEM SET work_mem = '16MB';
SET命令修改参数

只在会话等级修改

SET [参数名]=[修改后的参数值];

SET work_mem = '16MB';

在事务等级修改

SET LOCAL [参数名] = [修改后的参数值];

SET LOCAL work_mem = '16MB';
查看修改参数后是否需要重启

查询视图sys_settings视图,通过context字段进行判断

SELECT name,setting,context FROM sys_settings WHERE name = [参数名];

SELECT name,setting,context FROM sys_settings WHERE name = 'work_mem';

常用context字段说明

字段名称说明
user无需重启服务器,只会影响当前用户
kingbase需要重启服务器
恢复参数为默认值/初始值

恢复指定参数为默认值/初始值

ALTER SYSTEM RESET [参数名]ALTER SYSTEM RESET work_mem;

恢复所有参数为默认值/初始值

ALTER SYSTEM RESET ALL;
常用参数列表(使用查询语句可以直接在数据库中查询官方说明)
内存相关
参数名说明官方简介
shared_buffers缓冲区,从硬盘读取的数据都缓存在这里设置服务器使用的共享内存缓冲区的数量
wal_buffers临时数据更改缓冲区为 WAL 设置共享内存中磁盘页缓冲区的个数
work_mem工作内存大小设置查询工作空间使用的最大内存数
maintenance_work_mem维护性操作中使用的最大内存量设置维护操作使用的最大内存数.
temp_buffers存放临时表缓冲区的区块大小设置每个会话可使用的临时缓冲区的最大数量

查询语句

SELECT name,setting,context,short_desc,extra_desc FROM sys_settings WHERE name  IN ('shared_buffers','wal_buffers','work_mem','maintenance_work_mem','temp_buffers');
日志相关参数
参数名说明官方简介
logging_collector是否开启日志启动一个子进程用来捕获stderr输出或csvlogs,写到到日志文件中
log_destination日志格式设置服务器日志输出目标
log_directory日志目录设置日志文件目的目录(可以指定为data目录的相对目录或绝对目录)
log_statement日志记录类型设置记录语句的类型

查询语句

SELECT name,setting,context,short_desc,extra_desc FROM sys_settings WHERE name  IN ('logging_collector','log_destination','log_directory','log_statement');
其他
参数名说明官方简介
max_connections最大连接数设置并发联接的最大个数
port端口号设置服务器监听的 TCP 端口号.

查询语句

SELECT name,setting,context,short_desc,extra_desc FROM sys_settings WHERE name  IN ('max_connections','port','logging_collector');

六、备份与恢复

逻辑备份

sys_dump -U [用户]
         -d [数据库]
         -f [备份文件输出目录,文件名]
         -F [文件格式(参数见下表)]
         -n [备份指定模式]
         -N [备份指定模式以外的模式]
         -t [备份指定表]
         -T [备份指定表以外的表]
         
         -a [只转储表的数据,不包括对象的定义]

文件格式对照表 -F | 选项 | 格式 | | – | – | | -Fp | SQL(缺省) | | -Fc | dump(.dmp) | | -Fd | 目录 | | -Ft | tar(打包)|

用system用户将test数据库中的sch_01模式用dump格式备份到/backup/dump/sch_01.dmp中

sys_dump -U system -d test -Fc -n sch_01 -f '/backup/dump/sch_01.dmp'

用system用户将test数据库中国sch_01.t01表用明文(SQL)格式备份到/backup/t01.sql中

sys_dump -U system -d test -Fp -t sch_01.t01 -f '/backup/t01.sql'

逻辑恢复

sys_restore -U [用户名]
            -d [数据库]
            -f [文件路径,文件名]
            -F [备份文件类型(一般无需手动指定)]
            -v [向屏幕输出详细信息]

用system用户将/backup/dump/sch_01.dmp文件恢复到test数据库中(这个命令无法正常运行,提示-d和-f选项无法同时使用)

sys_restore -U system -d test -f /backup/dump/sch_01.dmp

七、国产化替代

替换数据库

将数据库管理系统替换为国产化数据库管理系统

在国产数据库管理系统中创建相应的数据库、模式、数据表、用户和权限

将数据导入到国产数据库管理系统中,使用金仓数据库迁移工具完成或通过逻辑备份和还原完成

修改数据库连接

替换数据库连接驱动包,金仓数据库kingbase位置在安装KESV8的机器的/KingbaseES/V8/KESRealPro/V008R006C008B0014/Interface/jdbc路径下 可以使用

find /KingbaseES -name kingbase*.jar

命令进行查找

修改配置文件中的连接信息,包括驱动类名、连接字符串(含连接名称、IP、端口、数据库)、用户名、密码

替换应用系统中不兼容的SQL语句

八、注意事项

在题目指定模式的情况下表名要用

[模式名].[表名]

表示,如

shc01.t01

SQL语句中注意一些属性(如目录,varchar类型属性,参数名)要使用单引号’ ’

SQL语句关键字不区分大小写,如

CREATE DATABASE db01 TABLESPACE ts01;
create database db01 tablespace ts01;

都对

SQL语句结尾加分号

;
  • 14
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值