exp的时候表的记录没有了吗?如果没有应该是被人为的删除了,数据库自己不会去删数据的

解决方案 »

  1.   

    你可以用pl/sql 的工具查看一下有没有内容,如果有的话就应该没有删除,这些列是不能在命令行显示的!
      

  2.   

    你的数据还在,只是表中的有些数据没有办法显示罢了,在oracle中lob,raw,long raw 等类型的数据是没法通过sql*plus进行直接显示的,你可以试一下(select count(*) from your_table;),这样就可以知道数据表中是否包含数据库。另外你说导出的时候也没有数据是吗?在默认情况下作数据库的导出是不包括数据的,只导出所有记录的定义,你如果想把数据一起倒出的话需要加一个参数 rows=yes
      

  3.   

    EXP默然  rows=yes  ,你用"c:\EXP HELP=Y" 就知道了select count(lob字段) from table_name ;看看是否还存在记录,不能使用COUNT(*)因为SQL> create table a (a varchar2(10));Table created.SQL> insert into a values (null);1 row created.SQL> c/null/1
      1* insert into a values (1)
    SQL> /1 row created.SQL> commit;Commit complete.SQL> select * from a;A
    ----------1SQL> select count(*) from a; COUNT(*)
    ---------
            2SQL> ed
    Wrote file afiedt.buf
      1* select count(a) from a
    SQL> / COUNT(A)
    ---------
            1SQL>