/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>是不是被别人删除了?

解决方案 »

  1.   

    你怎么可以确定表一定存在呀?如果表存在,那就是列不存在了。
    1、如果你的表名字存在小写字母,这样写就不对了。你可以运行:
    select table_name from user_tables;查看当前用户下的表。
    如果存在小写字母,则加上双引号,这样写:
     select count(*) from "PpP" where ... 其中,第二个字母代表小写字母,一定要与查到的一致。
    2、你的表ppp根本不是表,而是同义词。而原表不存在了或权限不够看不到。
    3、你跨用户的访问ppp表,而没有访问的权限。
      

  2.   

    先檢察一下:
    select * from tab where table_name='ppp';
      

  3.   

    ORA-08103 object no longer existsCause: The object has been deleted by another user since the operation began. Action: Remove references to the object. -------------------------------------
    这个错误报的是“对象不再存在”
    原因是因为在你的这个操作之前,其它用户可能已经删除掉了相关的对象,但并没有删除完全,这时候需要你再去删除你现在操作对象的参考对象,你的操作才可以得以正常继续了。。
      

  4.   


    "ppp"可能是通过第3方工具从其他数据库导进来的吧?select count(*) from "ppp" t where t.nai='wap'; 试一下
      

  5.   

    这个表是存在的。因为我通过
    select * from ppp时会成功。
    而select count(*) from ppp时就会报这个ORA-08103 object no longer exists错误
      

  6.   

    从现象看,应该是你的表里有坏块了。用dbms_repaire 检查一下