본문 바로가기

Database(DB)/Oracle

Oracle sqlplus 계정 생성하기 및 권한 부여

 지난 시간에 Oracle DB(Express)를 설치하였는데요, 이번에는 사용자 계정을 만들어 봅시다.

 먼저 윈도우 키를 누르고 cmd(명령 프롬프트)를 실행시킨 후에 터미널 창에서 sqlplus를 입력한 후에 엔터를 눌러서 실행시켜 줍니다. 이전에 Oracle을 제대로 설치했다면 아래와 같이 Version도 잘 나오고 '사용자명 입력:' 이라는 문구가 나올 것입니다.

 

 사용자를 생성하기 위해서는 관리자 권한으로 접속하여야 합니다. 관리자 권한으로 접속하기 위해서는 사용자명을 입력하는 곳 옆에 sys AS SYSDBA라고 입력해주시고 엔터를 치시면 됩니다. 그 다음 비밀번호를 입력하지 않고 엔터를 다시 치시면 됩니다.

 

 위와 같이 관리자 권한으로 접속을 하였다면 새로운 계정을 만들어 보겠습니다. 사용자를 생성하면 스키마(schema)라는 것이 같이 만들어집니다. 이는 표들을 그룹화한 것으로 연관이 있는 표들을 묶어놓은 것이라고 생각하시면 됩니다.

 일단은 비밀번호를 가지고 있는 계정을 만들 것인데 아래와 같이 입력하고 엔터를 쳐 봅시다. 여기서는 임의로 사용자 계정을 dev로, 비밀번호를 9000으로 설정하였습니다.

CREATE USER (계정이름) IDENTIFIED BY (비밀번호);

 

 하지만 ORA-65096: invalid common user or role name과 같은 오류가 나타납니다. 여기서 해결 방법 중 하나로 일정한 명령문을 입력해주면 문제를 해결할 수 있습니다. 아래의 문장을 입력하고 엔터를 치면 세션이 변경되었다는 문구가 나옵니다. 굳이 이 명령어를 외우실 필요는 없습니다. 기억이 안 나셔도 검색을 통해서 충분히 찾으실 수 있습니다.

ALTER SESSION SET "_ORACLE_SCRIPT"=true;

 

 이제는 아까 입력했던 CREATE문을 다시 입력해 주시고 엔터를 치시면 사용자가 생성되었다고 나옵니다.

 

 새로 만든 계정에 접속하기 위해서 일단 sqlplus를 다시 실행시켜 봅시다. exit을 입력한 후에 엔터를 쳐 줍니다.

 

 다시 sqlplus를 입력한 후에 엔터를 쳐 주면 다시 사용자명 입력 문구가 나옵니다.

 

 

 아까 CREATE USER를 통하여 임의로 설정한 사용자명인 dev를 입력하고 엔터를 친 후에 임의로 설정한 비밀번호인 9000또한 입력하고 엔터를 쳤습니다. 하지만 로그온 거절이라는 내용이 나옵니다. 이것을 해결하기 위해서는 사용자에게 권한을 부여해주어야 합니다.

 

 권한을 부여해주기 위해서 다시 관리자 계정으로 접속해 줍시다. 아까와 마찬가지로 사용자명 입력에 sys AS SYSDBA를 입력해 주고 엔터를 친 후에 비밀번호는 생략하고 엔터를 칩니다.

 

 관리자 계정으로 들어가면 아래와 같이 DBA(최대한의 관리 권한)를 새로 만들어 준 사용자 계정에 부여할 수 있습니다.

GRANT DBA TO dev;

 

 권한이 부여된 후에 exit 명령을 통해서 sqlplus를 종료 후 다시 아까 만들었던 사용자 계정으로 접속하면 이제는 만들어진 계정에 잘 접속이 되시는 것을 보실 수 있습니다.

 

  지금까지 sqlplus에서 관리자 계정 생성 및 권한 부여에 대해서 알아보았습니다. 즐거운 시간 보내세요~

'Database(DB) > Oracle' 카테고리의 다른 글

[SQL/SQLD] 그룹함수 ROLLUP (GROUP BY ROLLUP)  (0) 2024.08.25
Oracle DB(Express) 21c 설치하기  (0) 2022.10.01