暂无图片
暂无图片
5
暂无图片
暂无图片
暂无图片

【金仓数据库产品体验官】KingbaseES(Oracle兼容版)安装

原创 飞天 2025-08-30
435

KingbaseES(Oracle兼容版)单机部署

KES 软件下载

https://www.kingbase.com.cn/download.html
image.png

license下载

image.png
image.png

安装前准备

硬件环境要求

KingbaseES支持通用X86_64、龙芯、飞腾、鲲鹏、申威等国产CPU硬件体系架构。
image.png

软件环境要求

KingbaseES支持主流的64位Linux操作系统,如银河麒麟、中标麒麟、统信、欧拉、凝思、Deepin、中科方德、CentOS、Ubuntu等。

主机、目录规划

主机名 ip地址 OS版本 内存、CPU 节点角色 数据库端口
node1 192.*.*.60 centos7.9 4G 、 1个双核 主节点 54321

软件包:/soft/KingbaseES_V009R002C012B0003_Lin64_install.iso

#检查安装包的MD5值或者SHA1值是否和官网上的一致,如果不一致,说明安装文件可能不完整,安装过程可能无法正常完成。 md5sum KingbaseES_V009R002C012B0003_Lin64_install.iso sha1sum KingbaseES_V009R002C012B0003_Lin64_install.iso

license文件:/soft/license_V009R002C_oracle.dat
软件安装目录 /opt/kes/v9
数据存放目录 /data

关闭SELINUX

# vi /etc/selinux/config
修改SELINUX=disabled
或者
sed -i 's/^SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

关闭防火墙

# systemctl disable firewalld.service
# systemctl stop firewalld.service
# systemctl status firewalld

关闭RemoveIPC

systemd-logind服务中引入的一个特性,是当一个用户退出系统后,会删除所有有关的IPC对象。该特性由/etc/systemd/logind.conf文件中的RemoveIPC参数控制。某些操作系统会默认打开,会造成程序信号丢失等问题(只有redhat7及以上和一些特殊的国产Linux的版本需要修改,改之前可先查看此项是否为默认yes)。

 (1) 修改/etc/systemd/logind.conf文件中的“RemoveIPC”值为“no”
# cat >> /etc/systemd/logind.conf <<EOF
RemoveIPC=no
EOF

(2) 修改/usr/lib/systemd/system/systemd-logind.service文件中的“RemoveIPC”值为“no”
# cat >> /usr/lib/systemd/system/systemd-logind.service <<EOF
RemoveIPC=no
EOF
(3) 重启服务
systemctl daemon-reload
systemctl restart systemd-logind.service

(4) 结果验证
loginctl show-session | grep RemoveIPC
systemctl show systemd-logind | grep RemoveIPC
说明:没有输出是正常的。

配置sudo权限

cat  >>/etc/sudoers << EOF
kingbase ALL=(ALL) NOPASSWD:ALL
EOF

设置/etc/hosts

# cat >> /etc/hosts <<EOF
192.*.*.60 node1       #注意*要根据实际情况替换
EOF

设置内核参数

# cat >> /etc/sysctl.conf <<EOF
#added by kingbase
fs.aio-max-nr= 1048576
fs.file-max= 6815744
kernel.shmall= 2097152
kernel.shmmax= 4294967295
kernel.shmmni= 4096
kernel.sem= 250 32000 100 128
net.ipv4.ip_local_port_range= 9000 65500
net.core.rmem_default= 262144
net.core.rmem_max= 4194304
net.core.wmem_default= 262144
net.core.wmem_max= 1048576
EOF

sysctl -p 生效

设置资源限制

# cat >> /etc/security/limits.conf <<EOF
#added by kingbase
* soft nofile 65536
* hard nofile 65535
* soft nproc 65536
* hard nproc 65535
* soft core unlimited
* hard core unlimited
EOF

创建用户及用户组

