首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    案例:DG备库报错ORA-600致使mrp进程异常终止

    很多刚入行的DBA往往一看有ORA-600这类错误就不知所措,直接就想寻求中高级DBA支持,甚至在网上还看到有人说,判断一个Oracle DBA是否达到中级以上,就是看其是否可以独立思考处理ORA-600...这类问题,而实际上ORA-600这个错误集合中的确有很多跟bug相关,有些甚至是MOS也搜不到的,但同样也有很多是很简单的,并不需要你去深入分析trc,比对call stack匹配bug什么的。...就比如今天遇到的一则案例,客户发现DG备库应用出现了问题,进一步查看告警日志发现有报错ORA-600[2619],并因此导致mrp进程异常终止。...整个处理过程因为非常简单,文字描述记录下处理过程: 1.了解到客户之前有做过清理归档的动作,因为之前告警目录空间满; 2.尝试手工拉起mrp进程,发现不成功,尝试应用日志时同样是报错ORA-600[2619...比对主备库该归档日志,发现md5不一样,这说明该归档文件还是存在差异; 7.将备库的这个归档文件mv重命名备份,然后将主库的这个归档文件重新拷贝到备库,重新比对md5确认一致; 8.再次尝试拉起mrp进程

    51920

    【Linux 内核】进程管理 ( 进程状态 | 进程创建 | 进程终止 | 调用 exit 系统调用函数主动退出 | main 函数返回自动退出 | kill 杀死进程 | 执行异常退出 )

    文章目录 一、进程状态 二、进程创建 三、进程终止 ( 调用 exit 系统调用函数主动退出 | main 函数返回自动退出 | kill 杀死进程 | 执行异常退出 ) 一、进程状态 ---- Linux...正在 CPU 中执行该进程 ; 阻塞状态 : 等待被分配 CPU 时间片的过程 中 , 处于该状态 ; 终止状态 : 进程 终止后的状态 ; 状态之间的转换 , 参考 【Linux 内核】进程管理 (...Linux 中进程的 CPU 资源调度 | 进程生命周期 | 创建状态 | 就绪状态 | 执行状态 | 阻塞状态 | 终止状态 | 进程生命周期之间的转换 ) 博客 ; 二、进程创建 ---- 进程创建...| 执行异常退出 ) ---- 进程终止的方式 : 主动退出 : 主动调用 exit() 系统调用函数 主动退出 ; 自动退出 : 程序的 main 函数返回 , 自动退出 ; 从 main() 函数返回时..., 链接程序 会 为程序 自动添加 exit() 系统调用函数 ; 杀死进程 : 接收到 kill 命令 发出的 SIGKILL 信号 , 进程被杀死 ; 异常退出 : 进程执行出现异常 , 或 收到

    2.9K20

    【Linux探索学习】第十七弹——进程终止:深入解析操作系统中的进程终止机制

    异常终止 由于未处理的错误或异常导致进程终止,例如除以零、非法访问内存等。 外部干预 进程被操作系统或其他进程强制终止,例如接收到SIGKILL信号。...异常终止 未处理的错误或调用abort() 例如访问非法地址、未处理的信号等。 强制终止 外部进程调用kill()、操作系统干预 父进程发送SIGKILL信号或管理员手动终止进程。...核心转储终止 错误导致生成核心转储文件 例如段错误(SIGSEGV)导致的异常。 一般进程终止的场景包含一下三种: 1. 代码运行完毕,结果正常 2. 代码运行完毕,结果不正常 3....\n"); abort(); // 异常终止 return 0; // 不会被执行 } 调用abort会产生一个信号(SIGABRT),通常会生成一个核心转储文件供调试使用。...终止 SIGTERM 请求终止进程,进程可以选择捕获或忽略。 终止 SIGABRT 异常终止进程,通常由abort触发。 终止并生成核心转储 SIGCHLD 子进程终止或停止时通知父进程。

    20710

    关于Segmentation fault (core dumped)几个简单问题

    因此无论程序正常运行时占用的内存多么少,要保证生成Core文件还是将大小限制设为unlimited为好。 四、异常退出就一定会生成core吗? 难道没有不生成core的异常退出?...SIGHUP   终止进程   终端线路挂断 SIGINT   终止进程   中断进程 SIGQUIT   建立CORE文件终止进程,并且生成core文件 SIGILL   建立CORE文件   非法指令...SIGTRAP   建立CORE文件   跟踪自陷 SIGBUS   建立CORE文件   总线错误 SIGSEGV   建立CORE文件   段非法错误 SIGFPE   建立CORE文件   浮点异常...SIGPROF   终止进程   统计分布图用计时器到时 SIGUSR1   终止进程   用户定义信号1 SIGUSR2   终止进程   用户定义信号2 SIGVTALRM   终止进程   虚拟计时器到...Segmentation fault(段错误)是由于虚拟内存管理单元的异常所致,而该异常则通常是由于解引用一个未初始化或非法值的指针引起的。

    11.5K30

    2021最新 IDEA 启动失败 & 启动Spring boot 项目端口被占用问题 彻底解决方案

    检查占用进程: 使用命令行的 netstat 或 lsof 命令,查找占用了指定端口的进程,并手动终止这些进程。...第一时间反应过来就是某个进程占用了IDEA、WebStorm的插件管理器需要绑定的某个端口,但是日志里并没有说占用的是哪一个端口。...不过这段异常信息提供了一个官方支持的超链接,https://intellij-support.jetbrains.com/hc/en-us/articles/360007568559,于是打开看一下有啥解决办法...删除第三方插件的目录(idea.plugins.path) 重新下载IDE 删除IDE系统目录(idea.system.path) 删除配置目录(idea.config.path) 提交异常堆栈信息给官方...我第一时间没有重置网络,而是想了一下可能占用这端口范围的进程,立马就想到之前遇到过的保留端口占用问题。

    1.8K10

    【JavaEE】线程创建和终止,Thread类方法,变量捕获(7000字长文)

    通过之前的学习,我们知道,main方法走完了,整个进程就结束了。...,只要前台线程没有执行完,进程就不会结束,即使main函数这个线程已经执行完毕 (这么理解:后台进程没有话语权,只要还有前台线程,进程就不会结束) ②.setDaemon 理解:Daemon是守护的意思...Created with IntelliJ IDEA...结果分析—— 目的:给程序员创造更多的“可操作空间” 运行上述代码,报错,这是因为,我们的中断了t1线程的sleep(提前唤醒会做两件事:1:清空标志符,2:抛出InterruptedException异常...),sleep把interrupted又设置回false,进而while循环判定条件变成true,最后被catch捕获中断异常。

    7810

    SIGSEGV:Linux 容器中的分段错误(退出代码 139)

    139 SIGSEGV 的默认操作是进程异常终止。...此外,还可能发生以下情况: 通常会生成 core 文件以启用调试; 出于故障排除和安全目的,SIGSEGV 信号在日志中被记录地更加详细; 操作系统可以执行特定于平台的操作; 操作系统可能允许进程本身处理分段错误...SIGABRT(信号中止)是由进程本身触发的信号。它异常终止进程,关闭并刷新打开的流。一旦被触发,就不能被进程阻塞(类似于SIGKILL,不同的是SIGKILL是由操作系统触发的)。...处理 SIGSEGV 错误 在基于 Unix 的操作系统上,默认情况下,SIGSEGV 信号将导致违规进程异常终止。...操作系统执行的其他操作 除了终止进程外,操作系统还可以生成 core 文件来辅助调试,也可以执行其他平台相关的操作。

    8.3K10

    【Linux】:进程信号(信号概念 & 信号处理 & 信号产生)

    由此可以确认:我们在C/C++当中除零,内存越界等异常,在系统层⾯上,是被当成信号处理 4, Core Dump 理解 先来看看 Core 的意思 Core:这个动作表示在终止进程的同时,还会生成一个...例如,SIGQUIT(编号3)和 SIGSEGV(编号11)等信号的默认动作就是终止进程并生成 core dump 但当进程因某个信号而 core(终止并 核心转储,这个动作在云服务器下是被默认关掉的...SIGQUIT(编号3)和SIGSEGV(编号11):默认动作为core,即终止进程并生成core dump。...当进程退出时,如果core dump为0就表示没有异常退出,如果是1就表示异常退出了 SIGINT的默认处理动作是终止进程,SIGOUIT的默认处理动作是终止进程并且Core Dump,现在我们来验证一下...进程异常终止通常是因为有Bug,比如非法内存访问导致段错误,事后可以用调试器检查core文件以查清错误原因,这叫做 Post-mortem Debug(事后调试) 一个进程允许产生多大的 core 文件取决于进程的

    9910

    Linux下异常信号——Signal

    按发出信号的原因简单分类,如下: (1) 与进程终止相关的信号。 当进程退出,或者子进程终止时,发出这类信号。 (2) 与进程例外事件相关的信号。...如进程越界,或企图写一个只读的内存区域(如程序正文区),或执行一个特权指令及其他各种硬件错误。 (3) 与在系统调用期间遇到不可恢复条件相关的信号。...(4) 与执行系统调用时遇到非预测错误条件相关的信号。 如执行一个并不存在的系统调用。 (5) 在用户态下的进程发出的信号。 如进程调用系统调用kill向其他进程发送信号。...E 信号不能被捕获 F 信号不能被忽略 了解了以上信息后,再来看软件生成异常的log文件,其他的信息可以暂时不关注,将log信息中的Signal字段找出来,解读后面的数值 未了解之前: 跟开发了解了软件在出现异常时会写...log,因此实时关注log的情况,生成log后就给开发提交bug 了解之后: 在生成的log中,很多的信号都是因一些操作产生的,如 1和15,在注销系统后就会产生; 9,测试的操作中经常会有kill进程的操作

    4.6K20

    Linux进程信号【信号产生】

    调用 abort 函数是产生此信号,进程异常终止,同时会产生一个 core 文件 7 SIGBUS 当出现某些类型的内存故障时,常常产生该信号,,该信号的默认处理动作是终止进程,同时产生一个 core...最后一种产生(发送)信号的方式是:硬件异常 所谓 硬件异常 其实就是我们在写程序最常遇到的各种报错,比如 除 0、野指针 5.1、除 0 导致异常 先来看一段简单的错误代码 #include 终止进程的运行 5.3、野指针导致异常 除了 除 0 异常外,还有一个 臭名昭著 的异常:野指针问题 比如: #include using...这是每个 C/C++ 程序猿都会遇到的问题,因为太容易触发了,出现段错误问题时,操作系统会发送 11 号 SIGSEGV 信号终止进程,可以通过修改执行动作验证,这里不再演示 那么 野指针 问题是如何引发的呢...Core -> 先发生核心转储,生成核心转储文件(前提是此功能已打开),再终止进程 但在前面的学习中,我们用过 3、6、8、11 号信号,都没有发现 核心转储 文件啊 难道是我们的环境有问题吗?

    32010

    内核转储的设置

    简介 当程序运行的过程中异常终止或崩溃,操作系统会将程序当时的内存状态记录下来,保存在一个文件中,这种行为就叫做 Core Dump(中文有的翻译成“核心转储”)。...core dump 对于编程人员诊断和调试程序是非常有帮助的,因为对于有些程序错误是很难重现的,例如指针异常,而 core dump 文件可以再现程序出错时的情景。...核心转储如何产生 上面说当程序运行过程中异常终止或崩溃时会发生 core dump,但还没说到什么具体的情景程序会发生异常终止或崩溃。...SIGBUS Core Bus error (bad memory access) 总线错误(内存访问错误) SIGFPE Core Floating-point exception 浮点异常 SIGILL...还有其它情景会产生 core dump, 如:程序调用 abort() 函数、访存错误、非法指令等等。 不会生成core dump文件的情况 进程没有写入核心文件的权限。

    1.9K40

    Multiprocessing package - torch.multiprocessing

    多处理将生成一个名为torch_shm_manager的守护进程,该守护进程将自己与当前进程组隔离,并跟踪所有共享内存分配。...通过创建流程实例并调用join来等待它们的完成,可以生成许多子流程来执行某些功能。这种方法在处理单个子流程时工作得很好,但在处理多个流程时存在潜在问题。也就是说,按顺序连接进程意味着它们将按顺序终止。...如果没有,并且第一个进程没有终止,则进程终止将不被注意。此外,没有用于错误传播的本机工具。下面的spawn函数处理这些问题,并处理错误传播、无序终止,并在检测到其中一个错误时主动终止进程。...如果其中一个进程以非零的退出状态退出,则其他进程将被终止,并引发一个异常,原因是终止。在子进程中捕获异常的情况下,将转发该异常并将其回溯包含在父进程中引发的异常中。...如果其中一个进程以非零退出状态退出,则此函数将终止其余进程,并引发一个异常,原因是第一个进程退出。如果所有进程都已成功连接,则返回True;如果需要连接更多进程,则返回False。

    2.6K10

    Linux:进程信号(一.认识信号、信号的产生及深层理解、Term与Core)

    与SIGINT不同的是,SIGQUIT信号通常用于请求进程终止,并且会生成core文件(如果core文件生成是启用的话) 验证: #include #include 错误,并且需要立即终止程序执行。...核心转储文件是进程在异常终止时的内存映像,它包含了进程在终止时的状态信息,如变量值、函数调用栈等。 这个文件对于程序员来说非常有用,因为它可以帮助他们分析进程崩溃的原因,进行调试和修复。...与Term不同,Core动作在终止进程的同时还会生成一个额外的文件。...当程序出现内存越界、段错误(Segmentation Fault)或其他异常情况导致崩溃时,操作系统会中止该进程,并将当前内存状态、寄存器状态、堆栈指针、内存管理信息以及各个函数使用堆栈信息等保存到Core

    27510

    【linux】进程创建与进程终止

    这个退出码是一个整数,传递给父进程,用于表示子进程的终止状态。 常见惯例: 0(EXIT_SUCCESS):通常表示成功。程序执行完成且没有错误。...非0(EXIT_FAILURE):通常表示有错误发生。具体的非零值可以用来指示不同类型的错误 异常终止 在操作系统中,进程的异常终止通常是由于一些错误或意外情况导致程序不能正常运行到结束。...以下是一些典型的异常终止情况: 程序错误 段错误(Segmentation Fault):程序试图访问其内存空间以外的区域或非法的内存区域。...一旦出现异常,退出码没有意义了!进程出异常,本质是因为进程收到了OS发给进程的信号! 段错误,OS提前终止进程 我们可以看进程退出的时候,退出信号是多少,就可以判断我的进程为什么异常了! !...立即终止:提供一种确保程序能迅速终止的方式,通常用于子进程退出或者在错误处理中需要立即终止程序时使用。

    10110

    【Linux探索学习】第二十七弹——信号(一):Linux 信号基础详解

    当某个特定事件发生时,如用户按下特定组合键、系统资源耗尽、进程异常终止等,系统会向相关进程发送一个信号。...终止进程 3 SIGQUIT 退出信号,由用户按下 Ctrl + \ 组合键产生 终止进程并生成核心转储文件 9 SIGKILL 强制终止信号,不能被捕获、阻塞或忽略 立即终止进程 15 SIGTERM...Ctrl + \:产生 SIGQUIT 信号,不仅会终止进程,还会生成核心转储文件(如果系统配置允许,一般在云服务器上是默认关闭的,虚拟机上可能是开启的)。...3.3 系统产生信号 进程异常:当进程发生异常时,如段错误(访问非法内存地址)、除零错误等,系统会向该进程发送相应的信号。...生成核心转储文件并终止进程:例如 SIGQUIT 信号,在终止进程的同时会生成核心转储文件,该文件包含了进程在收到信号时的内存状态等信息,可用于调试程序。

    11200
    领券