Oracle 也有错误?

[复制链接]
查看11 | 回复9 | 2005-2-28 12:57:00 | 显示全部楼层 |阅读模式
谁能解释怪现象?
我运行SAP R/3 的 SE93 事务查“SCOM”事务码,结果是存在的:
SAPComm:Configration
屏幕字段分别来自表 TSTC 和 TSTCT 。
说明上述 SAPComm:Configration 来自 TSTCT 表,它确实存在。
我再用 system 登录 Oracle SQL Worksheet
然后用 SQL 语言执行查询:
SQLWKS> select * from sapr3.tstct where tcode='SCOM';
S TCODE
TTEXT

- -------------------- ------------------------------------
D SCOM
SAPcomm: konfiguration

E SCOM
SAPcomm: Configuration

F SCOM
SAPcomm : configuration & monitorage
P SCOM
SAPcomm: configura玢o

S SCOM
SAPcomm: Configuraci髇

5 rows selected.
再用 select * from sapr3.tstct;
检查后发现,输出结果中竟然没有上面五条 SCOM 有关的记录!
Oracle 数据库竟然也有这样的错吗?
既然 Oracle 能出这样的错,各位发现过它出其他的错吗?
世界顶尖数据库能出这样的丢失数据的错,还怎么信任它呢?
又还能信任什么呢?
大惑不解!
我的工作环境是 SAP R/3 4.0B ,NT,Oracle 8.0.5.4

回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
请问熟悉 Oracle 的朋友,你们发现过它出丢数据的错吗?
请熟悉 Oracle 公司职员的朋友,转告 Oracle 公司。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
你说的清楚一点。要么是你自己delete了数据,要么是是你执行的SQL什么的有些什么问题。
把两个过程的详细情况和结果都贴出来。
Oracle虽然有几千个Bug,但是不至于这样吧


回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
用的是同一个 Oracle SQL Worksheet
写两条 SQL 分别执行:
SQLWKS> select * from sapr3.tstct where tcode='SCOM';
SQLWKS> select * from sapr3.tstct;
前一条语句执行后,查出 5 条记录,说明上述记录肯定存在:
S TCODE TTEXT
- -------------------- ------------------------------------
D SCOM SAPcomm: konfiguration
E SCOM SAPcomm: Configuration
F SCOM SAPcomm : configuration & monitorage
P SCOM SAPcomm: configura玢o
S SCOM SAPcomm: Configuraci髇
5 rows selected.
后一条不加限制条件的查询语句,输出大量数据,但检查后
发现,输出结果中竟然没有上面五条 SCOM 有关的记录!
还不清楚吗?
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
那你select *from sapr3.tstct wgere ttext like 'SAPcomm:%'呢?
你看我的:
SQL> select * from sapr3.tstct where tcode='SCOM';
S TCODE
TTEXT
- -------------------- ------------------------------------
D SCOM
SAPcomm: konfiguration
E SCOM
SAPcomm: Configuration
1 SCOM
SAP命令: 配置颗息
SQL> select * from sapr3.tstct where ttext like 'SAPcomm:%';
S TCODE
TTEXT
- -------------------- ------------------------------------
D SCOM
SAPcomm: konfiguration
D SKRT
SAPcomm: Routing-Test
E SCOM
SAPcomm: Configuration
E SKRT
SAPcomm: Routing test
1 SKRT
SAPcomm: 路由测试
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
那你select *from sapr3.tstct wgere ttext like 'SAPcomm:%'呢?
你看我的:
SQL> select * from sapr3.tstct where tcode='SCOM';
S TCODE
TTEXT
- -------------------- ------------------------------------
D SCOM
SAPcomm: konfiguration
E SCOM
SAPcomm: Configuration
1 SCOM
SAP命令: 配置颗息
SQL> select * from sapr3.tstct where ttext like 'SAPcomm:%';
S TCODE
TTEXT
- -------------------- ------------------------------------
D SCOM
SAPcomm: konfiguration
D SKRT
SAPcomm: Routing-Test
E SCOM
SAPcomm: Configuration
E SKRT
SAPcomm: Routing test
1 SKRT
SAPcomm: 路由测试
我估计是记录太多了,呢找不到了。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
正是当查询语句返回数据比较多时,出了丢数据的毛病。
而且,当数据很多是,速度也很慢,有次我从一个表中不加任何条件查出83万条记录,十足用了好几个小时!
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
什么版本的Oracle?平台,版本,Patch版本。
你先把你的测试结果贴出来。
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
One of possible reason is that some indexes in your table sapr3.tstct are corrupted; you may drop all sapr3.tstct indexes and rebuild it to check the result again.Some time no criteria where may use Index Full scan to retrieve records, if that index is corrupted, miss records problem may happen.
回复

使用道具 举报

千问 | 2005-2-28 12:57:00 | 显示全部楼层
One of possible reason is that some indexes in your table sapr3.tstct are corrupted; you may drop all sapr3.tstct indexes and rebuild it to check the result again.Some time no criteria where may use Index Full scan to retrieve records, if that index is corrupted, missing records problem may happen.
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行