CREATE USER
-
오라클 DB계정 생성 ORACLE CREATE USER2024.01.16
오라클 DB계정 생성 ORACLE CREATE USER
2024. 1. 16. 22:06
CREATE USER

오라클 공식 메뉴얼을 토대로 계정을 생성해 보자.
참고로 내가 다녔던 1금융에서 생성했던 방식을 그대로 사용하겠다.
(특별한건 아마 없을것 같다.)
DB계정생성
CREATE USER TEST_USR --사용할 USER명을 기입한다.
IDENTIFIED BY "Test123!@" --PW를 쌍따옴표 안에 기입한다. (특수문자,대소문자 구분 필요시)
DEFAULT TABLESPACE TS_IMSI --TABLE&INDEX생성시 T/S를 명시하지 않아도 자동으로 이 부분에 설정한 T/S에 생성된다.
QUOTA UNLIMITED ON TS_IMSI --DEFAULT T/S에서 사용할 SIZE를 설정한다. [QUOTA 10M ON]으로 하면 10MB까지만 사용할수 있다는 뜻이다.
PROFILE PF_TEST --PROFILE을 설정한다. PROFILE에는 세션에 대한 각종 차단등 보안관련 설정이 가능하다.
위와 같이 줄바꿈하면서 쓰지않고 한줄로 써도 된다.
모든 옵션을 빼고 CREATE USER TEST_USR IDENTIFIED BY "Test123!@" 만 날려줘도 에러없이 생성된다.
대신 옵션중 일부는 DEFAULT가 설정된 값으로,
일부는 아무값도 들어가지 않게 되므로 ALTER문으로 추가로 작업해주어야 한다.
DEFAULT TABLESPACE를 지정해 주지 않으면
파라미터에 설정되어있는 DEFAULT T/S를 따라가게 되어
USERS 혹은 SYSTEM이 잡힐수도 있으니 큰 일 날 수 있다.
(물론 사용하는 환경의 파라미터를 보면 알 수 있다.)
추가로 다른 옵션을 부여할 필요없이 위와 같이 생성하면
업무에 아무 문제없이 사용할 수 있다.
DB계정 생성후 추가로 해야하는 작업
CREATE USER만 수행했다고 해서 바로 로그인을 할 수 있는것은 아니다.
DB접속권한과 기타 필요한 권한을 부여해 줘야한다.
일반적으로 아래 권한은 기본적으로 부여한다.
GRANT CONNECT TO USER_NAME; --CONNECT라는 ROLE을 USER에 부여를 한다.
GRANT CREATE SESSION TO USER_NAME; --DB를 접속할수 있는 CREATE SESSION권한을 부여한다.
## 특정 테이블에 대한 권한을 부여하려면 아래와 같다.
GRANT SELECT ON OWNER.TABLE_NAME TO USER_NAME; --OWNER.TABLE_NAME에 조회권한을 USER에 부여한다.
GRANT INSERT, UPDATE, DELETE ON OWNER.TABLE TO USER_NAME; --삽입,수정,삭제 권한을 부여한다.
## DB접속 권한을 부여하고 싶다면 위의 권한중 하나만 부여하면된다.
## CONNECT ROLE에는 CREATE SESSION 권한이 부여되어있고 이 ROLE을 USER에 부여하는 개념이다.
권한 관련해서는 따로 글을 남기도록 하겠다.
'└ 01-02.ORACLE > SQL' 카테고리의 다른 글
| 오라클 ASM 사용률 변화 확인/수집 및 현황 보고를 위한 쿼리 (0) | 2023.12.12 |
|---|---|
| ORACLE RMAN 백업 진행 상황을 확인하는 쿼리 RMAN Backup status check (2) | 2023.12.05 |
| 오라클 HWM와 실제로 사용하는 블록 확인 쿼리. 리오그 대상 찾는법. ORACLE REORG HWM (0) | 2023.12.01 |
ORA-65096: invalid common user or role name (공통 사용자 또는 롤 이름이 부적합합니다.)
2023. 12. 8. 19:00
ORA-65096
ORA-65096: 공통 사용자 또는 롤 이름이 부적합합니다. (invalid common user or role name)
65096. 00000 - “invalid common user or role name”
원인
- 사용자 또는 롤을 생성할 때, 해당 이름이 유효하지 않은 경우 발생한다.
- 오라클 12c 버전부터 사용자명에 c##을 붙이지 않으면 오류가 발생할 수 있다.
조치
- 올바른 이름의 사용자 또는 롤 이름을 작성한다.
- 사용자 및 롤 이름은 “C##” 또는 “c##“로 시작하고 ASCII 문자로만 구성되어야 한다.
CREATE USER c##test IDENTIFIED BY “test123”;
조치2
- _oracle_script 파라미터를 TRUE로 설정하면 “c##” 접두어를 사용하지 않고 사용자를 생성할 수 있다.
ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE;
CREATE USER test IDENTIFIED BY “test123”;
'└ 01-02.ORACLE > ORA-' 카테고리의 다른 글
| ORA-04031 shared pool, unknown object, sga heap(5,0), ktmc_dlm_lck (1) | 2024.09.11 |
|---|---|
| event ORA$AT_OS_OPT_SY_????, ORA-27403, ORA-00600 (1) | 2024.09.05 |