当前位置:  数据库>oracle

Oracle SMON进程的操作流程

    来源: 互联网  发布时间:2017-03-25

    本文导语: Oracle数据库中值得我们学习的地方有很多,在这篇文章里我们主要讲述的是Oracle SMON进程,主要介绍的是归档进程ARCH等一些方面的知识。我们大家都知道在Oracle数据库中有两个进程非常的渺小,但是其作用却是非常的巨大。 由...

Oracle数据库中值得我们学习的地方有很多,在这篇文章里我们主要讲述的是Oracle SMON进程,主要介绍的是归档进程ARCH等一些方面的知识。我们大家都知道在Oracle数据库中有两个进程非常的渺小,但是其作用却是非常的巨大。

由于其比较小而往往被数据库管理员所忽视。笔者这次就给大家提醒提醒,不要忽视了这两个进程的作用。如果利用的好的话,会减少系统管理员不少的工作。

一、系统监视进程SMON

这个进程对于Oracle数据库来说,可以利用一句话来概括,即人小鬼大。其负责的内容并不是很多,但是对于数据的安全与数据库的性能却有很关键的作用。如随着表空间中的数据不断的建立、删除、更新等等,在表空间中难免会产生碎片。由于这些碎片的存在,数据库的性能会逐渐的降低。而现在系统监视进程SMON的作用,就可以解决这些碎片。

Oracle SMON进程会将各个表空间的空闲碎片合并在一起,让数据库系统更加容易分配。从而提高数据库的性能。另外,在数据库运行的过程中,会因为断电或者其他的原因而发生故障。此时由于数据高速缓存中的脏缓存块还没有来得及写入到数据文件中,从而导致数据的丢失。

在数据库启动的时候,系统监视进程SMON会在下一次启动例程的时候,自动读取重做日志文件并对数据库进行恢复。也就是说,进行将已提交的事物写入数据文件(已经写入到日志文件中而没有写入到数据文件中的数据)、回退未提交的事务操作。可见,Oracle SMON进程是一个比较小但是却非常重要的角色。

在管理这个进程的时候,笔者认为主要需要注意两个问题。一是其启动的时机。一般情况下,例程重新启动的时候,会启动这个系统监视进程。然后在这个例程运行期间,这个进程也会被系统定期的唤醒,然后其会检查是否有工作需要其完成。最重要的是,在有需要的时候,数据库管理员可以通过其他进程来启动这个SMON系统系统监视进程,来完成一些特定的工作。

第二需要注意表空间配置对这个进程的影响。在表空间管理中,有一个参数叫做PCTINCREASE。如果将这个参数设置为0的话,则这个SMON系统监视进程对于这个表空间的作用就要打折扣了。在设置为0的情况下,SMON进程就不会对这个表空间中的空闲碎片进行整理、合并操作。也就是说,需要数据库管理员通过数据的导出导入等手工操作,才能够解决表空间的碎片问题。

显然这会增加数据库管理员的工作量。为此笔者建立,除非有特别的需要,不要将这个参数设置为0。让Oracle SMON进程自动对表空间中的碎片进行管理,自动合并表空间中的空闲碎片。不过如果某个表空间这个参数设置为0的话,不会影响到系统监视进程的其他用途,如不会影响到在例程非正常关闭时对数据的恢复操作。

即即使这个参数设置为0 ,在有需要的时候其仍然可以利用重做日志文件中的记录来恢复相关的数据。


    
 
 

您可能感兴趣的文章:

  • Oracle 10G进程体系学习笔记
  • oracle查看被锁的表和被锁的进程以及杀掉这个进程
  • 通过进程id号知道一个Oracle会话所占用的内存
  • Oracle数据库后台进程的功能分析
  • Oracle中最易忽视的两个重要进程
  • 小技巧 Oracle杀死死锁进程问题的解决
  • Oracle数据库进程数与会话数的更改
  • top 显示的%MEM 是什么意思呢?我把这些值加起来超过了100%,这怎么回事呢?(我运行oracle,它的多个进程加起来就超过了。。。)
  • Oracle查看和修改连接数(进程/会话/并发等等)
  • ORACLE实例的后台进程
  • 如何查询占CPU高的oracle进程
  • 探讨:Oracle数据库查看一个进程是如何执行相关的实际SQL语句
  • Oracle技术平台助力数字化城市管理进程
  • Oracle 后台进程初探
  • oracle sql执行过程(流程图)
  • Oracle数据库安装配置流程示例详细解析
  • Oracle中DBMS_SQL解析SQL语句的流程
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • ORACLE日期相关操作
  • Linux下如何用C语言操作Oracle数据库相关的图书推荐
  • Oracle终于涉入支持Linux操作系统了
  • Linux平台下Oracle的操作
  • linux c 怎样利用pro*c/c++操作 win2000 下 oracle 谢谢
  • Window客户端通过ADO是否能够连接和操作Unix平台下的Oracle数据库?
  • Oracle将字符编码从GBK转到UTF8,如何操作比较稳妥?
  • 如何设定linux red hat 9的oracle9,让window的电脑可以操作数据库
  • linux oracle数据库删除操作指南
  • Linux环境中Oracle数据导入与导出备份操作
  • Oracle针对数据库某一行进行操作的时候,如何将这一行加行锁
  • oracle的plsql里有没有位操作的功能
  • fedora core5 (FC5) 下面不能装 Oracle 10g 么? (检查操作系统就通不过啊,晕)
  • Linux操作系统下Oracle数据库多实例启动方式及修改内存
  • 怎样在c语言的代码里内嵌的操作oracle数据库,各位大虾谢谢了
  • 一个关于JAVA操作oracle数据库时UPDATE权限的问题
  • Oracle中操作分页
  • Oracle 数据库操作技巧集
  • secureCRT远程连接服务器操作oracle数据库出现的问题
  • 请教各位:JAVA操作ORACLE的问题 急!!!
  • 学习登录oracle数据库时常用的操作命令
  • Oracle 12c发布简单介绍及官方下载地址
  • 在linux下安装oracle,如何设置让oracle自动启动!也就是让oracle那个服务自动启动,不是手动的
  • oracle 11g最新版官方下载地址
  • 请问su oracle 和su - oracle有什么不同?
  • Oracle 数据库(oracle Database)Select 多表关联查询方式
  • 虚拟机装Oracle R12与Oracle10g
  • Oracle数据库(Oracle Database)体系结构及基本组成介绍
  • Oracle 数据库开发工具 Oracle SQL Developer
  • 如何设置让Oracle SQL Developer显示的时间包含时分秒
  • Oracle EBS R12 支持 Oracle Database 11g


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3