2021. 11. 27. 00:18ㆍStudy/Database
1. SQL Plus 실행
기본 계정 : SYSTEM(대소문자 안가림) / 설치 시 입력한 비밀번호(대소문자 가림)
2. 기본 설정
ALTER SESSION SET "_ORACLE_SCRIPT" = TRUE;
이게 11g → 12c 로 넘어가던 시절에는 갑자기 시작부터 에러가 나서 멘붕이었던 기억이 난다.
분명 똑같이 CREATE USER 를 했는데 에러가남. ( ORA-65096 )
도대체 뭘까? 했었는데 12c 버전부터는 계정명 앞에 C##
c##
와 같은 접미사(?)를 붙여줘야 했다.
(심지어 대소문자 구분까지 함. 세상불편....😣)
그래서 사용자 명이 C##USERNAME
같은 이상한 꼬라지가 되어버린다.
진짜 이 때 너무나 쇼크였던 기억ㅎㅎㅎ
어차피 이런 설정값 줘서 사용하게 할거면서 뭐하러 C## 이런건 붙인건지...🤔
지금 생각해봐도 이해 안되는 변화중 하나였던 것 같다.
아무튼 처음 한번만 설정해주면 11g 때처럼 C##을 붙이지 않고 계정을 생성할 수 있다.
12c 이상부터는 그냥 기본으로 하는 세팅이라고 보면 될 것 같다.
3. 계정 생성
CREATE USER USERNAME IDENTIFIED BY PWD;
계정을 생성하면서 권한을 줄 수도 있지만,
뭔가 SQL문이 길어지면 오타도 자주나고, 헷갈리는게 있어서
깡통 계정을 먼저 생성해 주는게 편한 것 같다.
IDENTIFIED 오타 안나는데 꽤나 오랜 시간이 필요했다. ㅋㅋㅋ
아직도 손에 적응이 안된다. 🙄
이미 생성된 사용자의 비밀번호를 변경하고 싶은 경우,
ALTER USER USERNAME IDENTIFIED BY CHANGE_PWD;
SYS계정이라면, 이전 비밀번호를 몰라도 변경이 가능하다.
4. 권한 부여
공식 사이트 가이드 문서에 보면 굉장히 많은 권한들이 존재한다.
한 20개정도면 다 정리해볼까 했는데,
생각보다 어마무시하게 많아서 정리하는건 나중에 기회될 때 해봐야겠다.
SQL Language Reference
docs.oracle.com
하지만 다행스럽게도(?) 똑똑하신 많은 선배님들이
저 많은 권한들을 이미 다 분석하여 ROLE(역할) 에 맞게 다 분류를 해주셨다.
ROLE에서 정해준 권한 외에 추가 권한이 필요하다면,
그 때는 저 레퍼런스를 분석해볼만한 가치가 있을 것 같다.
원하는대로 구성해서 별도의 ROLE 을 만들 수 있지만,
사실 기본으로 제공되는 ROLE만 사용해도 웬만한 모든 기능은 사용할 수 있어서
DBA가 아닌 이상 ROLE에 관한 컨트롤까지는 관여할 일이 거의 없긴 하다.
알아둬서 나쁠 건 없으니 추후에 따로 정리해봐야겠다.
아무튼, 자주 사용하는 ROLE에는 CONNECT
, DBA
, RESOURCE
가 있다.
ROLE NAME | DESCRIPTION |
CONNECT | 세션 생성, 테이블 CRUD 권한, 기본적인 DB 접속 권한 |
DBA | 모든 시스템 권한 (사용자 CRUD, 세션관리, 테이블/인덱스/뷰/시퀀스 등 권한) |
RESOURCE | PL/SQL 생성 권한 |
참고로, 각 ROLE 별로 할당된 권한 정보는 SYS테이블에서 확인 가능함
SELECT * FROM DBA_SYS_PRIVS
WHERE GRANTEE = 'DBA'; // 조건에 조회하고 싶은 ROLE 이름
어쨋든, ROLE 로 깔끔하게 정리되어있는 권한들을 생성한 계정에 부여해 준다.
GRANT CONNECT, RESOURCE, DBA TO USERNAME;
이와 반대로, 줬던 권한을 해제할 수 있다.
REVOKE CONNECT, RESOURCE, DBA FROM USERNAME;
'Study > Database' 카테고리의 다른 글
[SQLP] 이론 5. Transaction (0) | 2021.12.03 |
---|---|
[SQL] VIEW (0) | 2021.12.03 |
[SQL] SELECT, INSERT, UPDATE, DELETE, MERGE (0) | 2021.12.02 |
[SQL] DDL, DML, DCL, TCL (0) | 2021.12.01 |
[Oracle] 테이블 스페이스 설정 (0) | 2021.11.27 |
Oracle 19C 설치 (54% 에서 설치가 멈추는 현상 해결, Windows 10 Pro 기준) (0) | 2021.11.26 |
[SQLP] 이론 4. DB Server Multiplexing (0) | 2021.11.18 |
[SQLP] 이론 3. What is Architecture? (0) | 2021.11.18 |
[SQLP] 이론 2. What is RDBMS and SQL? (0) | 2021.11.15 |
[SQLP] 이론 1. What is Database? (0) | 2021.11.15 |