首页 > 数据库 > Oracle > oracle的2G问题解决
今天有个老兄问起oracle exp的时候2G的问题,就是有个表的数据很多,超过了2G,直接导出的时候失败。我就想起在中国电信总部做南北长途结算备份的事情。就仔细了解了一下。
这个问题不单单是exp,在imp,sqlldr的时候都可能出现,并且windows会出现,unix下面也可能出现。
[@more@]为什么2G是个特殊的数字?是因为cpu以及api使用的是32位的字长,那么2的32次方是多少?2G!
那么怎么解决导出的问题呢?
有如下几种办法:
1、导出到裸设备上 ,要求裸设备的大小必须能够容纳整个导出文件
2、使用管道
3、导出到磁带
4、导出到多个文件中。
比较适合windows操作系统的可能只有方法4了。这个要求要事先评估好最终的导出文件的总的大小,然后按不到2G的大小分割成不同的文件个数。
这里主要说一下方式2的使用
mknod yourfile.dmp p
compress
exp usrename/password file=yourfile.dmp buffer=40960000 tables=(...)
导入的时候也比较类似。
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/47869/viewspace-822147/ ,如需转载,请注明出处,否则将追究法律责任。