GBase 8s
运维管理
文章
【经验分享】如何设置GBase 8s开机自启动
发表于2026-05-18 10:53:26151次浏览1个评论
GBase 8s是南大通用自主研发、支持共享存储集群、两地三中心部署的、成熟稳定的百T金融级事务型国产数据库。GBase 8s适用于OLTP应用场景,包括金融、电信、政企、安全等行业的关键核心业务系统,在当前安全形势日益严峻的大背景下,GBase 8s已成为去IOE的主流国产数据库产品,能够在90%以上的场景中替代Oracle。
GBase 8s服务所有管理操作是由gbasedbt管理账户完成,如果服务器关机重新启动后,管理员要切换到gbasedbt账户去启动GBase 8s服务,默认是不会随服务器启动而自动启动的,往往负责运维的人员只负责启动服务器,不清楚如何启动8s数据库,会导致应用访问不了数据库导致应用报错。那么如何设置一开机就能自动启动8s数据库呢?经过一番查找和询问技术人员,用非常简单的命令就可以实现了,简单又方便,来看一看吧。
新增开机任务
使用 gbasedbt账户执行crontab -e命令,新增一条定时任务,自动运行启动8s命令。
请确保你是在 gbasedbt 用户 下执行的,而不是 root。
- 切换用户:
su - gbasedbt - 编辑任务:
crontab -e - 输入内容(推荐带延时的版本):
@reboot sleep 30; source /home/gbasedbt/profile.gbaseserver && oninit -vy - 保存退出(在 vi 中按
Esc,输入:wq回车)。
(解释:sleep 30 会让任务暂停 30 秒,给系统足够的时间加载网络和存储;其中 profile.gbaseserver为8s的环境变量文件名,此文件名目录可根据8s实际环境情况进行更改。)
命令解析:
-
@reboot:这是crontab的特殊时间标记,表示“系统启动后立即执行一次”。 -
source ...:这一步非常关键。因为cron任务执行时没有任何环境变量,直接执行oninit通常会报错(找不到命令或环境变量缺失)。通过先加载profile.gbaseserver,补齐了数据库所需的环境变量。 -
&&:表示只有前面的source命令成功执行后,才执行后面的oninit。 sleep 30会让任务延迟 30 秒执行,原因是@reboot` 执行得非常早,如果数据库依赖网络服务(如网卡启动、挂载 NFS 存储等)未准备就绪,@reboot 就开始启动数据库,可能会导致启动失败。为了确保万无一失,让它在开机后 等待 30 秒 再启动,确保GBase 8s数据库系统环境完全就绪。
测试开机重启
先使用gbasedbt账户关闭8s服务,然后将服务器reboot一下,重新启动后查看8s服务是否正常启动
关闭8s数据库服务
# su - gbasedbt
$ onstat -
$ onmode -ky
操作截图:

测试开机重启
切换到root账户,关机重启服务器
操作截图:

重新连接服务器,切换到gbasedbt账户下,查看8s服务状态是在线状态,说明开机自启动了。

真的好简单,赶快设置起来吧~
热门帖子
- 12025-12-01浏览数:183247
- 22023-05-09浏览数:26017
- 42023-09-25浏览数:19674
- 52020-05-11浏览数:18304