您的位置:首页 > 其它

Index organized table and redo log it genereates

2008-10-14 13:30 246 查看
Today, OPS team raised an issue related to a program using IOT. The program generated too many archive logs thus it took more time to FTP archive logs to our DR server and apply them. 1~4 hours lag were caused by this issue. So our focus is why this program is generating so many archived logs.

Following is my testing:

CREATE TABLE IOT_OE_ORDER_LINES
(
LINE_ID NUMBER NOT NULL PRIMARY KEY,
ORG_ID NUMBER,
HEADER_ID NUMBER NOT NULL,
LINE_TYPE_ID NUMBER NOT NULL,
LINE_NUMBER NUMBER NOT NULL,
ORDERED_ITEM VARCHAR2(2000 BYTE),
REQUEST_DATE DATE,
PROMISE_DATE DATE,
SCHEDULE_SHIP_DATE DATE,
ORDER_QUANTITY_UOM VARCHAR2(3 BYTE),
PRICING_QUANTITY NUMBER,
PRICING_QUANTITY_UOM VARCHAR2(3 BYTE)
)
ORGANIZATION INDEX;

In sqlplus, set autot trace exp stat

SQL>
INSERT INTO IOT_OE_ORDER_LINES ( LINE_ID
,ORG_ID
,HEADER_ID
,LINE_TYPE_ID
,LINE_NUMBER
,ORDERED_ITEM
,REQUEST_DATE
,PROMISE_DATE
,SCHEDULE_SHIP_DATE
,ORDER_QUANTITY_UOM
,PRICING_QUANTITY
,PRICING_QUANTITY_UOM)
SELECT * FROM (SELECT LINE_ID
,ORG_ID
,HEADER_ID
,LINE_TYPE_ID
,LINE_NUMBER
,ORDERED_ITEM
,REQUEST_DATE
,PROMISE_DATE
,SCHEDULE_SHIP_DATE
,ORDER_QUANTITY_UOM
,PRICING_QUANTITY
,PRICING_QUANTITY_UOM
FROM OE_ORDER_LINES_ALL
ORDER BY LINE_ID
)
WHERE ROWNUM < 1000;

The order by line_id clause will reduce the redo size. When I tried to insert into a heap table, it generated even less redos.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: