I am learning day-by-day about Oracle .. a kind of "on the job training" with no tutor. Not an ideal situation but that's how it is.
We are using 9i but the supplier of our system who installed and configured Oracle, appear to have not used LMT so guess who has to MT!
Can I confirm that my understanding of extents is correct, please? If not, a simple no with comments on my misunderstanding will be fine, shooting me down in flames would be a little hurtful...!
1st... Segments relate to tables, indexes, packages.. any object contained inside a scheme?
2nd... Segments are created with an INITIAL size, NEXT EXTENT value and MAX ENTENT value.
The NEXT EXTENT value tells Oracle how much space to automatically add to the segment if it fills up.
So if segment EMPLOYEES was set at inital size 30MB and next extent of 8MB, when the segment becomes full it will grow to 38MB and the 'number of extents' will increase to 1.
If the 'number of extents' passes the 'max extents' an Oracle error message is issued.
So, to take my "real life" example, I have the following *problem*:
If my theory is right, segment MANUF_STRUCTURE_JOURNAL_TAB will add 67MB each extent. It seems a rather high value but who am I to argue?
To "reset" the problem, I have a number fo options, I believe...
Increasing the NEXT EXTENT would mean less extents would be needed because each one would do the job of many (if you see what I mean, 80MB would do the job of 10 8MB extents).
Increasing the MAX EXTENTS just prolongs the problem.
Ideally, resize with new storage parameters, e.g.
alter table TABLENAME move tablespace TABLESPACENAME storage (initial INITIAL_SIZE next NEXT_EXTENT);
Probably the worst ever explanation but am I even close? ;o)
Thanks.
There's no need for sarcastic replies, we've not all been this sad for that long!
We are using 9i but the supplier of our system who installed and configured Oracle, appear to have not used LMT so guess who has to MT!
Can I confirm that my understanding of extents is correct, please? If not, a simple no with comments on my misunderstanding will be fine, shooting me down in flames would be a little hurtful...!
1st... Segments relate to tables, indexes, packages.. any object contained inside a scheme?
2nd... Segments are created with an INITIAL size, NEXT EXTENT value and MAX ENTENT value.
The NEXT EXTENT value tells Oracle how much space to automatically add to the segment if it fills up.
So if segment EMPLOYEES was set at inital size 30MB and next extent of 8MB, when the segment becomes full it will grow to 38MB and the 'number of extents' will increase to 1.
If the 'number of extents' passes the 'max extents' an Oracle error message is issued.
So, to take my "real life" example, I have the following *problem*:
Code:
OWNER SEGMENT_NAME TYPE EXTENTS BYTES NEXT_EXTENT MAX_EXTENTS
---------- ------------------------------ -------- --------- ------------ ----------- -----------
IFSAPP PERIODICAL_TRANSACTION_PK INDEX 231 30,408,704 106496 4096
IFSAPP CUSTOMER_ORDER_LINE_HIST_TAB TABLE 466 61,079,552 131072 4096
IFSAPP CUSTOMER_ORDER_LINE_TAB TABLE 317 41,549,824 131072 4096
IFSAPP CUST_OPEN_ITEM_RPT TABLE 742 97,255,424 131072 4096
IFSAPP INVENTORY_TRANSACTION_HIST_TAB TABLE 513 67,239,936 131072 4096
IFSAPP MANUF_STRUCTURE_JOURNAL_TAB TABLE 2785 432,013,312 67108864 4096
IFSAPP MANUF_STRUCTURE_TAB TABLE 222 62,521,344 33554432 4096
IFSAPP MPCCOM_ACCOUNTING_TAB TABLE 706 92,536,832 131072 4096
IFSAPP MRP_PART_SUPPLY_DEMAND_TAB TABLE 261 34,209,792 131072 4096
IFSAPP ORDER_INFO_SERVICES_RPT TABLE 469 61,472,768 131072 4096
IFSAPP PERIODICAL_TRANSACTION_TAB TABLE 348 45,744,128 106496 4096
IFSAPP REP_UPDATE_GENLED_RPT TABLE 293 38,404,096 131072 4096
If my theory is right, segment MANUF_STRUCTURE_JOURNAL_TAB will add 67MB each extent. It seems a rather high value but who am I to argue?
To "reset" the problem, I have a number fo options, I believe...
Increasing the NEXT EXTENT would mean less extents would be needed because each one would do the job of many (if you see what I mean, 80MB would do the job of 10 8MB extents).
Increasing the MAX EXTENTS just prolongs the problem.
Ideally, resize with new storage parameters, e.g.
alter table TABLENAME move tablespace TABLESPACENAME storage (initial INITIAL_SIZE next NEXT_EXTENT);
Probably the worst ever explanation but am I even close? ;o)
Thanks.
There's no need for sarcastic replies, we've not all been this sad for that long!