在一个数据库中建立DHM用户,然后创建了tablespace ,temporary.能exp出来dhm用户的信息,可以imp到一个新建的数据据库中时就不行了。会报如下错误:
 IMP-00017: following statement failed with ORACLE error 0:
 "CREATE TABLESPACE "WB_TEMPORARY" DATAFILE  '/home/oracle/dbs/wbtmp1.dbf' SI"
 "ZE 209715200DEFAULT STORAGE (INITIAL 1048576 NEXT 1048576 MINEXTENTS"
 " 2PCTINCREASE 0) ONLINE TEMPORARY"
IMP-00003: ORACLE error 0 encountered
ORA-00000: normal, successful completion
IMP-00017: following statement failed with ORACLE error 959:
 "CREATE USER "DHM" IDENTIFIED BY VALUES '7A7666980D46677F' DEFAULT TABLESPAC"
 "E "WB_TABLESPACE" TEMPORARY TABLESPACE "WB_TEMPORARY""
IMP-00003: ORACLE error 959 encountered
ORA-00959: tablespace 'WB_TEMPORARY' does not exist
创建DHM的脚本如下:
  drop tablespace wb_temporary;
!\rm -f /home/oracle/dbs/wbtmp1.dbf;
create tablespace wb_temporary datafile 
       '/home/oracle/dbs/wbtmp1.dbf' size 200M 
default storage( initial     1m 
 next        1m 
 pctincrease 0
 minextents  2
                 maxextents  505) temporary; drop user dhm cascade;
create user dhm identified by dhm;  
grant connect,resource to dhm; 
alter user dhm  temporary tablespace wb_temporary; drop tablespace wb_tablespace; 
!\rm -f /home/oracle/dbs/wb_tablespace.dbf;
create tablespace wb_tablespace datafile 
       '/home/oracle/dbs/wb_tablespace.dbf' size 800m  
default storage( initial     4m 
 next        4m 
 pctincrease 0
 minextents  2 
 maxextents  505 ) online; drop tablespace wb_tablespace_idx; 
!\rm -f /home/oracle/dbs/wb_tablespace_idx.dbf;
create tablespace wb_tablespace_idx datafile 
       '/home/oracle/dbs/wb_tablespace_idx.dbf' size 400m  
default storage( initial     2m 
 next        2m 
 pctincrease 0
 minextents  2 
 maxextents  505 ) online; alter user dhm default tablespace wb_tablespace; exit;
运行没报错,就行是 imp 时报错,
  语句如下:
  imp system/manager file=dd.dmp full=y commit=y ignore=y 
请各位清点我的datafile 到底是错在哪?我用的的是oracle 7

解决方案 »

  1.   

    dhm这个用户用到了WB_TEMPORARY 临时表空间
    临时表空间创建语句不是那样的
    应该是
    CREATE temporary TABLESPACE "WB_TEMPORARY" tempFILE '/home/oracle/dbs/wbtmp1.dbf'
      

  2.   

    不好意思,oracle 7 好像不支持 
     create temporary tablespace .....
    不行。
      

  3.   

    于是我将  
    create talbespace wb_temporary 
     datefile ....
     storeage (
               ...  ) 后面的 temporary 去掉就能 ,imp并且不报错。不知道这是为什么。
      

  4.   

    oracle 7.
    没注意看到这个。