C/C++教程

【DB笔试面试349】在Oracle数据库中,哪个后台进程刷新物化视图(materialized views)?

本文主要是介绍【DB笔试面试349】在Oracle数据库中,哪个后台进程刷新物化视图(materialized views)?,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=


Q          题目

  

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




     
A          答案          


答案:Oracle数据库使用Job Queue进程去运行用户的Jobs,经常在批量模式下。任务是用户自定义的预订运行一次或者多次的作业。比如说,可以使用一个Job队列去安排在后台运行的一个长时间运行的更新任务。给定一个开始时间和间隔时间,任务队列进程就会去尝试在下一个间隔的时间点上面运行Job。

初始化参数JOB_QUEUE_PROCESSES指定了Job Queue线程在实例中最大的并发运行的数量。如果初始化参数JOB_QUEUE_PROCESSES被设置为0,那么协调进程(CJQn)将不会被启动。

Job运行一般由两类进程组成,参考下图:


watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=

v 作业队列协调进程CJQn(Job Queue Coordinator Process),起到对作业队列的监控作用。

v 执行作业的队列进程Jnnn(Job Queue Slave Processes),由CJQN完成调度产生,并且执行相关的Job。

1.CJQ0在Oracle调度器需要的时候自动开启。调度进程定期的在JOB$表中选择事务来运行。新的事务选择按照时间排列。

2.调度进程动态的生成Jnnn去运行任务。

3.Job队列进程运行的任务由CJQ0来选择。每个Job Queue在一个时间点上面只能运行一个Job。

4.在进程完成执行单个Job后,它被分配更多的任务。如果没有任务被安排去执行,那么它们会进入沉睡状态。并且定期的苏醒去检查是否有Job。如果没有找到,那它们会进入下一个沉睡周期。

所以,刷新物化视图的后台进程是Jnnn(Job Queue Slave Processes)。


这篇关于【DB笔试面试349】在Oracle数据库中,哪个后台进程刷新物化视图(materialized views)?的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!