일반유저에게 kill session 권한 주기
2019.08.12 06:48
원문 : http://www.ischo.net -- 조인상 // 시스템 엔지니어
Writer : http://www.ischo.net -- ischo // System Engineer in Replubic Of Korea
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
원문 : http://www.ischo.net -- 조인상 //시스템 엔지니어
+++++++++++++++++++++++++++++++++++++++++++++++++++++++
system 유저가 아닌 일반유저도 kill session 할 권한이 필요하지만, 보안상 안전하지 않다.
대신에 DBA유저가 kill session 프로시저를 생성하여 일반유저에게 프로시저 실행권한을 줄 수 있다.
1. 프로시저 생성
SYS로 접속후
SQL> CREATE OR REPLACE PROCEDURE SP_KILL_SESSION (P_SID NUMBER, P_SERIAL NUMBER)
AS
V_USER_NAME VARCHAR2 (30);
BEGIN
SELECT USERNAME
INTO V_USER_NAME
FROM V$SESSION
WHERE SID = P_SID AND SERIAL# = P_SERIAL;
IF V_USER_NAME IN ('NONDBAUSER1, NONDBAUSER2')
THEN
EXECUTE IMMEDIATE
'ALTER SYSTEM KILL SESSION ''' || P_SID || ',' || P_SERIAL || '''';
ELSIF V_USER_NAME IS NULL
THEN
RAISE_APPLICATION_ERROR (-20001, 'Invalid Session ID');
END IF;
END SP_KILL_SESSION;
/
2. 일반유저에게 프로시저 실행권한 주기
SQL> grant execute on sys.SP_KILL_SESSION to <nondbauser>;
3. 프로시저 synonym 생성
SQL> CREATE SYNONYM <nondbauser>.SP_KILL_SESSION FOR SYS.SP_KILL_SESSION;
4. 일반유저에서 프로시저 실행 테스트
SQL> conn <non-dbausr>/<password>
SQL> SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME='<non-dbauser>';
SID SERIAL#
---------- ----------
6718 29167
3425 49921
SQL> exec SP_KILL_SESSION(6718,29167);
SQL> SELECT SID, SERIAL# FROM V$SESSION WHERE USERNAME='<non-dbauser>';
SID SERIAL#
---------- ----------
3425 49921
댓글 0
번호 | 제목 | 글쓴이 | 날짜 | 조회 수 |
---|---|---|---|---|
115 | 온라인 백업/리스토어 (imp/exp) | 조인상 | 2010.05.09 | 12799 |
114 | 아카이브 모드로 변환하기 | 조인상 | 2010.05.12 | 12798 |
113 | OS재설치 후 오라클 복구(솔라리스) | 조인상 | 2010.05.12 | 6790 |
112 | 백업에 관한 조언 | 조인상 | 2010.05.12 | 5188 |
111 | 필수로 암기해야 할 view 들... | 조인상 | 2010.05.12 | 5755 |
110 | 오라클 뷰들... | 조인상 | 2010.05.12 | 5914 |
109 | 9i 에서의 언두세그먼트 관리 | 조인상 | 2010.05.12 | 7346 |
108 | 오라클 재시작시에 롤백세그먼트 OFFLINE | 조인상 | 2010.05.12 | 5793 |
107 | 오라클 버전업 후 exp할때 ORA-00904에러 | 조인상 | 2010.05.12 | 10454 |
106 | 아카이브 로그 강제로 생성하는 명령어 | 조인상 | 2010.05.12 | 10842 |
105 | 오라클 패치 후 export가 안된다! [1] | 조인상 | 2010.05.12 | 10862 |
104 | control file 재생성하기 | 조인상 | 2010.05.12 | 11683 |
103 | 온라인 백업방법 begin~end backup | 조인상 | 2010.05.12 | 20702 |
102 | 64비트 Solaris에 오라클 9.2.0 설치 하기 | 조인상 | 2010.05.12 | 10540 |
101 | 처음 오라클 설치시 SGA 영역크기 정하는 규칙 | 조인상 | 2010.05.12 | 8361 |
100 | 오라클에 접속하는 최대 인스턴스개수(세션개수)를 늘리는 방법 | 조인상 | 2010.05.12 | 7155 |
99 | 인텔 펜티엄4 기반 Windows에 설치시 오류에 대해서 | 조인상 | 2010.05.12 | 5809 |
98 | 오라클 8.1.7 -> 7.3.4 로 DB data 이전 | 조인상 | 2010.05.12 | 6936 |
97 | 캐릭터셋 변경방법 | 조인상 | 2010.05.12 | 7370 |
96 | [기타] 디비튜닝에 대한 질문과답변내용... | 조인상 | 2010.05.12 | 5728 |