데이터베이스 관리자가 Oracle Database를 사용하면서 자주 수행하는 작업 중 하나는 새로운 사용자 계정을 생성하고 권한을 설정하는 것입니다. 오늘은 Oracle DB에서 사용자를 생성하고 필요한 권한을 부여하는 과정을 단계별로 알아보겠습니다. 이 가이드는 초보자도 따라 하기 쉽게 구성되었습니다.
1. 사용자 생성하기
Oracle에서 사용자를 생성하려면 다음과 같은 명령어를 사용합니다.
사용자 계정 이름과 비밀번호를 지정하여 새로운 사용자를 생성할 수 있습니다.
CREATE USER 사용자이름 IDENTIFIED BY 비밀번호;
예시
CREATE USER test_user IDENTIFIED BY password123;
- test_user: 새로 생성되는 사용자 이름입니다.
- password123: 해당 사용자의 비밀번호입니다.
2. 기본 권한 부여하기
사용자가 데이터베이스에 접속할 수 있도록 기본 권한을 부여합니다.
GRANT CONNECT TO 사용자이름;
GRANT RESOURCE TO 사용자이름;
예시
GRANT CONNECT TO test_user;
GRANT RESOURCE TO test_user;
- CONNECT: 데이터베이스에 접속할 수 있는 권한을 부여합니다.
- RESOURCE: 테이블 생성과 같은 리소스 관리 작업 권한을 부여합니다.
3. 테이블스페이스 설정하기 (선택 사항)
Oracle에서는 사용자가 데이터를 저장할 공간을 테이블스페이스(TableSpace)라고 합니다. 사용자의 기본 테이블스페이스와 임시 테이블스페이스를 설정하려면 아래 명령어를 사용합니다.
ALTER USER 사용자이름 DEFAULT TABLESPACE 기본_테이블스페이스;
ALTER USER 사용자이름 TEMPORARY TABLESPACE 임시_테이블스페이스;
예시
ALTER USER test_user DEFAULT TABLESPACE users;
ALTER USER test_user TEMPORARY TABLESPACE temp;
4. 세부 권한 부여하기
사용자에게 특정 작업 권한을 부여할 수도 있습니다.
4.1 테이블 생성 권한
GRANT CREATE TABLE TO 사용자이름;
4.2 뷰(View) 생성 권한
GRANT CREATE VIEW TO 사용자이름;
4.3 프로시저 생성 권한
GRANT CREATE PROCEDURE TO 사용자이름;
4.4 특정 테이블에 대한 권한
특정 테이블에 대해 읽기, 쓰기, 수정, 삭제 권한을 부여합니다.
GRANT SELECT, INSERT, UPDATE, DELETE ON 스키마.테이블 TO 사용자이름;
예시
GRANT SELECT, INSERT ON hr.employees TO test_user;
5. 시스템 권한 부여하기
데이터베이스 전체를 관리해야 하는 경우 시스템 권한을 부여할 수 있습니다.
GRANT DBA TO 사용자이름;
⚠️ 주의: DBA 권한은 모든 작업을 수행할 수 있으므로, 신중히 부여해야 합니다.
6. 권한 확인하기
부여된 권한을 확인하려면 다음 명령어를 사용합니다.
SELECT * FROM USER_TAB_PRIVS WHERE GRANTEE = '사용자이름';
SELECT * FROM USER_ROLE_PRIVS WHERE USERNAME = '사용자이름';
SELECT * FROM USER_SYS_PRIVS WHERE USERNAME = '사용자이름';
7. 권한 회수하기
만약 부여된 권한이 잘못되었거나 불필요하다면, 다음과 같은 명령어로 권한을 회수할 수 있습니다.
REVOKE 권한 FROM 사용자이름;
예시
REVOKE CREATE TABLE FROM test_user;
요약
Oracle Database에서 사용자를 생성하고 권한을 설정하는 과정은 다음과 같은 단계를 따릅니다.
- 사용자 생성: CREATE USER 명령어 사용.
- 기본 권한 부여: GRANT CONNECT, GRANT RESOURCE.
- 테이블스페이스 설정: ALTER USER.
- 특정 권한 부여: GRANT CREATE TABLE, GRANT SELECT.
- 시스템 권한 부여: GRANT DBA.
- 권한 확인 및 회수: SELECT, REVOKE.
Oracle 데이터베이스 관리에 익숙하지 않은 초보자도 위 단계를 참고하여 손쉽게 사용자를 관리할 수 있습니다.
여러분의 프로젝트에 도움이 되길 바랍니다!
'개발 > 데이터베이스' 카테고리의 다른 글
| PostgreSQL 락(lock) 프로세스 확인 및 강제 종료(kill) (0) | 2025.04.08 |
|---|---|
| PostgreSQL에서 WITH ... AS MATERIALIZED 물리적 임시저장 (0) | 2025.03.18 |
| Postgresql 테이블스페이스 생성 관리 (0) | 2025.03.17 |
| PostgreSQL 속도 문제 원인 및 해결 방법 (0) | 2025.03.12 |
| PostgreSQL autovacuum 이해와 활용 방법 (0) | 2025.01.17 |