返回顶部
首页 > 资讯 > 数据库 >误删数据库数据后的处理方法有哪些
  • 856
分享到

误删数据库数据后的处理方法有哪些

2024-04-02 19:04:59 856人浏览 泡泡鱼
摘要

本篇内容介绍了“误删数据库数据后的处理方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.停库,起

本篇内容介绍了“误删数据库数据后的处理方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

1.停库,起mount

2.flashback database to timestamp to_timestamp(‘2019-09-07 09:47:54’,‘yyyy-mm-dd hh34:mi:ss’);

3.alter database open read only;

4.查数据是否满足要求,expdp导出

5.停库 起mount

6.recover database;
alter database open;
测试环境下简单测试下可以操作,不过心里非常害怕,万一recover有问题,那不是这个表的问题了,整个数据库都回到47分54秒,影响非常巨大,内心十分抗拒这个方案,无奈影响太大,需要尽快恢复。不过后来和客户再三沟通该方案的风险性,再加上已经恢复了3000万左右的数据,客户同意采用风险度较低的异机恢复方案,这才稍微放下点心来。
异机恢复还算顺利,我们从全备恢复出数据库来,归档也从备份里拉出来,然后recover指定时间,一秒一秒recover,recover一秒查一次行数,最后数据量大约在3300万左右,该故障告一段落。
我认为本次故障我的失误占了很大一部分,本来对flashback不是很熟悉,误认为flashback table这个命令是依赖于flashback database on;实际上该命令完完全全是依赖于undo,和闪回查询是一个东西,对于一个自己不熟悉的技术,绝对不能自以为是的用于生产环境,任何一个变更操作都要在做了充足的测试后才能给客户使用,本次故障让我受益匪浅,以后我也将铭记于心,不会再发生类似事件。
亡羊补牢,事情结束后第一时间准备开启可以不依赖undo闪回查询表的flashback arcHive技术,这个flashback archive的粒度是表,可以闪回查询指定保留时间的数据,且不依赖undo表空间,如果想实现业务表的实时回溯,那flashback archive可以满足要求,flashback database 实用性不高,一般用在备库上居多,下面贴出我整理的flashback archive的简单步骤,可以参考参考:
flashback archive 测试:
开启flashback archive前提:
undo管理是AOTU
表空间必须是ASSM

1.创建flashback archive 表空间
create tablespace fba datafile ‘+DATADG’ size 10g;

2.创建flashback archive 区域
create flashback archive default fba1 tablespace fba retention 2 day; //创建时指定数据库默认闪回区域

查询:
select flashback_archive_name name, status from dba_flashback_archive;
select OWNER_NAME,FLASHBACK_ARCHIVE_NAME,FLASHBACK_ARCHIVE#,RETENTION_IN_DAYS,CREATE_TIME,LAST_PURGE_TIME,STATUS from dba_flashback_archive;

3.尝试修改保留时间:
alter flashback archive fba1 modify retention 1 day;

4.清空flashback archive中的全部信息:
alter flashback archive fba1 purge all;
清空1天前的信息:
alter flashback archive fba1 purge before timestamp (systimestamp - interval ‘1’ day);

5.创建测试数据
test1 2936192 384M
test2 2936192 384M

6.把test2 放到flashback archive 里面去
alter table test2 flashback archive fba1;
查询:
SELECT table_name,archive_table_name,status from dba_flashback_archive_tables;

7.都delete掉 18:07 左右
delete from test1;
delete from test2; 占用了1000m的表空间

8.做些别的操作确保清空undo

9.查询尝试:
test1已经无法查询:
select count(*) from test1 as of timestamp to_timestamp(‘2019-09-18 18:01:00’,‘YYYY-MM-DD HH24:MI:SS’)
*
ERROR at line 1:
ORA-01555: snapshot too old: rollback segment number 10 with name “_SYSSMU10_1251597811$” too small

