홍형경씨가 지은 "오라클 SQL과 PL/SQL을 다루는 기술"의 샘플 스키마를 설치하는데 책에 있는 것과 다르게 사용자의 권한을 부여하려다 보니 고민이 생겼다.

책에서는 사용자로 ora_user 계정을 만들어서 DBA 권한을 부여하고 있다.

그러나 나는 프로그래머가 DBA 권한을 가지는 것이 바람직하지 않아 다음과 같이 최소한의 권한만 부여하고자 한다.

우선은 책에 나와 있는대로 데이터베이스 tablespace를 생성하고, 사용자를 추가한다. 또한 권한도 DBA로 부여한다. 그리고나서 샘플 스키마를 초기화한다.

1. 초기화 파일을 C:\Temp 폴더에 복사

  - empall.dmp

  - empcust.dmp

2. cmd창을 띄운다.

3. C:\Temp 디렉토리로 이동

4. 초기화 실행

4.1 empall.dmp 초기화

  - C:\Temp> imp ora_user/ora_pass file=expall.dmp log=empall.log ignore=y grants=y rows=y indexes=y full=y

  - imp 수행하면서 생성된 log 파일을 첨부해 본다.

empall.log
0.00MB

4.2 empcust.dmp 초기화

  - C:\Temp> imp ora_user/ora_pass file=expcust.dmp log=empcust.log ignore=y grants=y rows=y indexes=y full=y

  - imp 수행 시 발생한 로그 파일을 첨부해 본다.

empcust.log
0.00MB

5. ora_user의 DBA 권한 회수

  - sql developer에서 dba 계정으로 수행

  - revoke dba from ora_user;

  - commit;

6. 일반 사용자 권한 부여

  - sql developer에서 dba 계정으로 수행

  - grant connect, resource to ora_user;
  - alter user ora_user quota unlimited on myts;

  - commit;

Posted by 세상을 살아가는 사람
,