ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 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 expired

    hr에 대한 비밀번호를 변경합니다.
    새 비밀번호:
    ....
    연결되었습니다. ]

    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 옵션을 부여해야하기 때문에 발생하는 에러


    계정 관리 예제를 통해서 계정을 수정하고 삭제하는 과정에 대해 살펴보았습니다.

    관리자로서 일반 사용자 계정을 관리하는 것은 중요한 업무이기 때문에 잘 알아두면 도움이 될 것 같습니다.

     

    댓글

Designed by Tistory.