问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

不小心把手机里的文件管理内容全删了,还能恢复吗?怎样恢复?

发布网友 发布时间:2022-04-24 02:34

我来回答

5个回答

懂视网 时间:2022-04-13 17:29

UNDO表空间管理1、对于DML语句来说,只要修改了数据块,Oracle数据库就会将修改前的数据块保留下来,保存在undosegment里面,而undosegment则保存在undo表空间中

UNDO 表空间管理

1、对于DML语句来说,只要修改了数据块,Oracle数据库就会将修改前的数据块保留下来,保存在undo segment里面,而undo segment则保存在undo表空间中

2、undo的管理

自动undo管理(Oracle9i开始)AUM

手工undo管理MUM

9i以后,就建议使用AUM,因此就不再讨论MUM

一条DML语句的执行流程update t set coll=‘A’ where coll=‘B’

1、在shared pool里面进行解析,从而生成执行计划

2、根据执行计划,得出coll=‘B’的记录存放在10号数据文件的54号数据块里面

3、服务器进程首先在buffer cache寻找一个可用的undo数据块(如果一个事物已经提交,那么这个事务曾经使用过的undo数据块就可以被使用),如果没有发现,则到undo表空间里找到一个可用的undo数据块,并调入到buffer cache。假设获得的undo数据块号为24号,位于11号undo数据文件里

4、将改变前的值,也就是B放入24号undo数据块(buffer cache中)

5、由于undo数据块发生了变化(只要是数据块发生变化,那么就产生重做记录),于是产生重做记录,假设重做记录号是120

6、在buffer cache里面找到54号数据块,如果没有,则从10号数据文件调入

7、将改变后的值,也就是A放入54号数据块

8、由于数据块发生了变化,于是产生重做记录,假设重做记录号是121

9、控制权返回给用户,如果使用SQLPLUS,那么表现为光标返回

10、用户发出commit命令,触发LGWR,将120、121这两个重做记录写入联机重做日志文件中,将54号、24号两个数据块头部所记录的事务状态标记设置为已提交,控制权返回给用户,如果使用SQLPLUS,那么表现为光标返回

11、这个时侯,54号和24号数据块并不一定被DBWr写入数据文件,只有在脏数据块的数量达到一定程度的时候才会被写入

事务提交以后,该事务所使用的undo数据块就可以被覆盖,上面的例子中,第10步用户提交以后,24号undo数据块就可以被覆盖

Undo的作用

1、提供读一执性

2、回滚事务

3、实例恢复

读一致性

一个场景描述

读一致性是相对脏读而言的,表T中有10000条记录,获取所有的记录需要15分钟的时间,当前时间为9点整,香港服务器,用户发出一条select * from T命令,该语句在9:15完成。当用户执行该语句到9:10分的时候,另外一个用户发出了一条删除命令,将最后一条记录删除,并且进行了提交。

到9点15分的时候,用户返回了多少条记录。

如果是9999条,那么就是脏读、如果是10000条,那么就是读一致性。

Oracle不会出现脏读,提供读一致性,而且没有阻塞DML操作

Oracle如何实现读一致性呢?

1、用户在9点发出select语句的时候,服务器进程会记录9点那个时刻的SCN号(SCN号是以时间(timestamp)作为参数的一个函数返回值,调用函数(默认以timestamp为参数)随时可以返回这个时刻的SCN号,可以使用函数在SCN和timestamp之间进行转换),假设该SCN号是SCN9:00,那么SCN9:00一定大于等于记录在所有数据块头部的ITL槽中的SCN号(如果有多个ITL槽,SCN最大的那个)

2、服务器进程扫描T表的时候,会把扫描的数据块头部的ITL槽中的SCN号与SCN9:00进行比较,哪个更大。如果数据块头部的SCN小于SCN9:00,那么说明这个数据块在9:00以后没有更改过,可以直接读取,如果数据块头部的SCN号大于SCN9:00,则说明该数据块在9:00以后更改过,已经不是9:00那个时刻的数据了于是要借助undo块

