问:我在UNIX–Solaris系统中输出一个Oracle 9i数据库,并将它输入到Windows服务器中的Oracle 9i数据库当中。我在windows服务器端使用Enterprise Management Console来进行输入与输出。输出文件大约300MB。 输出的文件没什么问题,然而当输入文件时,目标数据库中的数据文件大小超出了我的预期并将硬盘空间都填满了。
原始数据文件只有1GB大小。我空闲的硬盘空间有28GB,应该足够了。在输入最先的28个表时只有大概2500行数据,数据文件大小有8GB。 我哪里出了问题? 答:当你输出表单内容时,Oracle会看一下表单大小并生成一……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
问:我在UNIX–Solaris系统中输出一个Oracle 9i数据库,并将它输入到Windows服务器中的Oracle 9i数据库当中。我在windows服务器端使用Enterprise Management Console来进行输入与输出。输出文件大约300MB。
输出的文件没什么问题,然而当输入文件时,目标数据库中的数据文件大小超出了我的预期并将硬盘空间都填满了。原始数据文件只有1GB大小。我空闲的硬盘空间有28GB,应该足够了。在输入最先的28个表时只有大概2500行数据,数据文件大小有8GB。
我哪里出了问题?
答:当你输出表单内容时,Oracle会看一下表单大小并生成一个至少和表单范围一样大的CREATE TABLE声明。根据你目标数据库的表空间分配规则,你的表单输入大小会大于输出大小。为避免发生这种情况,运行以下输入语句:
imp file=my_dump.dmp full=y show=y log=create.sql |
以上语句可以生成一个create.sql文件,在生成表单时,这个文件包含了Oracle可以执行的SQL 语句。使用这个文件可以在目标数据库中precreate一个预期大小的表单。然后输入IGNORE=Y。
作者
Techtarget旗下Searchoracle网站的资深专家,有16年IT行业经验、计算机科学硕士、专攻数据库方向,曾担任系统管理员等职。此外,他还获Oracle 7.3、8和8i的OCP数据库管理员证书,目前为SGT Inc.公司首席DBA。
翻译
相关推荐
-
Oracle中的pfile和spfile详解
SPFILE是二进制文档,能够使用RMAN进行备份,这样实际上Oracle把参数文档也纳入了备份恢复管理。
-
如何在Oracle中用非默认方式创建外键
创建外键约束时如果使用Oracle默认的创建方式,在删除被参照的数据时,将无法被删除,这一点在Oracle9i中给了我们更多灵活的选择。
-
Oracle Merge into 详细介绍
通过MERGE语句,根据一张表或子查询的连接条件对另外一张表进行查询,连接条件匹配上的进行UPDATE,无法匹配的执行INSERT。
-
能否在Windows 64位OS上运行Oracle 9i
能否在Windows 64位操作系统上安装Oracle 9i数据库和Oracle Forms 6i?Oracle专家给出了自己的见解。