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用戶賦予connect,resource權限:
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;
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.