Oracle DBA面试笔试之进程系列

0    406    1

Tags:

👉 本文共约9734个字,系统预计阅读时间或需37分钟。

在Oracle中,有哪些重要后台进程?

在Oracle中,有哪些重要后台进程?

在Oracle中,PMON清理失败进程的频率是多长?

在Oracle中,PMON清理失败进程的频率是多长?

在Oracle中,如何彻底停止expdp进程?

在Oracle中,如何彻底停止expdp进程?

在Oracle中,如何快速的清理Oracle的进程?

在Oracle中,如何快速的清理Oracle的进程?

在Oracle数据库中,当用户进程出错,哪个后台进程负责清理它?

在Oracle数据库中,当用户进程出错,哪个后台进程负责清理它?

在Oracle数据库中,哪个后台进程刷新物化视图(materialized views)?

在Oracle数据库中,哪个后台进程刷新物化视图(materialized views)?

在Oracle中,进程mman、mmnl和mmon这3个进程的作用分别是什么?

在Oracle中,进程mman、mmnl和mmon这3个进程的作用分别是什么?

在Oracle中,如何在Windows下查看Oracle的进程?

在Oracle中,如何在Windows下查看Oracle的进程?

在Oracle中,与ASM相关的有哪些进程?

在Oracle中,与ASM相关的有哪些进程?

在Oracle中,集群(Cluster)特有的后台进程有哪些?

在Oracle中,集群(Cluster)特有的后台进程有哪些?

在Oracle的DG中,RFS、LNSn、MRP、LSP进程的作用分别是什么?

在Oracle的DG中,RFS、LNSn、MRP、LSP进程的作用分别是什么?

Oracle系统进程和作用的描述,说法正确的有()(多选题)

Oracle系统进程和作用的描述,说法正确的有()(多选题)

其它

Oracle数据库是以单进程还是多进程方式运行的?

在Windows平台下,Oracle数据库是以单进程(oracle.exe)多线程方式运行。

在Linux/Unix平台下,Oracle数据库通常是以多进程方式运行。

到了12c这个版本,Oracle在Unix/Linux平台上做出了一些改变,引入了多线程的模式。

这个特性由threaded_execution参数来控制,通过这个参数,可以控制数据库以多进程方式运行或者以多线程方式运行,该参数默认是false。数据库以多进程方式运行。

怎么理解进程和线程?

进程是表示资源分配的基本单位,又是调度运行的基本单位。线程是进程中执行运算的最小单位,亦即执行处理机调度的基本单位。如果把进程理解为在逻辑上操作系统所完成的任务,那么线程表示完成该任务的许多可能的子任务之一。一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程。线程是操作系统可识别的最小执行和调度单位。

看到知乎上,一位名为南理汉子的作者回答特别新颖:

开个QQ,开了一个进程;开了迅雷,开了一个进程。在QQ的这个进程里,传输文字开一个线程、传输语音开了一个线程、弹出对话框又开了一个线程。所以运行某个软件,相当于开了一个进程。在这个软件运行的过程里(在这个进程里),多个工作支撑的完成QQ的运行,那么这“多个工作”分别有一个线程。所以一个进程管着多个线程。通俗的讲:“进程是爹妈,管着众多的线程儿子”...

Oracle数据库中有哪几类进程?

1客户进程

2服务进程

3后台进程

请分别介绍下客户进程、服务器进程、后台进程?

1客户进程

当用户运行一个应用程序(如ProC程序或SQLPlus)时,操作系统创建一个客户端进程(有时称为用户进程)来运行用户应用程序。客户端应用程序将和Oracle数据库相连,以提供与数据库通信所需的api。

客户进程与直接与实例交互的Oracle进程在重要方面有所不同。

服务于客户进程的Oracle进程可以读写SGA,而客户进程不能。客户进程可以在数据库主机之外的主机上运行,而Oracle进程不能。

例如,假设客户端主机上的用户启动了SQL*Plus,然后在数据库实例没有启动时通过网络连接到另一台主机上的数据库sample:

SQL> CONNECT SYS@cjc AS SYSDBA

Enter password: *

Connected to an idle instance.

在客户端主机上,对sqlplus或sample进程的搜索只显示sqlplus客户端进程:

img

在数据库主机上,对sqlplus或sample进程的搜索显示一个具有非本地连接的服务器进程,但是没有客户机进程:

img

2服务进程

Oracle服务进程用于处理连接到实例的客户进程的请求。

专用服务器进程(dedicated server),每个进程服务一个客户进程。

共享服务器进程(shared server),每个进程服务多个客户进程。

在共享服务器连接中,客户机应用程序通过网络连接到dispatcher进程,而不是服务器进程。例如,20个客户端进程可以连接到单个dispatcher进程。

dispatcher进程接收来自连接的客户机的请求,并将它们放入大池中的请求队列中。第一个可用的共享服务器进程从队列获取请求并处理它。然后,共享服务器将结果放入dispatcher响应队列。dispatcher进程监视此队列并将结果传输到客户机。

