首页
学习
活动
专区
圈层
工具
发布

【基础知识】Oracle核心进程(PMON、SMON、DBWn、LGWR、CKPT)

本文主要总结的是五个核心后台进程(PMON、SMON、CKPT、DBWn、LGWR),理解这些进程的概念是Oracle学习的内功,是TroubleShooting和优化的基础,以下内容参考了Oracle...在 Oracle RAC 数据库中,一个数据库实例的 SMON 进程可以为另一个失败的实例执行实例恢复。 在实例恢复期间, 由于读文件或表空间脱机错误而跳过的已终止事务,由 SMON 进行恢复。...当表空间或文件重新联机时, SMON 将恢复该事务。 清理未使用的临时段。例如, Oracle 数据库在创建索引时会分配扩展区。如果操作失败,则 SMON 会清理临时空间。...很多情况下,有些条目表示的可能是已经删除的对象,或者表示“not there”的对象(not there对象是Oracle依赖关系机制中使用的一种对象)。要由smon进程来删除这些不再需要的行。...,在之后Oracle会将没有提交的数据进行回滚。

5.9K51
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    索引重建失败的解决

    在Oracle中创建索引,尤其是大的热表索引(存在很多的活动事务),如果在创建过程中出现异常,例如会话中断(OS层面kill-9),可能会导致Oracle数据字典内已经包含了该索引的信息(诸如像在ind...调用dbms_repair存储过程的online_index_clean函数,参数就是上面的索引对象号,这个函数从Oracle 10.2开始支持,在10.2以前,需要等待SMON自己完成清理的工作, This...This action is also performed periodically by SMON, regardless of user-initiated cleanup....进程每60秒尝试一次清理,但是在highly active的数据库,存在很多活动的事务,导致SMON无法以NOWAIT获得对象锁,进而需要等待很久的时间,才能完成清理,在此之前,就无法执行索引重建的工作...因此,才需要这个函数,代替SMON,执行手工清理,清除临时信息。

    1.3K10

    【每日一摩斯】-Troubleshooting: High CPU Utilization (164768.1) - 系列2

    后台进程 Oracle用户进程 和Oracle无关的操作系统进程 僵尸进程 后台进程: PMON: 当清理进程或在监听注册时,PMON进程占用CPU较高资源的主要原因可能是某个BUG。...SMON: SMON进程负责空间整合与交易恢复,如果使用的是字典管理表空间,那么可能会产生巨大的消耗。...下面的文章可以提供更多的信息,以及如何排错: Note:61997.1 SMON - Temporary Segment Cleanup and Free Space Coalescing SMON负责的恢复操作也能消耗很高的...下面的文章解释了SMON什么时候执行恢复操作以及如何做: Note:414242.1 Database Hangs Because SMON is taking 100% CPU doing transaction...recovery  SMON可以并行地执行交易恢复。

    57830

    【DB笔试面试530】在Oracle中,有哪些重要后台进程?

    图 3-10 Oracle的进程结构 1、USER PROCESS(用户进程) 用户进程指的是Oracle客户端进程,是连接到 Oracle DB的应用程序或工具。...3、BACKGROUND PROCESSES(后台进程) 后台进程是Oracle的程序,在Oracle实例启动的时候启动,用来管理数据库的读写,恢复和监视等工作,例如PMON、SMON等进程。...() A、Archiver Process(ARCn):1,2,5B、System Monitor Process(SMON):1,4,5 C、Process Monitor Process(PMON)...本题描述中的1,将检查点记录在文件头属于CKPT的作用,2中在数据库启动的时候执行恢复操作属于SMON的作用,3中清理未使用的临时段也属于SMON的作用,4中释放用户的资源属于PMON的作用,5中动态注册数据库属于...对于选项B,4和5不属于SMON的作用。所以,选项B错误。 对于选项C,4、5和6都是PMON的作用。所以,选项C正确。 对于选项D,1、3和4都不是DBWn的作用。所以,选项D错误。

    1.6K30

    在Oracle中,实例恢复和介质恢复的区别是什么?

    Q 题目 在Oracle中,实例恢复和介质恢复的区别是什么? A 答案 Redo日志是Oracle为确保已经提交的事务不会丢失而建立的一种机制。...当下次启动实例时,Oracle会由SMON进程自动进行实例恢复。实例启动时,SMON进程会去检查控制文件中所记录的、每个在线的、可读写的数据文件的End SCN号。...在数据库实例崩溃时,Oracle还来不及更新该字段,则该字段仍然为NULL。当数据库再次启动时,SMON进程发现该字段为空时,就知道实例在上次没有正常关闭,于是由SMON进程就开始进行实例恢复了。...Oracle数据库使用检查点位置,保证每个低于其SCN的已提交更改都已保存到磁盘。Oracle数据库应用Undo块,以回滚数据块中在实例失败前写入的或前滚过程中引入的未提交更改。...Oracle数据库可以根据需要同时回滚多个事务。 总结一下,前滚和回滚是Oracle数据库实例发生意外崩溃,重新启动的时候,由SMON进行的自动恢复的过程。

    2.5K20
    领券