oracle 重做日志文件和归档日志解析
- 格式:ppt
- 大小:1.34 MB
- 文档页数:81
oracle 归档日志解析摘要:一、归档日志概述二、归档日志的作用三、归档日志的解析方法四、归档日志解析的应用场景五、总结与建议正文:随着大数据时代的到来,Oracle 数据库归档日志在各行各业中发挥着越来越重要的作用。
本文将对归档日志进行简要概述,分析其作用,介绍解析方法,并讨论应用场景。
最后给出总结与建议。
一、归档日志概述Oracle 归档日志(Archive Log)是一种用于记录数据库事务日志的技术。
它可以将数据库中的更改操作(如插入、更新和删除)记录下来,以便在出现故障时恢复数据。
归档日志采用增量方式记录,即每次更改操作后,日志文件会逐步变大。
二、归档日志的作用1.数据恢复:归档日志可以在数据库发生故障时,用于恢复数据至故障发生前的状态。
2.数据审计:归档日志可以记录所有对数据库的更改操作,方便审计人员追溯和分析数据变更原因。
3.性能优化:通过分析归档日志,可以找出数据库性能瓶颈,为优化数据库性能提供依据。
三、归档日志解析方法1.手工解析:通过编写SQL 语句或使用第三方工具,查询归档日志文件内容,分析日志中的数据。
2.使用Oracle 提供的事件解析工具:如DBMS_LOGSTD.REPORT 等,可以方便地生成归档日志的报表和统计数据。
3.使用第三方归档日志分析工具:如Oracle 的Partner 产品OraInsight 等,可以提供更丰富的归档日志分析功能。
四、归档日志解析的应用场景1.数据库故障排查:通过分析归档日志,可以找出导致数据库故障的原因,快速恢复业务。
2.性能监控与优化:分析归档日志中的SQL 语句执行情况,找出性能瓶颈,优化数据库性能。
3.数据审计与追溯:归档日志可以记录所有数据变更操作,方便审计人员分析和追溯数据变更原因。
4.数据库安全分析:通过分析归档日志,可以监控数据库访问权限和操作,提高数据库安全。
五、总结与建议归档日志在数据库管理中具有重要意义。
对于数据库管理员而言,应充分利用归档日志进行故障排查、性能优化和数据审计等工作。
重做日志文件重做日志文件记录的两类数据:1.修改前的数据2.修改后的数据当满足一定条件时先将修改操作所产生的重做记录写入重做日志文件中,然后才将内存中的修改结果成批的写入数据文件,最后在提交事务重做日志文件是由重做记录组成的,重做记录是由修改向量组成的。
当用户执行一条update 语句对某一个表中的记录进行修改时,会生成一条记录,这条记录用多个向量记录下了被这条语句修改过的各个db块中的信息。
重做记录采用循环的方式在SGA区的重做日志缓存区中进行缓冲,并且由后台进程LGWR 写入到其中的某个重做日志文件中。
用户无论何时提交事务,LGWR都会将该事务的重做记录从SGA的重做日志缓存区写入到某个重做日志文件中,并且为提交的每个事务分别分配一个识别重做记录的系统修改编号。
只有当与已知事务相关的所有重做记录都安全的写入重做日志文件后,用户进程才被告之已经提交。
LGWR进程在开始写入下一个重做日志文件之前,必须确保这个即将覆盖的重做日志文件已经完成了如下的工作:1.如果数据库处于“非归档日志模式(noarchivelog)”,则该重做日志文件中的所有重做记录所对应的修改结果,必须全部被写入到数据文件中。
2.如果数据库处于“归档日志模式(archivelog)”,则该重做日志文件中的所有重做记录所对应的修改结果,必须全部被写入到数据文件中,并且归档进程ARCH已经将该重做日志文件进行了归档。
活动的,非活动的,当前的联机重做日志文件LGWR当前写入的重做日志文件称为当前的联机重做日志文件,例程恢复时需要的重做日志文件称为活动的重做日志文件,例程恢复时不需要的重做日志文件称为非活动的重做日志文件。
如果已经能够进行归档,oracle就不能重新使用或重写活动的重做日志文件,知道ARCH 存储了这个文件的内容。
如果不能进行归档,当最后一个重做日志文件被填满是时,将通过重写的方法继续使用第一个可用的活动重做日志文件。
日志切换1.当一个重做日志文件被完全填满,必须填写下一个联机重做日志文件2.手动强制执行日志切换强制切换日志,需要有alter system权限,使用alter system switch logfile强制切换日志顺序号没次发生日志切换和LGWR开始进行填写时,oracle都会为每个联机重做日志文件分配一个新的日志序列号重做日志文件的归档归档就是在重做日志文件被覆盖之前,将该重做日志文件通过复制操作系统文件的方式,保存到指定的位置。
数据库归档模式介绍简介:归档日志(Archive Log)是非活动的重做日志备份.通过使用归档日志,可以保留所有重做历史记录,当数据库处于ARCHIVELOG模式并进行日志切换时,后台进程ARCH会将重做日志的内容保存到归档日志中,当数据库出现介质失败时,使用数据文件备份,归档日志和重做日志可以完全恢复数据库。
在Oracle10g中,只要启动数据库的归档模式,Oracle就会启用自动归档,从而避免了10g以前由于用户疏忽所带来的一系列问题。
日志操作模式:ARCHIVELOG(归档),NOARCHIVELOG(非归档)启动Oracle10g数据库的归档模式详细步骤对于非归档模式的数据库改为归档模式(主要以Oracle 10g为参考)使用以下步骤:步骤1(查看数据库的归档状态)首先查看数据库现有模式可使用以下语句,显示数据库处于非归档模式下SQL> select name,log_mode from v$database;NAME LOG_MODE--------- ------------ZHQHDB NOARCHIVELOG也可以用下面的语句[oracle@wangdm ~ 10:28 #9]$ sqlplus / as sysdbaSQL> archive log listDatabase log mode No Archive ModeAutomatic archival DisabledArchive destination ?/dbs/archOldest online log sequence 534Current log sequence 536步骤2(设置归档日志文件路径)SQL>alter system set log_archive_dest_1='location=/u01/arch';该语句含义是设置归档日志文件的存放路径,实际上Oracle 10g以后可以生成多份一样的日志,保存多个位置以防不测例如再添加一个归档日志文件存放位置可使用以下语句SQL>alter system set log_archive_dest_2='location=/u02/arch ';“location=/u01/arch”此目录是要从根目录开始的一个完整的目录详细介绍归档日志文件的存放的两种方法:步骤3(修改数据库为归档模式)关闭数据库SQL> shutdown immediate启动数据mount状态:SQL> startup mount修改数据库为归档模式:SQL> alter database archivelog;打开数据库,查询:SQL> alter database open步骤4(配置归档进程个数)可选初始化参数LOG_ARCHIVE_MAX_PROCESSES用于指定例程初始启动的最大归档进程个数,当将数据库转变为ARCHIVELOG模式时,默认情况下oracle会自动启动两个归档进程.通过改变初始化参数LOG_ARCHIVE_MAX_PROCESS的值,可以动态地增加或降低归档进程的个数,每个实例归档进程数量最多只能为30个取值范围为[0-9 a-t]: ALTER SYSTEM SET LOG_ARCHIVE_MAX_PROCESSES=3 scope=both; 如果设置的归档进程个数超过30如下图会有错误提示其实对于oracle 10g以前的版本还有log_archive_start参数与LOG_ARCHIVE_MAX_PROCESSES结合使用,但是对于10g及后期的版本这个参数完全做废了,如下图数据库已启用归档同时在日志发生切换时日志也会自动归档只是log_archive_start参数值还是false,所以到10G后这个参数就不用理它了步骤5(显示归档日志信息)1.使用ARCHIVE LOG LIST命令可以显示日志操作模式,归档位置,自动归档机器要归档的日志序列号等信息.2.显示归档日志信息.Select name, sequence#, first_change# FROM v$archived_log;Name用于表示归档日志文件名,sequence#用于表示归档日志对应的日志序列号,firs_change#用于标识归档日志的起始SCN值.3.执行介质恢复时,需要使用归档日志文件,此时必须准确定位归档日志的存放位置.通过查询动态性能视图v$archive_dest可以取得归档日志所在目录.SELECT * FROM v$archive_dest;4.显示日志历史信息SELECT * FROM v$loghist;THREAD#用于标识重做线程号,SEQUNCE#用于标识日志序列号,FIRST_CHANGE#用于标识日志序列号对应的起始SCN值,FIRST_TIME用于标识起始SCN的发生时间.SWICTH_CHANGE#用于标识日志切换的SCN值.5.显示归档进程信息.进行日志切换时,ARCH进程会自动将重做日志内容复制到归档目录中,为了加快归档速度,应该启用多个ARCH进程.通过查询动态性能视图V$ARCHIVE_PROCESSES可以显示所有归档进程的信息!SELECT * FROM v$archive_processes;Porcess用于标识ARCH进程的编号,status用于标识ARCH进程的状态(ACTIVE:活动, STOPPED:未启动),log_sequence用于标识正在进行归档的日志序列号,state用于标识ARCH进程的工作状态步骤6(执行手工归档)从oracle database 10g开始,当将日志操作模式转变未ARCHIVELOG模式时,oracle会自动启动ARCH进程.如果要使用手工归档.那么在改变日志操作模式时必须使用命令ALTER DATABASE ARCHIVELOG MANUAL;需要注意,使用手工归档方式,数据库管理员必须手工执行归档命令.如果没有执行手工归档命令,日志组的原有内容将不能被覆盖.ALTER DATABASE ARCHIVELOG MANUAL 命令是为了与先前的版本兼容而保留的,将来的oracle版本会淘汰该命令,使用手工归档方式时,数据库管理员可以执行以下命令归档重做日志:alter system archive log all; --手动归档所有switch的日志alter system archive log sequence 545; --545为日志序列号alter system archive log current; --归档当前联机日志文件arter database archivelog; --用此命令再次将数据库改为自动归档,手动归档一般情况下在10g及后期版本其实已经没什么了注意点1 特别指出的是在Oracle 9i中还要修改参数log_archive_start = true才能生效,oracle 10g中已经废除了该参数,所以不需要设置该参数。
Oracle归档日志(Archive Log 一)归档日志即重做日志的备份,使用归档日志的目的是为了实现介质恢复。
一.日志操作模式1.Noarchivelog(非归档模式)不保存重做日志。
不能在open状态下进行物理备份;要定期执行完全数据库备份;只能将数据库恢复到上次的完全备份点。
2.Archivelog当进行日志切换时,ARCH进程会将重做日志的内容复制到归档日志中。
在归档重做日志前,新事务变化不能覆盖旧事务变化。
可以在open 状态下进行物理备份。
可以将数据库恢复到失败前的状态。
可以是用备份数据库与主数据库保持同步。
二.开启归档1.改变日志操作模式shutdown immediate;startup mount;alter database archivelog;alter database open;修改日志操作模式后,必须重新备份数据库2.归档重做日志1).手工归档alter system archive log all;2).自动归档设置初始化参数:log_archive_start=trueshutdown immediate;startup pfile=.3).检查日志操作模式archive log list;三.指定归档位置1.使用log_archive_dest1).设置归档目录log_archive_dest log_archive_duplex_dest 2).设置归档日志格式2.使用log_archive_dest_n1).指定归档位置log_archive_dest_1=’location=f:\arc1’log_archive_dest_3=’service=standby’2).设置其他初始化参数log_archive_dest_state_1=enablelog_archive_dest_state_3=defer四.相关的一些脚本1.显示日志操作模式select log_mode from v$database2.显示归档日志信息select name,sequence#,first_change# from v$archived_log3.显示归档日志位置select destination from v$arvhive_dest4.显示日志历史信息select * from v$loghist;Oracle中的归档日志(Archive Log 二)在Oracle中,数据一般是存放在数据文件中,不过数据库与Oracle 最大的区别之一就是数据库可以在数据出错的时候进行恢复。
Oracle 特殊类型文件Oracle 还提供了其他一些类型的文件,如参数文件、归档日志文件、跟踪和密码文件等。
本节将对这些类型的文件进行简单地介绍。
1.归档日志文件Oracle 利用重做日志文件记录对数据库所做的修改,但是重做日志文件是以循环方式使用的,在重新写入重做日志文件时,其中原来保存的信息将被覆盖。
如果能够将所有的重做记录永久地保留下,就可以完整地记录数据库的全部修改过程。
这可以通过对重做日志文件进行归档来实现。
在重做日志文件被覆盖之前,Oracle 能够将已经写满的重做日志文件通过复制操作系统文件的方式保存到指定的位置。
保存下来的重做日志文件的集合称为“归档重做日志”,复制的过程称为“归档”。
Oracle 数据库可以运行在两种模式之中,归档模式和不归档模式。
只有数据库处于归档模式下,系统才会对重做日志文件执行归档操作,归档操作是由后台进程ACRn 自动完成。
当数据库运行在归档模式下,归档重做日志文件会占用大量的硬盘空间。
也就是说,数据库在归档模式下是牺牲硬盘空间来获取数据的安全性。
2.参数文件在Oracle 数据库系统中,参数文件包含了数据库的配置信息。
数据库实例在启动之前,Oracle 数据库系统首先会读取这些参数文件中设置的参数,并根据初始化参数文件中设置的参数来配置实例的启动。
参数文件包括文本参数文件和服务器参数文件两种类型。
在Windows 平台中,服务器参数文件的名称格式为SPFILE<SID>.ora ,文本参数的名称格式为init<SID>.ora ,其中SID 为数据库实例名。
用户可以通过如下三种方法查看数据库中参数值:● 查看init<SID>.ora 文件。
该参数文件是以文本形式存储参数,用户可以直接打开该参数文件查看数据库参数。
● 查询视图V$PARAMETER 。
可利用该动态性能视图来确定参数的默认值是否修改过,以及是否可以用ALTER SYSTEM 和ALTER SESSION 命令修改。
Oracleredo与undoUndo and redoOracle最重要的两部分数据,undo 与redo,redo(重做信息)是oracle在线(或归档)重做⽇志⽂件中记录的信息,可以利⽤redo重放事务信息,undo(撤销信息)是oracle在undo段中记录的信息,⽤于撤销或回滚事务。
1 redo重做⽇志⽂件redo log,是数据库的事务⽇志,oracle维护着2类重做⽇志,在线重做⽇志⽂件和归档重做⽇志⽂件,归档⽇志⽂件就是重做⽇志的副本,系统将⽇志⽂件填满时arch进程会在另⼀个位置建⽴⼀个在线重做⽇志的副本每个oracle数据库⾄少有2个重做⽇志组,以便切换⽇志,每个⽇志组⾄少有1个⽇志组成员,这些在线重做⽇志⽂件是以循环写的⽅式使⽤,2 undo你对数据库执⾏修改时,数据库会⽣成undo信息,以便回滚到更改前的状态,undo⽤于取消⼀条语句或⼀组语句的作⽤,undo在数据库内部存放在⼀组特殊的段中,为undo段(回滚段 rollback segment),利⽤undo,数据库只是逻辑的恢复到原来的样⼦,所有修改都逻辑的取消,但是数据结构以及数据块本⾝在回滚后可能不⼤相同,对于undo⽣成对于直接路径操作不适⽤,直接路径操作能够绕过表上的undo⽣成。
SQL>set autotrace traceonly statisticsSQL>select*from t;--not first executeno rows selectedStatistics----------------------------------------------------------0 recursive calls0 db block gets3 consistent gets0 physical reads0 redo size995 bytes sent via SQL*Net to client374 bytes received via SQL*Net from client1 SQL*Net roundtrips to/from client0 sorts (memory)0 sorts (disk)0 rows processedSQL>insert into t select*from all_objects;49789 rows created.SQL>rollback;Rollback complete.SQL>select*from t;no rows selectedStatistics----------------------------------------------------------0 recursive calls0 db block gets689 consistent gets -----I/O0 physical reads0 redo size995 bytes sent via SQL*Net to client374 bytes received via SQL*Net from client1 SQL*Net roundtrips to/from client0 sorts (memory)0 sorts (disk)0 rows processedInsert导致⼀些块增加到表的⾼⽔位线(HWM),这些块没有因为回滚⽽消失,select extent_id, bytes, blocks from user_extentswhere segment_name = 'X' order by extent_id; 分配给表的存储空间—这个表没有使⽤任何区段3 undo 跟redo如何协作尽管undo信息存储在undo表空间或undo段中,但也会受到redo保护,会把undo信息当成表数据或索引数据⼀样,对undo的修改会⽣成⼀些redo,将记⼊重做⽇志,将undo数据增加到undo段中,并像其他部分的数据⼀样,在缓冲区缓存中得到缓存Insert-update-delete场景3.1 insertInsert语句,都会⽣成redo跟undo信息,插⼊发⽣后,如下图缓存了⼀下已修改的undo块,索引块和表数据块,这些块得到重做⽇志缓冲区相应条⽬的保护1假象现在系统崩溃,sga全部被清空,但是我们不需要sga的中的任何内容,重启动时就好像这个事务就没发⽣过,没有将任何修改的块刷新输出到磁盘,也没有任何redo信息刷新输出到磁盘,我们不需要这些undo或redo信息来实现实例失败恢复2假象:缓冲区缓存已满Dbwr进程要把已修改的块从缓存输出到磁盘,⾸先要求lgwr进程将保护这些数据库的redo条⽬输出到磁盘,dbwr在将任何修改的块输出到磁盘之前,都必须要求lgwr进程先刷新输出到redo⽇志,3.2 updateUpdate所带来的⼯作与insert⼤体⼀样,不过undo信息量更⼤,update,要保存系统的前映像,缓冲区中会有更多的undo块,为了撤销update,如果必要,已修改的数据库表和索引都会存在缓存中,其中重做⽇志有的已经输出到磁盘,有的还在redo buffer 中1 系统崩溃:启动时,oracle会读取重做⽇志,给定系统的当前状态,利⽤重做⽇志⽂件中对应的插⼊的redo条⽬,并利⽤仍在缓冲区中对应的redo条⽬,oracle会前滚插⼊,连接断开,oracle发现事务从未提交,因此将其回滚,利⽤undo,2 应⽤回滚事务Oracle发现这个事务的undo信息可能缓存在undo段中,也肯能已经刷新输出到磁盘,会把und信息应⽤到缓存中的数据和索引上,不在缓存中,则先要读⼊到缓存,恢复其原来的⾏,并刷新输出数据⽂件,回滚过程不涉及重组⽇志,只有恢复和归档才会读取重做⽇志,重做⽇志是⽤来写的,不⽤于读,3 deleteDelete 会⽣成undo⽇志,块将被修改,并把redo⽇志发送到重做⽇志缓冲区,与update类似4 commit已经修改的块放在缓冲区缓存中,可能已经输出到磁盘,重做这个事务所需的全部redo都安全的存放在磁盘上,undo信息会⼀直存在,除⾮undo段回绕并重⽤了这些undo块,4 提交和回滚处理Commit:commit并没有做太多的⼯作,Commit开销,频繁提交,会增加与数据库的往返同学,如果每个记录都提交,⽣成的往返通信量会⼤得多,每次提交时,必须等待redo写到磁盘,这会导致等待在commit之前可能:已经在sga中⽣成了undo 块,已经在sga中⽣成了已修改的数据块,已经在sga中⽣成了对应的2想的redo信息,取决于前3项的⼤⼩,已经这些花费的时间,前⾯的数据可能已经输出到磁盘,已经得到全部锁需要的锁在实际commit时, 1为事务⽣成⼀个scn(系统改变号),scn⽤于保证事务的顺序,并⽀持失败恢复,scn还⽤于保证数据库中的读⼀致性和检查点,每次有⼈commit,scn都会增加1。
oracle 日志归档原理Oracle数据库日志归档(Archive Log Mode)是数据库管理系统中用于实现数据库可恢复性的重要机制。
在归档模式下,Oracle数据库会将已填满的联机重做日志文件的内容复制到单独的归档日志文件中,并且只有在当前的日志内容被安全地归档后,才会覆盖或重新使用这些联机重做日志。
以下是Oracle日志归档的基本原理:1.联机重做日志:•Oracle数据库运行时会产生一系列的联机重做日志文件(Online Redo Logs),这些文件按照日志组的方式组织,每个日志组内包含一个或多个日志成员。
•当数据库执行事务处理时,所有对数据库的修改都会以重做记录的形式写入当前活动的日志组中。
2.日志切换:•随着数据库操作的进行,当前日志组填满后,会触发日志切换(Log Switch),即系统开始往下一个日志组中写入新的重做记录。
•在非归档模式下,旧的日志组可以被覆盖和重复使用;而在归档模式下,必须先将旧日志组的内容归档才能进行切换。
3.归档过程:•归档是由后台进程ARCn (Archiver) 自动完成的,或者管理员可以通过手动方式将填满的联机重做日志文件复制到指定的归档位置。
•归档日志文件具有与原始联机日志相同的逻辑内容,并带有唯一的日志序列号(Log Sequence Number, LSN),以便在恢复过程中确定应用重做记录的顺序。
4.作用:•在发生故障需要恢复数据库时,通过应用归档日志中的重做记录,可以将数据库状态恢复到故障发生前的任意时间点(Point-in-Time Recovery, PITR)。
•对于数据库镜像、数据保护以及维护高可用性环境如Data Guard(物理/逻辑standby数据库)也是至关重要的。
oracle归档日志解析出来的内容oracle归档日志解析的重要性为什么要解析oracle归档日志?•归档日志是oracle数据库中非常重要的组成部分,记录了数据库中发生的各种操作和变更。
•通过解析归档日志,可以还原数据库中的历史操作,用于数据恢复、数据库迁移、性能优化等方面。
归档日志的结构•归档日志由一系列日志块组成,每个日志块存储了一条数据库操作的详细信息。
•日志块包含了操作类型、操作对象、事务ID、时间戳等重要信息,可以通过解析这些信息还原数据库的操作。
解析归档日志的方法1.使用oracle提供的工具–oracle提供了一系列工具,如LogMiner和Data Pump,用于解析归档日志。
这些工具可以直接操作日志文件,提取其中的信息。
2.使用第三方工具–也可以使用第三方工具,如Redgate SQL Log Rescue和ApexSQL Log,来解析和分析归档日志。
解析归档日志的应用场景1.数据恢复–当数据库遭遇意外故障或数据损坏时,通过解析归档日志可以还原数据到故障发生前的状态,避免数据丢失。
2.数据库迁移–在数据库迁移过程中,解析归档日志可以帮助将源数据库中的操作应用到目标数据库中,实现平滑的迁移过程。
3.性能优化–通过分析归档日志,可以查看数据库中的各种操作和变更,从而帮助识别潜在的性能问题并进行优化。
解析归档日志的注意事项•解析归档日志是一个复杂的过程,需要充分了解oracle数据库的结构和日志记录方式。
•解析大量的归档日志会占用大量的系统资源,需要注意对系统性能的影响。
结论通过解析oracle归档日志,可以获得数据库操作的详细信息,用于数据恢复、数据库迁移和性能优化等方面。
但是解析归档日志需要一定的专业知识和技术手段,并且要注意对系统性能的影响。
因此,在进行归档日志解析时,建议使用合适的工具并专业人士的指导。
解析oracle归档日志的步骤步骤一:准备工作•确保数据库已启用归档模式,日志文件已正确配置,并且归档日志已经生成。
Oracle中最易忽视的两个重要进程在Oracle数据库中有两个进程非常的渺小,但是其作用却是非常的巨大。
由于其比较小而往往被数据库管理员所忽视。
笔者这次就给大家提醒提醒,不要忽视了这两个进程的作用。
如果利用的好的话,会减少系统管理员不少的工作。
一、系统监视进程SMON这个进程对于Oracle数据库来说,可以利用一句话来概括,即人小鬼大。
其负责的内容并不是很多,但是对于数据的安全与数据库的性能却有很关键的作用。
如随着表空间中的数据不断的建立、删除、更新等等,在表空间中难免会产生碎片。
由于这些碎片的存在,数据库的性能会逐渐的降低。
而现在系统监视进程SMON的作用,就可以解决这些碎片。
SMON 进程会将各个表空间的空闲碎片合并在一起,让数据库系统更加容易分配。
从而提高数据库的性能。
另外,在数据库运行的过程中,会因为断电或者其他的原因而发生故障。
此时由于数据高速缓存中的脏缓存块还没有来得及写入到数据文件中,从而导致数据的丢失。
在数据库启动的时候,系统监视进程SMON会在下一次启动例程的时候,自动读取重做日志文件并对数据库进行恢复。
也就是说,进行将已提交的事物写入数据文件(已经写入到日志文件中而没有写入到数据文件中的数据)、回退未提交的事务操作。
可见,SMON进程在Oracle 数据库中是一个比较小但是却非常重要的角色。
在管理这个进程的时候,笔者认为主要需要注意两个问题。
一是其启动的时机。
一般情况下,例程重新启动的时候,会启动这个系统监视进程。
然后在这个例程运行期间,这个进程也会被系统定期的唤醒,然后其会检查是否有工作需要其完成。
最重要的是,在有需要的时候,数据库管理员可以通过其他进程来启动这个SMON系统系统监视进程,来完成一些特定的工作。
第二需要注意表空间配置对这个进程的影响。
在表空间管理中,有一个参数叫做PCTINCREASE。
如果将这个参数设置为0的话,则这个SMON系统监视进程对于这个表空间的作用就要打折扣了。