【YashanDB知识库】重装新库及元数据和数据导出导入指导

本文内容来自YashanDB官网,原文内容请见 www.yashandb.com/newsinfo/72...

开始本文操作之前默认已经部署有3mn3cn3-3dn的yashan分布式数据库,并且已经配置好环境变量,开始操作之前请先停止所有业务。

从旧库导出数据

创建目录

$ cd ~

$ mkdir -p /data/yashan/save_data # 创建空目录用于保存导出的数据

导出数据

$ yasboot sql -c yashan -n 2-1 -u sys -p Cod-2022 --sql "select count(*) from dba_tables where DATABASE_MAINTAINED != 'Y'" # 查询用户建表数量,记录用于向新库导数后检查

$ yasboot sql -c yashan -n 2-1 -u sys -p Cod-2022 --sql "select count(*) from dba_objects where DATABASE_MAINTAINED != 'Y'" # 查询用户建对象数量,记录用于向新库导数后检查

$ yasboot sql -c yashan -u sys -p Cod-2022 -n 2-1 --sql "select count(*) from ZTK_GH.DWS_FW_APPEAL_PSYCHOLOGICAL_LIST" # 查询演示用表的数据行数,记录用于向新库导数后检查

导出数据需要使用exp工具导出所有对象的元数据和以csv文件的形式导出所有表数据,需要手动填写每张表的信息,比较繁琐,附件提供了示例脚本auto_export_and_import_all_objects_and_data.py用来自动导出数据

$ python3 auto_export_and_import_all_objects_and_data.py --export-data -d /data/yashan/save_data -c yashan -p Cod-2022 -a 192.168.8.44:1688 # 根据帮助信息,填写--export-data参数启动导出数据模式,并填写保存数据路径、集群名、sys用户密码和cn节点地址信息

停止旧库

$ yasboot monit stop -c yashan

$ yasboot cluster stop -c yashan --purge -f # yashan需要替换成实际使用的集群名

$ yasboot process yasom stop -c yashan -t hosts.toml -f # hosts.toml是旧库建库时使用的hosts.toml文件

$ yasboot process yasagent stop -c yashan -t hosts.toml -f

安装新库

可参考"智工一主一备安装部署文档"进行安装,需要注意集群名和安装目录需要与旧库不同,避免冲突

导入数据

$ python3 auto_export_and_import_all_objects_and_data.py --load-data -d /data/yashan/save_data -c yashan -p Cod-2022 -a 192.168.8.44:1688 # 根据帮助信息,填写--load-data参数启动导入数据模式,并填写保存数据路径、集群名、sys用户密码和cn节点地址信息

导入元数据时会有警告,第一条警告是不支持指定system表空间给sys用户(sys用户原本的默认表空间就是system),后面的警告是给数据库自建用户重复授权,对数据库无影响,最后导入成功

$ yasboot sql -c yashan -n 2-1 -u sys -p Cod-2022 --sql "select count(*) from dba_tables where DATABASE_MAINTAINED != 'Y'" # 查询导入的表数量

$ yasboot sql -c yashan -n 2-1 -u sys -p Cod-2022 --sql "select count(*) from dba_objects where DATABASE_MAINTAINED != 'Y'" # 查询导入的对象数量

$ yasboot sql -c yashan -u sys -p Cod-2022 -n 2-1 --sql "select count(*) from ZTK_GH.DWS_FW_APPEAL_PSYCHOLOGICAL_LIST" # 与旧库数据一致

相关推荐
AOwhisky17 分钟前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
ytttr87324 分钟前
C# 定时数据库备份工具
开发语言·数据库·c#
睡不醒男孩03082335 分钟前
自建 Prometheus+Grafana 与 CLUP 深度监控 PG 集群有什么区别?
数据库·oracle
AOwhisky44 分钟前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
猫猫聚会Ing1 小时前
数据库设计 Prompt 提示词 - 构建与迭代
数据库
上海云盾-小余1 小时前
源站隐藏实战:规避裸 IP 被直接攻击的完整方案
数据库·网络协议·tcp/ip
微学AI2 小时前
时序大模型 TimechoAI 赋能工业时序数据底层技术优势与实操
数据库·大模型·时序大模型
北顾笙9802 小时前
MYSQL-day03
数据库·sql·mysql
MXsoft6182 小时前
**混合云统一监控实践:私有云+公有云的一体化运维方案**
运维·网络·数据库
瀚高PG实验室3 小时前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库