iT邦幫忙

2023 iThome 鐵人賽

DAY 7
0
自我挑戰組

IT工作中曾遇到的問題系列 第 7

Oracle DB:ORA-01950: no privileges on tablespace 'XXXXX'

  • 分享至 

  • xImage
  •  

有一次我用schema:test01來新建Table時,出現了錯誤的訊息:ORA-01950: no privileges on tablespace 'USER_1'

依照上述的訊息,應該是權限不足,但是我早已經把Create Table的權限授予test01,不應該會有這個訊息出現。

雖然知道是權限不足,但是還真的不知道從何查起,明明已經授權了…,幸好這是在測試機上先行測試,不然就糗了。

最後經一番查詢與測試,發現不是沒有授予Create Table的權限,而是沒有設定Tablespace的配額給test01,所以我的方向一直都是搞錯了。

執行下列的指令後,用test01新建Table就成功了。

SQL> alter user test01 quota unlimited on USER_1;

原來我在用test02第一次新建USER_1這個Tablespace時,有對此Tablespace設定配額限制

後來建立新的user:test01,並將USER_1這個Tablespace設定為test01的Default Tablespace,而預設test01對此tablespace是沒有配額的。

因為我之前新建Tablespace時,都沒有設定配額限制,所以使用上當然都沒有問題。

查詢Tablespace的配額情況,其中的欄位MAX_BYTES的值如果是-1,表示是unlimited:

SQL> select * from dba_ts_quotas

https://ithelp.ithome.com.tw/upload/images/20230914/201564030Mbqi5Tk0S.png


上一篇
使用powershell的Invoke-RestMethod呼叫REST API
下一篇
利用Plink替代Putty來建立Script
系列文
IT工作中曾遇到的問題30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言