test2 可以在开启后查询任意时间的数据:
sql> select /*+ parallel(16) / count() from test2 as of timestamp to_timestamp(‘2019-09-18 18:20:00’,‘YYYY-MM-DD HH24:MI:SS’);

“误删数据库数据后的处理方法有哪些”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: 误删数据库数据后的处理方法有哪些

本文链接: https://lsjlt.com/news/62980.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 误删数据库数据后的处理方法有哪些
    本篇内容介绍了“误删数据库数据后的处理方法有哪些”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.停库,起...
    99+
    2024-04-02
  • 快速恢复误删数据库数据的方法有哪些
    这篇文章主要介绍“快速恢复误删数据库数据的方法有哪些”,在日常操作中,相信很多人在快速恢复误删数据库数据的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”快速恢复误删...
    99+
    2024-04-02
  • 数据库死锁处理的方法有哪些
    以下是一些处理数据库死锁的方法:1. 避免死锁:尽量设计良好的数据库结构,避免出现死锁的情况。可以使用合适的事务隔离级别,以及良好的...
    99+
    2023-09-20
    数据库
  • MySQL删除数据库的方法有哪些
    这篇文章将为大家详细讲解有关MySQL删除数据库的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。删除数据库的命令是:“DROP DATABASE 数据库名;”;...
    99+
    2024-04-02
  • Mongodb数据库误删后的恢复方法(两种)
    方法一:通过 oplog 恢复 如果部署的是 MongoDB 复制集,这时还有一线希望,可以通过 oplog 来尽可能的恢复数据;MongoDB 复制集的每一条修改操作都会记录一条 oplog,所以当数据库...
    99+
    2024-04-02
  • 有哪些数据预处理的方法
    今天就跟大家聊聊有关有哪些数据预处理的方法,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。数据预处理的方法有:1、数据清理,通过填写缺失的值、光滑噪声数据、识别或删除离群点并解决不一致...
    99+
    2023-06-14
  • Python数据处理的方法有哪些
    这篇文章主要介绍“Python数据处理的方法有哪些”,在日常操作中,相信很多人在Python数据处理的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python数据处理的方法有哪些”的疑惑有所帮助!...
    99+
    2023-06-16
  • golang数据处理方法有哪些
    常见的数据处理方法有变量和数据类型、输入输出(I/O)、数据结构、流程控制、错误处理、并发和并行、JSON处理、字符串处理、正则表达式、数据库操作、网络编程、测试和性能优化、日志和错误记录等。详细介绍:1、变量和数据类型:使用合适的数据类型...
    99+
    2023-12-21
    go语言 Golang 数据处理
  • 数据库数据采集的方法有哪些
    这篇“数据库数据采集的方法有哪些”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“数据库数据采...
    99+
    2023-03-13
    数据库
  • python数据预处理的方法有哪些
    Python数据预处理的方法有:1. 数据清洗:处理缺失值、异常值、重复值等问题。2. 数据整合:将不同来源的数据整合到一起,如合并...
    99+
    2023-08-09
    python
  • python处理json数据的方法有哪些
    Python处理JSON数据的方法有以下几种:1. 使用内置的json模块:Python提供了内置的json模块,可以使用它来处理J...
    99+
    2023-08-12
    python json
  • mysql删除数据的方法有哪些
    MySQL删除数据的方法有以下几种:1. 使用 DELETE FROM 语句:使用 DELETE FROM 语句可以...
    99+
    2023-09-27
    mysql
  • redis删除数据的方法有哪些
    DEL key:删除指定的key及其对应的数据。 DEL key1 key2 key3…:一次删除多个key及其对应的数据。 DE...
    99+
    2024-04-09
    redis
  • 大数据量与海量数据的处理方法有哪些
    这篇文章主要讲解了“大数据量与海量数据的处理方法有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“大数据量与海量数据的处理方法有哪些”吧!1.Bloom ...
    99+
    2024-04-02
  • ADO.NET数据异步处理的方法有哪些
    这篇文章主要介绍“ADO.NET数据异步处理的方法有哪些”,在日常操作中,相信很多人在ADO.NET数据异步处理的方法有哪些问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”ADO.NET数据异步处理的方法有哪些...
    99+
    2023-06-17
  • matlab数据平滑处理的方法有哪些
    在Matlab中,可以使用以下方法对数据进行平滑处理:1. 移动平均滤波(Moving Average Filtering):计算一...
    99+
    2023-10-08
    matlab
  • oracle删除表数据的方法有哪些
    这篇文章将为大家详细讲解有关oracle删除表数据的方法有哪些,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。oracle如何删除表数据删除表内容的两种方法1、trunca...
    99+
    2024-04-02
  • plsql删除表数据的方法有哪些
    在PL/SQL中,我们可以使用以下方法来删除表数据:1. 使用DELETE语句:DELETE语句用于从表中删除行。可以使用WHERE子句指定要删除的行。```sqlDELETE FROM table_name;DELET...
    99+
    2023-08-11
    plsql
  • mysql从库误删数据后和gtid复制断开后怎么处理
    这篇文章主要介绍了mysql从库误删数据后和gtid复制断开后怎么处理,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 ...
    99+
    2024-04-02
  • 数据库优化的方法有哪些
    这篇文章主要介绍数据库优化的方法有哪些,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!数据库优化的几种方式分别是:1、选取最适用的字段属性;2、使用连接来代替子查询;3、使用联合来代替...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作