1. 问题描述:
SUNDB数据库需要删除重建,该如何操作
2. 解决方案:
SUNDB 并未提供与gcreatedb对应的删除数据库命令,重建database有如下两种方式:
1)利用clean.sh脚本进行清理后重建数据库,脚本内容如下:
vi clean.sh
#!/bin/sh
#清理数据库进程
ps -ef | grep "gmon" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "gmaster" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "gserver" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "gdispatcher" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "gbalancer" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "cdispatcher" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "cserver" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "gsql" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "cyclone" | grep $LOGNAME | kill -9 awk '{print $2}'
ps -ef | grep "glsnr" | grep $LOGNAME | kill -9 awk '{print $2}'
#清理信号量
ipcs -m | grep $LOGNAME | awk '{print "ipcrm -m " $2}' | sh -v
ipcs -q | grep $LOGNAME | awk '{print "ipcrm -q " $2}' | sh -v
ipcs -s | grep $LOGNAME | awk '{print "ipcrm -s " $2}' | sh -v
#清理内存
echo 1 > /proc/sys/vm/drop_caches
#删除数据库文件
rm -rf $SUNDB_DATA/db/.dbf
rm -rf $SUNDB_DATA/wal/.ctl
rm -rf $SUNDB_DATA/wal/.log
rm -rf $SUNDB_DATA/archive_log/.log
重建
gcreatedb --db_name=“sundb” --db_comment=“sundb database” --timezone="+08:00" --character_set=“UTF8” – char_length_units=“OCTETS”
2)干净关闭数据库及兼容后,删除database相关数据、日志、控制文件
关闭数据库:
gsql sys gliese --as sysdba
gSQL> shutdown immediate
检查
ps -ef|grep g # 无SUNDB数据库相关进程
ipcs # 无数据库安装用户相关信息
删除数据文件
rm -rf $SUNDB_DATA/db/.dbf
rm -rf $SUNDB_DATA/wal/.ctl
rm -rf $SUNDB_DATA/wal/.log
rm -rf $SUNDB_DATA/archive_log/.log
重建
gcreatedb --db_name=“sundb” --db_comment=“sundb database” --timezone="+08:00" --character_set=“UTF8” – char_length_units=“OCTETS”
最后修改时间:2023-07-17 15:03:51
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




