-
SQL_PRIVILEGE 계정 관리 (2)Data Base_Oracle/SQL 2020. 1. 10. 16:51
계정 관리_SYSTEM PRIVILEGE
ACCOUNT LOCK | UNLOCK _ 계정 잠금
임시로 휴직, 퇴직한 경우에 계정을 사용하지 못하도록 설정
→ 계정을 삭제하면 다시 생성해야하기 때문에 잠궈두는 것이 편리함§ 형식
▶ 계정을 이미 사용한 적이 있는 경우
[ SQL> alter user 계정명 account lock | unlock; ]※ 관리자 계정으로만 사용 가능
lock : 계정 잠금
unlock : 계정 잠금 해제▶ 계정을 한 번도 사용하지 않은 경우
[ SQL> alter user 계정명 identified by 비밀번호 account unlock password expire ; ]※ password expire를 같이 작성할 수 있음
# 예제 _ UNLOCK
▷ Oracle 설치시 LOCK을 해제하지 않은 hr계정으로 로그인
[ SQL> conn hr/hr1234
ERROR:
ORA-28000: the account is locked ]※ 계정이 잠겨있기 때문에 발생하는 에러
▶ hr 계정 잠금 해제
[ SQL> alter user hr identified by hr1234 account unlock password expire;
사용자가 변경되었습니다. ]▷ hr 계정으로 로그인
[ SQL> conn hr/hr1234
ERROR:
ORA-28001: the password has expiredhr에 대한 비밀번호를 변경합니다.
새 비밀번호:
....
연결되었습니다. ]hr 계정 구조 / 내용
▷ [ SQL> select * from tab; ]
TNAME TABTYPE CLUSTERID COUNTRIES TABLE DEPARTMENTS TABLE EMPLOYEES TABLE EMP_DETAILS_VIEW VIEW JOBS TABLE JOB_HISTORY TABLE LOCATIONS TABLE REGIONS TABLE # 예제 _ LOCK
▷ hr계정에서 hong 계정을 잠금
[ SQL> alter user hong account lock;
1행에 오류:
ORA-01031: insufficient privileges ]※ hr계정에는 계정 관리 권한이 없기 때문에 발생하는 에러
▶ 관리자계정에서 hong 계정 잠금
[ SQL> alter user hong account lock;
사용자가 변경되었습니다. ]▷ hong 계정으로 로그인
[ SQL> conn hong/1234
ERROR:
ORA-28000: the account is locked ]계정 삭제
§ 형식
▶ 아무런 작업도 수행하지 않은 계정의 경우
[ SQL> drop user 계정명; ]▶ 작업 내용이 있는 계정의 경우
[ SQL> drop user 계정명 [cascade]; ]※ cascade 옵션을 부여하면 해당 계정의 작업 내역까지 전부 삭제
# 예제
▶ hong 계정 삭제 _ 작업 내용 X
[ SQL> drop user hong;
사용자가 삭제되었습니다. ]▷ test 계정 삭제 _ 작업 내용 O
[ SQL> drop user test;
1행에 오류:
ORA-01922: 'TEST'(을)를 삭제하려면 CASCADE를 지정하여야 합니다 ]※ 작업 내용이 있는 경우 cascade 옵션을 부여해야하기 때문에 발생하는 에러
계정 관리 예제를 통해서 계정을 수정하고 삭제하는 과정에 대해 살펴보았습니다.
관리자로서 일반 사용자 계정을 관리하는 것은 중요한 업무이기 때문에 잘 알아두면 도움이 될 것 같습니다.
'Data Base_Oracle > SQL' 카테고리의 다른 글
SQL_ROLE 생성, 부여, 삭제 (0) 2020.01.10 SQL_ROLE 개요 & DATA_DICTIONARY (0) 2020.01.10 SQL_PRIVILEGE 개요 & 계정 관리 (1) (0) 2020.01.10 SQL_SYNONYM 생성/삭제 & DATA DICTIONARY (0) 2020.01.10 SQL_SYNONYM 개요 & 테이블 접근 권한 설정 (0) 2020.01.10