Oracle数据库中的两个进程

数据库 Oracle
在Oracle数据库中,我们根据实际中需要启动的多个归档进程ARCH。在Oracle数据库中,当我们启动多个归档进程时分为手工与自动两个方式。

以下的文章主要是在Oracle数据库中提供一些方法来提高归档作业的效率,如果你对这些相关的方法有所了解的话,会对你在Oracle数据库方面的知识有所了解,以下是文章的具体介绍,望你浏览完以下的内容会有所收获。

一是可以增加归档进程的个数。在默认情况下,一个例程只会启动一个归档进程ARCH。当ARCH进程正在归档一个重做日志文件时,任何其他的进程都不能够访问这个重做日志文件。如果在Oracle数据库中,可以根据需要启动多个归档进程ARCH。在Oracle数据库中,启动多个归档进程时分为手工与自动两个方式。

为了提高重做日志文件归档的速度,当用户进程发生比较长时间的等待时, LGWR进程会根据时机情况来自动启动多个归档进程。在Oracle数据库中其最多可以启动十个归档进程。另外如果数据库管理员在部署数据库的时候,估计日志归档作业会影响到数据库的性能,就可以手工来启动多个归档进程。

这是通过初始化参数LOG_ARCHIVE_MAX_PROCESSES确定的。可以将这个参数设置为大于1 的数值(注意不能够超过9个归档进程)。如此的话,数据库在创建例程的时候就会启动多个归档进程。不过笔者还是倾向于让数据库系统来自动管理这个进程。数据库管理员***不要干涉。

另外需要注意,这个ARCH归档进程个数与DBWR进程个数的区别。默认情况下,DBWR进程也只有一个。为了提高数据库的性能,可以根据情况增加这个DBWR进程的个数。不过其增加时受到CPU数量的限制,即一个DBWR进程需要使用一个独立的CPU。如果想启动三个DBWR进程的话,就必须采用3个CPU处理器。

而对于ARCH归档进程来说,则没有这个限制。即使只有一个CPU处理器,其也可以启动三个甚至更多的ARCH进程。

二是增加重做日志文件来延长归档日志进程启动的时间间隔。通常情况下,只有当前一个重做日志文件写满、需要进行日志切换的时候,才会触发这个ARCH归档日志进程。所以如果重做文件比较大,其日志切换的时间间隔就会延长。则ARCH归档日志进程的启动时间间隔业会比较长。

所以说,通过调整重做日志文件的大小,可以延长归档进程启动的时间间隔。从而降低因为归档进程启动而对数据库性能造成的负面影响。

三是在数据库初始化的过程中,可能需要导入大量的数据。此时会对数据库中的数据进行大量的插入、删除、更新等操作,从而导致重做日志文件切换频繁。这就会导致数据库需要频繁启动ARCH归档进程。数据库大量的更新操作、重做日志文件(LGWR进程)、归档重做日志文件(ARCH)进程之间就形成了一条无形的链条。

由于“蝴蝶效应”,从而降低了数据库的性能。为此在必要的时候,需要砍断这跟链条,以提高数据库的性能。如可以在数据大量导入、更新、删除的时候,不往日志文件中插入记录,或者临时增加重做日志文件的空间。如此的话,在进行这些操作时就可以避免进行重做日志切换或者延长重做日志切换的时间间隔。

从而ARCH归档日志进程也可以避免或者延长其时间间隔,从而提高数据库的性能。当数据库初始化完成之后,再将其恢复过来。这些临时性的调整虽然比较麻烦,但是却可以提高数据库的性能。为此笔者认为这是值得的。

可见以上两个进程在Oracle数据库中其作用虽然有限,但是却跟数据库的性能息息相关。在日常操作中,灵活使用这个两个进程的特性,就可以提高某些操作的速度。这比通过优化SQL语句等方法来提高数据库性能要简单的多。为此笔者建议各位数据库管理员,这两个进程虽然小,但是其作用不可忽视。数据库管理员要对这两个进程引起重视。

【编辑推荐】

  1. Oracle 删除后重新安装的具体方法
  2. Oracle内存结构研究的相关内容介绍
  3. Oracle 数据库的并行执行的实际操作
  4. Oracle数据库的安装与配置流程示例
  5. 对Oracle绑定变量的实际操作
责任编辑:佚名 来源: 博客园
相关推荐

2011-03-11 15:49:52

Oracle数据库

2010-04-29 16:36:19

Oracle数据库

2011-04-15 10:21:07

Oracle数据库运算

2010-04-21 13:52:17

Oracle数据库性能

2010-03-30 10:18:45

Oracle数据库

2009-12-03 11:10:32

SMONARCHOracle

2010-04-27 16:31:41

Oracle数据库

2010-07-06 12:34:28

SQL Server数

2019-07-31 08:03:45

Oracle数据库巡检脚本

2010-04-08 13:55:18

Oracle数据处理

2011-05-24 10:54:15

数据库重复数据删除

2010-04-09 16:40:01

Oracle数据库

2010-03-29 17:43:32

2011-08-24 10:45:23

Oracle数据库进程从属进程

2010-04-02 08:56:08

Oracle数据库体

2011-08-24 10:31:10

Oracle数据库进程后台进程

2010-07-08 13:48:38

同步两个SQLServ

2011-03-25 11:13:15

Oracle数据库进程

2010-04-21 16:21:27

Oracle数据库

2011-08-24 10:15:55

Oracle数据库服务器进程
点赞
收藏

51CTO技术栈公众号