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

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

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


Q          题目

  

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




     
A          答案          


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

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

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


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

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)。


上一篇:Vue + Element UI 实现权限管理系统 前端篇(七):功能组件封装


下一篇:为了完成小姐姐安排的打分系统,又熬了一个小时的夜补充视图与模板