本人执行oracle数据库还原操作时抱错
Imp infodba/infodba@tceng file=tceng20081028.dmp fromuser=infodba touser=infodba commit=y ignore=y buffer=5000000
IMP-00017: 由于 ORACLE 错误 1652, 以下语句失败:
 "CREATE UNIQUE INDEX "PIPOM_BACKPOINTER" ON "POM_BACKPOINTER" ("FROM_UID" , "
 ""TO_UID" )  PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 83886080 FRE"
 "ELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT) TABLESPACE "IDATA" LOGGING"
IMP-00003: 遇到 ORACLE 错误 1652
ORA-01652: 无法通过 128 (在表空间 TEMP 中) 扩展 temp 段
IMP-00017: 由于 ORACLE 错误 20000, 以下语句失败:
 "BEGIN  DBMS_STATS.SET_INDEX_STATS(NULL,'"PIPOM_BACKPOINTER"',NULL,NULL,NULL"
 ",1266305,9645,1266305,1,1,500781,2,6); END;"
IMP-00003: 遇到 ORACLE 错误 20000
ORA-20000: INDEX "INFODBA"."PIPOM_BACKPOINTER" does not exist or insufficient pr
ivileges
ORA-06512: 在 "SYS.DBMS_STATS", line 2121
ORA-06512: 在 "SYS.DBMS_STATS", line 5393

解决方案 »

  1.   

    第一个错,是你的temp表空间不能自动扩展了吧?空间没有设置自动增长?磁盘空间不足?检查下看看.
    第二个错,后面的你看看你的infodba有哪些权限?
      

  2.   

    1、磁盘空间足够
    2、infodba的system权限有 alter any procedure ; alter any table ; create any table ; create any view;create any procedure ; create any index; create session ; query rewrite ; unlimit tablespace;  
    role 权限有 :connect ; exp_full_database; imp_full_database ; resource ; select_catalog_role感觉是temp表空间不能自动扩展,请问怎么设置?求教,呵呵
      

  3.   

    你新建个临时表空间,重新指定infodba用户临时表空间为新建的临时表空间。试下
    CREATE 
        TEMPORARY TABLESPACE newtemp TEMPFILE 
        'd:\oracle\product\10.2.0\oradata\newtemp.ora' SIZE 128M (按需要设定)
        AUTOEXTEND 
        ON NEXT  1M MAXSIZE UNLIMITED EXTENT MANAGEMENT LOCAL UNIFORM
        SIZE 1M;
    alter user infodba temporary tablespace newtemp;