如果性能慢 也可以考虑使用ob的导数工具,有一些性能优化。
https://www.oceanbase.com/docs/community-obloaderdumper-cn-1000000000076594
或使用load data旁路导入
https://www.oceanbase.com/docs/common-oceanbase-database-cn-1000000000218027
Server out of disk space(msg=“disk is almost full”, ret=-4184, required_size=2097152, required_count=1, free_count=1126, used_percent=90)
数据磁盘满了,可以增大diskfile_size 参数 调整数据磁盘预占用大小。
安装oceanbase的时候data file没有用/data目录,现在/目录只有20G左右空间了,之前已经把datafile_size设置成20G了,有办法把集群各节点的datafile目录调整到/data目录下吗
建议是重装下,目录重新规划,不然后续还会有容量规划问题。而且都在根目录下 数据、redo、日志等会有磁盘io资源争抢问题。
那问一下oceanbase该怎么删除重装呢
方案1:
obd cluster destroy 部署名称 – 销毁集群
obd cluster deploy 部署新名称 -c 部署配置文件 – 重新部署
方案2:
obd cluster edit-config 部署名称 — 编辑当前配置,修改磁盘参数,保存后会提示进行obd cluster redeplay 操作进行重装。
注意:重装会清理数据库数据,请酌情操作。
show parameters like ‘%datafile_size%’; 看下生效的参数值
如果使用方案2:obd cluster edit-config 部署名称,配置文件里怎么配datafile路径
需要提供下109节点的observer.log日志 确认下未生效原因
如果是all-in-one的安装包部署的 可以参考安装包中conf目录下的配置写法
如果是obd rpm包安装的 参看 /usr/obd/example目录下配置文件的写法
配置文件写法是一样的,只是不同方式安装存储路径不一样。
现在用obd cluster edit-config ,加了配置 data_dir: /data/oceanbase_data后,重新生成集群后109 datafile size正常了。
不过用旁路导入时,报错 ERROR 1172 (42000): Result consisted of more than one row
需要检查下数据源 是否分隔符有冲突。 确保按逗号分隔使每行数据个数和表字段数是一样的。
这个new_accounts.csv 之前用常规的load data infile命令导入成功过的
encounter too big row size error,maybe local mutator buf is for optimization(ret=-5199
调整 ob_sql_work_area_percentage 参数为20 看下
或者分批导入
最后用obloader工具将csv数据导入了数据库;只是中间过程会有异常 No memory or reach tenant memory limit 导致部分数据丢失,试了3,4次都是这样
set global ob_sql_work_area_percentage=30; – Default 5
可以调大sql工作区占比。