error & sol

[DB/ORACLE] ORA-01031 : 권한이 불충분합니다.

익명의 구름 2018. 9. 26. 13:37
반응형

사용 데스크탑

OS : Window 7 Professional K


 

만약 맥 사용자분이시라면, 아래의 링크를 통해 sqlplus 접속하는 법을 숙지하세요!

 

mac에서 sqlplus 접속하기

사용 노트북(MacBook Pro 2017) OS : macOS High Sierra DB : docker 다운 후, docker에서 Oracle DB 11g image를 pull 하여 설치 안녕하세요 둥둥! 이 글을 보시는 분들은 Oracle DB 설치는 물론, Oracle SQL De..

float-ing-cloud.tistory.com

제시된 솔루션은 윈도우에서 한 것이므로 cmd에서 sqlplus를 접속하는데,

맥 사용자분들은 su - oracle 까지 한 후에 아래의 명령어들을 따라 치시면 됩니다.


안녕하세요 둥둥!

 

오라클 디비(Oracle DB/Oracle DBMS)에서 뷰(View)를 생성하는 과정에서 오류가 발생했습니다. 

 

 

[그림 1] ORA-01031 : 권한이 불충분합니다. 

 

 

Cause와 Action 부분을 읽어 보니

관리자에게 view를 create할 수 있는 권한을 부여를 받아야 이 문제가 해결될 것 같습니다.

 

그러면 어떻게 해야 관리자에게 권한 부여를 받을 수 있을까요?

우선 명령 프롬프트창(cmd)을 실행시킨 후 반드시 DBA 권한으로 접속하셔야 합니다. 

[command] DBA 권한으로 접속하는 명령어 
> sqlplus system/
관리 비밀번호@전역 데이터베이스 이름

기존에 생성해둔 user가 아닌 DBA권한으로 접속하셔야 view를 create할 수 있는 권한을 해당 user에게 줄 수 있습니다. 

다시 말해,  관리자 계정(DB Administrator)으로 접속하셔야 user에게 권한 부여를 할  수 있는 command를 적용할 수 있는 것입니다. 

 

그렇게 접속하신 다음, 아래의 명령어를 쳐주시면 권한 부여가 성공적으로 완료되고!

[command] 해당 계정에게 view를 create 할 수 있는 권한을 부여하는 명령어
SQL>
grant create view to
계정 이름 

 

뷰 생성 코드를 다시 실행시키면 오류가 뜨지 않고 성공적으로 뷰가 생성되는 걸 확인하실 수 있게 됩니다.

 

 

 

 

사실 저는 처음에 명령 프롬프트창에서도 ORA-01031 오류를 또 마주하게 되었습니다.

알고보면 당연한 건데 user 위치에서 DB administrator가 해야 할 일을 계속 하려고 했기 때문에 ㅠ^ㅠ...


[그림 2] user로 접속 했을 때와 system으로 접속 했을 때 차이

user account인 kdhong 으로 접속 했을 때

 

Administrator account인 system 으로 접속 했을 때

 

마지막 오류는 오라클 DB 구조에 대해 무지했던 저로 인한 것이라 부끄럽지만 공개합니다.

 

그럼 다음 오류를 찾으러 둥둥! 

 


도움이 되셨다면

둥둥 떠다니는 광고를 눌러 주실 수 있을까요..? 

광고를 클릭하시면 익명의 구름의 포스팅 제작에 작은 도움이 됩니다.

 

반응형