文章内有任何不正确的地方,仅代表个人观点,欢迎讨论与指教。
遇到个瓜皮事情,有个数据库,里面有俩系统 A,B ; 某天,A 系统要下线,照往常查出 A 所用的表空间,确认无B的对象后删除表空间,删除A 用户,即可完成。(删之前备份要做好)
删除后N个月后(很漫长),B系统反馈他们有大批量表不见了,经确认都是空表。也不知B系统更换多少人员,反正就是丢了后他们无法重新创建。那么这个瓜皮事情自然就又落到我头上了。
经过查看,数据库的延迟段是开着的,B系统用户(模拟)也有unlimited tablespace 权限,因为这两个系统厂商都是一个,在创建空表的时候给塞入A的表空间里了,而且由于延迟段的原因,空表不占用存储,自然就在下线的时候没有查出来。(这么沙雕的操作我是没想到的)
SQL> show parameter deferred
NAME TYPE VALUE
------------------------------------ --------------------------------- ------------------------------
deferred_segment_creation boolean TRUE
SQL> select * from dba_sys_privs where grantee='LEO';
GRANTEE PRIVILEGE ADMIN_OPT
------------------------------------------------------------------------------------------ -------------------- ---------
LEO UNLIMITED TABLESPACE NO
复制
为了避免下次这类事情发生,要么:
1. 关闭延迟段。
2. 创建环境的时候不要授权unlimited tablespace ,逐个表空间授权。
3. 逻辑备份的时候要expdp备份,exp是不会导出空表的
文章转载自老揣的瓜皮日常,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
790次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
665次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
594次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
549次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
534次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
510次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
499次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
472次阅读
2025-04-17 09:30:30
OR+DBLINK的关联SQL优化思路
布衣
383次阅读
2025-05-05 19:28:36
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
382次阅读
2025-04-15 14:48:05