VIEW 에 대해 GRANT,REVOKE 시에는 LIBRARY CACHE PIN과
같은 WAITING 이 유발될 수 있다. View 생성시에 참조되는 Package, procedure, function 등등
에 대해 Validation 체크되기 때문에 grant, revoke시 재 compile 작업이 있다면(필요하다면)
수행시에 waiting이 발생할 수 있다. (단순 object들은 무관(table,seqence......))
필자가 관리하는 사이트에서도 이러한 경우로 인하여 재컴파일 하는 동안
LIBRARY CACHE PIN 이벤트가 급격히 늘어났다가 컴파일 완료되면 줄어드는 현상이
지속적으로 나타났다.
재컴파일하는 경우 일반적으로 Grant succeeded. 메세지가 0.1초 이상 넘어서 출력된다.
ex)
#Table 생성
conn JKW/~
SQL> create table t1 ( a number , b varchar2(10), c varchar2(10));
Table created.
SQL> select count(*) from t1; (t1 테이블에 데이터 insert)
COUNT(*)
----------------
1000
# VIEW 생성
SQL> create view vw_t1 as select * from t1 where a = query_t1('ORACLE1'); (펑션사용)
View created.
SQL> select * from vw_t1;
A B C
---------- ---------- ----------
1 ORACLE1 SUPPORT
# GRANT 수행
SQL> grant select on vw_t1 to test;
Grant succeeded.
# 이후 해당 FUNCTION 변경 이후에 VIEW GRANT 시에는...
SQL> alter session set events '10046 trace name context forever, level 12';
SQL> grant select on vw_t1 to test;
--> trace file 에 보면 아래의 항목이 추가 된다...
ALTER VIEW "JKW"."VW_T1" COMPILE (vw_t1을 다시 compile)

이 글의 권한은 dbtown.net 에 있습니다.
자료를 스크랩하실땐 출처를 밝혀주세요 ^^
Skin Technical Note
Sites validated CSS, XHTML & IE6, IE7, FireFox, Opera and Safari Accessiable. Generator & Powered by Zeroboard XE. This site inspired by Slabovia and developed by WTA

