今天和大家一起来看看一款来自福建的国产数据库——SinoDB。本人很早就听说过这款数据库,而且星瑞格公司就在同一栋办公楼。虽然以前就已经对这颗国产数据库有一定的了解,并没有真正的去使用一把。随着数据库国产化改造工作的推进,身边的客户开始适配这款数据库,也在咨询技术相关问题。在此,我就分享下这款数据库使用体验以及学习指南,也欢迎大家来体验!
【SinoDB介绍】
星瑞格数据库管理系统——SinoDB具有完全自主知识产权,采用国密算法,提供多层次数据加密加强数据安全,支持高并发、高可用、高性能的数据处理。有意思的是Sino是东方的意思,SinoDB是星瑞格倾力打造的旗舰级属于我们中国的数据库。
【SinoDB安装】
下面,我们来动手安装SinoDB。以Linux 系统上安装星瑞格 SinoDB 数据库软件16.8 版本为例,整个过程相对简单易懂,跟着官方的教程一步步走也基本没问题。
1、提供一台CentOS虚拟机,4G内存,20G磁盘。
# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
2、创建 sinodbms 组和用户,并设置用户密码
1. 使用 root 用户执行:
# groupadd sinodbms
2. 创建 sinodbms 用户:
# useradd -g sinodbms -d /home/sinodbms -s /bin/bash -m sinodbms
# passwd sinodbms
3. 创建介质目录
# mkdir /home/sinodbms/tmp
上传安装介质到服务器并在单独的目录中解压。执行解压命令:tar -xvf 安装包名;
[root@sinodb-server opt]# tar -xvf SinoDB-16.8-TL-linux-x86_64.tar -C /home/sinodbms/tmp/
3. 命令行安装
我们在 root 用户下,进入安装包目录,运行安装命令 ids_install,启动安装程序。
[root@sinodb-server ~]# /home/sinodbms/tmp/ids_install
1、遇到要求输入enter时,按下enter继续即可
PRESS <ENTER> TO CONTINUE:
2、遇到Y/N时输入Y即可。
DO YOU ACCEPT THE TERMS OF THIS LICENSE AGREEMENT? (Y/N):
3、弹出安装位置,可以自己选择或者默认路径。
ENTER AN ABSOLUTE PATH, OR PRESS <ENTER> TO ACCEPT THE DEFAULT: /opt/sindbmsINSTALL FOLDER IS: /opt/sindbmsIS THIS CORRECT? (Y/N): Y安装目录指定到/opt/sindbms
4、选择安装类型,典型安装输入1
5、接下来选择输入服务器名称,以及未被使用的端口,回车则使用默认。
6、根据安装说明书选择是否启用OAT的管理密码,要求是输入no
7、阅读其它许可信息,输入回车或者Y继续进行。
4、创建数据库实例
1、创建一个实例,按回车默认选择1就行。
Create a database server instance?->1- Yes - create a server instance2- No - do not create a server instance
2、确认一下信息有没有错误后继续点击回车即可。
3、等待安装(安装时间约1-2 分钟),进行实例的初始化,直接输入回车(需要等待大致3分钟)。
Ready To Install
----------------InstallAnywhere is now ready to install Sinoregal SinoDB Software Bundle onto
your system at the following location:/opt/sindbmsPRESS <ENTER> TO INSTALL: 4、实例初始化完成后,则提示不同系统实例的环境变量文件位置。输入回车,进入下一步。
A database server instance was created. If you chose to initialize the
instance, it is ready to use.You can open a command prompt to an initialized instance by running one of the
following commands at /opt/sindbms, where ol_sinodb1210 is the path or
filename of the instance.Windows:
ol_sinodb1210.cmdUNIX csh:
source ol_sinodb1210.cshUNIX ksh or bourne:
./ol_sinodb1210.kshPRESS <ENTER> TO CONTINUE:
5、安装的结果反馈,确认无误,则输入回车,结束安装。
Installation Complete
---------------------
The installation of Sinoregal SinoDB Software Bundle is complete, but some
errors occurred during the install.Please see the installation log for details. Click 'Done' to exit the
installation process.Product install status:
SinoDB Dynamic Server: Successful
SinoDB Client-SDK: Successful
SinoDB JDBC Driver: Successful
OpenAdmin Tool: Successful
5、查看实例的状态
1、设置环境变量
cd /opt/sinodbms/
source ol_sinodb1210.ksh
2、查看实例状态
onstat -(查看实例的状态,如果是online 说明服务状态正常)
$ onstat -
Your evaluation license will expire on 2025-04-15 00:00:00Sinoregal SinoDB Dynamic Server Version 16.8.FC8U0X3TL -- On-Line -- Up 00:09:02 -- 254088 Kbytes
3、登录数据库
dbaccess(进入数据库,出现如下界面则表示数据库已安装成功)
DBACCESS: Query-language Connection Database Table Session Exit
Use SQL query language.------------------------------------------------ Press CTRL-W for Help --------
【SinoDB登录】
1、使用DBeaver客户端登录数据库前,需要先验证8035端口能通。
# telnet 192.168.198.132 8035
Trying 192.168.198.132...
telnet: connect to address 192.168.198.132: Connection refused
2、检查系统防火墙是否关闭。
# systemctl status firewalld.service --防火墙状态
● firewalld.service - firewalld - dynamic firewall daemonLoaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)Active: inactive (dead)Docs: man:firewalld(1)
# systemctl stop firewalld.service --关闭防火墙如果实在要开启防火墙,也可以针对端口开放防火墙例外
firewall-cmd --zone=public --add-port=8030-8060/tcp
将临时更改为永久,永久配置完成后需要立即同步
firewall-cmd --runtime-to-permanent
立即同步永久配置
firewall-cmd --reload
3、增加8035端口配置cat $SINODBMSDIR/etc/sqlhost.ol_sinodb1210
其中,$SINODBMSDIR 是SinoDB的安装目录,ol_sinodb1210是实例名
vi $SINODBMSDIR/etc/sqlhost.ol_sinodb1210
#ol_sinodb1210 onsoctcp sino-dbsever ol_sinodb1210 --》注释掉
dr_sinodb1210 drsoctcp sino-dbsever dr_sinodb1210
lo_sinodb1210 onsoctcp 127.0.0.1 lo_sinodb1210
ol_sinodb1210 onsoctcp sino-dbsever 8035 --》新增配置
配置文件修改后,需要重启服务生效
onmode -ky
oninit -vy
4、再次验证8035端口
$ telnet 192.168.198.132 8035
Trying 192.168.198.132...
Connected to 192.168.198.132.
Escape character is '^]'.
^]
Connection closed by foreign host.
5、在官方网站下载DBeaver客户端,选择社区版本。dbeaver-ce-24.0.2-x86_64-setup软件下载成功后,可以直接安装。
下载地址:Download | DBeaver Community
6、SinoDB V16.8 JDBC驱动包下载,com.sinodbms.jdbc.jar和SinoDB-JDBC-1.0.jar两个都可以使用。
驱动下载地址:软件下载 - 软件下载 - Sinoregal Tech Forum
7、打开DBeaver客户端,并在“数据库”-》“驱动管理器”-》“新建”,配置内容可参考如下两张截图。
类名:com.sinodbms.jdbc.IfxDriver
URL模板:jdbc:sinodbms-sqli://{host}:{port}/{database}:SINODBMSSERVER={server}
为了支持不同的数据库字符集,请在驱动中加入如下三个参数:NEWCODESET、CLIENT_LOCALE、DB_LOCALE 。
URL模板:jdbc:sinodbms-sqli://{host}:{port}/{database}:SINODBMSSERVER={server};NEWCODESET=utf8,8859-1,819;DB_LOCALE=en_US.8859-1;CLIENT_LOCALE=en_US.8859-1;
8、在DBeaver客户端,选择“数据库”-》“新建数据库连接”,然后选择上述配置的sino驱动,然后输入对应的机主IP、服务器、数据库/模式、用户名、密码。
9、点击测试连接,可以看到连接测试显示“已连接”。
10、创建测试库
创建表前,记得先切换到指定的数据库。
(1)创建数据库,星瑞格数据库提供了创建数据库操作的SQL语句,如下所示:
create database testdb in datadbs1 with log;(datadbs1 为数据库所在数据空间,请根据实际情况指定)
这条语句创建 BUFFERED 日志模式数据库。
(2)建表,建表是数据库中最常见的操作之一,用于定义数据的结构和属性。星瑞格数据库提供了创建表的SQL语句,如下所示:
CREATE TABLE student (
id INT PRIMARY KEY,
name VARCHAR(20) NOT NULL,
age INT CHECK (age BETWEEN 18 AND 25),
gender CHAR(1) DEFAULT 'M'
);
这条语句创建了一个名为student的表,包含了四个字段,分别是id、name、age、gender。其中,id是主键,name是非空的,age是在18到25之间的,gender是默认为'M'的。
这些都是对数据的一些约束,可以保证数据的完整性和一致性。创建表的时候,还可以指定表所属的数据库,这里指定了testdbs数据库。
如果SQL语句有包含中文,记得在驱动设置中加上字符集,并重新连接。
(1)对表的CRUD操作
CRUD是指对数据的增删改查操作,是数据库的基本功能。星瑞格数据库提供了对表的CRUD操作的SQL语句,如下所示:
●插入数据
INSERT INTO student (id, name, age, gender) VALUES (1, '张三', 20, 'M');
INSERT INTO student (id, name, age, gender) VALUES (2, '李四', 21, 'F');
INSERT INTO student (id, name, age, gender) VALUES (3, '王五', 22, 'M');
这条语句向student表中插入了三条数据,分别是张三、李四、王五的信息。
●查询数据
SELECT * FROM student;
这条语句查询了student表中的所有数据
还可以使用一些条件和排序等功能,来对查询结果进行筛选和排序,例如:
SELECT * FROM student
WHERE gender = 'F'
ORDER BY age DESC;
●更新数据
UPDATE student
SET age = 23
WHERE id = 3;
这条语句更新了student表中id为3的数据,将其年龄修改为23。
●删除数据
DELETE FROM student
WHERE id = 2;
这条语句删除了student表中id为2的数据。
【SinoDB卸载】
1、启动卸载程序,开始卸载SinoDB
[root@sinodb-server ~]# /opt/SinoDB_Software_Bundle/uninstall/uninstall_ids/uninstallids
===============================================================================
Sinoregal SinoDB Software Bundle (created with InstallAnywhere)
-------------------------------------------------------------------------------Preparing CONSOLE Mode Uninstallation...===============================================================================
Uninstall SinoDB Software Bundle
--------------------------------About to uninstall SinoDB Software Bundle.In this uninstall process, all SinoDB Software Bundle products in
/opt/SinoDB_Software_Bundle will be uninstalled.
It is recommended that you first shutdown all SinoDB database server instances
related to this installation prior to uninstalling the product.PRESS <ENTER> TO CONTINUE: --》直接回车===============================================================================
Server Uninstall Options
------------------------Server action:Important: Choosing to remove all databases will remove all database chunks,
environment files, registry entries, and message log files for all database
server instances associated with this installation.->1- Retains all databases, but removes all server binaries2- Removes server binaries and all databases associated with themENTER THE NUMBER FOR YOUR CHOICE, OR PRESS <ENTER> TO ACCEPT THE DEFAULT:: 2 --》输入2回车,删除数据库组件和全部数据库
2、SinoDB卸载成功!
===============================================================================
Uninstall Complete
------------------Uninstall is complete for Sinoregal SinoDB Software Bundle.Product uninstall status:
SinoDB Dynamic Server: Failed
SinoDB Client-SDK: Successful
SinoDB JDBC Driver: Successful
OpenAdmin Tool: Successfulrm -rf SinoDB_Software_Bundle
【SinoDB学习指南】
1、SinoDB入门指南
学习资料下载:SinoDB入门指南 - 运维指南 - Sinoregal Tech Forum
(1)了解SinoDB数据库:SinoDB星瑞格数据库管理系统产品白皮书
(2)下载SinoDB试用安装包:SinoDB数据库试用安装包(linux-x86_64位)
(3)SinoDB安装与配置:Linux版SinoDB安装手册
(4)SinoDB数据空间配置
(5)SinoDB连接管理工具:dbaccess / DBeaver / Dbvisualizer
(6)SinoDB数据库基本操作
(7)SinoDB数据类型
2、SinoDB进阶指南
学习资料下载:SinoDB进阶篇 - 运维指南 - Sinoregal Tech Forum
(1)SinoDB数据库常用配置参数:SinoDB常用Onconfig配置参数说明
(2)SinoDB数据库常用监控命令:onstat / oninit / onmode / oncheck
(3)SinoDB数据库导入导出工具:dbschema / unload/load / External table / dbload / onunload/onload
(4)SinoDB数据库统计更新
(5)SinoDB数据库执行计划
(6)SinoDB数据库备份恢复工具:dbexport/dbimport / ontape / onbar
(7)SinoDB数据库用户权限
【参考资料】
星瑞格数据库-国产数据库-数据库与数据库安全软件与服务提供商
Sinoregal Tech Forum
软件下载 - 软件下载 - Sinoregal Tech Forum
星瑞格体验官——SinoDB V16.8的使用初体验
来自星瑞格体验官——“初见”SinoDB
星瑞格体验官——SinoDB V16.8(操作篇)
欢迎大家体验!