| From: | Steve Adams |
| Date: | 15-Feb-2001 15:57 |
| Subject: | What is the KV layer? |
|
|
Not knowing any better, I've always taken the V in KV to mean Variables, as in my script instance_variables.sql which shows the names and values of all the variables defined in X$KVII, X$KVIT and X$KVIS. That is, I think that the KV layer is no more than an odd assortment of variables, and presumably some routines to read and write them. X$KVII appears to have statically initialized variables. I think the X$KVIT variables are in theory transitory, and that X$KVIS is for block size related variables. When you consider that the kernel has perfectly adequate ways to handle parameters in X$KSPPI and variables in X$KSMFSV the special treatment of these variables is a bit of a mystery. I can only imagine that somebody once thought them important for advanced performance tuning, and thus put here to make them easier to get at. There are also a series of variables in the fixed PGA and one in the fixed UGA whose names begin with "kvot". These variables appear to have something to do with the Oracle Trace facility. But what Oracle Trace has to do with Kernel Variables escapes me. The only common thread I can see is that both have to do with advanced performance tuning.
|
![]() |
I am doing some research on the database writer (DBWR) and buffer cache management. My research is pointing me to many X$KV__ tables. I know that the KV corresponds to a specific layer. For instance, according to the Oracle 8i Internal Services book, the KC layer is the Cache layer. But this book does not define the KV layer. I know that the KV layer must be for buffer cache management, but I'd like any more information on it that you may be willing to part with.
|