Why does the LAST_OPER_TYPE column in v$sga_dynamic_components always contain the value INITIALIZING for the "DEFAULT 16K buffer cahce" row?
According to the Oracle docs this field can have the values STATIC, INITIALIZING, DISABLED, GROW, SHRINK and SHRINK_CANCEL. Our default buffer cache size is 4K, but we have two tablespaces that have a 16K block size.
By "always" I mean that I queried it a few times today and always saw this value.
The V$SGA_DYNAMIC_COMPONENTS view is meant to give you information on a dynamically changing SGA. If you have not set the SGA_TARGET initialization parameter, then Oracle will not change any SGA component's size for you automatically. And if you have not explicitly changed any SGA component's size, then you will never see GROW, SHRINK or SHRINK_CANCEL. Those values in this column will indicate if the last operation on the specific SGA component caused the size of that component to increase or decrease. Even if you have SGA_TARGET set, it will only change the default buffer cache size. Oracle will not manage the non-default buffer caches.
Dig Deeper on Oracle database design and architecture