部署 XuguDB 标准版
📄字数 5.2K
👁️阅读量 加载中...
XuguDB 标准版部署单机数据库。
一、Linux 安装
1.1 创建用户
- 创建用户不指定用户家目录,默认家目录在 /home/ 下;亦可通过 -d 指定用户家目录
shell
[root@kunqian236 ~]# useradd xugu
- 设置用户密码
shell
[root@kunqian236 ~]# passwd xugu
1.2 初始化数据库
1.2.1 解压产品包
- 使用创建的 xugu 用户登录,按照用户需求创建安装文件夹。将数据库安装包上传到服务器的安装目录下进行解压,示例如下:
shell
[root@kunqian236 ~]# su xugu
[xugu@kunqian236 XuguDB]$ tar -zxvf XuguDB-12.8_20250327-linux-x64.tar.gz
Docker/
Docker/docker-image-build.md
Docker/Dockerfile.Debian
Docker/Dockerfile.RedHat
XuguDB/
XuguDB/BIN/
XuguDB/BIN/startdb.sh
XuguDB/BIN/xgconsole
XuguDB/BIN/xugu_init.sql
XuguDB/BIN/xugu_linux_x86_64_20250327
XuguDB/SETUP/
XuguDB/SETUP/mount.ini
XuguDB/SETUP/trust.ini
XuguDB/SETUP/types.ini
XuguDB/SETUP/xugu.ini
[xugu@kunqian236 XuguDB]$ ll
总用量 7136
drwxrwxr-x 2 xugu xugu 85 6月 4 13:58 Docker
drwxrwxr-x 4 xugu xugu 30 4月 18 11:20 XuguDB
-rw-r--r-- 1 xugu xugu 7303918 6月 4 13:59 XuguDB-12.8_20250327-linux-x64.tar.gz
1.2.2 (可选)初始化 SETUP 其他文件
进入BIN目录,执行./xugu_linux_x86_64_20250327 --init-setup
可初始化 SETUP 下其他配置文件(xugu.ini、mount.ini、types.ini和trust.ini)。当产品包解压后无SETUP或误删除SETUP目录,且需对 XuguDB 默认参数进行更改时,如端口,可使用此参数初始化后对配置文件进行更改。具体使用可参考:数据库启动参数
提示
若无需更改默认配置,可跳过此步骤。
1.3 (可选)存储文件映射配置
如需对文件存储路径进行规划,可根据部署规划配置 mount.ini(默认生成)、datafile.ini(手动创建)。SETUP/mount.ini路径映射,映射关系示例:
shell
[xugu@kunqian236 SETUP]# cat mount.ini
/XGLOG ./XGLOG
/CATA ./XHOME/CATA
/DATA ./XHOME/DATA
/TEMP ./XHOME/TEMP
/REDO ./XHOME/REDO
/BACKUP ./XHOME/BACKUP
/ARCH ./XHOME/ARCH
/UNDO ./XHOME/UNDO
/MODI ./XHOME/XMODI
/DATA1 /data1/data
/TEMP1 /data1/temp
-- 在SETUP目录下手动创建文件datafile.ini
[xugu@kunqian236 SETUP]# cat datafile.ini
#DATA_FILES
/DATA1/DATA1.DBF
/DATA1/DATA2.DBF
/DATA1/DATA3.DBF
/DATA1/DATA4.DBF
#TEMP_FILES
/TEMP1/TEMP1.DBF
/TEMP1/TEMP2.DBF
注意
- 以上配置将数据文件 DATA1.DBF、DATA2.DBF、DATA3.DBF、DATA4.DBF 和临时文件 TEMP1.DBF、TEMP2.DBF 分别指定到 /data1/data和/data1/temp 路径下,映射的路径必须存在(提前手动创建)。
- 若默认安装,数据文件和临时表空间则默认生成到安装路径。此方式部署可跳过此步骤。
1.4 常用参数检查
提示
用于个人及测试可跳过此步骤,使用默认配置即可。以下配置参数建议仅针对运维人员部署。
除如下列表项需要检查确认外,其他参数项,保持默认参数即可,参数详情见:xugu.ini系统参数配置章节。
参数名 | 参数解析 |
---|---|
listen_port = 5138; | 侦听端口,配置建议:5138 |
pass_mode = 3; | 口令模式 1:任意字符或数字或符号,2:必须含字母、数字、符号中的两种或两种以上,3:必须含字母、数字和特殊符号,4:启用强口令相关设置项,并开启初始化数据库随机口令生成,配置建议:3 |
task_thd_num = 16; | 任务处理线程数,配置建议:task_thd_num = 业务最大并发数 * 2 |
max_parallel = 2; | 最大单任务并行度 配置建议:建议设置为CPU核数的2倍,集群部署场景下单个任务最大并行度取决于存活工作节点cluster.ini中配置的LPU总和,不受该参数影响 |
cata_parti_num = 32; | 目录分区数(建议设为CPU核数),配置建议:建议设置为CPU核数,当核数大于32时配置为CPU核数的1/2 |
rsync_thd_num = 8; | 远程同步处理线程数,配置建议:CPU核数的1/2 |
rtran_thd_num = 8; | 远程事务处理线程数,配置建议:CPU核数的1/2 |
data_buff_mem = 102400; | 数据缓冲区内存(单位:M),配置建议:物理内存60% |
system_sga_mem = 51200; | 系统全局区内存(单位:M),配置建议:物理内存20% |
max_hash_size = 30000000; | 最大Hash表槽数,配置建议:默认(30000000),1亿哈希槽需消耗内存800MB(注意配置) |
max_malloc_once = 1024; | 最大单次分配内存块大小(单位:M),配置建议:此参数配置大于max_hash_size大小配置,小于system_sga_mem配置大小 |
default_copy_num = 1; | 存贮的默认版本个数,配置建议:单机部署设置为1 |
safely_copy_num = 1; | 存贮的安全版本个数,配置建议:单机部署设置为1 |
init_data_space_num = 4; | 初始化系统时数据表空间个数,配置建议:默认(4) |
init_temp_space_num = 2; | 初始化系统时临时表空间个数,配置建议:默认(2) |
init_undo_space_num = 2; | 初始化系统时回滚表空间个数,配置建议:默认(2) |
def_data_space_size = 1024; | 默认数据表空间的初始尺度(单位:M),配置建议:按部署磁盘大小与磁盘IO情况评估进行配置 |
def_temp_space_size = 1024; | 默认临时表空间的初始尺度(单位:M),配置建议:1024(可根据实际业务场景调整配置) |
def_undo_space_size = 1024; | 默认回滚表空间的初始尺度(单位:M),配置建议:1024(可根据实际业务场景调整配置) |
def_redo_file_size = 1024; | 默认重做日志文件尺度(单位:M),配置建议:1024(可根据实际业务场景调整配置) |
def_file_step_size = 64; | 默认表空间文件的增长步长(单位:M),配置建议:默认(64) |
max_temp_space_size = 10240; | 临时表空间的最大尺度(单位:M,-1表示不限制),配置建议:10240(可根据实际业务场景调整配置) |
max_file_size = -1; | 默认系统初始化数据和临时文件最大尺度(单位:M,-1表示不限制),配置建议:默认(-1) |
catalog_write_through = 2; | 系统控制信息回写方式(1:立即保存 2:立即写通),配置建议:默认(2) |
datafile_write_through = true; | 是否要求OS对数据文件的更改立即写回磁盘,配置建议:默认(true),针对磁盘IO较差的情况,此参数可修改为false |
redo_write_through = false; | 重做日志文件是否写通方式打开,配置建议:默认(false),针对ARM环境部署,此参数修改为true |
max_trans_modify = 200000; | 单个事务最大允许变更行数(0表示不限制),配置建议:200000,有业务要求可根据实际情况调整 |
enable_node_degrade = true; | 是否启用节点降级,配置建议:默认(true),根据实际业务场景设置 |
1.5 导入License
将申请的 license.dat 文件放在 BIN 目录下,如下图所示:

