+ -
当前位置:首页 → 问答吧 → 紧急问题,昨天我查询的数据库有100条记录,今天一查只有80条记录了。

紧急问题,昨天我查询的数据库有100条记录,今天一查只有80条记录了。

时间:2011-09-24

来源:互联网

我的程序不断插入数据,昨天我查询的数据库有1万条记录,今天一查只有8000条记录了。我肯定程序是没有删掉数据记录的,这个跟数据库的设置有关系吗?真的搞不明白呀?

作者: garping   发布时间: 2011-09-24

触发器 存储过程 什么的里面若有删除之类的语句肯定有影响。也许是被程序删掉了,或者说别人操作了下。这很不确定的。

作者: AcHerat   发布时间: 2011-09-24

-- 还有:你在查询的时候,可能当前会话有未提交的事务(插入你这个表的语句已经执行,但未提交)
-- 当时能查到插入的数据,
-- 但是:强制退出后,就没有保存未提交的事务(事务回退啦)

作者: luoyoumou   发布时间: 2011-09-24

二楼说的有可能,就是你在插入的时候查询到的时候未提交的数据.
或许就是你的数据有2000条被更新了..

作者: BearFishShow   发布时间: 2011-09-24

查询一下日志.
更改以下内容中的'C:\oracle\oradata\jhoracle\REDO01.LOG'为你实际的文件名.
注意一共是三个,依秩序进行.
'C:\oracle\oradata\jhoracle\REDO01.LOG'
'C:\oracle\oradata\jhoracle\REDO02.LOG'
'C:\oracle\oradata\jhoracle\REDO03.LOG'
SQL code
begin 
SYS.DBMS_LOGMNR.ADD_LOGFILE('C:\oracle\oradata\jhoracle\REDO01.LOG', sys.dbms_logmnr.New); 
end; 

select min(low_time),  max(high_time), 
      min(low_scn),  max(next_scn) -1 
from V$logmnr_logs; 

begin 
SYS.DBMS_LOGMNR.START_LOGMNR(Options => sys.dbms_logmnr.DICT_FROM_ONLINE_CATALOG); 
end; 

Select 
SCN, 
timestamp, 
sql_redo, 
session# session_num, 
username, 
session_info 
From V$LOGMNR_CONTENTS where sql_redo like '%update%'
Order by 1; 


begin 
SYS.DBMS_LOGMNR.END_LOGMNR(); 
end;

作者: dawugui   发布时间: 2011-09-24

热门下载

更多