ORACLE 错误 1659,数据库导入dmp临时表空间内存不够

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

 

今儿在自己电脑上搭建开发环境,在给数据库导入表结构以及数据时出现“IMP-00017: 由于 ORACLE 错误 1659, 以下语句失败:”错误。查看表空间是够用的。下面是解决方法(原文链接:http://songworld.diandian.com/post/2012-08-11/40033736039

 

今儿在自己电脑上搭建开发环境,在给数据库导入表结构以及数据时报1659错误,错误内容如下:

IMP-00017: 由于 ORACLE 错误 1659, 以下语句失败:        
"CREATE TABLE "T_DATA_KKCL"
…………
IMP-00003: 遇到 ORACLE 错误 1659ORA-01659: 无法分配超出 6 的 MINEXTENTS (在表空间 HWITS_1中)

第一反应——空间不足?查看发现C盘只有614KB,尼玛!PS:Oracle安装在虚拟机中

百度……Google……

发现是因为从公司导出的dmp文件中初始化分配表空间的值过大造成

解决方法:

1、在导出表结构的时候exp命令加上compress=n,在exp时有个参数COMPRESS主要用于是否将segment的extent在导出时是否合并,在公司导出时没有加这个参数,导致默认合并,也就是说导出时Oracle将表结构的extent合并到一个extent中。

可惜现在不在公司,没法重新导出,只能使用第二种办法。

2、使用imp中的indexfile=xxx.sql参数,将导入语句生成sql,打开后豁然开朗

REM  CREATE TABLE "HWITS"."T_DATA_KKCL" ("CLXXBH" VARCHAR2(18) NOT NULL

REM  ENABLE, "SJLY" VARCHAR2(2), "SJLX" VARCHAR2(1) NOT NULL ENABLE,

REM  "KKBH" VARCHAR2(12) NOT NULL ENABLE, "KKMC" VARCHAR2(50), "CJJG"

REM  VARCHAR2(10) NOT NULL ENABLE, "SBBH" VARCHAR2(16) NOT NULL ENABLE,

REM  "FXBH" VARCHAR2(2) NOT NULL ENABLE, "CDBH" VARCHAR2(2) NOT NULL

REM  ENABLE, "HPHM" VARCHAR2(15) NOT NULL ENABLE, "HPZL" VARCHAR2(2),

REM  "CSYS" VARCHAR2(2), "JGSK" DATE NOT NULL ENABLE, "CLSD" NUMBER(3, 0),

REM  "SJCJ" VARCHAR2(1) NOT NULL ENABLE, "CLZT" VARCHAR2(1), "ZJLX"

REM  VARCHAR2(1), "TXSL" NUMBER(1, 0) NOT NULL ENABLE, "TXLJ1"

REM  VARCHAR2(255) NOT NULL ENABLE, "TXLJ2" VARCHAR2(255), "TXLJ3"

REM  VARCHAR2(255), "YLXX" VARCHAR2(50) NOT NULL ENABLE, "BYZD1"

REM  VARCHAR2(10), "BYZD2" VARCHAR2(10), "BYZD3" VARCHAR2(10), "SFCQ"

REM  VARCHAR2(1)) PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 TABLESPACE

REM  "HWITS" LOGGING PARTITION BY LIST ("YLXX" ) (PARTITION "P1" VALUES

REM  ('01') PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL

REM  1031798784 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

REM  TABLESPACE "HWITS_1" LOGGING NOCOMPRESS, PARTITION "P2" VALUES ('02')

REM  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL

REM  922746880 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

REM  TABLESPACE "HWITS_2" LOGGING NOCOMPRESS, PARTITION "P3" VALUES ('03')

REM  PCTFREE 10 PCTUSED 40 INITRANS 1 MAXTRANS 255 STORAGE(INITIAL

REM  981467136 FREELISTS 1 FREELIST GROUPS 1 BUFFER_POOL DEFAULT)

REM  TABLESPACE "HWITS_3" LOGGING NOCOMPRESS, PARTITION "P4" VALUES ('04')

…………


注意加黑部分,初始化的空间基本都在800M+,我设的临时表空间只有400M,

一鼓作气,修改大小为65536,删掉REM,COPY到PL/SQL DEV里面,F8,OK……只可惜木有注释了。

使用上面的“方法1”,解决了遇到的问题。没有尝试“方法2”。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值