1.6 启动数据库
可通过执行产品包中提供的自动化脚本startdb.sh
来启动 XuguDB 标准版:
shell
[xugu@kunqian236 BIN]$ ./startdb.sh
若显示数据库端口则启动成功,如下图所示:

二、Windows 安装
将 Windows 版本数据库压缩包解压到指定目录
2.1 启动数据库
运行BIN
目录下startdb.bat
脚本,启动数据库,显示监听端口为5138则启动成功,如下图所示:

提示
- 数据库首次启动会自动生成默认的
SETUP
配置文件夹 - 启动的监听窗口不可关闭,若关闭则数据库亦停止运行。若需将数据库服务更改为后台服务方式,则启动数据库服务前需编辑“startdb.bat”文件,将“--child”修改为“--server”方式启动,详情见数据库启动参数
- 数据库首次启动时,默认初始化系统库“SYSTEM”,数据库管理员“SYSDBA”的初始密码为“SYSDBA”
三、容器镜像部署
虚谷数据库产品发布包中提供了容器镜像编译脚本,将虚谷数据库产品发布包解压后,可在解压后的XuguDB/Docker
目录下查看。
当前提供Linux Debian系发行版系统以及Linux RedHat系发行版系统适用的容器镜像编译脚本。若需要支持其他Linux发行版系统,可参考已提供的容器镜像编译脚本,适当调整相关命令(如包管理器命令)进行适配。
注意
虚谷数据库自12.8.5版本起依赖于OpenSSL 1.1版本,已对Dockerfile作如下调整:
Dockerfile.Debian
需将基础镜像调整为FROM debian:11
Dockerfile.RedHat
需将基础镜像调整为FROM almalinux:8
3.1 编译镜像
解压虚谷数据库产品发布包后打开终端,切换终端工作路径到容器镜像编译脚本所在目录:
sh
cd XuguDB-12.8_20250327-linux-x64/Docker
sh
# 使用 RedHat 系列发行版 Linux 系统作为运行环境
docker build -t xugu-database:example -f Dockerfile.RedHat ..
# 使用 Debian 系列发行版 Linux 系统作为运行环境
docker build -t xugu-database:example -f Dockerfile.Debian ..
3.2 保存镜像
以下命令将 Docker 中虚谷数据库容器镜像,以文件形式保存到终端当前工作目录下:
sh
docker save xugu-database:example >docker-xugu-database-example.tar
3.3 加载镜像
以下命令将终端当前工作目录下,已保存的虚谷数据库容器镜像文件加载到 Docker 中:
sh
docker load <docker-xugu-database-example.tar
3.4 运行容器
注意
若需要通过docker logs
命令获取终端打印日志,请指定-t
参数为容器分配 tty。
sh
# 在运行时配置已命名空间化的内核参数,请参见:
# Configure namespaced kernel parameters (sysctls) at runtime (--sysctl)
# https://docs.docker.com/reference/cli/docker/container/run/#sysctl
# 设置容器中的各项资源限制参数,请参见:
# Set ulimits in container (--ulimit)
# https://docs.docker.com/reference/cli/docker/container/run/#ulimit
docker run --name xugu-database -td -p 5138:5138 xugu-database:example
四、目录结构解析
针对不同平台启动的标准版数据库目录如下所示:
shell
├── BACKUP #存储数据库备份文件
├── BIN
│ ├── license.dat #license文件
│ ├── startdb.sh #启动数据库自动化脚本
│ ├── weak_pass_dictionary.txt #弱口令字典
│ ├── xugu_init.sql #数据库初始化文件
│ └── xugu_linux_x86_64_20250327 #数据库程序
├── SETUP
│ ├── mount.ini #映射路径文件
│ ├── trust.ini #黑白名单配置文件
│ ├── types.ini #数据类型映射文件
│ └── xugu.ini #参数配置文件
├── XGLOG
│ ├── ERROR.LOG #错误日志
│ ├── EVENT.LOG #事件日志(用于记录系统重要事件)
│ └── TRACE.LOG #跟踪日志
├── XHOME
│ ├── ARCH #数据库归档日志文件
│ ├── CATA #系统结构性控制文件
│ │ ├── CTL.BAK #控制文件备份
│ │ ├── GSYS1.SYS #全局存储控制文件
│ │ ├── LSYS1.SYS #本地存储控制文件(受GSYS*.SYS 控制)
│ │ ├── UNDO.SYS #回滚日志控制文件
│ │ ├── XUGU.CTL #系统结构性控制文件(包含数据库的系统配置、目录结构等)
│ │ └── XUGU.ENC #存储加密机对象信息
│ ├── DATA #数据文件
│ │ ├── DATA1.DBF
│ │ ├── DATA2.DBF
│ │ ├── DATA3.DBF
│ │ └── DATA4.DBF
│ ├── REDO #重做日志
│ │ ├── REDO1.LOG
│ │ └── REDO2.LOG
│ ├── TEMP #临时表空间文件
│ │ ├── TEMP1.DBF
│ │ └── TEMP2.DBF
│ ├── UNDO #回滚日志
│ │ ├── UNDO1.DBF
│ │ └── UNDO2.DBF
│ └── XMODI #变更数据文件
└── XVOCA #词表日志目录(用于保存词典。词典是全文索引中的文本解析核心组件,用于将连续文本分割为独立的词)