日期:2014-05-17  浏览次数:20899 次

着急,一个导出的文件有5G,可是数据文件最大不能超过4G,如何导入??(解决问题追加50分)
问题1:一个导出的文件很大,当我创建一个4G的表空间以后(最大不能超过4G吧),在导入时,最后没有导入完就提示空间不足了,如何能实现完全导入????

-------------------------------------------
问题2:在导入文件时   提示  
。。。。。。。。。。。。
imp-00003:遇到oracle错误959
ora-00959:表空间 'AAA '不存在
。。。。。。。。。。。。。。

难道我只能在表空间AAA中才能完全导入么????




------解决方案--------------------
你可以把数据库导到几个不同的数据表空间中去呀
也就是说一个数据库中的数据可以存在几个不同的文件当中的
这样你就可以绕过你的问题了呀
------解决方案--------------------
呵呵,可以给那个表空间再增加一个数据文件啊。
ALTER TABLESPACE ** ADD DATAFILE 'D:\**.DBF ' SIZE 4000M AUTOEXTEND ON
------解决方案--------------------
为表空间加文件就行了,并限制单个文件的大小,以防超过操作系统的限制。
记得Ntfs格式的文件大小的限制在4G以上,但fat32的文件较小。
------解决方案--------------------
表空间只是一个逻辑上的概念,屏蔽了具体物理文件上的细节差异,这样使用数据库的时候,只需要知道表空间就可以了,就不需要知道具体创建在哪个文件里了
所以,第一个数据文件满了,会自动往第二个文件里面导入的

偶一般是一个应用(开发机器上的)对应一个表空间,一个表空间下面有多个数据文件,嘎嘎,习惯了


------解决方案--------------------
如果我创建了2个数据文件,导入文件时 ,当第一个满了以后自动会往第二个文件里导入么?????

准确的说,如果一个表空间有两个数据文件,而且都没有100%的使用率,那么数据会分别写进两个数据文件,而不是楼上有朋友说的先写满一个再写另外一个。


还有 一个表空间创建多个数据文件好呢,还是创建多个表空间而每个表空间一个文件好呢???

至于数据文件的数量,不能一刀切,主要根据你的数据量而定。对于windows平台来说一般2G以内都可以只用一个数据文件(AIX可以考虑8G一个文件),当使用率达到一定时(如80%),手工增加数据文件。尽量不要依赖oracle的自动扩展功能(注意,是不要依赖而不是不要使用,为了安全,一般还是开启自动扩展的,主要还是加强平时监控。)