云数据仓库ADB怎么会自动删数据?
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
云数据仓库AnalyticDB(简称ADB)本身不会自动删除数据,但在某些特定场景下,可能会因为系统行为或用户操作导致数据被清理或删除。以下是可能导致数据被删除的几种情况及相关说明:
当实例的磁盘空间达到限制时,系统会自动锁定实例,使其进入只读状态。在这种情况下,用户需要手动清理数据以释放磁盘空间。
- 清理方式:可以通过TRUNCATE
或DROP
表的方式清理数据,但不支持DELETE
操作,因为DELETE
会生成日志(xlog),进一步占用磁盘空间。 - 解锁机制:清理数据后,如果磁盘空间降到阈值以下,实例会在大约5分钟后自动解锁。
用户可能通过以下SQL命令主动删除数据: - DELETE
命令:用于删除满足条件的数据行。需要注意的是: - 表中必须存在主键才能执行DELETE
操作。 - 不建议使用DELETE
删除全表或全分区数据,推荐使用TRUNCATE TABLE
或TRUNCATE TABLE PARTITION
命令。 - DROP DATABASE
命令:用于删除整个数据库。如果使用CASCADE
选项,会强制删除数据库及其下的所有表、视图和物化视图。 - 重要提醒:仅3.2.1及以上内核版本支持CASCADE
关键字;低于该版本的集群需先手动删除数据库中的对象。
如果用户删除或退订了按量付费或包年包月的集群,集群中的所有数据将被永久清除且无法恢复。
- 删除按量付费集群:通过控制台手动删除集群。 - 退订包年包月集群:通过费用与成本页面退订资源。 - 警告:此操作会导致数据不可恢复,请谨慎操作。
在AnalyticDB中,如果用户调用了DeleteDocument
API,可以删除指定文档库中的文件。
- 必要参数: - DBInstanceId
:实例ID。 - Collection
:文档库名称。 - FileName
:文件名。 - 权限要求:需要具备gpdb:DeleteDocument
权限,并提供命名空间密码(如适用)。
DELETE
、TRUNCATE
或DROP
。为了避免数据意外丢失,建议采取以下措施: 1. 定期备份:确保重要数据已备份,防止因误操作或系统锁定导致数据丢失。 2. 权限管理:严格控制用户权限,避免未经授权的删除操作。 3. 监控磁盘空间:定期检查磁盘使用情况,及时清理无用数据,避免实例锁定。 4. 谨慎操作:在执行DROP DATABASE
或退订集群前,确认数据已迁移或不再需要。
如果您怀疑数据被自动删除,请检查是否有上述操作记录或联系技术支持以获取进一步帮助。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。