기술

[오라클/티베로]테이블상세정보 및 GRANT권한부여리스트,그외OBJECT(함수,프로시저,트리거,JOB)리스트

또리줌마 2023. 11. 7. 14:25
반응형
오라클/티베로 OBJECT정보 추출
  • 테이블 목록
  • 테이블 상세정보 추출
  • GRANT부여된 테이블 리스트
  • 함수 리스트
  • 프로시저 리스트
  • 트리거 리스트
  • JOB등록 리스트

 
 
1. 테이블 전체 리스트 

  SELECT * FROM USER_TAB_COMMENTS
 
 

2. 테이블별 상세정보 추출 쿼리

SELECT A.TABLE_NAME, 
      A.COMMENTS table_comments,  
      DECODE(D.COLUMN_NAME,NULL,'','PK') PRIMARY_KEY  ,  
      C.DATA_TYPE ||'('|| C.DATA_LENGTH ||')' DATA_TYPE, 
      C.NULLABLE,
      B.COLUMN_NAME, 
      B.COMMENTS col_comments
FROM USER_TAB_COMMENTS A, USER_COL_COMMENTS B, USER_TAB_COLUMNS C, USER_IND_COLUMNS D
WHERE A.TABLE_TYPE ='TABLE'
  AND A.COMMENTS IS NOT NULL
  AND A.TABLE_NAME =  'ZZ_TB_TMP_TEXT'  <-- 테이블명 
  AND A.TABLE_NAME = b.TABLE_NAME
  AND B.TABLE_NAME = C.TABLE_NAME
  AND B.COLUMN_NAME = C.COLUMN_NAME
  AND B.TABLE_NAME = D.TABLE_NAME(+)
  AND B.COLUMN_NAME = D.COLUMN_NAME(+)
  AND D.INDEX_NAME(+) LIKE '%_PK'
  ORDER BY A.TABLE_NAME,C.COLUMN_ID
 
 
 

3. 특정 컬럼의 사용하고 있는 테이블 리스트 추출 쿼리 

   * 'USE_YN' 컬럼을 사용하고 있는 테이블 리스트 추출
   SELECT *
   FROM USER_TAB_COLUMNS
   WHERE COLUMN_NAME like '%USE_YN %'  <-- USE_YN 컬럼사용 테이블 리스트 추출 
 

4. GRANT(권한) 부여된 테이블 리스트 추출시

 
   1) 테이블 GRANT부여
       GRANT SELECT,INSERT ON 뷰이름 TO 유저명;
       =>  GRANT SELECT, INSERT ON ZZ_TB_TMP_TEXT TO TST_LINK;
 
   2) GRANT(권한) 부여된 테이블 리스트 조회  
       SELECT * FROM USER_TAB_PRIVS
       WHERE GRANTEE = ' TST_LINK '  <-- USER명 (GRANT부여된 유저)

   3) GRANT 부여된 권한 수거(삭제시)
      REVOKE SELECT ON  ZZ_TB_TMP_TEXT  FROM TST_LINK  ;
 
 
 

4. JOB 등록 목록 및 상세 정보 추출 

 SELECT * FROM USER_JOBS
또는
SELECT * FROM ALl_JOBS

 

 
5.프로시저, 함수 목록 추출 쿼리

  => 함수, 프로시저, 패키지, 트리거 목록 추출시 
  SELECT * FROM USER_OBJECTS
  WHERE OBJECT_TYPE IN ('FUNCTION','PROCEDURE','PACKAGE', 'TRIGGER')

 
=> USER_OBJECTS에서 추출가능한 목록
FUNCTION, INDEX, LOB, MATERIALIZED VIEW, PACKAGE, PACKAGE BODY, 
PROCEDURE, SEQUENCE, TABLE, TABLE PARTITION, TRIGGER, TYPE, 
VIEW