首页 >>  正文

oracle查询一行数据

来源:baiyundou.net   日期:2024-09-22

Oracle数据库数据恢复环境:

北京某国企客户Oracle 11g R2数据库误truncate table CM_CHECK_ITEM_HIS,表数据丢失,业务查询到该表时报错,数据库的备份不可用,无法查询表数据。

Oracle数据库执行Truncate命令的原理:在执行Truncate命令后ORACLE会在数据字典和Segment Header中更新表的Data Object ID,但不会修改实际数据部分的块。由于数据字典与段头的DATA_OBJECT_ID与后续的数据块中的并不一致,所以ORACLE服务进程在读取全表数据时不会读取到已经被TRUNCATE的记录,但是实际数据未被覆盖。

Oracle数据库数据恢复过程:

1、为保护用户数据和重现故障的解决过程,北亚企安数据恢复工程师重构了与用户相同的故障:

使用Scott用户创建表emp1,连续多次复制emp表,多次复制后的总记录数为7340032条。truncate表emp1,之后没有进行任何操作。查询该表,数据库中该表的记录为0条。

北亚企安数据恢复——Oracle数据恢复

注: Os:win server 2008R2。数据库版本:win_oracle_11.2.0.1_x64;

2、对system表空间文件进行分析,找到truncate表的原始数据所在位置。

北亚企安数据恢复——Oracle数据恢复

3、解析表所在的数据文件,找到被truncate的数据。

4、将truncate的数据插入到数据库中。

5、在Oracle数据库中查看被truncate的表,发现数据回来了,直接备份数据。

北亚企安数据恢复——Oracle数据恢复

6、Exp导出scott用户。

北亚企安数据恢复——Oracle数据恢复

","gnid":"9f701659f7143a20c","img_data":[{"flag":2,"img":[{"desc":"","height":"578","title":"","url":"https://p0.ssl.img.360kuai.com/t01bb87b952ed595cd2.jpg","width":"804"},{"desc":"","height":859,"title":"","url":"https://p0.ssl.img.360kuai.com/t0118a0d4cbbd9ceed6.jpg","width":706},{"desc":"","height":"721","title":"","url":"https://p0.ssl.img.360kuai.com/t01b4a9affa2a75af97.jpg","width":"823"},{"desc":"","height":"668","title":"","url":"https://p0.ssl.img.360kuai.com/t010be82dc22fa8f428.jpg","width":"703"}]}],"original":0,"pat":"art_src_3,fts0,sts0","powerby":"pika","pub_time":1710148080000,"pure":"","rawurl":"http://zm.news.so.com/872af25aaf7003f4cf307872dc841df9","redirect":0,"rptid":"60067726db01f52e","rss_ext":[],"s":"t","src":"数据恢复资讯","tag":[],"title":"Oracle数据恢复—Oracle数据库误truncate的数据恢复案例

乌姚叶2114oracle查询sql语句,将查询结果返回至一行内 -
叶秒伦15088085492 ______ select max(case when sub.no1= 1 then a else null end ) as A1 ,max(case when sub.no1= 1 then b else null end ) as B1 ,max(case when sub.no1= 1 then b else null end ) as C1 ,max(case when sub.no1= 2 then a else null end ) as A2 ,max(case ...

乌姚叶2114oracle 中如何取每个小组的第一行数据 -
叶秒伦15088085492 ______ SELECT 第一个字段, MIN(第二个字段) FROM A GROUP BY 第一个字段

乌姚叶2114oracle中select语句如何增加查询行数限制 -
叶秒伦15088085492 ______ 可用rownum来查询. 如emp表中有如下数据: 现在要求只查5行数据,可用如下语句: 1 select * from emp where rownum<=5; 结果如下:

乌姚叶2114在oracle数据库中,怎样查询出只有一个字段的表的重复数据? -
叶秒伦15088085492 ______ 方法一:可以通过group by 进行分组.sql:select username,count(username) from tablename grop by username; 解释:以上sql就是通过分组函数读取出tablename表中username的值和每个不同值的统计个数.方法二:可以通过distinct函数 进行去重查询.sql:select distinct username from tablename 解释:本sql就是查询出所有的tablename表中的username值(不重复).

乌姚叶2114sql server,oracle中查询结果返回指定的行数 -
叶秒伦15088085492 ______ 这个很简单啊,假定你想查询第11-20行,可以用下列语句: select top 10 * from (select top 20 * from tablename desc) desc 语句解析如下:先查出前20个数据,并然逆序排列,然后在逆序查询的20个中查询前10个,这样查出来来的就是实际的第11-20个,但是是逆序的,所以在逆序一次,就变成了顺序的第11-20个. 同理,想查出倒数10行数据也可以写语句为: select top 10 * from (select * from tablename desc) desc

乌姚叶2114SQL中怎么样查询到一个表中的任意一行数据(急,在线) -
叶秒伦15088085492 ______ sql为select * from test 声明一个RecordSet,假设变量名为rs,将test表的全部数据读到rs中然后 rs.MoveFirst for i=0 to 3 rs.MoveNext next 这时候再调用rs就是第5条数据了,没有特征值我还想不出其他的办法,希望有好办法的大侠赐教...

乌姚叶2114Oracle中查询rownum和rowid的区别是什么?
叶秒伦15088085492 ______ 在查询中,我们可以注意到,类似于“select xx from table where rownum 1)这样的查询是有正确含义的,而“select xx from table where rownum = n”这样的查询只在n=1...

乌姚叶2114oracle如何提取一行数据里面最小的四条数据 -
叶秒伦15088085492 ______ 先根据大小排序,然后再使用分页查询的方法查询前四条或者最后四条数据

乌姚叶2114oracle怎么查看一张表中有多少行记录? -
叶秒伦15088085492 ______ select count(*) from tablename; select count(1) from tablename; select count(主键) from tablename ; 推荐这种写法.

乌姚叶2114Oracle查询显示出相同行的数据 -
叶秒伦15088085492 ______ select count(*) from 表 where 条件 直接就得到行数了

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024