Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

일상의 개발기록

[ ORA-01950 ] 테이블스페이스 'USERS'에 대한 권한이 없습니다. 에러 처리 방법 본문

오라클SQL

[ ORA-01950 ] 테이블스페이스 'USERS'에 대한 권한이 없습니다. 에러 처리 방법

이월(0216th) 2022. 11. 7. 14:41

 

문제 상황 ) 유저 생성 및 권한까지 주고 테이블 생성까지 했는데 INSERT 가 되지 않는다.

 

 

상세 내용 )

1. CREATE USER C##SERVICE IDENTIFIED BY password ;

-> c##service 유저를 생성

 

2. GRANT CONNECT , RESOURCE TO C##SERVICE ;

-> c##service 유저에게 role 부여 (연결 , 자원 등)

 

* RESOURCE 와 CONNECT 에 각각 부여된 권한이 있는데 , 사실 저것들 따로따로 CREATE ... 권한 부여해도 되지만

귀찮으니까 ROLE 로 한방에 처리한다.

 

3. CREATE TABLE 회원정보 ( ... )

-> 회원정보 테이블 생성

 

 

4. INSERT INTO 회원정보() VALUES () ... 에서 해당 오류가 발생함

 

원인 )

새로운 사용자를 생성하게 되면 테이블이 저장되는 공간인 테이블스페이스 users에 기본적으로 할당이 된다.

그런데 이 사용자(c##service) 는 테이블스페이스의 공간을 사용할 수 있는 권한이 없기 때문에 문제가 발생한 것이다.

 

 

 

해결 방법 ) alter user c##service quota 100M on USERS ;

위 사용자(c##service) 에게 users 테이블스페이스에 대해 공간을 할당해준다. 나는 USERS 테이블스페이스의 100M 의 공간을 c##service에게 할당해주었다. 이제 c##service는 이 공간(100M) 내에서 원하는 데이터를 넣을 수 있게 된다. (약간 호스팅 개념이랑 비슷한 듯 하다 )

 

 

 

 

결과 ) select * from USER_TS_QUOTAS;

위 딕셔너리는 해당 계정(c##service) 에게 USERS 테이블스페이스가 max_bytes 만큼 할당되었음을 보여준다.

 

 

정상적으로 데이터가 등록되었음을 알 수 있다.