안녕하세요, 코린이의 코딩 학습기 채니 입니다.
개인 포스팅용으로 내용에 오류 및 잘못된 정보가 있을 수 있습니다.
관리자 계정 생성
--=====================================
-- 관리자 계정
--=====================================
-- 실습용 kh계정 생성
create user kh -- 계정명
identified by -- 비밀번호(대소문자 구분)
default tablespace users; -- tablespace 실제 data가 저장될 영역
이렇게 계정 생성을 하려고 했더니 아래와 같은 오류메세지가 나오면서 생성 불가합니다.
"ORA-65096: invalid common user or role name"
그 이유는, 12c부터는 일반 계정은 모두 c##, C## 접두어를 사용해야 하기 때문인데요.
다소 번거롭기 때문에 아래 코드를 통해서 해결해줍니다.
-- 12c부터 일반계정은 c##, C## 접두어를 사용해야함.
alter session set "_oracle_script" = true;
create user kh -- 계정명
identified by -- 비밀번호(대소문자 구분)
default tablespace users; -- tablespace 실제 data가 저장될 영역
위와 같이 메세지가 나오면 계정 생성 성공!!
계정에 접속하기 위해서 녹십자 버튼을 클릭하여 사용자 이름 / 비밀번호를 입력해주고 테스트해보았더니,
CREATE SESSION 권한을 갖고 있지 않기 때문에 로그인이 거절 된다는 메세지가 뜨면서 접속이 불가합니다.
DB는 모든 것이 권한을 통해서 가능 여부가 나뉘게 됩니다.
권한 설정 방법
-- 상태: 실패 -테스트 실패: ORA-01045: 사용자 KH는 CREATE SESSION 권한을 가지고있지 않음; 로그온이 거절되었습니다
-- create session 권한 부여
grant create session to kh;
CREATE SESSION 권한을 부여하기 위한 코드입니다.
이 외, 한 번에 모든 권한을 부여해줄 수도 있는데요,
-- connect 롤, resource 롤 부여 : role(권한 묶음)
-- connect 롤 안에 create session 권한 포함.
-- resource 롤 안에 create table 등 객체 생성 권한 포함
grant connect, resource to kh;
connect 롤 (create session 권한 포함), resource 롤 (create table 등 객체 생성 권한 포함) 을 한 번에 부여해줄 수 있습니다.
저는 이 코드로 권한을 부여해주겠습니다.
위와 같이 메세지가 나오면 권한 부여 성공!!
아까와 같이 테스트를 해보면 성공이 뜨게 되고, 정보를 저장해줍니다.
저는 users tablespace에 대한 사용 권한 부여도 같이 해주겠습니다.
-- users tablespace에 대한 사용권한 부여
alter user kh quota unlimited on users;
users tablespace에 대한 권한 부여도 성공적으로 된 것을 확인할 수 있습니다.
'DataBase > Oracle' 카테고리의 다른 글
SQL) 기본 SQL 문법 종류 (DDL, DML, DCL, DQL, TCL) 정리 (0) | 2022.04.12 |
---|---|
자료형) 오라클의 구조, table의 구조(용어), DB의 자료형 (문자형,숫자형, 날짜형) (0) | 2022.04.12 |
DB) DB의 정의, 특징, DBMS, RDBMS, 정규화 (0) | 2022.04.12 |
환경설정) SQL Developer 환경설정 및 파일 생성 방법 (0) | 2022.04.12 |
다운로드 방법) Oracle / SQL Developer 설치 방법 (0) | 2022.04.12 |