Oracle / PLSQL : Oracle/PLSQL에 로그인한 사용자 찾기
이 Oracle 튜토리얼에서는 현재 Oracle 데이터베이스에 로그인한 모든 사용자를 찾는 방법을 설명합니다.
설명
명령 프롬프트에서 쿼리를 실행하여 현재 Oracle에 로그인한 모든 사용자를 찾을 수 있습니다. Oracle/PLSQL에는 데이터베이스의 각 현재 세션에 대한 세션 정보를 표시하는 V$SESSION이라는 시스템 보기가 있습니다. 이 시스템 보기에 대한 쿼리를 실행하여 현재 Oracle/PLSQL 데이터베이스에서 연결이 실행 중인 모든 사용자를 반환할 수 있습니다.
구문
Oracle에 로그인한 사용자를 검색하는 구문은 다음과 같습니다.
SELECT USERNAME FROM V$SESSION;
이 SELECT 문은 로그인한 각 사용자 이름을 반환합니다.
V$SESSION 뷰에는 다음과 같은 열이 포함됩니다.
열 | 설명 |
---|---|
SADDR | 세션 주소 |
SID | 세션 식별자 |
SERIAL# | 세션의 일련 번호 |
AUDSID | 감사 세션 ID |
PADDR | 세션을 소유한 프로세스의 주소 |
USER# | 사용자 식별자 |
USERNAME | 사용자 이름(예: root, techonthenet 등) |
COMMAND | 마지막으로 구문 분석된 문 |
OWNERID | 마이그레이션 가능한 세션을 소유한 사용자 식별자 |
TADDR | 트랜잭션 상태 개체의 주소 |
LOCKWAIT | 잠금 대기를 위한 주소 |
STATUS | 세션의 상태. 다음 중 하나일 수 있습니다 : ACTIVE, INACTIVE, KILLED, CACHED, or SNIPED. |
SERVER | 서버 유형. 다음 중 하나일 수 있습니다 : DEDICATED, SHARED, PSEUDO, or NONE. |
SCHEMA# | 스키마의 사용자 식별자 |
SCHEMANAME | 스키마의 사용자 이름 |
OSUSER | 운영 체제 클라이언트 사용자 이름 |
PROCESS | 운영 체제 클라이언트 프로세스 ID |
MACHINE | 운영 체제 머신 이름 |
TERMINAL | 운영 체제 터미널 이름 |
PROGRAM | 운영 체제 프로그램 이름 |
TYPE | 세션 유형 |
SQL_ADDRESS | 현재 실행 중인 SQL 문을 식별합니다(SQL_HASH_VALUE와 함께 사용). |
SQL_HASH_VALUE | 현재 실행 중인 SQL 문을 식별합니다(SQL_ADDRESS와 함께 사용). |
SQL_ID | 현재 실행 중인 SQL 문의 SQL 식별자 |
SQL_CHILD_NUMBER | 현재 실행 중인 SQL 문의 하위 번호입니다. |
PREV_SQL_ADDR | 마지막으로 실행된 SQL 문을 식별합니다(PREV_HASH_VALUE와 함께 사용). |
PREV_HASH_VALUE | 마지막으로 실행된 SQL 문을 식별합니다(PREV_SQL_ADDR과 함께 사용). |
PREV_SQL_ID | 마지막으로 실행된 SQL 문의 SQL 식별자 |
PREV_CHILD_NUMBER | 마지막으로 실행된 SQL 문의 자식 번호 |
MODULE | 현재 실행 중인 모듈의 이름(DBMS_APPLICATION_INFO.SET_MODULE에 따름) |
MODULE_HASH | 현재 실행 중인 모듈의 해시 값 |
ACTION | 현재 실행 중인 작업의 이름(DBMS_APPLICATION_INFO.SET_ACTION에 따름) |
ACTION_HASH | 현재 실행 중인 액션의 해시값입니다. |
CLIENT_INFO | 클라이언트 정보(DBMS_APPLICATION_INFO.SET_CLIENT_INFO에 따름) |
FIXED_TABLE_SEQUENCE | 동적 성능 테이블에서 중간 선택이 있을 때마다 증가하는 시퀀스 번호입니다. |
ROW_WAIT_OBJ# | ROW_WAIT_ROW#에 지정된 테이블의 객체 식별자 |
ROW_WAIT_FILE# | ROW_WAIT_ROW#에 지정된 데이터 파일의 식별자 |
ROW_WAIT_BLOCK# | ROW_WAIT_ROW#에 지정된 블록의 식별자 |
ROW_WAIT_ROW# | 현재 잠긴 행 |
LOGON_TIME | 사용자가 로그인한 시간 |
LAST_CALL_ET | STATUS가 ACTIVE인 경우, LAST_CALL_ET은 세션이 활성화된 후 경과한 시간(초)입니다. STATUS가 INACTIVE인 경우, LAST_CALL_ET은 세션이 비활성 상태가 된 후 경과한 시간(초)입니다. |
PDML_ENABLED | PDML_STATUS로 대체됨 |
FAILOVER_TYPE | 세션에 대해 활성화된 투명 애플리케이션 장애 조치 유형입니다. 다음 중 하나일 수 있습니다: NONE, SESSION, or SELECT. |
FAILOVER_METHOD | 세션에 대한 투명 애플리케이션 장애 조치 방법입니다. 다음 중 하나일 수 있습니다 : NONE, BASIC, or PRECONNECT. |
FAILED_OVER | YES 또는 NO로 장애 조치 발생 여부를 나타냅니다. |
RESOURCE_CONSUMER_GROUP | 세션의 리소스 소비자 그룹 |
PDML_STATUS | ENABLED 또는 DISABLED |
PDDL_STATUS | ENABLED 또는 DISABLED |
PQ_STATUS | ENABLED 또는 DISABLED |
CURRENT_QUEUE_DURATION | 세션이 큐에 대기된 기간 |
CLIENT_IDENTIFIER | 세션의 클라이언트 식별자 |
BLOCKING_SESSION_STATUS | 다음 값 중 하나 일 수 있습니다 : VALID, NO HOLDER, GLOBAL, NOT IN WAIT, UNKNOWN |
BLOCKING_INSTANCE | 차단 세션의 인스턴스 식별자 |
BLOCK_SESSION | 차단 세션의 세션 식별자 |
SEQ# | 대기할 때마다 증가하는 시퀀스 번호 |
EVENT# | 이벤트 번호 |
EVENT | 세션이 대기 중인 리소스 |
P1TEXT | 첫 번째 추가 매개변수에 대한 설명 |
P1 | 첫 번째 추가 매개변수 |
P1RAW | 첫 번째 추가 매개변수 |
P2TEXT | 두 번째 추가 매개변수에 대한 설명 |
P2 | 두 번째 추가 매개변수 |
P2RAW | 두 번째 추가 매개변수 |
P3TEXT | 세 번째 추가 매개변수에 대한 설명 |
P3 | 세 번째 추가 매개변수 |
P3RAW | 세 번째 추가 매개변수 |
WAIT_CLASS_ID | 대기 클래스의 식별자 |
WAIT_CLASS# | 대기 클래스의 번호 |
WAIT_CLASS | 대기 클래스의 이름 |
WAIT_TIME | 세션의 마지막 대기 시간 값입니다. 0이면 세션이 현재 대기 중입니다. |
SECONDS_IN_WAIT | WAIT_TIME > 0이면 SECOND_IN_WAIT는 마지막 대기가 시작된 후의 시간(초)입니다. WAIT_TIME = 0이면 SECONDS_IN_WAIT는 현재 대기에서 경과한 시간(초)입니다. |
STATE | 0은 대기 중 -2는 알 수 없는 시간 대기 -1은 짧은 시간 대기 중 >0은 알려진 시간 대기 |
SERVICE_NAME | 세션의 서비스 이름 |
SQL_TRACE | ENABLED 또는 DISABLED |
SQL_TRACE_WAITS | TRUE 또는 FALSE |
SQL_TRACE_BINDS | TRUE 또는 FALSE |
'Database > Oracle PLSQL' 카테고리의 다른 글
PLSQL Literals (0) | 2023.06.02 |
---|---|
PLSQL Comments (0) | 2023.06.01 |
PLSQL Find Users (0) | 2023.05.24 |
PLSQL DROP USER (0) | 2023.05.22 |
PLSQL Change Password (0) | 2023.05.21 |