개발/SQL

Oracle 기본 계정 및 계정관련 sql

함수형 인간 2025. 2. 21. 00:06

 

1. 주요 기본 계정:

  • SYS:
    • 데이터베이스 관리의 핵심 계정.
    • 데이터베이스 생성, 시작, 종료, 백업, 복구 등 모든 관리 작업을 수행할 수 있는 SYSDBA 권한을 가진다.
    • 데이터 딕셔너리와 시스템 카탈로그의 소유자.
    • 극히 중요한 계정이므로 일반적인 작업에는 사용하지 않는 것이 좋다.
  • SYSTEM:
    • 일반적인 데이터베이스 관리 작업을 수행하는 계정.
    • 테이블 스페이스 관리, 사용자 관리, 권한 관리 등 다양한 작업을 수행할 수 있다.
    • SYSDBA 권한을 제외한 거의 모든 권한을 가지고 있다.
  • SCOTT:
    • 오라클 데이터베이스 학습 및 예제 목적으로 제공되는 계정.
    • EMP, DEPT와 같은 샘플 테이블과 데이터를 포함.
    • 기본적으로 잠겨있으며, 활성화해야 사용할 수 있다.
  • DBSNMP:
    • 오라클 엔터프라이즈 매니저(OEM)에서 데이터베이스 모니터링 및 관리에 사용되는 계정.
  • SYSMAN:
    • 오라클 엔터프라이즈 매니저(OEM)에 접속해 관리 작업을 수행하는 계정.

2. 계정 관련 주요 SQL 문:

  • 계정 생성:
    • CREATE USER username IDENTIFIED BY password;
  • 계정 삭제:
    • DROP USER username;
  • 계정 잠금 해제:
    • ALTER USER username ACCOUNT UNLOCK;
  • 계정 잠금:
    • ALTER USER username ACCOUNT LOCK;
  • 비밀번호 변경:
    • ALTER USER username IDENTIFIED BY new_password;
  • 권한 부여:
    • GRANT privilege_name TO username;
    • 예: GRANT CREATE SESSION TO username;
  • 권한 회수:
    • REVOKE privilege_name FROM username;
    • 예: REVOKE CREATE SESSION FROM username;
  • 롤 부여:
    • GRANT role_name TO username;
  • 롤 회수:
    • REVOKE role_name FROM username;
  • 계정 목록 조회:
    • SELECT username FROM dba_users;
  • 계정이 가지고 있는 권한 조회:
    • SELECT * FROM dba_sys_privs WHERE grantee = 'username';
  • 계정이 가지고 있는 테이블 권한 조회:
    • SELECT * FROM dba_tab_privs WHERE grantee = 'username';

3. SCOTT 계정 활성화:

  • scott 계정은 기본적으로 잠겨 있으므로, 다음 SQL 문을 사용하여 활성화해야 한다.
    • ALTER USER scott ACCOUNT UNLOCK;
    • ALTER USER scott IDENTIFIED BY tiger; (비밀번호를 'tiger'로 변경)
    • @?/rdbms/admin/scott.sql (샘플 테이블 및 데이터 생성)