UNLIMITED TABLESPACE権限があるのに表領域に権限が無いとエラーになるのは?
913324Jan 25 2012 — edited Jan 26 2012はじめまして。
先日、Oracle Database Express Edition 11g Release 2をインストールして
オラクルの勉強を始めたのですが、以下のエラーが出てしまい、困っています。
ORA-01950: no privileges on tablespace 'USERS'
他の方の投稿を調べたところ、
QUOTAの指定をしていないと、 CREATE TABEL権限や CREATE ANY TABLE権限があっても
表の作成が出来ないため、このエラーが出ているという内容・解決策は紹介されていたのですが、
私の場合、問題のユーザーにはUNLIMITED TABLESPACE権限を付与しているため、
それらの解決策には当てはまらないと思いまして…
以下、現在の状況です。
・Oracle Database Express Edition 11g Release 2
・ユーザー:test
・testのデフォルト表領域:USERS
・testに付与されているロール:CONNECTロール(CREATE SESSION権限)のみ
この状態で、二人目のユーザー(test2)を作成し、testスキーマに表を作成しようと思ったのですが、
エラーが出てしまいます。
(test2が普通に自分のスキーマに表を作成するぶんには問題ありませんでした。)
=======================
SQL> create table test.tbl_samp (id number);
create table test.tbl_samp (id number)
*
ERROR at line 1:
ORA-01950: no privileges on tablespace 'USERS'
=======================
test2の持っている権限は以下です。
=======================
SQL> select * from session_privs;
PRIVILEGE
----------------------------------------
CREATE SESSION
UNLIMITED TABLESPACE
CREATE TABLE
CREATE ANY TABLE
CREATE CLUSTER
CREATE SEQUENCE
CREATE PROCEDURE
CREATE TRIGGER
CREATE TYPE
CREATE OPERATOR
CREATE INDEXTYPE
11 rows selected.
=======================
・別スキーマに表を作成するにはCREATE ANY TABLE権限が必要
・表を作成するにはQUOTAの指定が必要(もしくはUNLIMITED TABLESPACE権限があればどこにでも作れる)
どちらの条件も満たしていると思うのですが、なにか問題があれば、または他にも必要な権限や設定があれば、
ご教授いただけると助かります。
よろしくお願い致します。