[Oracle] 사용자와 스키마, 사용자 생성(CREATE USER) 및 권한 부여(GRANT)

당당·2023년 4월 27일
0

Oracle

목록 보기
3/51
post-thumbnail

https://opentutorials.org/course/3885/26341

📔설명

USERSCHEMA 에 대해 알아보도록 하자!

오라클 db에서 우리가 하려는 최종적인 일은 표에다 정보를 기록하고, 기록된 정보를 읽는 것이다. 그러므로, 표를 만들 수 있어야 한다!

이번에는 사용자와 스키마에 대해 알아보고, 사용자를 생성하는 방법 및 사용자에게 권한을 부여하는 방법을 알아보자!


📊Schema(스키마)

표를 만들다 보면 표가 점점 많아지게 된다.
우리는 자연스럽게 연관된 표를 그룹핑하기 위한 체계가 필요하다.
그 체계를 Schema라고 부른다. 서로 연관된 표를 그룹핑하는 디렉토리로 이해하면 좋다.

Schema에 속한 표들을 정의하는 게 개념적으로는 스키마이다. (데이터베이스 구조)

스키마를 만들거나 생각하기 위해서 같이 생각할 개념이 사용자(USER)다.

오라클은 여러 사용자를 만들 수 있고, 각각 사용자는 자신이 관리하는 테이블에 접속할 수 있다. 그리고 사용자를 생성하게 되면, 사용자에 해당되는 스키마가 만들어지게 된다!

그러므로, 스키마와 사용자는 서로 같은 것은 아니지만, 위와 같은 이유로 함께 생각하는 것이 좋다! 스키마를 관리하는 건 사용자니까!


👶🏻사용자 생성

이제 사용자를 생성해보자! 사용자 생성관리자 권한으로 해야한다.

사용자 명에 sys as SYSDBA를 입력하고, 엔터를 두번 치자.

이렇게 뜨면 접속에 성공한 것이다!
사용자를 만들어야 스키마를 만들 수 있기 때문에, 사용자를 먼저 생성하자.

https://docs.oracle.com/database/121/SQLRF/statements_8003.htm#SQLRF01503

사용자 생성하는 법을 오라클 공식 메뉴얼을 통해 알아보자.

여기서 로 되어 있는 것들은 키워드로, 그대로 사용해야 한다.
타원으로 되어있는 부분들은 우리가 바꿔야 할 내용이다.
그리고 CREATE USER 사용자명 IDENTIFIED 다음에 BY를 쓸지, EXTERNALLY를 쓸지, GLOBALLY를 쓸지 선택하라는 것이다. 비밀번호를 이용해 사용자를 생성할 것이기 때문에 BY를 사용할 것이다.

이제 위에서 배운 것을 토대로 직접 사용자를 생성해보도록 하자~!

사용자 생성 형식

CREATE USER 사용자명 IDENTIFIED BY 비밀번호;

이렇게 사용자를 생성해주자!

그러면 유저가 생성되었다는 문구가 뜬다.
즉, 이것은 dang이라는 스키마도 생성된 것을 뜻한다.

exit를 치면, SQL PLUS에서 나갈 수 있다.

이제 다시 sqlplus에 들어가서, 아까 만든 사용자로 접속해보자!

안된다! 왜냐하면 콘솔을 다루기 위한 dang 사용자가 권한을 가지고 있지 않기 때문이다.

이제는 사용자에게 권한을 부여해보자!!


📨사용자 권한 부여

관리자로서 사용자에게 권한을 부여해야하기 때문에, 위 처럼 sys as SYSDBA를 치고, 관리자로 접속하자!

사용자에게 권한을 부여하는 GRANT이며, 뒤에 TO와 함께 쓴다.

사용자 권한 부여 형식

GRANT 권한 TO 사용자명;

dang이라는 사용자에게 DBA권한을 부여하는 명령어다.

그러나, 실제로는 DBA처럼 최대 권한을 주면 안되고, 진짜 필요한 만큼 최소한의 권한을 줘야한다!

이번에 다시 sqlplus에 접속해서 dang유저로 접속해보자.

드디어 접속도 성공했다!

profile
MySQL DBA 신입

0개의 댓글