公司的每天有大量的txt文件要通过sqlloader导入到oracle10g数据库,每天产生的日志量有几十g,造成导入数据时大量的等待是等待日志commit类型的等待。考虑到这个数据库是做为数据仓库分析用的,对数据完整性要求不太高,我考虑启用“_disable_logging" 参数,来降低日志产生量。这个参数是动态参数
sql >alter system set “_disable_logging" = true scope= memory;
修改后一两天之内,导入速度快2倍以上,但是第三天开始alter文件里面就开始有
ORA-00600 [6749], [6], [12616350] [][][]这样的错误了,平均每小时产生一次,在google上搜索了一片文章,只说是一个update 的bug,在8.1后版本已经修复了。又找了n多介绍这个“_disable_logging"参数的资料,都是说这个参数慎用,建议只在测试环境下使用。我怀疑这个参数使用会带来bug,尤其是大数据量操作的时候,日志是oracle中一个关键进程,如果取消的话,可能对他的数据操作逻辑带来影响,小数据量的操作也许没事,大数据量的更新操作可能爆发出bug。
把数据库用exp导出后,重建数据库,禁用“_disable_logging"参数,用了半个月一切正常。
sql >alter system set “_disable_logging" = true scope= memory;
修改后一两天之内,导入速度快2倍以上,但是第三天开始alter文件里面就开始有
ORA-00600 [6749], [6], [12616350] [][][]这样的错误了,平均每小时产生一次,在google上搜索了一片文章,只说是一个update 的bug,在8.1后版本已经修复了。又找了n多介绍这个“_disable_logging"参数的资料,都是说这个参数慎用,建议只在测试环境下使用。我怀疑这个参数使用会带来bug,尤其是大数据量操作的时候,日志是oracle中一个关键进程,如果取消的话,可能对他的数据操作逻辑带来影响,小数据量的操作也许没事,大数据量的更新操作可能爆发出bug。
把数据库用exp导出后,重建数据库,禁用“_disable_logging"参数,用了半个月一切正常。