3后台进程

后台进程执行操作数据库所需的维护任务,并为多个用户实现性能最大化。

每个后台进程有一个单独的任务,但是可以与其他进程一起工作。例如,LGWR进程将重做数据从重做日志缓冲区写入在线重做日志。当一个已填满的重做日志文件准备归档时,LGWR向另一个进程归档进程发出信号,让它归档重做日志文件。

Oracle数据库在数据库实例启动时自动创建后台进程。一个实例可以有许多后台进程,但并不是所有后台进程都始终存在于每个数据库配置中。下面的查询会列出数据库上运行的后台进程:

SELECT PNAME FROM V$PROCESS WHERE PNAME IS NOT NULL ORDER BY PNAME;

后台进程包括三类:

3.1强制后台进程

3.2可选的后台进程

3.3Slave后台进程

强制后台进程:

3.1.1进程监控进程(PMON)组

3.1.2 进程管理器(PMAN)

3.1.3监听器注册流程(LREG)

3.1.4系统监控流程(SMON)

3.1.5数据库写入过程(DBW)

3.1.6日志写入过程(LGWR)

3.1.7检查点过程(CKPT)

3.1.8可管理性监控流程(MMON和MMNL)

3.1.9回收器进程(RECO)

3.1.1进程监控进程(PMON)组

PMON组包括PMON、清理主进程(CLMN)和清理辅助进程(CLnn)。这些进程负责监视和清理其他进程。

PMON组监视缓冲区缓存的清理和客户机进程使用的资源的释放。例如,PMON组负责重置活动事务表的状态,释放不再需要的锁,并从活动进程列表中删除终止进程的进程ID。

数据库必须确保已终止进程持有的资源被释放,以便其他进程可以使用它们。否则,进程可能会被阻塞或卡在争用中。

进程监视器进程(PMON)

进程监视器(PMON)检测其他后台进程的终止。如果服务器或调度程序进程非正常终止,则PMON组负责执行进程恢复。进程终止可能有多个原因,包括操作系统终止命令或更改系统终止会话语句。

作用:

1、在其他进程失败后执行清理工作:回滚事物、释放锁、释放其他资源。

2、12C版本之前,PMON负责数据库实例监听注册的相关任务。

3、检查会话的空闲连接时间。

触发条件:定时被唤醒,其他进程也会主动唤醒它。

清理主进程(CLMN)

PMON将清理工作委托给清理主进程(CLMN)。检测异常终止的任务仍然由PMON完成。

CLMN定期执行已终止进程、已终止的会话、事务、网络连接、空闲会话、分离事务和已超出其空闲超时的分离网络连接的清理。

清理辅助进程(CLnn)

CLMN将清理工作委托给CLnn辅助进程。

CLnn进程帮助清除终止的进程和会话。辅助进程的数量与要完成的清理工作量和当前清理效率成正比。

清理进程可能被阻塞,从而阻止它继续清理其他进程。此外,如果多个进程需要清理,那么清理时间可能很长。由于这些原因,Oracle数据库可以并行地使用多个辅助进程来执行清理,从而缓解了缓慢的性能。

V$CLEANUP_PROCESS和V$DEAD_CLEANUP视图包含关于CLMN清理的元数据。V$CLEANUP_PROCESS视图包含每个清理进程的一行。例如,如果V$CLEANUP_PROCESS。状态繁忙,则进程当前正在进行清理。

数据库资源隔离

如果进程或会话终止,则PMON组将所持有的资源释放到数据库。在某些情况下,PMON组可以自动隔离损坏的、不可恢复的资源,这样就不会立即强制终止数据库实例。

PMON组将继续对持有隔离资源的进程或会话执行尽可能多的清理工作。V$QUARANTINE视图包含元数据,比如资源类型、消耗的内存数量、导致隔离的Oracle错误等等。

3.1.2进程管理器(PMAN)

Process Manager (PMAN)监视多个后台进程,包括共享服务器、池服务器和作业队列进程。

PMAN监视、启动和停止以下类型的进程:

1调度程序和共享服务器进程

2用于数据库常驻连接池的连接代理和池服务器进程pooled server process

3工作队列的进程Job queue processes

4可重启的后台进程

3.1.3监听器注册进程(LREG)

本人提供Oracle(OCP、OCM)、MySQL(OCP)、PostgreSQL(PGCA、PGCE、PGCM)等数据库的培训和考证业务,私聊QQ646634621或微信dbaup66,谢谢!
AiDBA后续精彩内容已被站长无情隐藏,请输入验证码解锁本文!
验证码:
获取验证码: 请先关注本站微信公众号,然后回复“验证码”,获取验证码。在微信里搜索“AiDBA”或者“dbaup6”或者微信扫描右侧二维码都可以关注本站微信公众号。

标签:

Avatar photo

小麦苗

学习或考证,均可联系麦老师,请加微信db_bao或QQ646634621

您可能还喜欢...

发表回复