Oracle 11G,Linux 200GB 空间。一些文件已经占用了大约 25GB。
我收到了一个.dmp
50GB 的“”文件,为了执行导入,我创建了一个带有 100GB 的 bigdatafile 的 bigtablespace(因为我认为这已经足够了)。
导入命令:
imp user/pwd full=Y log=/home/oracle/log.txt file=/usr/oracle/public/dump.dmp
但是在导入大量表并向其中插入大量数据后,我收到以下错误消息:
IMP-00017: following statement failed with ORACLE error 603: "CREATE UNIQUE INDEX "PR_TABLE1" ON "TABLE1" ("TABLE1_ID" , "ROW_NUM" , "COL_NUM" ) " " PCTFREE 10 INITRANS 2 MAXTRANS 255 STORAGE(INITIAL 4294967294 FREELISTS 1 " "FREELIST GROUPS 1 BUFFER_POOL DEFAULT) NOLOGGING" IMP-00003: ORACLE error 603 encountered ORA-00603: ORACLE server session terminated by fatal error ORA-01114: IO error writing block to file 201 (block # 1719438) ORA-27072: File I/O error Linux-x86_64 Error: 25: Inappropriate ioctl for device Additional information: 4 Additional information: 1719438 Additional information: 114688 ORA-01114: IO error writing block to file 201 (block # 1719438) ORA-27072: File I/O error Linux-x86_64 Error: 25: Inappropriate ioctl for device Additional information: 4 Additional information: 1719438 Additional info IMP-00017: following statement failed with ORACLE error 3114: "BEGIN SYS.DBMS_EXPORT_EXTENSION.SET_IMP_SKIP_INDEXES_OFF; END;" IMP-00003: ORACLE error 3114 encountered ORA-03114: not connected to ORACLE IMP-00000: Import terminated unsuccessfully
“临时”数据文件消耗了大约 15GB。
根据我在网上阅读的有关试图扩展自身的数据文件的内容,它似乎空间不足。Linux 显示大约 8GB 可用空间,但可能会将它们保留用于其他用途。
问题是:有没有办法让我知道我应该给硬盘驱动器多少空间才能成功实现导入???
之所以问这个是因为上传“.dmp”文件到服务器需要很长时间,创建“.dbf”文件并实现导入需要更多时间。
客户不知道此信息。我不是 Oracle DBA,但我曾经成功地将 .Net 应用程序连接到 Oracle 数据库,所以现在我应该是这里的专家。