3、9点10分,用户更改了T表的最后一条记录并提交(无论是否提交,只要是更改了T表,用户就会去读undo数据块),假设被更改的是N号数据块,那么N号数据块头部的ITL槽中记录的SCN被修改为SCN9:10,当服务器进程扫描到这个数据块的时候,发现ITL槽中的SCN9:10大于SCN9:00,说明该数据块在9:00以后被更新了,于是服务器进程到N号块的头部,找到SCN9:10所在ITL槽,由于ITL槽记录了对应的undo块的地址,于是服务器进程找到undo数据块,结合undo数据块给用户提供读一致性。

进一步复杂化问题

1、9点10分,更新了数据并且进行了提交,9点11分又对该数据块进行了更新并且提交(假设数据块只有一个ITL槽)

2、那么该ITL槽记录的就是SCN9:11

3、这种情况如何处理,秘密在于undo数据块中,除了记录改变前的数据以外,因为数据块的ITL槽也发生了变化,因此也进行了记录,而ITL槽中记录了undo块的地址。9:00的时候数据块的ITL槽中记录了数据块的SCN是8:50和对应的undo块,9:10分的时候数据库的ITL槽中记录了数据块的SCN是9:10和对应的undo(undo1),9:11分的时候数据库的ITL槽中记录了数据块的SCN是9:11和对应的undo(undo2),Undo2中记录了9:10的数据,以及9:10数据的undo地址undo1,undo1中记录了9点以前的数据以及9点以前的undo数据

当用户进行查询的时候,服务器进程扫描到N号数据块,发现SCN9:11,大于SCN9:00,从ITL槽中找到undo块的地址(undo2),undo2中记录了改变前的数据和改变前的数据库的ITL槽,发现undo2对应的SCN是9:10还是大于9:00,根据undo里面记录的ITL槽的改变前信息,继续向前找,找到undo1,发现SCN是8:50,小于9:00,使用这个undo的数据

如果在向前寻找的时候,没有找到SCN小于9:00的数据(因为时间比较长,而且事务已经提交,所以回滚段可能被覆盖),数据库就会出现一个经典的错误ORA-01555(snapshoot too old),但是不会出现脏读的情况。

clip_image003

最核心的就是:数据块的数据发生改变,ITL槽也发生改变。这两条信息都会存储到undo中。因此如果一个undo足够的大,那么一个数据块的所有的undo数据块是可以串联起来的。可以从最近一直找到非常远的过去。从数据块开始往前找,一直找到很久以前的SCN。这个数据块所有的变化都能够找到。

ITL槽中记录着这个数据块的undo数据块的地址。

一个数据块中存储很多条数据,update、insert、delete等DML操作,都会影响数据块的SCN号。数据块的SCN号反映了数据块的变化过程。

回滚事务:错误或者rollback命令都会产生回滚

根据ITL槽中记录的undo数据块的地址,找到undo数据块,恢复数据。

实例恢复

回滚段的头部记录了事务表,每一个事务是否提交等信息都存储在里面。

根据事务表的信息进行实例恢复。

配置AUM

Oracle9i开始,我们不再使用手工的管理方式,因此“MANUAL”不再使用,使用“AUTO”

使用AUM需要配置两个参数

clip_image004

指定这两个参数以后,剩余的工作让Oracle来处理,例如undo segment的创建、扩展、收缩、删除等。

如果指定了undo_management,但是在指定undo_tablespace的时候,指定了一个错误的回滚表空间,实例启动的时候,会报错。

如果没有指定回滚段表空间,系统查找第一个可用的回滚段表空间,如果没有找到,那么就使用system表空间中的回滚段,这不是我们希望看到的,因为对性能影响很大。

因此两个参数都要很好的规划

事务、undo segment

发生DML操作的时候,服务器进程会选择一个undo segment,具体算法如下:

1、首先尝试将每一个undo segment绑定一个事务,也就是每个undo segment上只有一个事务使用

