No. 10342
DBMS_PIPE NOT DECLARED ERROR 발생 시
====================================
발생원인 1)
DBMS_PIPE는 oracle install시에 $ORACLE_HOME/rdbms/admin/catproc.sql을
실행함으로써 생성되도록 되어 있는 stored package이다.
다른 stored package(DBMS_OUTPUT....)등은 생성직후 sys를 owner로한
stored package에 대해 public synonym을 생성한 후 바로 이 synonym에
대해 public에게 execute previlege가 grant되지만 DBMS_PIPE는 생성만
되도록 되어 있기 때문에 사용하고자 하는 user에게 별도의 grant작업이
필요하다.
-> 확인사항 및 해결 방법
1) sqldba에서
select * from dba_objects where object_name = 'DBMS_PIPE';
를 수행하여 DBMS_PIPE에 관한 자료가 sys가 owner인 package
spec,package body,synonym만 나타나야 한다.
2) sqldba에서
grant execute on DBMS_PIPE to user_name;
을 실행하여 해당 user에게 grant한다.
발생원인 2)
DBMS_PIPE는 sys가 owner이어야 한다.
user의 실수로 system이나 다른 별도의 user로 connect하여 catproc.sql을
실행한 경우에 발생한다.
-> 확인사항 및 해결방법
1) sqldba에서
select * from dba_objects where object_name = 'DBMS_PIPE';
를 수행하여 DBMS_PIPE에 관한 자료가 sys나 public이 아닌 다른
user가 owner로 되어 있는 DBMS_PIPE object를 drop시킨다.
2) sqldba에서
grant execute on DBMS_PIPE to user_name;
을 실행하여 해당 user에게 grant한다.
'ORACLE' 카테고리의 다른 글
자바풀 사이즈를 조정하려면:오라클 파라미터 java_pool_size (0) | 2005.12.08 |
---|---|
PL/SQL에서 DBMS_PIPE를 이용해서 PRO*C CALL하기 (0) | 2005.11.17 |
AUTONOMOUS TRANSACTION(8I NEW FEATURE)에 대한 소개 (0) | 2005.11.17 |
오라클 한글깨짐. (0) | 2005.11.04 |
오라클 에러들.... (0) | 2005.09.29 |