Oracle数据库imp命令导入时1659错误处理
来源:互联网 发布:手机淘宝店类目怎么改 编辑:程序博客网 时间:2024/04/29 23:39
今儿在自己电脑上搭建开发环境,在给数据库导入表结构以及数据时报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+,我虚拟机的C盘就剩3G了,这不是坑爹么……
一鼓作气,修改大小为65536,删掉REM,COPY到PL/SQL DEV里面,F8,OK……只可惜木有注释了。
附上两篇相关文章
1、Oracle exp compress参数引起的空间浪费
2、Oracle 表空间
- Oracle数据库imp命令导入时1659错误处理
- IMP-00017 Oracle数据库imp命令导入时1659错误处理
- oracle imp 命令导入数据库报 ORACLE error 1658 encountered 错误 --原因是表空间不足。。。。
- Oracle exp/imp导出导入命令及数据库备份
- Oracle exp/imp导出导入命令及数据库备份
- Oracle exp/imp导出导入命令及数据库备份
- Oracle数据库imp,exp导入导出命令(备份与恢复)
- ORACLE创建用户以及IMP命令导入数据库
- oracle导入数据库报错:IMP-00019: 由于 ORACLE 错误 12899 而拒绝行 IMP-00003: 遇到 ORACLE 错误 12899
- oracle数据库exp,imp命令
- IMP-00058: 遇到 ORACLE 错误 1017 导入时登录失败
- oracle的imp导入时覆盖目标数据库
- oracle的imp导入时覆盖目标数据库
- Oracle 导入 IMP-00058错误及其他
- IMP导入错误 IMP-00003: ORACLE error 2298 encountered
- oracle导入导出exp/imp 及imp-00037错误
- oracle的imp导入约束问题处理
- Oracle数据导入导出imp/exp命令
- 修改mysql root密码的几种方法
- java设计模式---原型模式
- guid跟sequence做主键的比较
- [原创]项目svn版本控制中的分支策略
- lte学习
- Oracle数据库imp命令导入时1659错误处理
- 用js的for循环获取radio选中的值
- 表内容自增(主要是填充测试数据用)
- 安装系统时磁盘采用GPT分区形式转换MRP格式
- Linux Shell编程入门
- 利用Flash获取摄像头视频进行动态捕捉
- 关于ORACLE的GUID主键生成
- Apache+PHP+MariaDB开发前配置
- java线程的一个小例子