ORA-01950, ORA-30041 에러 발생
ORA-01950: no privileges on tablespace 'USERS'
해석해보면 "ORA-01950:USERS 테이블스페이스에 대한 권한이 없습니다"라는 건데, "ORA-30041(테이블스페이스에 할당량을 부여할 수 없습니다)"과 함께 종종 등장하는 '테이블 스페이스(Table Space)'란 용어는 오라클에서 테이블/인덱스 데이터가 실제로 저장되는 공간이다.
테이블 스페이스(Table Space)란??

Oracle에서는 사용자 생성 후 테이블을 생성하고 INSERT 하려는 순간 (혹은 CREATE시에) "ORA-01950: 테이블스페이스 'USERS'에 대한 권한이 없습니다." 와 같은 오류가 발생할 수 있다. 왜냐하면 Oracle은 새로운 사용자를 생성한 직후에 기본적으로 할당받는 테이블 스페이스인 'USERS'라는 이름의 ROLE을 부여함. 근데 이 'USERS' Tablespace에는 얼마만큼의 영역을 할당한 것인지 정해지지 않은 상태이다. 즉, users 테이블스페이스에 대해 현재 사용자가 1kb의 데이터도 입력할 수 없는 것임. 따라서 해결법은 해당 테이블스페이스에 대해 공간을 할당해 주면 된다. 정리하자면, '테이블스페이스'란 오라클 서버가 테이터를 저장하는 논리적인 데이터 저장 구조를 의미한다.
테이블스페이스 할당량(Quota) 부여 및 제한 방법
1. unlimited 키워드로 할당에 제한을 두지 않는 방법
※quota키워드: 사용하여 USER가 사용할 테이블스페이스의 영역을 할당.
alter user '유저명' default tablespace '테이블스페이스' quota unlimited on '테이블스페이스';
ex) alter user myuser default tablespace users quota unlimited on users;
2. 특정 용량만큼만 테이블스페이스를 할당
alter user '유저명' quota '용량' on '테이블스페이스';
ex) alter user myuser quota 30M on users;반응형
'Database' 카테고리의 다른 글
| [Oracle] PL/SQL 프로시저(Procedure) 특징 및 예제 (0) | 2020.09.28 |
|---|---|
| [Oracle] PL/SQL이란? 그리고 블록(Block) (0) | 2020.09.26 |
| [Oracle] User와 Role, 권한 (0) | 2020.09.24 |
| [Oracle] 윈도우 함수(WINDOW FUNCTION)/집계함수(AGGREGATE FUNCTION) (0) | 2020.09.23 |
| [Oracle] 그룹 함수(ROLLUP, CUBE, GROUPING SETS, GROUPING) 개념 정리 (0) | 2020.09.22 |