To simplify
space management, choose a consistent set of pctfree values:
For indexes whose key values are rarely changed: 2
For tables whose rows seldom change: 2
For tables whose rows frequently change: 10 to 30
Why maintain free space in a table or index even if the rows seldom change? Oracle needs
space within blocks to perform block maintenance functions. If there is not enough free space
available (for example, to support a large number of transaction headers during concurrent
inserts), Oracle will temporarily allocate part of the block??™s pctfree area. You should choose a
pctfree value that supports this allocation of space. To reserve space for transaction headers in
insert-intensive tables, set the initrans parameter to a non-default value. In general, your pctfree
area should be large enough to hold several rows of data.
NOTE
Oracle automatically allows up to 255 concurrent update transactions
for any data block, depending on the available space in the block.
?–
?–
?–
148 Oracle Database 11g DBA Handbook
Because pctfree is tied to the way in which updates occur in an application, determining the
adequacy of its setting is a straightforward process. The pctfree setting controls the number of
records that are stored in a block in a table. To see if pctfree has been set correctly, first determine
the number of rows in a block. You can use the DBMS_STATS package to gather statistics. If the
pctfree setting is too low, the number of chained rows will steadily increase.
Pages:
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272