为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】:DM8
【操作系统】:
【CPU】:
【问题描述】*:
表空间文件被删除,这个表空间数据已被丢失,应该怎么处理呢?
测试过程中 k8s部署指定的目录不对,导致重启服务文件没了。应该怎么处理存储在这个表空间下数据呢?
重点:数据不重要,可以不要。我想恢复一个空数据的表空间
1、su - dmdba
2、进入DM安装目录下目录
3、确定好数据文件路径和名称
例如:
./dmctlcvt TYPE=1 DEST=/dm/dmdbms/data/DAMENG/dmctl.txt SRC=/dm/dmdbms/data/DAMENG/dm.ctl
生成txt
4、vi dmctl.txt
找到相关表空间内容删除保存文档
5、将修改后的文件导入控制文件
dmctlcvt TYPE=2 SRC=/dm/dmdbms/data/DAMENG/dmctl.txt DEST=/dm/dmdbms/data/DAMENG/dm.ctl
6、重启数据库
7、即可创建删除前同名的表空间
表空间文件丢失前的备份有吗,如果有备份可以使用如下命令将表空间恢复(仅适用于非系统表空间)
RMAN> restore database '/u01/dmdbms/data/DAMENG/dm.ini' tablespace test1 from backupset '/home/dmdba/bak';
RMAN> recover database '/u01/dmdbms/data/DAMENG/dm.ini' tablespace test1;