最初由 Galahad.Wu 发布
[B]首先恭喜JACK老兄啊!呵呵
考题难么,如果对SG比较熟悉的
话,你觉得通过率高不高呢?
另外,今天去参加了培训,有几个有疑问的题目同老师讨论了一下,将其中的疑问拿出来分享一下,希望JACK老兄也帮帮忙看看
有不有什么看法不(另外,我是准备这个周五考试,希望大家热心一点点啊。
)
JACK999,下面几道题目,实际上以前曾经讨论过,但我一直还是
有些疑问,今天问了一下老师,但还是想同你们讨论一下。不知道你的考试中有这几道题目吗?能不能说说你对这几道题目的看法呢?^+^
TKV15
------------
QUESTION NO: 8
Which two statements are true of the buffer cache? (Choose two)
A. The buffer pools in Oracle9i can be resized dynamically.
B. The blocks in the buffer cache are managed using one list.
C. The blocks in the buffer cache are managed using two lists.
D. In Oracle9i buffer caches can be dynamically added.
Answer: A & C
实际上,以前我也同意这道题目的答案,但对D有些疑问。今天
同老师讨论了一下C 和 D的问题。
老师认为,一个BUFFER 可以有多个LRU LIST的。但是在C中的 ‘TWO LISTS’ 应该是指的种类。也就是LRU LIST 和 DIRTY LIST两种LIST。这样理解的话,C确实是 正确的。
但是,老师对D的解释,我有些不能接受。我原来理解的D 为什么不正确,是因为我觉得DEFAULT 是不能动态增加的,它是必须存在的。而RECYCLE 和 KEEP 是可以动态增加的。所以D 不对。
但老师解释的是。这里的BUFFER CACHES 是指的除DEFAULT, KEEP, RECYCLE之外的BUFFER CACHE种类。实际上,BUFFER CACHE只有三种。既然D 说可以增加其它的种类的CACHE,明显是错误的。
但我不太同意老师的解释。不知道大家认为这里的D究竟是指的DEFAULT BUFFER 不能增加(是指从无到有),还是老师说的除DEFAULT,RECYCLE, KEEP之外的BUFFER CACHE不能动态增加呢?因为BUFFER CACHE只有三种类型啊,根本就不可能还有其他的类型的BUFFER CACHE。而且,老师认为即便是RECYCLE=0,也是存在的,只是为零而已,所以是改变大小,而不是增加。-- 不过,我不太同意这种看法。
QUESTION NO: 13
What are two main OLTP requirements? (Choose two)
A. Use bind variables rather than literals in your SQL code.
B. Analyze your tables regularly to refresh optimizer statistics.
C. Create multiple small rollback segments as opposed to a few big ones.
D. Create indexes on all columns that are regularly used in query predicates.
E. Set up appropriate default storage parameter values for dynamic (implicit) space allocation.
Answer: C & E
这道题目我认为是A & C。应该是没有什么问题的。但还是同老师讨论了一下。他认为E应该是错误的,因为应该是explict而不是implicit。这道题目似乎没有多大争议。但我确实没有在书上找到这道题目的原话。它只是在OLTP ISSUES中有提到A,而不是MAIN REQUIREMENTS里面。
QUESTION NO: 148
Which two statements are true of the buffer cache? (Choose two)
A. In Oracle9i, the buffer caches can be individually sized.
B. Blocks in the buffer cache may be in one of several states.
C. In Oracle9i additional buffer caches can be dynamically added.
D. The blocks in the buffer cache are managed using two or more lists, depending on the number of
buffer caches in use.
E. Blocks in the buffer cache may be in one of two states, either free or dirty.
Answer: A, B
这道题目A是没有什么疑问的。但B / C /D 似乎有些疑问。
先说答案D,老师还是认为这里的LISTS指的是种类,而不是个数。所以D是正确的,因为只有两种LIST, LRU LIST 和 DIRTY LIST。
至于C,咯按时还是认为这里的BUFFER CACHES指的是种类。所以除了三种以外,是不可能有其它种类的BUFFER CACHE的。
至于B,我想大家都认为应该是正确的吧。
我的疑问是,D 我同意老师的解释,应该是错误的。但C,似乎不应该理解为种类,ADDITIONAL BUFFER CACHES 应该理解为RECYCLE 和 KEEP。 但是B 确实是正确的。
QUESTION NO: 186
(Choose two)
Which two statements are true regarding the use of DB_CACHE_ADVICE init.ora parameter?
A. Setting the parameter to READY reserves space in the buffer cache to store information about
different buffer cache sizes, but no CPU overhead is incurred.
B. Setting the parameter to READY reserves space in the shared pool to store information about
different buffer cache sizes, but no CPU overhead is incurred.
C. Setting the parameter to ON reserves space in the buffer cache to store information about different
buffer cache sizes, and CPU overhead is incurred as statistics are collected.
D. The V$DB_CACHE_ADVICE view contains information that predicts the estimated number of
physical reads for different cache sizes for each buffer cache setup in the SGA.
Answer: C, D
开始老师认为C / D 是正确的。再后来,他同他的同事确认了一下,认为答案应该是B / D。这道题目也许应该没有多少疑问吧。
请大家多多讨论, 尤其是通过考试的,而且考试中又遇到了这几道题目的人,多多发表一些看法,给出正确的解释和答案来。
多谢了。
[/B]
Question 8 and 148 is the same.
These two questions do not appear in my test.
choice D: In Oracle9i buffer caches can be dynamically added. My understanding is as follows:
You cannot have a database with DEFAULT cache size as zero. (SG 4-11) In other words, you will always have a buffer cache, which is the
DEFAULT.
You can dynamically increase or descrease the size of DEFAULT cache. Example: ALTER SYSTEM SET DB_CACHE_SIZE = 64M;
You can also dynamically increase or decrease the size of other two caches. Example: ALTER SYSTEM SET DB_KEEP_CACHE_SIZE = 64M;
There are only 3 pools in buffer cache. Your instructor's explanation about Oracle having more than the above mentioned 3 pools is incorrect.
Buffer cache has only 3 pools. There may be other caches used in Oracle, but they are not called 'buffer cache'.
So, now let us see if D is correct.
For DEFAULT, you cannot add it after database creation, but you can dynamically increase or decrease its size.
For KEEP, RECYLE, you can add them after database creation and you can dynamically increase or decrease their sizes.
Question 13
C: create multiple small rollback segments as opposed to a few big ones.
You can find this info in SG 9-11. Here it is:
OLTP Transactions
? OLTP applications are characterized by frequent concurrent transactions, each of which
modifies a small amount of data. Assign small rollback segments to OLTP transactions.
? The reasonable rule of thumb is one rollback segment for every four concurrent transactions.
Long Batch Transactions
Assign large rollback segments to transactions that modify large amounts of data.
Question 186
I bet you are using TK V15. TK Version 15 gives you the wrong answers. TK Version 12 gives you the correct answers, which are BD.
SG 4-14
Dynamic Buffer Cache Advisory Parameter Values
? OFF: Advisory is turned off and the memory for the advisory is not allocated
? READY: Advisory is turned off, but the memory for the advisory remains allocated.
Allocating the memory before the advisory is actually turned on avoids the risk of an
ORA-4031 error (inability to allocate from the shared pool). If the parameter is
switched to this state from OFF, an ORA-4031 error may be generated.
? ON: Advisory is turned on and both CPU and memory overhead is incurred. Attempting
to set the parameter to this state when it is in the OFF state may lead to an ORA-4031
error when the parameter is switched to ON. If the parameter is in READY state it can
be set to ON without error because the memory is already allocated.
|