Wed Nov 03 07:59:05 2021 SMON: Restarting fast_start parallel rollback Exception [type: SIGSEGV,..._20211103075907.trc Instance terminated by PMON, pid = 100111 当SMON重新发起并行回滚时,实例被PMON终止,这里有一个隐藏错误,常常被忽视...: Warm start instance 说明是PMON发现SMON异常而终止的实例。...那么看看SMON trace文件: *** 2021-11-03 07:59:05.420 Parallel Transaction recovery caught error 30317 SMON:.../epmfdp2/cdump' SMON在重新发起回滚时异常之后进程被crash了,最终PMON终止了实例。
本文主要总结的是五个核心后台进程(PMON、SMON、CKPT、DBWn、LGWR),理解这些进程的概念是Oracle学习的内功,是TroubleShooting和优化的基础,以下内容参考了Oracle...在 Oracle RAC 数据库中,一个数据库实例的 SMON 进程可以为另一个失败的实例执行实例恢复。 在实例恢复期间, 由于读文件或表空间脱机错误而跳过的已终止事务,由 SMON 进行恢复。...当表空间或文件重新联机时, SMON 将恢复该事务。 清理未使用的临时段。例如, Oracle 数据库在创建索引时会分配扩展区。如果操作失败,则 SMON 会清理临时空间。...很多情况下,有些条目表示的可能是已经删除的对象,或者表示“not there”的对象(not there对象是Oracle依赖关系机制中使用的一种对象)。要由smon进程来删除这些不再需要的行。...,在之后Oracle会将没有提交的数据进行回滚。
♣ 题目部分 在Oracle中,SYS.SMON_SCN_TIME基表的作用是什么?...实际的SMON_SCN_TIME是一张cluster table簇表。SMON_SCN_TIME基表的数据是由SMON后台进程来维护的。...在Oracle 11g中,该表的创建SQL在$ORACLE_HOME/rdbms/admin/dtxnspc.bsq文件中,可以直接查看: create cluster smon_scn_to_time_aux.../ create unique index smon_scn_time_scn_idx on smon_scn_time(scn) tablespace SYSAUX / 从Oracle 10g开始...//blog.itpub.net/26736162/viewspace-2126407/、http://blog.itpub.net/26736162/viewspace-2148359/ 本文选自《Oracle
Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_smon_12872.trc: ORA-21780: Maximum...Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_smon_12872.trc: ORA-21780: Maximum...Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_smon_12872.trc: ORA-21780: Maximum...Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_smon_12872.trc: ORA-21780: Maximum...Errors in file /oracle/app/oracle/diag/rdbms/anbob/anbob1/trace/anbob1_smon_12872.trc: ORA-21780: Maximum
dgtest ] dgtest ORACLE_HOME is :[ /U01/app/oracle/product/11.2.0.2/db_1 ] Oracle status is :[...List echo 'Oracle Instance is :[ '`ps -ef|grep smon|grep -v grep|awk '{gsub("ora_smon_","",$8)}{print...$8}'|grep -v awk` ] for tmp_db in `ps -ef|grep smon|grep -v grep|awk '{gsub("ora_smon_","",$8)}{print...$8}'|grep -v awk` do echo $tmp_db #Get Oracle Home echo 'ORACLE_HOME is :[' $ORACLE_HOME ' ]'...# Get database role su -l oracle <<EOS export ORACLE_SID=${tmp_db} $ORACLE_HOME/bin/sqlplus -s / as
在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,执行手工清理,清除临时信息。
是否可能是$ORACLE_HOME的问题导致,因为我这个测试环境非常复杂了,$ORACLE_HOME环境有好几个,排查方法如下: $ echo $ORACLE_HOME /U01/app/oracle/...$ ps -ef|grep smon oracle 21033 20481 0 23:11 pts/1 00:00:00 grep smon oracle 26667 1 0...00:05:05 ora_smon_dgtest $ cat /proc/26667/environ|xargs -0 -n1 |grep ORACLE_HOME ORACLE_HOME=/U01/app...$ kill -9 26667 $ ps -ef|grep smon oracle 21575 20481 0 23:14 pts/1 00:00:00 grep smon 原来窗口中就发生了变化...那么ORA-00474是什么错误呢,就是SMON进程终止。
Oracle数据库意外宕机,归档开了,但是归档文件损坏,redo损坏,在强行拉起来之后UNDO报错,设置_corrupted_rollback_segments 跳过不一致的UNDO,重建UNDO表空间..., compatibility */ ) / create index smon_scn_to_time_idx on cluster smon_scn_to_time / create table smon_scn_time...smon_scn_time_scn_idx on smon_scn_time(scn) /SQL> analyze table SMON_SCN_TIME validate structure; SQL...ora-00600 [6002],[a],[b],[c] MOS:ORA-600 [6002] "Index block check" (Doc ID 47449.1) DESCRIPTION: Oracle...Once the correct leaf block is retrieved, Oracle validates the block by checking the data size and number
后台进程 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可以并行地执行交易恢复。
#ps -ef|grep smon root 3657 32596 0 17:37 pts/2 00:00:00 grep smon oracle 5433 1 0...00:45:46 ora_smon_cytj 但是这个时候,奇怪的问题就发生了。...根据smon的进程得到进程号为5433,在/proc/5433下面可以得到一个环境变量的列表。...ORACLE_HOME的路径 然后查看系统环境变量的值$ORACLE_HOME,发现也确实是完全映射的。...$echo $ORACLE_BASE /U01/app/oracle $echo $ORACLE_HOME /U01/app/oracle/product/11.2.0.4 那么ORACLE_SID,ORACLE_HOME
大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看一下 Oracle 通过 SQL 语句查看数据库服务器 IP 地址 话说昨天发布的关于单表分页查询优化的文章,阅读量还不错,可收藏下来遇到分页查询语句直接嵌套就可以了...Oracle 通过 SQL 语句查看数据库服务器 IP 地址,通常有如下几种方法: 数据库 IP 配置如下 host 所示: #public ip 192.168.75.128 jiekexu-r1...(JiekeXu1)$ ps -ef | grep ora_smon | grep -v grep oracle 10780 1 0 14:32 ?...00:00:00 ora_smon_JiekeXu1 jiekexu-r1:/home/oracle(JiekeXu1)$ ps -ef | grep ora_smon | grep -v grep...| awk -F" " '{print $8}'| awk -F"_" '{print $3}' JiekeXu1 通过 shell 命令查看 IP jiekexu-r1:/home/oracle
(GEN0) ORACLE.EXE (DIA0) ORACLE.EXE (CKPT) ORACLE.EXE (MMNL) ORACLE.EXE (RVWR) ORACLE.EXE (ARC0) ORACLE.EXE...(QMNC) ORACLE.EXE (ARC1) ORACLE.EXE (DIAG) ORACLE.EXE (MMAN) ORACLE.EXE (SMON) PROGRAM ------------...PMON) ORACLE.EXE (DBRM) ORACLE.EXE (DBW0) ORACLE.EXE (RECO) ORACLE.EXE (ARC2) ORACLE.EXE (Q002) ORACLE.EXE...后台进程(链接内存和磁盘的桥梁) 系统监控进程SMON Oracle数据库至关重要的一个后台进程,SMON 是System Monitor 的缩写,意即:系统监控。...SMON的主要工作: 数据库启动时的实例恢复,在RAC环境下,一个节点的SMON可以对另外一个节点做实例恢复 清理和释放临时段上的数据(排序、临时表…) 对于DMT(字典管理表空间),SMON
-------- ------------------------------ db_recovery_file_dest string /U01/app/oracle...****************************************************** Creating archive destination file : /U01/app/oracle...$ ps -ef|grep smon oracle 2019 1 0 Jul28 ?...00:01:14 ora_smon_test oracle 29478 1 0 Jul24 ?...00:01:20 ora_smon_mtest oracle 30508 27347 0 22:50 pts/0 00:00:00 grep smon 这台服务器上运行着两个备库,而默认的ORACLE_SID
/bin/bash dbstats=`ps -ef | grep ora_smon | grep -v grep | wc -l` dgstats=`ps -ef | grep ora_mrp | grep...&& [[ "${dgstats}" -gt 0 ]]; then /etc/init.d/keepalived stop fi 说明:脚本check_dataguard.sh主要通过对ora_smon...和ora_mrp进程的监控,判断哪种场景下该关闭keepalived服务: 场景1:当不存在ora_smon进程时(数据库实例Crash); 场景2:存在ora_smon进程同时存在ora_mrp进程时...[oracle@test03 ~]$ sqlplus sys/oracle@192.168.1.131/demo as sysdba SQL*Plus: Release 11.2.0.4.0 Production...[oracle@test05 admin]$ cat listener.ora # listener.ora Network Configuration File: /u01/app/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错误。
Fri Nov 19 16:07:09 2021 Errors in file /u01/oracle/app/oracle/diag/rdbms/lcfa/LCFA1/trace/LCFA1_smon...See Note 411.1 at My Oracle Support for error and packaging details....SMON encountered 1 out of maximum 100 non-fatal internal errors....See Note 411.1 at My Oracle Support for error and packaging details....SMON已经遇到1次内部错误,如果smon遇到100次内部错误则会重启实例,由参数_smon_internal_errlimit控制。
Checking the status of new Oracle init process......这个时候查看ASM的实例情况,会发现启动了一个+ASM1的实例,而且属主是orarac这个用户, [root@oel1 asmdisks]# ps -ef|grep smon oracle 5848...00:00:00 ora_smon_TEST10G oracle 27195 1 0 21:40 ?...00:00:00 asm_smon_+ASM orarac 29473 1 0 22:11 ?...00:00:00 asm_smon_+ASM1 root 29608 27674 0 22:14 pts/1 00:00:00 grep smon 因为这套rac已经完全不用了,也没有做卸载
我们知道Oracle在启动的时,fork进程会根据ORACLE_SID来创建相关后台进程,而在Unix和Linux系统中,ORACLE SID和ORACLE_HOME在一起哈希后会得到一个唯一的值作为...$ ps -ef|grep smon|grep -v grep oracle 43259 1 0 10:39 ?...00:00:00 ora_smon_Queuedb oracle 43337 1 0 10:44 ?...00:00:00 ora_smon_Queuedb 到了这里,不要以为是bug,也不要认为以前的这些基础知识都不奏效了。我们梳理一下思路。...首先ORACLE_SID是统一的,是同一个,而不同之处就是ORACLE_HOME了。
/bin/bash#delete audfor i in $(ps -ef|grep ora_smon|grep -v grep|awk '{print $NF}'|cut -c 10-)dofind.../u01/app/oracle/admin/$i/adump -name "*.aud" -mtime +7 -exec rm -rf {} \;解释:取出实例名:ps -ef|grep ora_smon...|grep -v grep|awk '{print $NF}'|cut -c 10-删除7天前的文件:find /u01/app/oracle/admin/$i/adump -name "*.aud"
Q 题目 在Oracle中,实例恢复和介质恢复的区别是什么? A 答案 Redo日志是Oracle为确保已经提交的事务不会丢失而建立的一种机制。...当下次启动实例时,Oracle会由SMON进程自动进行实例恢复。实例启动时,SMON进程会去检查控制文件中所记录的、每个在线的、可读写的数据文件的End SCN号。...在数据库实例崩溃时,Oracle还来不及更新该字段,则该字段仍然为NULL。当数据库再次启动时,SMON进程发现该字段为空时,就知道实例在上次没有正常关闭,于是由SMON进程就开始进行实例恢复了。...Oracle数据库使用检查点位置,保证每个低于其SCN的已提交更改都已保存到磁盘。Oracle数据库应用Undo块,以回滚数据块中在实例失败前写入的或前滚过程中引入的未提交更改。...Oracle数据库可以根据需要同时回滚多个事务。 总结一下,前滚和回滚是Oracle数据库实例发生意外崩溃,重新启动的时候,由SMON进行的自动恢复的过程。
领取专属 10元无门槛券
手把手带您无忧上云