今天在自己的电脑上在给数据库导入表结构及数据时报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了!
以上内容,仅供参考!
如有错误,欢迎指正!