Oracle数据库导入imp命令导入时1659错误处理

今天在自己的电脑上在给数据库导入表结构及数据时报1659错误,错误如下:

  IMP-00017:由于oracle错误1659,以下语句失败:

  “create table “T_TELETE”

  ..........

  IMP_00003: 遇到 ORACLE 错误 1659ORA-01659: 无法分配超出 6 的 MINEXTENTS (在表空间 HWITS_1中)

经大量查找。。。。。。发现

  从公司导出的dmp文件初始化分配表空间的值过大造成的!!!

那么,就要修改自己本地的表空间大小了。

修改表空间大小:

ALTER DATABASE  DATAFILE 'D:\oraclexe\oradata\WWW\UTDP.DBF'(表空间存储路径) AUTOEXTEND ON NEXT 100M MAXSIZE UNLIMITED;

查询表空间是否具有扩展能力:
SELECT T.TABLESPACE_NAME,D.FILE_NAME,D.AUTOEXTENSIBLE,D.BYTES,D.MAXBYTES,D.STATUS
FROM DBA_TABLESPACES T,DBA_DATA_FILES D
WHERE T.TABLESPACE_NAME =D.TABLESPACE_NAME
ORDER BY TABLESPACE_NAME,FILE_NAME;

导入文件时,有时会出现

此种情况,别急,在数据库中输入:

 select 'alter table '||table_name||' allocate extent;' from user_tables where num_rows=0 
就能查询出未导入的命令:

那么,再把这些命令复制粘贴出来,在逐条执行一遍就ok了!

以上内容,仅供参考!

如有错误,欢迎指正!

原文地址:https://www.cnblogs.com/aa6055blog/p/4425789.html