当前位置:1Z0-052题库

问题:

[多选] Which two statements about the background process of thedatabase writerare true() 

A . It is possible to have multiple database writers in an Oracle instance.
B . It writes dirty buffers, if any, to data files whenever a checkpoint occurs.
C . It writes dirty buffers, if any, to data files whenever a transaction commits.
D . It writes dirty buffers, if any, to data files before the log writer (LGWR) writes.

什么是动不平衡? 雷电过电压:因特定的雷电放电,在系统中一定位置上出现的() 瞬态过电压。 持续过电压。 静态过电压。 Examine the data from the ORDERS and CUSTOMERS table. ORDERS ORD_ID ORD_DATE CUST_ID ORD_TOTAL 100 12-JAN-2000 15 10000 09-MAR- 101 40 8000 09-MAR- 102 35 12500 15-MAR- 103 15 12000 104 25-JUN-2000 15 6000 105 18-JUL-2000 20 5000 106 18-JUL-2000 35 7000 107 21-JUL-2000 20 6500 04-AUG- 108 10 8000 CUSTOMERS CUST_ID CUST_NAME CITY 10 Smith Los Angeles 15 Bob San Francisco 20 Martin Chicago 25 Mary New York 30 Rina Chicago 35 Smith New York 40 Linda New York Which SQL statement retrieves the order ID, customer ID, and order total for the orders that are placed on the same day that Martin places his orders?()   SELECT ord_id, cust_id, ord_total FROM orders, customers WHERE cust_name='Mating' AND ord _ date IN ('18-JUL-2000','21-JUL-2000');。 SELECT ord_id, cust_id, ord_total FROM orders Where ord_date IN (SELECT ord_date FROM orders WHERE cust_id = (SELECT cust_id FROM customers WHERE cust_name = 'MARTIN'));。 SELECT ord_id, cust_id, ord_total FROM orders Where ord_date IN (SELECT ord_date FROM orders, customers Where cust _ name = 'Martin');。 SELECT ord_id, cust_id, ord_total FROM orders WHERE cust_id IN (SELECT cust_id FROM customers WHERE cust name = 'Martin')。 描写了祖孙三代女人故事的小说是() 王安忆《长恨歌》。 迟子建的《日落碗窑》。 苏童的《妇女生活》。 莫言的《红高粱》。 依靠肌肉协调等长收缩维持平衡,保持一定的姿势,这种训练疗法为() 静态平衡训练法。 动态平衡训练法。 静态平衡训练法和态平衡训练法。 以上都是。 以上都不是。 Which two statements about the background process of thedatabase writerare true() 
参考答案:

  参考解析

数据库写进程(DBWn) 可以将缓冲区的内容写入数据文件。DBWn进程负责将数据库缓冲区高速缓存中经过修改的缓冲区(脏数据缓冲区)写入磁盘。虽然对于大多数系统来说,一个数据库写进程(DBW0) 已经足够,但如果系统需要频繁修改数据,则可以配置附加进程(DBW1到DBW9以及DBWa到DBWj)以改进写性能(A正确,可以有很多个dbwr进程)。这些附加DBWn进程在单处理器系统中没有用。 
当数据库缓冲区高速缓存中的某个缓冲区被修改时,系统会将其标记为脏数据缓冲区,并将其添加到按SCN 顺序存放的灰数据缓冲区的LRUW(LRU 写)列表中。因此,该顺序与为这些更改的缓冲区写入重做日志的重做操作的顺序相匹配。当缓冲区高速缓存中的可用缓冲区的数量低于某个内部阈值(达到服务器进程发现很难获取可用缓冲区的程度)时,DBWn会将灰数据缓冲区写入数据文件,写入顺序与按照LRUW 列表的顺序修改灰数据缓冲区的顺序相同。 SGA 包含的内存结构具有重做流中的某个位置的重做字节地址(RBA),当实例发生故障时,将从该位置开始恢复。此结构充当指向重做的指针,并且由CKPT 进程按照每三秒一次的频率写入控制文件。由于DBWn按照SCN 顺序写入灰数据缓冲区,而重做按照SCN 顺序执行,因此每当DBWn从LRUW 列表写脏数据缓冲区时,还会将SGA 内存结构中保持的指针前移,以便实例恢复(如果需要)从近似正确的位置开始读取重做,并避免不需要的I/O。这称为―增量检查点‖。 
注:还有其它一些DBWn可能会执行写操作的情况,例如,当表空间被设置为只读或被置于脱机状态时。在这些情况下,不会出现增量检查点,因为仅属于相应数据文件的灰数据缓冲区在写入数据库时的顺序与SCN 顺序无关。 
LRU 算法将更频繁访问的块保存在缓冲区高速缓存中,这样,在将缓冲区写入磁盘时,缓冲区不大可能包含将很快有用的数据。 
DB_WRITER_PROCESSES初始化参数指定DBWn进程数。DBWn进程的最大数目为20。 
如果用户在启动过程中未指定该进程数,Oracle DB 将根据CPU 和处理器组的数量来决定如何设置DB_WRITER_PROCESSES。 
在以下情况下,DBWn进程将脏数据缓冲区写入磁盘: 
• 当服务器进程在扫描阈值数目的缓冲区之后找不到干净的可重用缓冲区时,通知DBWn执行写操作。DBWn在执行其它处理的同时,将灰数据缓冲区异步写入磁盘。 
•DBWn定期写缓冲区以推进检查点。检查点是重做线程(日志)中开始执行实例恢复的位置。该日志位置由缓冲区高速缓存中最旧的脏数据缓冲区确定。 
在所有情况下,DBWn均执行成批(多块)写操作以提高效率。多块写操作中写入的块数因操作系统而异。 C答案:是LGWR进程 
D答案:LGWR先记,DBWR后写。 
LGWR 的写入速度通常足够快,可以确保缓冲区中始终有空间可供新条目使用,即使对重做日志的访问量很大时也是如此。LGWR 将缓冲区的一个连续部分写入磁盘。 LGWR 在以下情况下执行写操作: • 用户进程提交事务处理时 
• 重做日志缓冲区的三分之一已满时 • 重做日志缓冲区达到1M的redo条目 
• 在DBWn进程将经过修改的缓冲区写入磁盘(如果需要)之前 • 每隔3 秒 
必须在与缓冲区更改相关联的所有重做记录写入磁盘后,DBWn才可以向磁盘写入经过修改的缓冲区(先行写协议)。

在线 客服