snapshot과 관련된 테이블 함수 sysproc.snapshot_appl_info 를 sysmon과 같은 인스턴스 권한을 가진 사용자가 아닌 일반 사용자가 select하게 하고 싶은데요
레지스트리 변수 DB2_SNAPSHOT_NOAUTH나 sysmon 그룹에 속하게 하지 않고 sysproc.snapshot_appl_info를 select 할 수 있는 방법이 없을까요?
제가 하고 싶은 것은 인스턴스 권한을 가진 사용자가 a라는 함수 안에서 select * from table(snapshot_appl_info...) 를 퀴리하고, a라는 함수의 권한을 일반 사용자에게
주었을 때 안의 snapshot테이블 함수도 쿼리가 가능하게 하고 싶은데, 권한이 없다고 나오네요.
근데 보통 바깥의 함수의 권한을 주면 바깥 함수 안에 존재하는 함수는 권한이 없어도 함수 안에서는 실행이 되던데 왜 snapshot 관련 테이블 함수는 쿼리가 되지 않을까요??
밑에는 제가 구글에서 찾아본 건데 1 2 번이 아닌, 3번으로 해보려고 시도했는데 저 말이 어떤 의도인지 모르겠어요.
제가 이해한 바로는
select * from sysibmadm,application 테이블에 뷰를 만들고 그 뷰에 대한 select 권한을 일반 사용자에게 주는 것으로 이해 했는데 이렇게 해도 결국은 권한이 없다고 나오더라구요.
1, 2 번 말고는 해결 방법이 없을까요?
Option 1 - SYSMON_GROUP given the user to RESET MONITOR and I doubt if
you want regular users to be running RESET MONITOR command.
Option 2 - The registry variable DB2_SNAPSHOT_NOAUTH is replaced by
SYSMON_GROUP. But you can still try ) setting the
DB2_SNAPSHOT_NOAUTH=YES and see if it works. I don't think this
registry variable allows to RESET MONITOR.
Option 3 - Alternate way is to create a view like
sysproc.snapshot_appl_info and give select on the views to users/group
you wish.
|