日期:2014-05-16  浏览次数:20787 次

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

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

------解决方案--------------------
查询一下日志.
更改以下内容中的'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;

------解决方案--------------------
查询语句贴出来看看,是是否变量造成的?