ora-01950 对表空间无权限
創建新的用戶時,要指定default?? tablespace,否則它會把system表空間當成自己的缺省表空間。這樣做是不提倡的。估計原來創建某個用戶的時候沒有指定缺省表空間,而現在它使用系統表空間的權限被DBA給收回了。??
? 先用的簡單的辦法試試,一般缺省的ORACLE安裝都是有USERS表空間的。??
? 比如你要在用戶(或SCHEMA)usera中建表,那么你用SYSTEM登錄ORACLE后,執行如下SQL??
???
?ALTER?? USER?? usera?? QUOTA?? UNLIMITED?? ON?? USERS;???
? 如果沒有USERS表空間,則會報錯,你可以找一個其他的表空間,從v$tablespace可以看到所有的表空間。
?
下面情況sany用戶開始創建的時候沒有制定default tablespace?? ********
SQL> connect sany/as646333
已連接。
SQL> select * from user_sys_privs
? 2? ;
USERNAME?????????????????????? PRIVILEGE??????????????????????????????? ADM
------------------------------ ---------------------------------------- ---
SANY?????????????????????????? CREATE SESSION?????????????????????????? NO
SANY?????????????????????????? EXECUTE ANY PROCEDURE??????????????????? NO
SANY?????????????????????????? CREATE USER????????????????????????????? NO
SANY?????????????????????????? CREATE TABLE???????????????????????????? NO
SQL> create table bjwh(user_id number(5),user_name varchar2(20),phone varchar2(12),email varchar2(20
));
create table bjwh(user_id number(5),user_name varchar2(20),phone varchar2(12),email varchar2(20))
*
第 1 行出現錯誤:
ORA-01950: 對表空間 'USERS' 無權限
SQL> connect system/oracle
已連接。
SQL> alter user sany quota unlimited on users;
用戶已更改。
SQL> connect sany/as646333
已連接。
SQL>? create table bjwh(user_id number(5),user_name varchar2(20),phone varchar2(12),email varchar2(2
0));
表已創建。
SQL> disconnect
從 Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Production
With the Partitioning, OLAP and Data Mining options 斷開
SQL> desc bjwh
SP2-0640: 未連接
SP2-0641: "DESCRIBE" 需要連接至服務器
SQL> connect sany/as646333
已連接。
SQL> desc bjwh
?名稱????????????????????????????????????? 是否為空? 類型
?----------------------------------------- -------- ----------------------------
?USER_ID??????????????????????????????????????????? NUMBER(5)
?USER_NAME????????????????????????????????????????? VARCHAR2(20)
?PHONE????????????????????????????????????????????? VARCHAR2(12)
?EMAIL????????????????????????????????????????????? VARCHAR2(20)
?
問題解決。
用戶x建表的時候提示:ora-01950:對表空間‘x’無權限
?
原因:用戶沒有resource權限
解決方法:連接sys用戶,賦予用戶x resource權限
??????????grant resource to x;
?
嘿嘿,又搜了下resource的知識,先學習,后轉載:
###########################################################################################
??grant connect,resource to user;
??然后,用戶包括的權限:
???CONNECT角色: --是授予最終用戶的典型權利,最基本的
????ALTER SESSION --修改會話
????CREATE CLUSTER --建立聚簇
????CREATE DATABASE LINK --建立數據庫鏈接
????CREATE SEQUENCE --建立序列
????CREATE SESSION --建立會話
????CREATE SYNONYM --建立同義詞
????CREATE VIEW --建立視圖
????RESOURCE角色: --是授予開發人員的
????CREATE CLUSTER --建立聚簇
????CREATE PROCEDURE --建立過程
????CREATE SEQUENCE --建立序列
????CREATE TABLE --建表
????CREATE TRIGGER --建立觸發器
????CREATE TYPE --建立類型
????從dba_sys_privs里可以查到:
????SQL>?select grantee,privilege from dba_sys_privs
?????????2 where grantee='RESOURCE' order by privilege;
????GRANTEE PRIVILEGE
????------------ ----------------------
????RESOURCE CREATE CLUSTER
????RESOURCE CREATE INDEXTYPE
????RESOURCE CREATE OPERATOR
????RESOURCE CREATE PROCEDURE
????RESOURCE CREATE SEQUENCE
????RESOURCE CREATE TABLE
????RESOURCE CREATE TRIGGER
????RESOURCE CREATE TYPE
????已選擇8行。
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的ora-01950 对表空间无权限的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ORA-20000: ORU-10027
- 下一篇: 传输表空间简介