2、如果不能发现完全空闲的undo segment,所有的undo segment都与事务绑定

3、系统尝试将脱机的undo segment联机

4、如果没有可用的undo segment进行联机,则会尝试创建一个新的undo segment

5、如果上面的步骤都没有成功(例如没有可用空间了,不能创建undo segment),算法会尝试寻找最早使用的undo segment,这种情况下,不同的多个事务会在同一个相同的undo segment里同时进行

6、每隔12个小时会收缩一次,删除那些idle状态的extent

7、DML操作需要undo时,发现空间不够,则会唤醒SMON进行一次收缩,将undo segment里面暂时没有使用的extent拿过来使用

Oracle 在提供一致性读的过程中,具体的步骤如下

1、确认读时刻的SCN

2、搜寻所有的数据块的SCN要求小于读时刻的SCN

3、如果搜寻的SCN小于读时刻的SCN,直接读取

4、如果搜寻的SCN大于读时刻的SCN,根据数据块里面的ITL槽里面记录的undo信息,找到改变前的数据、如果SCN还是大,顺着ITL槽信息串联起来的undo块继续向前找

5、如果没有找到小于读时刻的SCN的数据块,那么就报错ORA-01555

事务提交以后,undo回滚段就可以被覆盖,而且我们在寻找undo数据块的时候,这个被寻找的undo数据块很可能已经被提交,因此出现ORA-01555错误不可避免。Oracle是如何来解决这个问题的呢?

Oracle定义了一个参数undo_retention

这个参数以秒为单位,表示当事务提交或者回滚以后,该事务所使用的undo 块里的数据需要保留多长时间。

当保留的时间超过undo_retention所指定的时间以后,该undo块才能够被其他事务覆盖。

当我们使用AUM的时候,并且设置了undo_retention以后,undo块的状态就存在4种

Active:表示正在使用该数据块的事务还没有提交或者回滚

Inactive:该数据块上没有活动的事务,该状态的undo可以被其他事务覆盖

Expired:该数据块持续inactive的时间超过undo_retention所指定的时间

Freed:该数据块是空的,从来没有被使用过

在AUM模式中,事务可以在不同的undo segment之间动态交换undo空间,也就是在不同的undo segment里交换extents。

我们来看一下,一个事务需要更多的undo空间的时候,是如何进行处理的?

1、获取undo表空间里可用的、空的extents(segment的最小分配单元是extent)

2、获取其他undo segment里的expired状态的extents

3、如果undo表空间里的数据文件启用了自动扩展,则数据文件进行自动扩展

4、如果undo表空间里的数据文件没有启用自动扩展,则获取undo segment里的inactive状态的extents

5、如果还是没有获得可用空间,报空间不足的错误

clip_image006

1、undo表空间中一共存在5个undo segment

2、每个undo segment包括7个extents

热心网友 时间:2022-04-13 14:37

怎样恢复被删除的文件?如今,电脑已经是我们办公、生活和娱乐中必不可少的设备,更是存储着我们很多重要的文件。但是,有的时候一些使用者可能会不小心删除了自己还需要的重要文件,给生活或工作带来巨大的麻烦。这个时候不用着急,有一个超级简单的方法帮助您恢复您误删除的文件。

首先,我们可以查看电脑的回收站,只要不是永久删除的文件,都会保存在回收站里,右键还原文件就可以。

但如果是永久删除的文件呢?那靠普通使用者在电脑本身的操作就很难找回了,但是我们可以求助一些专业的数据恢复软件,具体操作步骤如下:

第二步:在“场景模式”中选择符合自己情况的恢复模式,即可快速扫描丢失文件。还可以点击下方的“向导模式”进行切换,享受更简便的操作;

第三步:找到自己丢失的文件。一般来说,如果误删之后没有其它操作,短期内立马进行扫描的话,丢失数据找回的概率非常大,这时候勾选找到的文件点击恢复即可。

