开发者社区 > 数据库 > 正文

数据归档的时候库里会生成一个临时表tmp_dms_xxx,这个表能删除么?上次的任务执行到一半然后手

数据归档的时候库里会生成一个临时表tmp_dms_xxx,这个表能删除么?上次的任务执行到一半然后手动停止了所以这个表没有自动删掉?

展开
收起
真的很搞笑 2023-04-17 22:49:54 316 0
3 条回答
写回答
取消 提交回答
  • 公众号:网络技术联盟站,InfoQ签约作者,阿里云社区签约作者,华为云 云享专家,BOSS直聘 创作王者,腾讯课堂创作领航员,博客+论坛:https://www.wljslmz.cn,工程师导航:https://www.wljslmz.com

    DMS中生成的临时表tmp_dms_xxx是由数据归档(Data Archive)使用的,用于将源数据库中的数据导出并归档到指定的OSS存储空间中。一般情况下,DMS会在数据归档任务完成之后自动删除这些临时表,以避免在数据库中占用过多的空间。

    如果你想手动删除临时表,建议在确认数据归档任务已经停止并且没有其他进程在使用这些临时表之后再进行删除操作。可以使用如下SQL语句删除临时表:

    DROP TABLE tmp_dms_xxx;
    

    其中,xxx为该任务生成的随机数。请注意:删除临时表可能会影响到数据归档任务相关的操作,如果不确定操作的影响,请谨慎进行操作。

    2023-04-30 11:21:52
    赞同 展开评论 打赏
  • 这个需要您下来手动清理,此回答整理自钉群“阿里云DMS数据管理用户交流群”

    2023-04-19 08:04:27
    赞同 展开评论 打赏
  • 随心分享,欢迎友善交流讨论:)

    一般来说,在数据归档的过程中,生成的临时表tmp_dms_xxx应该是可以删除的。但是需要注意,如果该临时表正在被其他任务或程序所占用,或者该临时表中存在其他业务数据,删除该临时表可能会对其他业务产生影响,因此需要谨慎操作。

    对于上次任务执行到一半然后手动停止的情况,如果该临时表没有被自动删除,可以尝试手动删除该临时表。具体操作步骤如下:

    首先需要确定该临时表是否还在被使用。可以通过查询数据库的系统表,例如:dba_tables(Oracle)或sys.tables(SQL Server)等,来查看该临时表是否存在,以及是否有其他任务或程序在使用该临时表。

    如果确定该临时表没有被使用,则可以使用DROP TABLE语句来删除该临时表。例如:

    DROP TABLE tmp_dms_xxx;

    需要注意的是,删除该临时表可能会导致数据丢失,因此在删除之前需要确认该临时表中的数据是否可以被删除。

    2023-04-18 10:31:55
    赞同 展开评论 打赏
问答分类:
问答地址:

数据库领域前沿技术分享与交流

相关电子书

更多
金融行业高频交易数据管理解决方案 立即下载
基于Spark的统一数据管理与数据探索平台 立即下载
INFINIDATA:基于Spark的统一数据管理与探索平台 立即下载