# groupadd -g 1101 kingbase
# useradd -g kingbase -u 1101 -m kingbase
# passwd kingbase

创建软件安装目录并授权

# mkdir -p /opt/kes/v9
# chown -R kingbase:kingbase /opt/kes/v9

创建数据目录并授权

数据目录是KingbaseES中存放数据文件的目录,默认是在安装目录下的data目录。也可以与安装目录分开单独设置。本次安装单独设置数据目录/data。

# mkdir -p /data
# chown -R kingbase:kingbase /data

KES安装包挂载

# mount -o loop KingbaseES_V009R002C012B0003_Lin64_install.iso /mnt/

命令行安装

主要安装过程如下:

# su - kingbase
$ cd /mnt

## 命令行安装
主要安装过程如下:
```language
# su - kingbase
$ cd /mnt
$ ./setup.sh -i console
1、接受许可协议
2、选择安装方式
  ->1- Full
    2- Client
    3- Custom
3、选择license文件:
   File Path: /soft/license_V009R002C_oracle.dat
4、选择软件安装文件夹
   ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT
      : /opt/kes/v9 
5、选择数据目录文件夹
   Data folder (Default: /opt/kes/v9/data): /data
6、输入端口
   Please enter database service listened port, default 54321.
   Port (Default: 54321): 
5、输入数据库管理用户和密码
   Please enter database administrator user name.
   User: (Default: system): 
   Please Enter the Password: Please Enter the Password:******
6、输入服务器字符集编码
   Please enter server character set encoding.
    1- default
  ->2- UTF8
    3- GBK
    4- GB2312
    5- GB18030
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 2
7、输入数据库的区域设置
Please enter the Database Locale.
    1- C
  ->2- zh_CN.UTF-8
    3- en_US.UTF-8
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 2
8、输入数据库模式
Please enter database mode.

  ->1- ORACLE
    2- PG
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 
9、输入大小写敏感性
Case Sensitivity
----------------
Please enter the case sensitivity.

  ->1- YES
    2- NO

ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 
10、输入数据库block大小
   Please enter block size used in storing data.
  ->1- 8k
    2- 16k
    3- 32k
ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 1
11、输入加密方法
   Please enter the encrypt method.
  ->1- scram-sha-256
    2- scram-sm3
    3- sm4
    4- sm3
 ENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: 1
12、自定义参数
   Please enter database custom parameters.
   Custom (Default:  ): 
13、初始化数据库
   The database will be initialized, which may take some time. Please be patient.
   PRESS <ENTER> TO CONTINUE: 
14、安装完成
Congratulations. KingbaseES V9 has been successfully installed to:
/opt/kes/v9
If you want to register KingbaseES V9 as OS service, please run
    /opt/kes/v9/install/script/root.sh
PRESS <ENTER> TO EXIT THE INSTALLER: 
Complete.
15、root用户注册kingbase服务
root用户执行 /opt/kes/v9/install/script/root.sh

至此数据库安装完成。安装完成后,数据库是启动的。

配置kingbase用户环境变量

cat >>/home/kingbase/.bashrc<<EOF
export KINGBASE_DATA=/data
export PATH=$PATH:/opt/kes/v9/Server/bin
export LANG=zh_CN.UTF8
export KINGBASE_PORT=54321
EOF

环境变量生效:

source /home/kingbase/.bashrc

启停KES服务

# systemctl start kingbased
# systemctl status kingbased
# systemctl stop kingbased

数据库连接测试

ksql连接测试

[kingbase@node1 ~]$ ksql -U system -d test
Password for user system: 
Licesen Type: oracle兼容版.
Type "help" for help.

test=# 
# 查看数据库连接信息
test=# \conninfo
以用户 "system" 的身份,通过套接字"/tmp"在端口"54321"连接到数据库 "test"

# 查看数据库版本

test=# select version();
         version         
-------------------------
 KingbaseES V009R002C012
(1 行记录)

# 查看数据库兼容模式
test=# show database_mode;
 database_mode 
---------------
 oracle
(1 行记录)

test=# 

# 查看数据库列表
test=# \l
                                        数据库列表
   名称    | 拥有者 | 字元编码 |  校对规则   |    Ctype    | ICU 排序 |     存取权限      
-----------+--------+----------+-------------+-------------+----------+-------------------
 kingbase  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | 
 security  | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | 
 template0 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | =c/system        +
           |        |          |             |             |          | system=CTc/system
 template1 | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | =c/system        +
           |        |          |             |             |          | system=CTc/system
 test      | system | UTF8     | zh_CN.UTF-8 | zh_CN.UTF-8 |          | 
(5 行记录)

test=# 
test=# 

# 查看数据库自带的用户列表
test=# \du
                              角色列表
  角色名称  |                    属性                    | 成员属于 
------------+--------------------------------------------+----------
 kcluster   | 无法登录                                   | {}
 sao        | 没有继承, 建立角色                         | {}
 sao_oper   | 没有继承, 无法登录                         | {}
 sao_public | 没有继承, 无法登录                         | {}
 sso        | 没有继承, 建立角色                         | {}
 sso_oper   | 没有继承, 无法登录                         | {}
 sso_public | 没有继承, 无法登录                         | {}
 system     | 超级用户, 建立角色, 建立 DB, 复制, 绕过RLS | {}

test=# 

# 创建表
test=# create table testtab(id int);
CREATE TABLE

# 查看表
test=# \dt
               关联列表
 架构模式 |  名称   |  类型  | 拥有者 
----------+---------+--------+--------
 public   | testtab | 数据表 | system
(1 行记录)

test=# 

navicat连接测试

image.png
image.png

dbeaver连接测试

KES软件自带jdbc驱动,位置在KES软件安装目录的Interface/jdbc目录下。本例中KES软件安装目录是/opt/kes/v9,自带的驱动如下:

[kingbase@node1 ~]$ cd /opt/kes/v9/Interface/jdbc
[kingbase@node1 jdbc]$ ll
总用量 6856
-rw-rw-r-- 1 kingbase kingbase 1216681 6月  24 23:30 kingbase8-9.0.0.jar
-rw-rw-r-- 1 kingbase kingbase 1072116 6月  24 23:30 kingbase8-9.0.0.jre6.jar
-rw-rw-r-- 1 kingbase kingbase 1212045 6月  24 23:30 kingbase8-9.0.0.jre7.jar
-rw-rw-r-- 1 kingbase kingbase 1218184 6月  24 23:30 postgresql-42.2.9.jar
-rw-rw-r-- 1 kingbase kingbase 1073317 6月  24 23:30 postgresql-42.2.9.jre6.jar
-rw-rw-r-- 1 kingbase kingbase 1213554 6月  24 23:30 postgresql-42.2.9.jre7.jar
[kingbase@node1 jdbc]$ 

把数据库服务器上的kingbase8-9.0.0.jar驱动下载到本地。
dbeaver通过jdbc连接数据库。
新建驱动:选择菜单Database->Driver Manager->New
image.png

编辑驱动:
image.png

新建数据库连接:选择菜单Database->New Database Connection->选择刚才创建的驱动
image.png

测试连接:
image.png

查询表数据:
image.png

关于作者

网名:飞天,墨天轮2024年度优秀原创作者,拥有 Oracle 10g OCM 认证、PGCE认证、MySQL 8.0 OCP认证以及OBCA、KCP、KCSM、ACP、磐维等众多国产数据库认证证书,目前从事Oracle、Mysql、PostgresSQL、磐维数据库管理运维工作,喜欢结交更多志同道合的朋友,热衷于研究、分享数据库技术。
微信公众号:飞天online
墨天轮:https://www.modb.pro/u/15197
如有任何疑问,欢迎大家留言,共同探讨~~~

最后修改时间:2025-08-31 11:59:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

文章被以下合辑收录

评论