您好:IMP-00003: 遇到 ORACLE 错误 1659
ORA-01659: 无法分配超出 301 的 MINEXTENTS (在表空间 NNC_DATA03 中)我现在的表空间四个了,为什么每次导入全是占用NNC_DATA03.DBF
表空间名                          总空间M  剩余空间M    使用率%
------------------------------ ---------- ---------- ----------
NNC_INDEX03                         23600        740      96.86
UNDOTBS1                              290        276       4.83
SYSAUX                                360         12      96.67
NNC_INDEX02                           800        290      63.75
NNC_DATA04                          30720      30720          0
USERS                                 276         70      74.64
SYSTEM                                560          5      99.11
NNC_INDEX01                          5200       1630      68.65
NNC_DATA01                          30720      26588      13.45
NNC_DATA02                          20480      19815       3.25
NNC_DATA03                          32768        632      98.07表空间名                          总空间M  剩余空间M    使用率%
------------------------------ ---------- ---------- ----------
NNC_INDEX04                           500        500          0

解决方案 »

  1.   

    假设你导入的用户名称是user1SELECT * FROM DBA_USERS WHERE USERNAME='user1'你看看这个用户的默认表空间是什么??
    要修改的话
    就用 alter user user1  default tablespace tablespace_name
    就可以修改这个用户user1的默认表空间了
      

  2.   

    -- 不管你有多少个表空间,当前用户的默认表空间只有一个,当你创建表的时候,若不指定tablespace参数,
    -- 将默认将表创建在你的用户的默认表空间下,要在非默认表空间下创建对象,可以类似如下:
    create table tb_name(
      col1 number,
      col2 varchar2,
     ...
    )
    tablespace tablespace_name;
      

  3.   

    楼上兄弟您好:
    我的用户,默认表空间为NNC_DATA01,我当时建用户时就默认为NNC_DATA01了,可是导入数据确实是不管你建什么用户,你默认为NNC_DATA01,导入数据还是进NNC_DATA03
      

  4.   

    -- ORA-01659: 无法分配超出 301 的 MINEXTENTS (在表空间 NNC_DATA03 中)-- 从上面信息可以看到,你当前用户已经超过了其在表空间 NNC_DATA03 中的使用限额,
    -- 可以在sys用户下修改类似如下:
    sys@SZTYORA> alter user lym quota unlimited on p2;用户已更改。-- 上面语句表示用户 lym 对表空间p2的空间使用不受限制,你还可以限制为300M,如下:
    sys@SZTYORA> alter user lym quota 300M on p2;用户已更改。-- 当用户lym在p2表空间中创建的表所占用的空间总量超过300M后,
    -- 再次用lym用户在p2表空间中创建新表将失败!
    -- 而且也可能在原(属于p2表空间的原表)上执行插入操作也失败!
      

  5.   

    楼上兄弟,我照您的改了,建了用户导入还是一样啊,愁啊!
    我建用户的语法:CREATE USER MTH_NCDB_2011 IDENTIFIED BY a DEFAULT TABLESPACE NNC_DATA01 TEMPORARY TABLESPACE temp;GRANT connect,dba to MTH_NCDB_2011;commit ;表空间名                          总空间M  剩余空间M    使用率%
    ------------------------------ ---------- ---------- ----------
    NNC_INDEX03                         23600        740      96.86
    UNDOTBS1                            25220      24561       2.61
    SYSAUX                                360         10      97.22
    NNC_INDEX02                           800        290      63.75
    NNC_DATA04                          30720      30720          0
    USERS                                 276         70      74.64
    SYSTEM                                560          5      99.11
    NNC_INDEX01                          5200       1630      68.65
    NNC_DATA01                          30720      26588      13.45
    NNC_DATA02                          20480      19815       3.25
    NNC_DATA03                          32768        632      98.07表空间名                          总空间M  剩余空间M    使用率%
    ------------------------------ ---------- ---------- ----------
    NNC_INDEX04                           500        500          0
      

  6.   

    把表移动到另外一个表空间:
    ALTER TABLE table_Name SET TABLESPACE tablespace_Name;ALTER TABLE table_Name Move TABLESPACE tablespace_Name;
      

  7.   

    导入的时候仍然会按照导出的表空间导入。
    如果使用impdp,那么可以使用remap_tablespace选项,指定不同的tablespace。或者扩大你的tablespace,不也一样解决问题吗?