这就是关于怎样恢复被删除的文件的具体介绍了。嗨格式数据恢复大师软件解决了很多技术层面的问题,用户只需要根据软件的引导,几个简单的点击就可以找回自己误删除丢失的文件,可以说是非常简单方便了。这么简单的方法,你记住了吗?

热心网友 时间:2022-04-13 16:12

如果备份了的话,可以直接在备份的软件里恢复。

没有备份的话可以使用360安全卫士恢复。

具体展开用360安全卫士恢复删除的文件:

把手机数据线连接电脑,打开手机USB存储设备,这样电脑就显示可移动磁盘出来了。

打开360安全卫士,点击右下角的更多选项。


3.点击数据安全,在里面找到找到文件恢复。

4.点击文件恢复会出来开始扫描字样。

5.点击开始扫描,就会扫描删除的文件,选择文件误删的文件,选中,点击右下角恢复选中的文件,选择要恢复到的位置,就可以把文件恢复到电脑去。

热心网友 时间:2022-04-13 18:03

看你有没有备份,如果有备份可能还有找回的可能

热心网友 时间:2022-04-13 20:28

手机数据删除了还能恢复吗?
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
弹钢琴时手指速度总是不自觉变快怎么办? 弹钢琴时速度总是不自觉变快怎么办? 微信发表情包上限是多少 ...8.0.3版本更新什么?微信表情包上限变成999是什么 成人毛线斗篷式开襟披肩编织 江苏洛社商贸城项目有哪些主要特点和设施? 永明镇的乡镇建设 蓝光花满庭小区基本信息 洛社商贸城项目概括 怀孕了能不能吃汤圆 误删除的手机文件还能恢复吗?怎么恢复 影驰gtx 750ti大将有风扇吗 我的电脑配置可以带动影驰GTX750ti大将2G吗?电源称得起不?我的电源一共多少瓦? 这个配置要是换 GTX750Ti大将 怎么样呢 影驰GTX750ti大将怎么装双显卡! 帮忙看下这是真的影驰gtx750ti大将吗? 影驰gtx750ti大将和影驰gtx740有什么区别 影驰GTX750ti大将,配什么主板和CPU比较好 影驰gtx750ti大将显存频率450 核心频率135正常吗 影驰gtx750ti大将这款显卡怎么样 影驰GTX750黑将与影驰GTX750Ti大将哪个好 影驰GTX750Ti 大将好不好,优缺点,影驰 GTX750Ti 大将是否值得买 影驰GTX 750TI 2G DDR5 独立供电和不独立供电 有区别吗? 影驰GTX750TI 大将 2G DDR5 这款显卡怎么样 影驰gtx750ti大将好用吗 影驰gtx750Ti黑将 和 影驰gtx750Ti大将 有什么区别? 手机开热点具体什么意思 怎么用流量 要钱吗 具体怎么操作? 个人热点是什么意思?有什么功能? 自动加入热点是什么意思 申请公积金贷款需要公积金账户里有多少的余额 征信报告上怎么看出是黑名单 我到人民银行拉了征信报告,从哪里可以看到我是不是黑名单? 怎么看征信报告结果是否进黑名单? 征信报告怎么可以看出本人有没进黑名单 谁有啊小雄的性故事全文阅读,发下 声名狼藉是什么意思啊 谁给我传下 恋男乱女啊 也就是 小雄的性故事啊 求你们了 378216500@qq.com 我急求啊 这些的故事简介 多啦A梦详细资料~ 如果养了一只小雌性巴西龟和一只小雄性巴西龟它们成熟后能成为夫妻吗? 说几个详细点的鬼故事,最好要很真实但又很恐怖的!越恐怖越好!谢谢!_百... win10电脑一关机就自动重启 我想知道多拉A梦的资料? 电视剧阿信的大儿子是怎么死的? 《咏蝉》中藉的含义 win10如何解决自动重启 求多啦a梦里大雄的族谱 “唯一”用英语怎么说 《罗密欧与朱丽叶》或《罗马假日》的缩写剧本 因为写错汉字、读错汉字而发生的笑话或造成不良后果的故事