Skip to content

适用虚谷数据库版本

v12.9



适用虚谷数据库版本

v12.9


部署 XuguDB 标准版

📄字数 5.2K
👁️阅读量 加载中...

XuguDB 标准版部署单机数据库。

一、Linux 安装

1.1 创建用户

  • 创建用户不指定用户家目录,默认家目录在 /home/ 下;亦可通过 -d 指定用户家目录
shell
[root@kunqian236 ~]# useradd xugu
  • 设置用户密码
shell
[root@kunqian236 ~]# passwd xugu

1.2 初始化数据库

1.2.1 解压产品包

  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

注意

  1. 以上配置将数据文件 DATA1.DBF、DATA2.DBF、DATA3.DBF、DATA4.DBF 和临时文件 TEMP1.DBF、TEMP2.DBF 分别指定到 /data1/data和/data1/temp 路径下,映射的路径必须存在(提前手动创建)
  2. 若默认安装,数据文件和临时表空间则默认生成到安装路径。此方式部署可跳过此步骤

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 目录下,如下图所示:

标准版license导入图 1.1 XuguDB 标准版导入License

1.6 启动数据库

可通过执行产品包中提供的自动化脚本startdb.sh来启动 XuguDB 标准版:

shell
[xugu@kunqian236 BIN]$ ./startdb.sh

若显示数据库端口则启动成功,如下图所示:

启动 XuguDB 标准版图 1.2 启动 XuguDB 标准版

二、Windows 安装

将 Windows 版本数据库压缩包解压到指定目录

2.1 启动数据库

运行BIN目录下startdb.bat脚本,启动数据库,显示监听端口为5138则启动成功,如下图所示:

Windows 数据库启动截图图 2.1 启动 Windows 数据库

提示

  • 数据库首次启动会自动生成默认的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                               #词表日志目录(用于保存词典。词典是全文索引中的文本解析核心组件,用于将连续文本分割为独立的词)