2020年12月1日 星期二

Oracle EBS: 已有執行ad_ctx_ddl.sync_index('APPLSYS.FND_LOBS_CTX'), 但修改org item時, 存檔仍需數分鐘才完成

問題: 已有執行ad_ctx_ddl.sync_index('APPLSYS.FND_LOBS_CTX'), 但修改org item時, 存檔仍需數分鐘才完成


狀況:

1.CTXSYS.CTX_PENDING只有數百筆, select速度極快

2.CTXSYS.DR$WAITING有3萬多筆, 但select耗時近30秒, 即使table沒資料時也是同樣狀況


解決方案: 要執行alter table ctxsys.DR$WAITING move


--steps A

begin

      ad_ctx_ddl.sync_index('APPLSYS.FND_LOBS_CTX');

 end;

--steps B

alter table ctxsys.DR$WAITING move


ALTER TABLE CTXSYS.DR$WAITING SHRINK SPACE


減少CTXSYS.DR$WAITING,CTXSYS.DR$PENDING table中筆數的方法:


connect as ctxsys:


 select u.username, i.idx_name

 from dr$index i, dba_users u

 where u.user_id=i.idx_owner#

 and idx_id in (select pnd_cid from ctxsys.dr$pending);


exec ctx_ddl.sync_index('USERNAME.INDEX');



Ref:

1.请教:在新建物料和修改物料时非常慢是什么原因

http://www.itpub.net/thread-1440660-1-1.html


2.Can Users Manually Shrink DR$WAITING And DR$PENDING in the CTXSYS schema? (Doc ID 2447229.1)


3.E-Business Suite Applications Technology Stack Database Contains Millions Of Records In CTXSYS.DR$PENDING And CTXSYS.DR$WAITING Tables (Doc ID 382809.1)