kingbase常用操作文档/大全

前言

Kingbase,通常指的是金仓数据库(KingbaseES),是由北京金仓信息技术股份有限公司开发的关系型数据库管理系统。KingbaseES是一款具有自主知识产权的数据库产品,广泛应用于中国的电子政务、地理信息、能源、金融等多个领域。

特点和优势:

高兼容性:KingbaseES支持国际数据库语言标准SQL,能够兼容多种主流数据库的应用,如Oracle、MySQL等。

高可用性:提供数据高可用解决方案,包括数据复制、故障切换、备份与恢复等功能,确保数据的安全性和业务的连续性。

高性能:优化的数据库引擎和存储引擎,支持大规模并发处理和高速数据吞吐,满足高性能计算需求。

安全性:提供多层次的安全机制,包括用户权限管理、数据加密、审计日志等,满足不同级别的安全需求。

多平台支持:支持多种操作系统平台,如Linux、Unix、Windows等,具有良好的跨平台特性。

易用性:提供图形化管理工具,简化数据库管理、监控和维护工作。

本地化服务:作为国内数据库厂商,能够提供更加贴近本地市场的技术支持和服务。

成本效益:相比于一些国际主流数据库产品,KingbaseES在价格和服务上可能更具优势。

适应性强:能够适应不同的应用场景,包括事务处理、数据分析、混合负载等。

持续创新:金仓数据库持续进行技术创新和产品升级,以满足不断变化的市场需求。

金仓数据库作为国产数据库的代表之一,在中国的信息化建设和数字化转型中发挥着重要作用。随着技术的发展和市场需求的变化,金仓数据库也在不断地进行优化和升级,以提供更加稳定、高效、安全的数据库服务。

版本说明

本文档适用于 kingbase v8r6

常用操作

命令行登录

ksql -U用户名 –p端口号(默认54321) 数据库名(TEST,V8自动创建)
\q ——退出

常用命令

? 查看帮助
\l 查看系统中现存的数据库
\q 退出客户端程序psql
\c 从一个数据库中转到另一个数据库中,如TEST=# \c sales 从TEST转到sales
\dt 查看表
\d 查看表结构( 加 “+” 获取更多信息)
\di 查看索引
\dv 查看视图
\dS 查看系统表

数据库常用sql命令

用户创建
create user U1 with superuser password ‘123456;  --超级用户
create user U2 with password ‘123456;        --普通用户
数据库创建
create database TEST1;           --创建数据库
create database TEST1 owner U1;   --指定用户
grant all on database TEST1 to U1;   --数据库赋权
模式创建
create schema U2 ;    --默认owner是创建用户
create schema U2  authorization U2;  --指定owner
表操作
create table T1(id int,name varchar(100));    --创建表
insert into T1 values(1,’abc’);           --插入数据
update T1 set name=’risen’ where id =1;  --更新数据
delete from T1 where id =1;            --删除数据
truncate table T1;                    --清空表
视图创建

1)创建T_VIEW_01 表,并插入数据

CREATE TABLE T_ VIEW _01 (C1 INT,C2 CHAR(10));
INSERT INTO T_ VIEW _01 VALUES (1,VIeW);

2)创建函数

CREATE or replace VIEW V1
AS
SELECT * from T_VIEW_01;
函数创建

1)创建T_FUN_01 表,并插入数据

CREATE TABLE T_FUN_01 (C1 INT,C2 CHAR(10));
INSERT INTO T_FUN_01 VALUES (2,'ABCD');

2)创建函数

CREATE or replace FUNCTION F1 RETURN VARCHAR(30)
AS
A1 VARCHAR(30);
BEGIN
SELECT C2 INTO A1 FROM T_FUN_01 WHERE C1=2;
RETURN A1;
END;
存储过程创建

1)创建T_PRO_01 表,并插入数据

CREATE TABLE T_PRO_01 (C1 INT,C2 CHAR(10));
INSERT INTO T_PRO_01 VALUES (2,'ABCD');

2)创建存储过程

CREATE OR REPLACE PROCEDURE P1
AS
BEGIN
raise notice 'ABCD';
INSERT INTO T_PRO_01 SELECT * FROM T_PRO_01
WHERE C1=2;
END;

## 调用存储过程
call P1;
## 再次查询
SELECT * FROM T_PRO_01;

备份还原

备份
sys_dump -h ip -p 端口 -U 用户  -F c -f 备份路径/xxx.dmp 库名  --二进制备份
sys_dump -h ip -p 端口 -U 用户  -f 备份路径/xxx.sql 库名   --sql备份
还原
sys_restore -h ip -p 端口 -U 用户  -d 库名 备份路径/xxx.dmp   --二进制还原
ksql  -h ip -U用户名  -d 库名 -f  备份路径/xxx.sql   --sql还原

数据库启停

单机
启停KingbaseES数据库
  • Linux下通过系统服务:
    root用户执行:

    service kingbase8d stop/start/restart  ——注册服务的情况下
    systemctl stop/start/restart kingbase8d
    
  • Linux下通过安装用户:
    安装用户执行:
    sys_ctl stop/start/restart -D data路径

查看数据库当前进程状态
ps –ef |grep kingbase
端口的查看

安装完成之后默认端口:54321
查看端口:
su到安装用户,登录数据库,执行show port;

集群
集群启动
./sys_monitor.sh start
集群停止
./sys_monitor.sh stop 
集群状态查看

通过命令repmgr service status repmgr cluster show

查看流复制状态
select * from sys_stat_replication;

简单运维

查看数据库版本
select version();
连接数查询

检查当前数据库的连接数。

show max_connection;

报错信息:com.kingbase8.util.KSQLException: 致命错误: remaining connection slots are reserved for superuser manager connections
处理方法:kingbase.conf里面修改max_connections,重启下服务。

查看license剩余时间

为了避免license过期的问题,应该在license过期前提前找商务申请正式的license。

get_license_validdays

替换license

替换license单机和集群存在目录的差异,但是都需要保持文件的名称和属组与之前保持一致。正式license记得查看license绑定的地址是否与服务器的mac一致。
单机:替换/home/kingbase/KingbaseES/V8/license.dat
集群:替换/home/kingbase/cluster/KingbaseCluster/kingbase/license.dat

查看大小写敏感
show enable_ci;

enable_ci 为on是不敏感,为off则为敏感

查看数据库的会话

查看数据库的活动会话

select * from sys_stat_activity where state <> 'idle';

通过下面的命令可以杀掉部分会话。

SELECT sys_terminate_backend(会话id)

等等。。。


good day!!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值