ORA-01950錯誤分析

今天創建了一個用戶zy,給用戶賦予了create table的權限,可還是不能建表。
1、創建用戶語句:

Create user zy
Identified by zy123
Default tablespace zy;

 

2、Zy用戶所擁有的系統權限:

SQL> select * from user_sys_privs;

 

USERNAME   PRIVILEGE           ADMIN_OPTION
----------------  -------------------------------- --------------
ZY         CREATE TABLE             YES
ZY         CREATE SESSION           NO
ZY         SELECT ANY TABLE        YES

 

3、Zy用戶建表報錯:

SQL> create table t1
  2  as
  3  select * from all_tables;

 

ORA-01950: 對錶空間zy無權限;

 

ORA-01950錯誤分析

用戶沒有resource權限。
在修改了用戶的表空間後,在用戶中創建表時會出現以下的錯誤:
ORA-01950: 表空間'HDNHG'中無權限
這個時候就要給修改了表空間的用戶重新分配權限如:
GRANT CONNECT , RESOURCE  TO username;
再切換到該用戶下創建表OK!
總的來說這個錯誤是由於對錶空間操作的權限不足造成的,所以這個時候就可以檢查出錯之前對於所操作的表空間有哪些權限可能被revoke(或者說原來就沒有grant),然後重新賦予相應的權限。

 

zy用戶賦予connectresource權限:

SQL> grant connect,resource to zy;

 

Grant succeeded

 

再來用zy用戶建表:

SQL> create table t1
  2  as
  3  select * from all_tables;

 

Table created
成功!

 
(1)      查看所有用戶:
select * from dba_users;
select * from all_users;
select * from user_users;

(2)      查看用戶或角色系統權限:

select * from dba_sys_privs;
select * from user_sys_privs;
(3)      查看用戶對象權限:

select * from dba_tab_privs;
select * from all_tab_privs;
select * from user_tab_privs;
(4)      查看所有角色:

select * from dba_roles;
(5)      查看用戶或角色所擁有的角色:

select * from dba_role_privs;
select * from user_role_privs;
 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章