oracle导出导入速度慢,增加 exp/imp 导入导出速度

1、加快exp速度

加大large_pool_size,可提高exp速度

可以用direct=y的方法,数据不需经过内存进行整合和检查

设置较大的buffer,因为如果buffer太小,导出大对象会失败

export文件不再oracle使用的驱动器上

不要export到一个NFS文件系统,那样网络会成为瓶颈

UNIX环境:用管道直接导入导出来提高exp/imp的性能

2、加快imp的速度

建立一个indexfile,在数据imp完成后建立索引

将imp文件放在不同的驱动器上

增加DB_BLOCK_BUFFERS

增加LOG_BUFFER

用非归档模式运行ORACLE

建立大的表空间和回滚段。OFFLINE其他回滚段,最好为大表的1/2

commit=n,analyze=n,单用户模式导入

UNIX环境:用管道模式进行直接导入导出

3、通过unix/linux PIPE通道来加快exp/imp速度

通过管道导出数据

1) 通过mknod -p建立管道

$ mknod /home/saisai p // 在目录/home下建立一个管道saisai注意参数p

2)通过exp和gzip导出数据到建立的管道并压缩

$ exp test/test file=/home/saisai & gzip

< /home/saisai > exp.dmp.gz

$ exp test/test tables=bitmap file=/home/newsys/test.pipe

&

gzip < /home/newsys/test.pipe >

bitmap.dmp.gz

3)导出完成后删除管道

rm -rf /export/saisai

4、全库导入的一般步骤

1) 先全库加rows=n把结构导进去

$ imp system/manager file=exp.dmp log=imp.log full=y rows=n

indexes=n

2) 使业务用户的触发器失效/删除主键和唯一索引

spool drop_pk_u.sql

select 'alter table '||table_name||' drop constraint

'||constraint_name||';'

from user_constraints

where constraint_type in ('P','U');

/

spool off

spool disable_trigger.sql

select 'alter trigger '||trigger_name||' disable;'

from user_triggers;

/

spool off

@drop_pk_u.sql

@disable_trigger.sql

3) 以ignore=y全库导入

$ imp system/manager file=exp.dmp log=imp.log full=y ignore=y

4)通过toad或其他工具提取源数据库创建主键和索引的脚本,在目标数据库中创建主键

和索引。使触发器生效。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用 imp 模块导入一个模块时,如果报错返回了错误代码 959,这可能有以下几种情况。 首先,可能是找不到要导入的模块。imp 模块是用来处理模块导入的,当无法找到要导入的模块时,会返回错误代码 959。这可能是因为模块的路径配置有误,或者根本没有安装该模块。 其次,可能是模块中存在语法错误。导入模块时,解释器会去检查被导入模块的语法是否正确。如果发现被导入模块中存在语法错误,解释器会返回错误代码 959。 此外,也可能是执行被导入模块时出现了异常。当执行被导入的模块时,如果遇到了异常,解释器会返回错误代码 959。这可能是因为被导入的模块中存在错误的逻辑或调用其他不存在的函数等。 为了解决这个问题,你可以按照以下步骤来排查: 1. 确认要导入的模块是否存在于系统路径中,可以使用 sys 模块查看当前系统路径。 2. 检查要导入的模块是否存在语法错误,可以尝试直接执行该模块并查看是否有语法错误提示。 3. 检查要导入的模块中是否存在编码错误、命名错误或其他可能导致异常的问题。 4. 如果问题仍然存在,可以尝试重启 Python 解释器或者检查 Python 的版本是否支持所要导入的模块。 总之,错误代码 959 表示 imp 模块导入时遇到了问题,可能是模块路径配置有误、模块语法错误或被导入模块执行时出现异常等。通过排查以上可能的问题,可以解决导入报错 959 的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值