'USERS'테이블스페이스에 대한 권한이 없습니다.
ORA-01950: no privileges on tablespace 'USERS'
위 에러 또는 "ORA-30041: 테이블스페이스에 할당량을 부여할 수 없습니다." 등의 에러가 발생하면서 'Tablespace'란 용어가 등장했다.
테이블 스페이스(Table Space)란??
Oracle에서는 사용자 생성 후 테이블을 생성하고 INSERT 하려는 순간 (혹은 CREATE시에) “ORA-01950: 테이블스페이스 ‘USERS’에 대한 권한이 없습니다.” 와 같은 오류가 발생할 수 있다. 왜냐하면 Oracle은 새로운 사용자를 생성한 직후에 기본적으로 할당받는 테이블 스페이스인 ‘USERS’라는 이름의 ROLE을 부여함. 근데 이 ‘USERS’ Tablespace에는 얼마만큼의 영역을 할당한 것인지 정해지지 않은 상태이다. 즉, users 테이블스페이스에 대해 현재 사용자가 1kb의 데이터도 입력할 수 없는 것임. 따라서 해결법은 해당 테이블스페이스에 대해 공간을 할당해 주면 된다. 정리하자면, ‘테이블스페이스’란 오라클 서버가 테이터를 저장하는 논리적인 데이터 저장 구조를 의미한다.
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' 카테고리의 다른 글
오라클 PL/SQL 프로시저(Procedure) 특징 및 예제 (0) | 2020.09.28 |
---|---|
오라클 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 |