关于ORA-08103 object no longer exists错误,请指教,急

qbhua 2003-09-22 05:02:07
我执行了一个简单的select count(*) from ppp t where t.nai='wap';语句,
ORACLE给我报了ORA-08103 object no longer exists错误,可是
ppp表确实存在的。
请高手指教
...全文
4095 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
hdkkk 2003-09-23
  • 打赏
  • 举报
回复
从现象看,应该是你的表里有坏块了。

用dbms_repaire 检查一下
qbhua 2003-09-23
  • 打赏
  • 举报
回复
这个表是存在的。因为我通过
select * from ppp时会成功。
而select count(*) from ppp时就会报这个ORA-08103 object no longer exists错误
yfjyz 2003-09-23
  • 打赏
  • 举报
回复

"ppp"可能是通过第3方工具从其他数据库导进来的吧?

select count(*) from "ppp" t where t.nai='wap'; 试一下
Drate 2003-09-23
  • 打赏
  • 举报
回复
ORA-08103 object no longer exists

Cause: The object has been deleted by another user since the operation began.

Action: Remove references to the object.

-------------------------------------
这个错误报的是“对象不再存在”
原因是因为在你的这个操作之前,其它用户可能已经删除掉了相关的对象,但并没有删除完全,这时候需要你再去删除你现在操作对象的参考对象,你的操作才可以得以正常继续了。。
chanet 2003-09-22
  • 打赏
  • 举报
回复
是不是用户名不对.(登录到其它的用户去了)
jiezhi 2003-09-22
  • 打赏
  • 举报
回复
先檢察一下:
select * from tab where table_name='ppp';
nicholaz 2003-09-22
  • 打赏
  • 举报
回复
不可能吧,你把这么表贴出来看看
qiuyang_wang 2003-09-22
  • 打赏
  • 举报
回复
你怎么可以确定表一定存在呀?如果表存在,那就是列不存在了。
1、如果你的表名字存在小写字母,这样写就不对了。你可以运行:
select table_name from user_tables;查看当前用户下的表。
如果存在小写字母,则加上双引号,这样写:
select count(*) from "PpP" where ... 其中,第二个字母代表小写字母,一定要与查到的一致。
2、你的表ppp根本不是表,而是同义词。而原表不存在了或权限不够看不到。
3、你跨用户的访问ppp表,而没有访问的权限。
qbhua 2003-09-22
  • 打赏
  • 举报
回复
没有被别人删除掉.:-(
不过数据文件比较大,是不是太大不支持?
hdkkk 2003-09-22
  • 打赏
  • 举报
回复
/opt/oracle>oerr ora 8103
08103, 00000, "object no longer exists"
// *Cause: the object has been deleted by another user since the operation
// began
// *Action:
/opt/oracle>

是不是被别人删除了?

17,086

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