사용자 생성

Oracle 12c 새 사용자 생성

Oracle12c에는 CDB/PDB 멀티테넌트 아키텍처가 도입되었습니다. 컨테이너 데이터베이스(CDB)에서 일반 사용자를 직접 생성하면 오류가 발생합니다. CDB 내부에서 만드는 공통 사용자 이름은 반드시 c## / C## 접두사를 붙여야 합니다.

로그인

  1. Windows cmd를 열고 sqlplus 실행
sqlplus
  1. 슈퍼 관리자 계정으로 데이터베이스 접속
사용자 이름 입력: sys as sysdba
비밀번호 입력: 【설치 당시 설정한 sys 비밀번호 입력】Code language: JavaScript (javascript)

로그인 성공 메시지:접속됨: Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

사용자 생성

잘못된 작성 예시

목표:사용자 cat, 비밀번호 123456 생성
실행 SQL:

CREATE USER cat IDENTIFIED BY 123456;
ORA-65096: 공통 사용자 또는 역할 이름이 올바르지 않습니다Code language: HTTP (http)

오류 원인:현재 CDB 루트 컨테이너에 접속 중입니다. 공통 사용자(Common User)는 c## 접두사가 강제되며 cat은 명명 규칙에 맞지 않습니다.

공통 사용자 올바른 생성 방법

실행 SQL:

CREATE USER c##cat IDENTIFIED BY Bm123321;Code language: CSS (css)

실행 결과:사용자가 생성되었습니다.

사용자 권한 부여

잘못된 권한 부여 구문
GRANT CONNECT, RESOURCE, DBA TO cat;
ORA-01917: 사용자 또는 역할 'CAT'이(가) 존재하지 않습니다Code language: JavaScript (javascript)

사용자 이름은 c##cat입니다. 권한 부여 시 생성할 때와 완전히 동일한 이름을 사용해야 하며 cat으로 줄여 쓸 수 없습니다.

올바른 권한 부여 구문
GRANT CONNECT, RESOURCE, DBA TO c##cat;Code language: CSS (css)

권한 설명:

  1. CONNECT:기본 로그인 및 접속 권한
  2. RESOURCE:개발에서 자주 쓰이는 자원 역할, 테이블·인덱스 등 객체 생성 허용
  3. DBA:전체 데이터베이스 관리자 권한(테스트 환경에서만 사용, 운영 환경에서 함부로 부여하지 마세요)

새 사용자 로그인 검증

  1. exit 실행하여 sys 관리자 세션 종료 후 sqlplus 재실행
SQL> exitCode language: PHP (php)
  1. 잘못된 정보로 로그인 시도
사용자 이름 입력: cat
비밀번호 입력: 123456

오류:ORA-01017: 사용자 이름/비밀번호가 유효하지 않습니다; 로그온이 거부되었습니다

  1. 올바른 로그인 방식
사용자 이름 입력: c##cat
비밀번호 입력: 123456Code language: CSS (css)

데이터베이스 접속 성공.

사용자 생성

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다