oracle 9i 到10g connect角色權限有變化
在9i版本中
SQL> select * from role_sys_privs where role='CONNECT';
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
CONNECT CREATE VIEW NO
CONNECT CREATE TABLE NO
CONNECT ALTER SESSION NO
CONNECT CREATE CLUSTER NO
CONNECT CREATE SESSION NO
CONNECT CREATE SYNONYM NO
CONNECT CREATE SEQUENCE NO
CONNECT CREATE DATABASE LINK NO
8 rows selected.
在10g版本中
SQL> select * from role_sys_privs where role='CONNECT';
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
CONNECT CREATE SESSION NO
可見,在10G版本中,角色CONNECT僅剩下CREATE SESSION 權限了,這也是ORACLE處於安全方面的考慮。
由於在10g中 connect權限沒了創建視圖,所以是無法創建
順便查下 RESOURCE 角色權限
SQL> select * from role_sys_privs where role='RESOURCE';
ROLE PRIVILEGE ADM
------------------------------ ---------------------------------------- ---
RESOURCE CREATE SEQUENCE NO
RESOURCE CREATE TRIGGER NO
RESOURCE CREATE CLUSTER NO
RESOURCE CREATE PROCEDURE NO
RESOURCE CREATE TYPE NO
RESOURCE CREATE OPERATOR NO
RESOURCE CREATE TABLE NO
RESOURCE CREATE INDEXTYPE NO
已選擇8行。
問題:使用scott登錄Oracle以后,創建視圖,提示“權限不夠”,怎么解決?
回答:
這是因為scott這個帳戶目前沒有創建視圖的權限。解決方法為:
首先使用system帳戶進行登錄,其中“tigertiger”為安裝Oracle時所指定的密碼(可修改):
sqlplus system/tiger
然后執行:
grant create view to scott
提示:授權成功。
執行:
exit
退出當前system帳戶。
再使用sqlplus登錄就可以創建視圖了,如:
sqlplus scott/tiger
下面創建一個最簡單視圖:
create or replace view v1
as
select * from t1;
