其他国产数据库常用运维指令手册
覆盖:GaussDB、PolarDB、TDSQL、GoldenDB、GBase 8a / 8s / 8c、崖山 YashanDB、Vastbase、神通、AntDB
约定:# root 或安装用户,$ 数据库用户,<xxx> 为占位符。
说明:这些产品多数为商业闭源,同一产品的不同版本/部署方式命令差异较大。本手册给出通用主线,涉及版本相关的命令均标注「以现场版本文档为准」。
更新时间:2026-11
目录
- 选型与版本矩阵
- 共性判断:先确认四件事
- GaussDB(华为)
- PolarDB(阿里云)
- TDSQL(腾讯)
- GoldenDB(中兴)
- GBase 8a(分析型 MPP)
- GBase 8s(事务型,Informix 系)
- GBase 8c(分布式多模)
- 崖山 YashanDB
- Vastbase / 神通 / AntDB
- 跨库迁移对照
- 共性故障与避坑
- 附录:选型速查表
1. 选型与版本矩阵
1.1 三条技术路线
国产数据库看着品牌众多,技术底子基本是三条:
| 路线 |
代表产品 |
特征 |
运维心智 |
| MySQL 系 |
TDSQL、GoldenDB、PolarDB-MySQL、GBase 8a(部分) |
协议兼容 MySQL,分库分表或 MPP |
接近 MySQL + 分布式中间件 |
| PostgreSQL / openGauss 系 |
GaussDB、openGauss、Vastbase、GBase 8c、AntDB、KingbaseES |
协议兼容 PG,扩展性强 |
接近 PG,工具名多为 xxx_ 前缀变体 |
| Oracle 兼容系 |
达梦 DM、神通、GBase 8s(Informix 系) |
语法/PLSQL 兼容 Oracle 或 Informix |
接近 Oracle / Informix |
1.2 主流产品版本与国测等级
国测(安全可靠测评)是信创选型的硬门槛,等级分 Ⅰ 级和 Ⅱ 级(Ⅱ 级为当前最高)。
| 产品 |
厂商 |
形态 |
国测等级 |
协议/血缘 |
| GaussDB V2.0(集中式) |
华为云 |
集中式 |
Ⅱ 级 |
openGauss 系 |
| GaussDB V3.0(分布式) |
华为云 |
分布式 |
Ⅱ 级 |
openGauss 系 |
| PolarDB V2.0(分布式) |
阿里云 |
分布式 |
Ⅰ 级 |
MySQL/PG 系 |
| PolarDB(集中式) |
阿里云 |
集中式 |
Ⅰ 级(2026 通过) |
MySQL/PG 系 |
| TDSQL V8.0 |
腾讯云 |
集中式 |
Ⅰ 级 |
MySQL 系 |
| TDSQL 管理系统 V10.3 |
腾讯云 |
分布式 |
Ⅰ 级 |
MySQL 系 |
| TDSQL 集中式 V10.3 |
腾讯云 |
集中式 |
Ⅰ 级(2026-09-20) |
MySQL 系 |
| GoldenDB V7 |
中兴 |
分布式 |
Ⅱ 级 |
MySQL 系 |
| GoldenDB Lite V7 |
中兴 |
集中式 |
Ⅰ 级 |
MySQL 系 |
| GoldenDB EBASE V3 |
中兴 |
分析型 |
Ⅰ 级 |
MPP |
| GBase 8a MPP Cluster V9 |
南大通用 |
分布式分析 |
Ⅰ 级 |
列存 MPP |
| GBase 8s V8.8 |
南大通用 |
集中式 |
Ⅰ 级 |
Informix 系 |
| GBase 8c V6 |
南大通用 |
分布式多模 |
Ⅰ 级 |
PG 系 |
| 崖山 YashanDB(集中式/分布式) |
深圳计算科学研究院 |
双形态 |
Ⅱ 级(分布式) |
自研 |
| 神通 V7.0 / V8.0 |
神舟通用 |
集中式/MPP |
Ⅰ 级 |
Oracle 系 |
| Vastbase V100 |
海量数据 |
集中式/分布式 |
Ⅰ 级 |
openGauss 系 |
国测有效期 3 年。2023 年第一批入库的产品有效期在 2026-12 到期,项目选型时必须核对厂商是否已完成复核。拿一份过期的测评报告去投标,会被直接废标。
1.3 一句话定位
| 产品 |
什么时候选它 |
| GaussDB |
华为云/鲲鹏生态,需要集中式+分布式双形态,双 Ⅱ 级资质 |
| PolarDB |
阿里云生态,云原生弹性,MySQL/PG/Oracle 三兼容 |
| TDSQL |
腾讯生态(微信支付/微众银行背景),金融分布式交易 |
| GoldenDB |
金融核心交易,分布式 Ⅱ 级资质,中兴运营商渠道强 |
| GBase 8a |
数据仓库、BI、报表,PB 级 MPP 分析 |
| GBase 8s |
替换 Informix / Oracle 的高安全事务场景(等保四级) |
| GBase 8c |
分布式多模,行/列/内存三种存储 |
| YashanDB |
金融/政务深水区,集中式+分布式双 Ⅱ 级,AI 数据沙箱 |
| Vastbase |
openGauss 系,向量能力(V100 支持百亿千维) |
| 神通 |
党政军,Oracle 兼容,老牌信创 |
2. 共性判断:先确认四件事
拿到任何一个陌生国产库,先确认这四项,比背命令重要:
# ① 进程叫什么
ps -ef | grep -iE 'gauss|polardb|tdsql|goldendb|gbase|yasdb|vastbase|oscar' | grep -v grep
# ② 端口是多少
ss -lntp | grep -E '5432|54321|15400|3306|5236|5258|2003'
# ③ 客户端工具叫什么
ls /opt/*/bin 2>/dev/null | head -50
which gsql ksql vsql yasql isql mysql gccli 2>/dev/null
-- ④ 兼容什么
SELECT version();
-- MySQL 系:SHOW VARIABLES LIKE 'version%';
-- PG 系:SHOW server_version;
2.1 端口速查
| 端口 |
大概率是 |
| 3306 |
MySQL / TDSQL / GoldenDB / PolarDB-MySQL |
| 5432 |
PostgreSQL / PolarDB-PG / GBase 8c |
| 54321 |
KingbaseES |
| 15400 |
openGauss |
| 5236 |
达梦 DM |
| 5258 |
GBase 8a(默认) |
| 2003 |
GBase 8s(Informix 系,sqlhosts 里定义) |
| 8000 |
GaussDB(DWS) / 部分 MPP |
| 1688 |
GaussDB 分布式 CN |
2.2 客户端工具对照
| 产品 |
客户端 |
服务管理 |
| GaussDB |
gsql |
gs_om / cm_ctl |
| openGauss |
gsql |
gs_om / cm_ctl |
| PolarDB |
mysql / psql(按兼容) |
控制台 / pdbcli(私有化) |
| TDSQL |
mysql |
赤兔平台 |
| GoldenDB |
mysql |
统一管控平台 |
| GBase 8a |
gccli |
gcadmin |
| GBase 8s |
dbaccess |
oninit / onmode / onstat |
| GBase 8c |
gsql / psql |
gs_om 系 |
| YashanDB |
yasql |
yasboot |
| Vastbase |
vsql |
vb_ctl |
| 神通 |
isql |
服务脚本 |
3. GaussDB(华为)
3.1 与 openGauss 的关系
GaussDB 是商业版,openGauss 是开源内核。二者同源,但:
| 项 |
openGauss |
GaussDB |
| 授权 |
木兰 PSL v2 开源 |
商业授权 |
| 部署 |
gs_preinstall + gs_install |
云上(DAS 控制台)/ 线下(GaussDB Kernel) |
| 组件 |
OM + CM |
OM + CM + DAS + 管控平台 |
| 分布式 |
支持(部分版本) |
原生支持 CN/DN 分布式 |
| 工具 |
gs_* |
gs_*(基本一致) |
命令可迁移,但不要照搬。GaussDB 在 openGauss 基础上加了分布式 CN/DN、GTM、扩容等能力,gs_om 的参数集更宽。现场以 GaussDB 产品文档为准。
3.2 连接
# 集中式
gsql -d postgres -h 10.0.0.11 -p 8000 -U root -W
# 分布式(连 CN)
gsql -d postgres -h <CN_IP> -p 8000 -U root -W
# 执行单条
gsql -d postgres -p 8000 -U root -W -c "SELECT version();"
3.3 集群状态
# 集群状态
gs_om -t status --detail
# CM 状态
cm_ctl query -Cv
# 启停
gs_om -t start
gs_om -t stop
cm_ctl start
cm_ctl stop
-- 实例与节点
SELECT * FROM pg_stat_activity;
SELECT * FROM pg_stat_replication;
-- 分布式:查看 DN 状态(GaussDB 特有视图,名称随版本变化)
SELECT * FROM pgxc_node;
SELECT * FROM pgxc_thread_wait_status WHERE wait_status <> 'none';
3.4 分布式特有运维
| 操作 |
命令/方式 |
| 查看 CN/DN 列表 |
SELECT * FROM pgxc_node; |
| 查看全局事务 |
SELECT * FROM pgxc_prepared_xacts;(视图名随版本) |
| 扩容 |
通过管控平台(DAS/ FusionInsight Manager) |
| 数据重分布 |
管控平台触发,REBALANCE 类命令 |
| 节点故障 |
cm_ctl query -Cv 看状态,CM 自动仲裁 |
GaussDB 分布式的扩容/缩容不能靠命令行手工做,必须通过管控平台。这是与 openGauss 单机最大的运维差异——分布式集群的元数据(分布键、分片映射)由管控层维护,手工改会破坏一致性。
3.5 性能诊断
-- 慢 SQL(GaussDB 有内置的 statement_history)
SELECT * FROM dbe_perf.statement_history
WHERE start_time > now() - interval '1 hour'
ORDER BY db_time DESC LIMIT 20;
-- 等待事件
SELECT * FROM pg_thread_wait_status WHERE wait_status <> 'none';
-- 锁
SELECT * FROM pg_locks WHERE NOT granted;
-- 表膨胀
SELECT relname, n_dead_tup, n_live_tup FROM pg_stat_user_tables
ORDER BY n_dead_tup DESC LIMIT 20;
-- WDR 报告
SELECT generate_wdr_report(1, 2, 'all');
4. PolarDB(阿里云)
4.1 三种形态
| 形态 |
说明 |
兼容 |
| PolarDB-MySQL |
计算存储分离,一写多读 |
MySQL 5.6 / 5.7 / 8.0 |
| PolarDB-PG |
共享存储,一写多读 |
PostgreSQL 11 / 14 / 15 |
| PolarDB-O |
Oracle 兼容 |
Oracle 语法 |
| PolarDB-X |
分布式(原 DRDS) |
MySQL 协议,分库分表 |
4.2 云上运维(控制台为主)
云上 PolarDB 的运维大部分不在命令行,而在控制台:
| 操作 |
入口 |
| 变配(升配/降配) |
控制台 → 集群 → 变更配置 |
| 扩只读节点 |
控制台 → 节点管理 → 添加只读节点 |
| 备份/恢复 |
控制台 → 备份恢复 |
| 参数修改 |
控制台 → 参数配置 |
| 慢 SQL |
控制台 → 日志管理 / DAS |
| 主备切换 |
控制台 → 主备切换(或自动) |
# 连接(MySQL 兼容)
mysql -h <cluster-endpoint> -P 3306 -u app -p
# PG 兼容
psql -h <cluster-endpoint> -p 1921 -U app -d app_db
-- 查看只读节点延迟(MySQL 兼容)
SHOW GLOBAL STATUS LIKE 'Seconds_Behind_Master';
-- 查看节点角色
SELECT * FROM information_schema.ALISQL_CLUSTER_GLOBAL;
SELECT * FROM information_schema.ALISQL_CLUSTER_LOCAL;
PolarDB 的 ALISQL_CLUSTER_GLOBAL / ALISQL_CLUSTER_LOCAL 是阿里自研视图,MySQL 没有。查主备关系、复制延迟优先用它们,比 SHOW SLAVE STATUS 准。
4.3 私有化部署(PolarDB Stack)
# 部署工具 pdbcli
pdbcli install cluster --config config.yaml
pdbcli status
pdbcli start cluster
pdbcli stop cluster
# 查看集群
pdbcli list cluster
pdbcli describe cluster <name>
私有化 PolarDB 的命令在不同 Stack 版本间变化较大,pdbcli 的子命令集以 pdbcli --help 为准。
4.4 关键运维点
| 场景 |
做法 |
| 只读节点延迟大 |
检查 loose_replica_apply_speed、存储 IO |
| 连接数打满 |
用连接池(PolarDB 有内置连接池 loose_thread_pool_enabled) |
| 大事务 |
loose_max_binlog_cache_size,拆批 |
| 冷数据 |
用 ARCHIVE ENGINE(MySQL 兼容)归档表 |
5. TDSQL(腾讯)
5.1 架构
TDSQL 是分库分表架构(不是共享存储):
应用
│
├─ TDSQL Proxy(网关,解析 SQL、路由分片)
│
├─ SET1(主 + 备)
├─ SET2(主 + 备)
└─ SET3(主 + 备)
│
ZooKeeper / 调度中心(元数据、故障切换)
| 组件 |
作用 |
| Proxy |
SQL 路由、结果归并、分布式事务协调 |
| SET |
一个分片(一主多备) |
| ZooKeeper |
元数据与选主 |
| 赤兔平台 |
图形化运维 |
| 调度中心 |
自动故障转移、扩缩容 |
5.2 连接与分片
# 通过 Proxy 连接(应用侧只看到一个逻辑库)
mysql -h <proxy_ip> -P 15002 -u app -p -D app_db
# 直连某个 SET(运维排查用,绕过 Proxy)
mysql -h <set_master_ip> -P 3306 -u app -p -D app_db
-- 查看分片键与分片表
SHOW CREATE TABLE app_db.orders; -- 含 shardkey 注释
-- 查看分片分布(Proxy 层)
SHOW SHARD STATUS;
SHOW ROUTES;
-- 查看 SET 列表
/*proxy*/ show status;
分片键决定一切。TDSQL 的性能问题 80% 出在分片键选错:选了低基数字段(如 status)会导致数据倾斜;选了会变的字段会导致跨分片更新。选型阶段就要定,上线后改分片键等于重建。
5.3 赤兔平台运维
| 操作 |
入口 |
| 实例创建/删除 |
赤兔 → 实例管理 |
| 扩缩容(加 SET) |
赤兔 → 实例 → 扩容 |
| 主备切换 |
赤兔 → 实例 → 切换 |
| 备份恢复 |
赤兔 → 备份管理 |
| 慢 SQL |
赤兔 → 诊断 → 慢查询 |
| 参数修改 |
赤兔 → 参数管理 |
-- 分布式事务(TDSQL 支持强一致分布式事务)
-- 跨 SET 事务的性能远低于单 SET,设计时尽量让事务落在同一分片
5.4 关键运维点
| 场景 |
判断 |
处置 |
| 跨分片查询慢 |
执行计划有 GATHER / 多 SET 扫描 |
改分片键,或建广播表 |
| 数据倾斜 |
各 SET 行数差异 > 30% |
换哈希分片键 |
| 分布式事务超时 |
日志有 XA 相关报错 |
缩短事务、拆批 |
| Proxy 连接打满 |
Proxy 的 max_connections |
加 Proxy 节点 |
6. GoldenDB(中兴)
6.1 产品矩阵(V7 时代)
| 产品 |
形态 |
定位 |
| GoldenDB V7 |
分布式 |
核心交易(分布式 Ⅱ 级) |
| GoldenDB Lite V7 |
集中式 |
中小规模、通用业务 |
| GoldenDB EBASE V3 |
分析型 MPP |
实时数仓、湖仓一体 |
6.2 架构
应用
│
├─ DBProxy(计算节点,SQL 解析/路由)
│
├─ 数据节点组(每组一主多备,MySQL 内核)
└─ 管理节点(元数据、监控、备份)
│
统一管控平台(图形化)
6.3 连接
# 通过 DBProxy
mysql -h <dbproxy_ip> -P 3306 -u app -p -D app_db
# 管理端口(管控用,非业务)
# 具体端口以部署文档为准
-- 查看分片信息(GoldenDB 扩展语法)
SHOW DATABASES;
SHOW TABLES;
-- 分片路由信息通过管控平台查看更直观
6.4 运维要点
| 操作 |
方式 |
| 集群状态 |
统一管控平台 → 集群监控 |
| 主备切换 |
管控平台 → 切换(或自动) |
| 扩容 |
管控平台 → 扩节点 → 数据重分布 |
| 备份 |
管控平台配置策略,底层用 XtraBackup 类工具 |
| 慢 SQL |
管控平台 → SQL 分析 |
GoldenDB 的命令行人工作业空间很小,绝大多数运维动作在管控平台完成。这是金融级产品的典型设计——所有操作留痕、可审计、有审批流。习惯 MySQL 命令行的人需要转变习惯。
6.5 与 TDSQL 的差异
| 维度 |
TDSQL |
GoldenDB |
| 起家 |
微信支付/微众银行 |
中信银行核心 |
| 分片 |
SET 分组 |
数据节点组 |
| 强项 |
互联网高并发 |
金融核心交易一致性 |
| 国测 |
Ⅰ 级 |
分布式 Ⅱ 级 |
| 生态 |
腾讯云 |
运营商 + 金融 |
7. GBase 8a(分析型 MPP)
7.1 架构
GCluster(调度节点,SQL 解析与下发)
│
┌──────────┼──────────┐
GNode1 GNode2 GNode3 (数据节点,列存)
│ │ │
本地磁盘 本地磁盘 本地磁盘
| 组件 |
作用 |
gcluster |
调度节点,接收 SQL、生成计划、下发 |
gnode |
数据节点,列存 + 压缩 |
gcware |
集群元数据与一致性 |
gcmmonit / gcmonit |
监控守护 |
7.2 连接
# 默认端口 5258
gccli -u root -p -h <gcluster_ip> -P 5258
# 执行单条
gccli -u root -p'xxx' -e "SELECT COUNT(*) FROM app_db.t1"
# 指定库
gccli -u root -p'xxx' -D app_db
gbase> SELECT VERSION();
gbase> SHOW DATABASES;
gbase> SHOW TABLES;
7.3 集群管理(gcadmin)
# 集群状态
gcadmin showcluster
gcadmin showcluster vc
gcadmin showdistribution
# 节点状态
gcadmin showddlevent
gcadmin showdmlevent
# 加节点
gcadmin addnodes /tmp/node_info.xml
# 删节点
gcadmin rmnodes <ip>
# 查看分片分布
gcadmin showdistribution
| 命令 |
作用 |
gcadmin showcluster |
集群节点与状态 |
gcadmin showdistribution |
分片分布 |
gcadmin addnodes |
扩容 |
gcadmin rmnodes |
缩容 |
gcadmin showddlevent |
DDL 同步事件 |
gcadmin showdmlevent |
DML 同步事件 |
gcadmin showddlevent / showdmlevent 必须常看。GBase 8a 的 DDL 需要同步到所有 GNode,同步失败会导致「有的节点有这张表、有的没有」,查询直接报错。这是 MPP 架构特有的故障类型。
7.4 服务启停
# 全部服务
gcluster_services all start
gcluster_services all stop
gcluster_services all restart
# 单个服务
gcluster_services gcluster start
gcluster_services gcluster stop
gcluster_services gbase start
gcluster_services gcware start
gcluster_services gcrecover start
7.5 备份(gcrcman)
# 全量备份
gcrcman.py -d /backup/gbase -p
# 交互式命令
# backup level 0 全量
# backup level 1 增量
# show backup 查看备份
# recover 恢复
# 也可以用 gcdump(逻辑导出)
gcdump -uroot -p'xxx' app_db > /backup/app_db.sql
7.6 性能要点
| 要点 |
说明 |
| 分布键 |
选高基数、常用于 JOIN 的字段;选错导致数据倾斜 |
| 列存压缩 |
默认压缩,COMPRESS 参数影响压缩率与查询速度 |
| 智能索引 |
自动的粗粒度索引,SHOW INDEX 可见 |
| 执行计划 |
EXPLAIN 看是否 REDISTRIBUTE(跨节点重分布) |
| 统计信息 |
ANALYZE TABLE,MPP 对统计信息极敏感 |
EXPLAIN SELECT ...;
ANALYZE TABLE app_db.t1;
SHOW TABLE STATUS LIKE 't1';
GBase 8a 不适合 OLTP。它是列存 MPP,单行写入/更新性能远低于行存库。选它就要接受「批量导入 + 复杂聚合查询」的使用模式,别拿它跑点查。
8. GBase 8s(事务型,Informix 系)
8.1 血统说明
GBase 8s 基于 IBM Informix 技术路线,因此命令体系是 Informix 风格(on* 系列),与国产库里其他产品完全不同。
| 项 |
值 |
| 安装用户 |
gbasedbt |
| 环境变量 |
GBASEDBTDIR、INFORMIXSERVER、ONCONFIG |
| 配置文件 |
onconfig.<server>、sqlhosts |
| 默认端口 |
2003(在 sqlhosts 中定义) |
| 客户端 |
dbaccess |
# 环境变量
export GBASEDBTDIR=/opt/gbase8s
export INFORMIXSERVER=ol_gbase8s
export
export PATH=$GBASEDBTDIR/bin:$PATH
export LD_LIBRARY_PATH=$GBASEDBTDIR/lib:$LD_LIBRARY_PATH
8.2 初始化与启停
# 初始化(首次)
oninit -ivy
# 启动
oninit -v
# 停止
onmode -ky # 立即停止(immediate)
onmode -kyu # 优雅停止
# 切到单用户模式(维护)
onmode -j
# 切到在线模式
onmode -m
| 命令 |
作用 |
oninit -i |
初始化磁盘(会清空数据) |
oninit -v |
启动到 online |
onmode -ky |
立即关闭 |
onmode -m |
切到 online |
onmode -j |
切到单用户 |
onmode -c |
强制检查点 |
onmode -l |
切换逻辑日志 |
8.3 状态查询(onstat)
onstat - # 实例状态摘要(最常用)
onstat -d # dbspace 与 chunk
onstat -l # 逻辑日志
onstat -m # 消息日志(错误)
onstat -g sql # 当前 SQL
onstat -g ses # 会话
onstat -g ath # 线程
onstat -g mem # 内存池
onstat -g cfg # 配置项
onstat -g lap # 锁等待
onstat -g dsk # 磁盘 IO
onstat -u # 用户活动
onstat -x # 事务
# 实例是否在跑
onstat -
# 空间使用
onstat -d | head -40
# 长事务
onstat -x | awk '$5 > 60'
# 锁等待
onstat -g lap
8.4 空间管理
# 创建 dbspace
onspaces -c -d dbs_app -p /data/gbase/dbs_app -o 0 -s 1048576
# 加 chunk
onspaces -a dbs_app -p /data/gbase/dbs_app02 -o 0 -s 2097152
# 删除 dbspace
onspaces -d dbs_app
# 查看
onstat -d
8.5 备份
# ontape(简单,适合中小库)
ontape -s -L 0 # 全量备份到磁带/文件
ontape -s -L 1 # 增量
ontape -r # 恢复
ontape -s -L 0 -t /backup/gbase/level0
# onbar(企业级,需配 storage manager)
onbar -b -L 0 # 全量
onbar -b -l # 逻辑日志
onbar -r # 恢复
onbar -r -l # 恢复到某逻辑日志
| 工具 |
适用 |
特点 |
ontape |
中小库 |
配置简单,串行 |
onbar |
大库 |
并行、支持第三方存储 |
8.6 客户端 dbaccess
# 交互式
dbaccess
# 连库
dbaccess sysmaster@ol_gbase8s
# 执行 SQL 文件
dbaccess app_db /tmp/init.sql
# 执行单条
echo "SELECT COUNT(*) FROM orders;" | dbaccess app_db -
dbaccess 的交互界面和 sqlplus/mysql 都不同,是菜单驱动的。批量运维建议直接 dbaccess dbname script.sql,不要进交互界面。
9. GBase 8c(分布式多模)
9.1 定位
GBase 8c 是南大通用的分布式多模数据库,PG 系血缘,支持:
| 特性 |
说明 |
| 存储模式 |
行存、列存、内存表 |
| 部署形态 |
单机、主备、分布式 |
| 兼容 |
Oracle、PostgreSQL、MySQL |
| 国测 |
分布式 Ⅰ 级(V6) |
9.2 连接
# gsql(PG 风格)
gsql -d postgres -h 10.0.0.11 -p 5432 -U gbase -W
# psql 也可(协议兼容)
psql -h 10.0.0.11 -p 5432 -U gbase -d postgres
9.3 集群管理
# 状态
gs_om -t status --detail
cm_ctl query -Cv
# 启停
gs_om -t start
gs_om -t stop
-- 节点信息(视图名随版本,PG 系常见)
SELECT * FROM pgxc_node;
SELECT * FROM pg_stat_replication;
9.4 多存储模式
-- 行存(默认)
CREATE TABLE t_row (id int, name text);
-- 列存
CREATE TABLE t_col (id int, amount numeric) WITH (ORIENTATION=COLUMN);
-- 内存表
CREATE TABLE t_mem (id int, v text) WITH (STORAGE_TYPE=MOT);
三种存储混在一个实例里,备份策略要分别考虑:内存表重启即失,不能作为唯一数据源;列存表的 VACUUM 行为与行存不同。
10. 崖山 YashanDB
10.1 定位
深圳计算科学研究院出品(樊文飞院士团队),自研内核,不是 PG/MySQL 套壳。
| 项 |
说明 |
| 形态 |
集中式 + 分布式 |
| 国测 |
分布式 Ⅱ 级,集中式 Ⅱ 级 |
| 特色 |
AI 数据沙箱(Git 式分支)、存算分离 |
| 客户端 |
yasql |
| 部署工具 |
yasboot |
| 服务进程 |
yasdb |
10.2 连接
# yasql 客户端
yasql sys/<password>
# 指定地址
yasql sys/<password>@10.0.0.11:1688
# 执行单条
yasql sys/<password> -c "SELECT * FROM V$VERSION;"
10.3 集群管理(yasboot)
# 集群状态
yasboot cluster status -c yashan
# 启停
yasboot cluster start -c yashan
yasboot cluster stop -c yashan
yasboot cluster restart -c yashan
# 节点状态
yasboot node status -c yashan
# 主备切换
yasboot cluster switchover -c yashan
| 命令 |
作用 |
yasboot cluster status |
集群状态 |
yasboot node status |
节点详情 |
yasboot cluster start/stop |
启停 |
yasboot cluster switchover |
主备切换 |
YashanDB 的子命令和参数在不同版本间有调整,以现场 yasboot --help 为准。本手册只给主线。
10.4 AI 数据沙箱
这是 YashanDB 比较独特的能力:基于存算分离,支持数据库分支的瞬时创建和写时复制(Copy-on-Write)。
| 能力 |
运维含义 |
| 分支瞬间创建 |
给 AI 实验/测试提供独立数据副本,不占额外存储 |
| 写时复制 |
只有被修改的数据页才占空间 |
| 分支隔离 |
分支上的写入不影响主分支 |
对运维的价值:测试环境不用再复制一份生产数据,直接开分支即可。但要注意分支也会消耗连接数、CPU,不能无限开。
11. Vastbase / 神通 / AntDB
11.1 Vastbase(海量数据)
openGauss 系,工具前缀 vb_:
# 客户端
vsql -d postgres -p 5432 -U vbadmin -W
# 服务管理
vb_ctl start -D $PGDATA
vb_ctl stop -D $PGDATA -m fast
vb_ctl status -D $PGDATA
# 备份
vb_dump -Fc -f /backup/app.dmp app_db
vb_basebackup -D /backup/base -h 10.0.0.11 -p 5432 -U vbadmin
# 参数
vb_guc reload -N all -I all -c "max_connections=2000"
-- 向量能力(V100 主打)
SELECT id, embedding <-> '[0.1,0.2,0.3]'::vector AS distance
FROM docs ORDER BY distance LIMIT 10;
Vastbase V100 的卖点是百亿千维向量的毫秒级检索。运维上要关注向量索引的内存占用——向量索引(HNSW/IVF)常驻内存,规模上来后内存是首要瓶颈,不是磁盘。
11.2 神通(神舟通用)
Oracle 兼容路线,党政军存量较多:
# 客户端 isql
isql -U SYSDBA -P 'xxx' -S 10.0.0.11:2003
# 服务(进程名 oscar)
ps -ef | grep oscar
-- Oracle 风格
SELECT * FROM V$INSTANCE;
SELECT * FROM DBA_TABLES WHERE OWNER = 'TEST';
| 项 |
说明 |
| 服务进程 |
oscar |
| 客户端 |
isql |
| 默认端口 |
2003 |
| 兼容 |
Oracle(ROWNUM、DUAL、NVL) |
神通的命令体系与达梦高度相似(都是 Oracle 兼容路线),运维心智可以直接复用。差异主要在服务进程名和客户端工具名。
11.3 AntDB(亚信)
PG 系,运营商场景多:
# 客户端(PG 协议)
psql -h 10.0.0.11 -p 5432 -U antdb -d postgres
# 集群管理(版本差异较大)
antdb_ctl status
AntDB 的集群管理命令在 5.x / 6.x / 7.x 之间变化明显,且不同项目定制程度高。必须以交付文档为准,不能套用通用教程。
12. 跨库迁移对照
12.1 数据类型
| 源 |
目标 |
映射 |
MySQL TINYINT(1) |
PG 系 |
BOOLEAN 或 SMALLINT |
MySQL DATETIME |
PG 系 |
TIMESTAMP |
MySQL TEXT |
PG 系 |
TEXT(无长度限制) |
MySQL AUTO_INCREMENT |
PG 系 |
SERIAL / GENERATED |
Oracle NUMBER |
PG 系 |
NUMERIC / BIGINT |
Oracle VARCHAR2 |
PG 系 |
VARCHAR |
Oracle CLOB |
PG 系 |
TEXT |
Oracle DATE |
PG 系 |
TIMESTAMP(Oracle 的 DATE 含时分秒) |
Oracle ROWID |
PG 系 |
无直接对应 |
Informix SERIAL |
GBase 8s |
SERIAL(原生) |
12.2 语法差异
| 能力 |
MySQL |
Oracle |
PG 系 |
处置 |
| 分页 |
LIMIT n,m |
ROWNUM |
LIMIT n OFFSET m |
改写 |
| 空串 vs NULL |
区分 |
不区分 |
区分 |
Oracle 迁 PG 必改 |
| 大小写 |
依赖配置 |
默认大写 |
默认小写 |
建库时定 |
| 自增 |
AUTO_INCREMENT |
SEQUENCE |
SERIAL |
改写 |
| 字符串拼接 |
CONCAT() |
双竖线运算符 |
双竖线运算符 |
改写 |
| 日期函数 |
NOW() |
SYSDATE |
now() |
改写 |
| 存储过程 |
有限 |
PL/SQL |
PL/pgSQL |
重写 |
| 分区自动新增 |
无 |
INTERVAL |
无(需定时任务) |
加调度 |
12.3 迁移工具对照
| 厂商 |
评估 |
迁移 |
同步 |
| 达梦 |
DTS |
DTS / dexp-dimp |
DTS |
| 金仓 |
KDMS |
KDTS |
KFS |
| 华为 |
UGO |
DRS |
DRS |
| 阿里 |
ADAM |
DTS |
DTS |
| 腾讯 |
DBbrain |
DTS |
DTS |
| 南大通用 |
— |
GBase Migration Tool |
— |
迁移评估(KDMS/ADAM/UGO)这一步不能省。它输出的「改造量报告」决定了项目工期和报价。跳过评估直接迁,最后一定会在存储过程、系统包、高级分区上翻车。
13. 共性故障与避坑
13.1 六类高频问题
| # |
问题 |
共性原因 |
通用处置 |
| 1 |
连不上 |
白名单 / pg_hba / 端口 |
先 ss -lntp,再查认证配置 |
| 2 |
写入报内存不足 |
租户/实例内存上限 |
扩内存配额,降并发 |
| 3 |
查询突然变慢 |
统计信息过期 |
手工 ANALYZE / GATHER_STATS |
| 4 |
磁盘满 |
WAL/归档/日志堆积 |
查复制槽、归档任务、日志轮转 |
| 5 |
主备不同步 |
网络 / IO / 大事务 |
看位点差、看 IO、拆事务 |
| 6 |
备份恢复失败 |
归档断档 / 权限 / License |
校验备份集,确认归档连续 |
13.2 商业库特有的坑
| 坑 |
说明 |
| License 限制 |
集群功能、CPU 核数、并发数都可能受限。装之前先确认授权范围,别配到一半卡住 |
| 文档滞后 |
新版本发布后文档常常几个月才补齐(达梦 DM9 就是典型)。以现场 --help 和交付文档为准 |
| 定制化分支 |
同一产品在不同项目上可能被厂商定制过,命令与官方文档不一致 |
| 管控平台依赖 |
分布式产品(TDSQL/GoldenDB/GaussDB 分布式)很多操作只能通过平台做,命令行无法替代 |
| 国测有效期 |
测评 3 年到期,投标前必须核对是否在有效期 |
13.3 上线前检查清单
□ 版本与国测资质核对(含有效期)
□ License 覆盖范围确认(集群?核数?并发?)
□ 兼容模式确认(建库前定,多数不可改)
□ 字符集确认(UTF8)
□ 大小写敏感性确认(建库前定,多数不可改)
□ 备份策略 + 恢复演练(必须真恢复一次)
□ 监控接入(至少:连接数、慢 SQL、磁盘、主备延迟)
□ 高可用切换演练(含 VIP 漂移)
□ 运维账号与权限规划(三权分立?)
□ 厂商支持渠道与响应时效(写进合同)
14. 附录:选型速查表
14.1 按场景选
| 场景 |
首选 |
备选 |
| 金融核心交易(分布式) |
GoldenDB、TDSQL |
OceanBase、GaussDB 分布式 |
| 政务/党政(Oracle 替换) |
达梦 DM8 |
神通、GBase 8s |
| 政务/党政(PG 替换) |
KingbaseES |
Vastbase、GBase 8c |
| 数据仓库 / BI |
GBase 8a |
GoldenDB EBASE、PolarDB-X |
| 华为云 / 鲲鹏生态 |
GaussDB |
openGauss |
| 阿里云生态 |
PolarDB |
AnalyticDB |
| 腾讯生态 |
TDSQL |
— |
| 互联网高并发 HTAP |
TiDB、OceanBase |
PolarDB |
| 等保四级高安全 |
GBase 8s |
达梦(安全版) |
| AI / 向量检索 |
Vastbase V100、YashanDB |
OceanBase(向量)、GBase 8c |
14.2 命令速查(跨产品)
| 需求 |
MySQL 系 |
PG 系 |
Oracle 系 |
Informix 系 |
| 连接 |
mysql |
gsql/psql/vsql/yasql |
disql/isql |
dbaccess |
| 状态 |
SHOW STATUS |
sys_stat_activity |
V$INSTANCE |
onstat - |
| 进程 |
SHOW PROCESSLIST |
sys_stat_activity |
V$SESSION |
onstat -u |
| 锁 |
SHOW ENGINE INNODB STATUS |
sys_locks |
V$LOCK |
onstat -g lap |
| 备份 |
mysqldump/XtraBackup |
sys_dump/sys_rman |
dmrman/dexp |
ontape/onbar |
| 参数 |
SHOW VARIABLES |
sys_settings |
V$DM_INI |
onstat -g cfg |
| 空间 |
information_schema.TABLES |
sys_relation_size |
DBA_SEGMENTS |
onstat -d |
14.3 一页纸记住
MySQL 系 → 分片键决定生死,跨分片事务要避开
PG 系 → 工具名带前缀(gs_/sys_/vb_),VACUUM 与事务号要盯
Oracle 系→ 统计信息多半不自动,分区多半不自动
Informix → 命令全是 on*,跟谁都不同
商业库 → License 与文档滞后是两个隐形地雷
最后一句:国产数据库的真正难点不是命令,而是同一件事在不同产品上叫不同名字、走不同路径。把「血缘 → 兼容模式 → 客户端 → 管控方式」这四层想清楚,任何一个新库上手都在半天内。真正要花时间的是迁移评估和高可用演练,那才是项目成败的地方。