| | |
| | |
摘 要 本文主要从系统级别的改变、init.ora参数的改变、import选项的改变三个方面 来介绍如何实现提高ORACLE关系数据库系统的import实用工具的性能,对广大ORACLE系统管理 Import和Export是ORACLE数据库系统的两个配套的实用程序,Export把数据库中的数 据卸出到操作系统文件中,而Import实用程序则把Export卸出的数据恢复到数据库中。import 过程有时要花费几个小时甚至几天时间才能成功地完成。不幸的是,在许多情况下,import需 要对数据库进行故障的恢复,这时对时间的要求比较高,因而这种性能是不能胜任的。笔者在 从事ORACLE 7系统管理工作两年期间,总结出有几个基本的参数改变可以减少import所需的时 一、 系统级别的改变 1?在重建数据库时尽可能增大DB_BLOCK_SIZ参数。块的大小越大,所需I/O循环的 次数就越少。这种改变是永久性的,因此在修改它的时候应考虑到各种可能的影响。 2?建立并使用一个大的rollback段,同时将其他rollback段关闭(offline)。一个 rollback段大约需要最大的表(table)的50%的大小就足够了。 3?在import完成之前将数据库置于NOARCHIVELOG模式。这将减少创建和管理 4?与rollback段一样,创建几个大的重做日志文件(redo log files),越大越好。 关闭一些小的重做日志文件。重做日志文件越大,所需的日志切换的次数就越少。检查警告日 志信息如“Thread 1 cannot allocate new log,sequence 17,Checkpoint not complete”, 5?如果可能,尽量将rollback段、表数据和重做日志文件分布在不同的硬盘上。这 二、 intr.ora参数的改变 1?将LOG_CHECKPOINT_INTERVAL的值置为大于重做日志文件的大小。这个值通常以操 作系统的块大小来定义(UNIX系统大多是512字节)。这样可以将检查点checkpoint)减小到最 2?增大SORT_AREA_SIZE的值。这种增加取决于机器中其他活动进程的状况以及还有 多少可用的空闲内存。我们可以试5-10次来寻找一个最佳值。若机器开始交换(swapping)及 三、 import选项改变 1?置COMMIT=N。这将导致import在每个对象(如table)结束之后提交(commit),而 非缓冲区满提交。这就是我们为什么需要一个大的rollback段。 2?采用一个大的BUFFER值。这个值要视系统活动状况、数据库大小等情况而定。通 常几兆字节就够了,但是若有足够的内存这个值还可更大些。同样,我们可以查看页面和交换 的情况来确定这个值是否太大。这将减少import进程到文件中读取数据的次数(每次它将读取 3?置INDEXES=N。这将加快导入无索引表的速度。采用INDEXFILE选项,在数据导入 _SIZE值要足够大。 作者单位:中国银行福建省分行(福州350005)
| |
|
|
| |
| |
|