本文介绍了“误删数据库数据后有什么处理方法”的知识。很多人在实际案例的操作中会遇到这样的困难。让边肖带领你学习如何处理这些情况。希望大家认真阅读,学点东西!
1.停止库并安装它。
2 .将数据库闪回到timestamp to _ timestamp(' 2019-09-07 09:47:54 ',' yyyy-mm-DD hh 34: mi3360 s ');
3 .以只读方式打开alter数据库;
4.检查数据是否符合要求,并通过expdp导出。
5.停止库并安装它。
6 .恢复数据库;
更改数据库打开;
在测试环境下,可以在简单的测试下操作,但是心里很害怕。如果recover有问题,那就不是这个表的问题。整个数据库已经恢复到47分54秒,影响很大。我内心很抗拒这个计划,但是影响太大,需要尽快恢复。但在与客户反复沟通方案的风险后,在恢复了约3000万个数据后,客户同意采用风险较低的不同机器的恢复方案,才放下零食。
不同机器的恢复相当顺利。我们已经从完全备用状态恢复了数据库,并且已经从备份中取出了归档文件。然后恢复指定的时间,每秒恢复一次,并检查每秒的行数。最后,数据量约为3300万。这个错误已经结束了。
我认为我的错误是这次失败的主要原因。我对闪回不是很熟悉,误以为命令闪回表依赖于闪回数据库on;实际上,这个命令完全依赖于撤销,这和闪回查询是一样的。对于您不熟悉的技术,您绝不能在生产环境中使用它。任何变更操作只有在经过充分测试后,客户才能使用。这次失败让我受益匪浅,以后我会牢记在心,类似的事件不会再发生。
以后补上,准备在事件结束后第一时间打开不依赖于撤销闪回查询表的闪回归档技术。此闪回归档的粒度是表,它可以闪回具有指定保留时间的查询数据,并且不依赖于撤消表空间。如果想实现业务表的实时回溯,闪回归档可以满足要求。闪回数据库不实用,通常用于备份数据库。以下是我整理的闪回归档的简单步骤,供大家参考:
闪回存档测试:
打开闪回归档先决条件:
撤销管理就是AOTU。
表空间必须是ASSM。
1.创建闪回归档表空间。
创建大小为10g的表空间fba数据文件“DATADG”;
2.创建闪回归档区域。
创建闪回归档默认fba1表空间fba保留2天;//创建时指定数据库的默认闪回区域。
查询:
从dba _闪回_存档中选择闪回_存档_名称、状态;
从dba_flashback_archive中选择OWNER_NAME、FLASHBACK_ARCHIVE_NAME、FLASHBACK_ARCHIVE#、RETENTION_IN_DAYS、CREATE_TIME、LAST_PURGE_TIME、STATUS
3.尝试修改保留时间:
alter flashback archive fba1修改保留1天;
4.清除闪回归档中的所有信息:
alter flashback archive fba1全部清除;
1天前的空信息:
在时间戳(systimestamp - interval '1 '天)之前更改闪回归档fba1清除;
5.创建测试数据。
测试1 2936192 384M
测试2 2936192 384M
6.将test2放入闪回存档中。
alter table test2闪回存档fba1
查询:
从dba _闪回_存档_表中选择表名、存档_表名、状态;
7.18: 07左右删除所有内容。
从test1中删除;
从test2中删除;它占据了1000米的桌面空间。
8.做一些其他的事情来确保撤销被清空。
9.查询尝试:
Test1无法查询:
从test1从时间戳到_timestamp选择计数(*)(2019-09-18 18:01:00 ',' YYYY-MM-DD hh24: mi3360s ')
*
第1:行出错
ORA-01555:快照太旧:名为“_SYSSMU10_1251597811$”的回滚段号10太小
Test2打开后可以随时查询数据:
SQL select /* parallel(16)/count()从test2截止时间戳到_ timestamp(' 2019-09-18 18:20:00 ',' yyyyy-MM-DD hh 24: mi3360 ss ');
这里介绍一下“误删数据库数据后有哪些处理方法”的内容。感谢阅读。如果你想了解更多行业,关注网站,边肖将为大家输出更多高质量的实用文章!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/70313.html