2014-04-25 3 views
0

사용자의 권한을 취소하려고 시도하고 있으므로 DB 오브젝트 유형을 알아야합니다. 예를 들어 테이블에 대한 revoke 명령은 시퀀스가 ​​다를 수 있습니다.DB2 오브젝트의 유형을 찾는 방법

다음 쿼리를 실행하면 일부 개체가 임의의 개체 이름으로 반환되었습니다. 나는 SYSIBMADM.PRIVILEGES로부터

SELECT * 아래 하나 개의 결과를 준 WHERE AUTHID = SESSION_USER 및 AUTHIDTYPE = 'U'

내가 객체 유형을 찾을 수있는 방법
AUTHID AUTHIDTYPE PRIVILEGE GRANTABLE OBJECTNAME 
DB2USER U   CONTROL  N   SQL140423185953800 

(예 : 테이블, 시퀀스 등) SQL140423185953800?

+1

'SYSIBMADM.PRIVILEGES' 뷰에서'OBJECTTYPE' 컬럼을 찾지 못한 것은 이상한 일입니다. – mustaccio

+0

@mustaccio 와우. 나는 그것을 놓쳤다! 그 칼럼은 창문의 보이는 영역 바깥쪽에 인쇄되었습니다 : S 나는 스크롤해야한다는 것을 알지 못했습니다. 고마워요! – drox

답변

1

이 문제를 해결하기 위해 시도한 저장 프로 시저를 만들었습니다. 프로 시저를 작성하려면 코드를 실행 한 다음 올바른 매개 변수로 호출하면됩니다. 코드는 여기에서 호스팅됩니다 : https://gist.github.com/angoca/7434525

매개 변수로 전달할 개체를 찾는 여러 테이블에서 select를 수행합니다.

+0

SP를 시도했지만 해당 객체 이름에 대한 결과가 반환되지 않았습니다. 어쨌든 고마워 :) 테이블 생성시 데이터베이스에서 실행되는 일부 ATOMIC 문이 있는데,이 임의의 개체 이름에 대한 이유가 될 수 있습니까? – drox

+0

예, 때로는 지속되고 연결을 끊었다가 다시 연결하면 사라집니다. – AngocA

관련 문제