2013-12-15 108 views
2

我使用SQL * Plus作爲學校,並使用用戶名Scott。我不能創建意見,因爲它說:授權在Oracle 11g上創建視圖

ORA-01031: insufficient privileges; 

我已經搜查和搜查,但似乎沒有得到它的權利。任何幫助?

回答

10

由於錯誤狀態 - 您的權限不足以創建視圖 - 您將不得不要求數據庫管理員授予您此權限。 如果你能作爲數據庫管理員登錄,您將不得不執行語句(我不能保證正確性,手頭沒有oracle數據庫)

GRANT CREATE ANY VIEW TO Scott; 

GRANT CREATE VIEW TO Scott; 
+0

那麼我在家用電腦上使用它,這是否意味着我可以作爲數據庫管理員登錄?如果是這樣,怎麼樣? –

+0

安裝Oracle數據庫時,應該有一段時間您必須選擇管理員密碼或嘗試使用defalut用戶SYSTEM和密碼MANAGER登錄。 – mkubacki

+0

你可以試試這個答案,以獲取更多關於如何登錄到Oracle數據庫,如何授予權限和更多信息:http://stackoverflow.com/questions/18403125/how-to-create-a-new-schema-new -user功能於甲骨文11克 – vitfo

-1

要登錄,作爲DBA (數據庫管理員),可以使用:

sqlplus/as sysdba 

sqlplus sys as sysdba 
0

step 1-conn ss/ss as sysdba;
第2步 - 授予創建任何觀看斯科特;
step 3 conn scott/tiger
第4步 - 創建或替換view v爲select * from emp;

1

您需要GRANTCREATE VIEW權限爲USER這是創建視圖。

例如,我創建了一個新的用戶,讓它創建一個會話,一張桌子和一個視圖:

SQL> create user test identified by test; 

User created. 

SQL> grant create session, create table, create view to test; 

Grant succeeded. 

SQL> conn test/[email protected]; 
Connected. 
SQL> Create Table advanced 
    2 (Id varchar(15), 
    3 Name varchar(20), 
    4 Dept varchar(15), 
    5 Cgpa float, 
    6 Birth_date date, 
    7 Mob_no int, 
    8 Dist varchar(20), 
    9 Salary number(8)); 

Table created. 

SQL> Create View advanced_data as 
    2 (
    3 select name,dept,dist,salary from advanced 
    4 ); 

View created. 

如果我撤銷特權,您將收到ORA-01031:權限不夠

SQL> revoke create view from test; 

Revoke succeeded. 

SQL> conn test/[email protected]; 
Connected. 
SQL> Create or replace View advanced_data as 
    2 (
    3 select name,dept,dist,salary from advanced 
    4 ); 
Create or replace View advanced_data as 
         * 
ERROR at line 1: 
ORA-01031: insufficient privileges