『壹』 oracle 總共有多少種許可權
alter any cluster 修改任意簇的許可權
alter any index 修改任意索引的許可權
alter any role 修改任意角色的許可權
alter any sequence 修改任意序列的許可權
alter any snapshot 修改任意快照的許可權
alter any table 修改任意表的許可權
alter any trigger 修改任意觸發器的許可權
alter cluster 修改擁有簇的許可權
alter database 修改資料庫的許可權
alter procere 修改擁有的存儲過程許可權
alter profile 修改資源限制簡表的許可權
alter resource cost 設置佳話資源開銷的許可權
alter rollback segment 修改回滾段的許可權
alter sequence 修改擁有的序列許可權
alter session 修改資料庫會話的許可權
alter sytem 修改資料庫伺服器設置的許可權
alter table 修改擁有的表許可權
alter tablespace 修改表空間的許可權
alter user 修改用戶的許可權
analyze 使用analyze命令分析資料庫中任意的表、索引和簇
audit any 為任意的資料庫對象設置審計選項
audit system 允許系統操作審計
backup any table 備份任意表的許可權
become user 切換用戶狀態的許可權
commit any table 提交表的許可權
create any cluster 為任意用戶創建簇的許可權
create any index 為任意用戶創建索引的許可權
create any procere 為任意用戶創建存儲過程的許可權
create any sequence 為任意用戶創建序列的許可權
create any snapshot 為任意用戶創建快照的許可權
create any synonym 為任意用戶創建同義名的許可權
create any table 為任意用戶創建表的許可權
create any trigger 為任意用戶創建觸發器的許可權
create any view 為任意用戶創建視圖的許可權
create cluster 為用戶創建簇的許可權
create database link 為用戶創建的許可權
create procere 為用戶創建存儲過程的許可權
create profile 創建資源限制簡表的許可權
create public database link 創建公共資料庫鏈路的許可權
create public synonym 創建公共同義名的許可權
create role 創建角色的許可權
create rollback segment 創建回滾段的許可權
create session 創建會話的許可權
create sequence 為用戶創建序列的許可權
create snapshot 為用戶創建快照的許可權
create synonym 為用戶創建同義名的許可權
create table 為用戶創建表的許可權
create tablespace 創建表空間的許可權
create user 創建用戶的許可權
create view 為用戶創建視圖的許可權
delete any table 刪除任意錶行的許可權
delete any view 刪除任意視圖行的許可權
delete snapshot 刪除快照中行的許可權
delete table 為用戶刪除錶行的許可權
delete view 為用戶刪除視圖行的許可權
drop any cluster 刪除任意簇的許可權
drop any index 刪除任意索引的許可權
drop any procere 刪除任意存儲過程的許可權
drop any role 刪除任意角色的許可權
drop any sequence 刪除任意序列的許可權
drop any snapshot 刪除任意快照的許可權
drop any synonym 刪除任意同義名的許可權
drop any table 刪除任意表的許可權
drop any trigger 刪除任意觸發器的許可權
drop any view 刪除任意視圖的許可權
drop profile 刪除資源限制簡表的許可權
drop public cluster 刪除公共簇的許可權
drop public database link 刪除公共數據鏈路的許可權
drop public synonym 刪除公共同義名的許可權
drop rollback segment 刪除回滾段的許可權
drop tablespace 刪除表空間的許可權
drop user 刪除用戶的許可權
execute any procere 執行任意存儲過程的許可權
execute function 執行存儲函數的許可權
execute package 執行存儲包的許可權
execute procere 執行用戶存儲過程的許可權
force any transaction 管理未提交的任意事務的輸出許可權
force transaction 管理未提交的用戶事務的輸出許可權
grant any privilege 授予任意系統特權的許可權
grant any role 授予任意角色的許可權
index table 給表加索引的許可權
insert any table 向任意表中插入行的許可權
insert snapshot 向快照中插入行的許可權
insert table 向用戶表中插入行的許可權
insert view 向用戶視圖中插行的許可權
lock any table 給任意表加鎖的許可權
manager tablespace 管理(備份可用性)表空間的許可權
references table 參考表的許可權
restricted session 創建有限制的資料庫會話的許可權
select any sequence 使用任意序列的許可權
select any table 使用任意表的許可權
select snapshot 使用快照的許可權
select sequence 使用用戶序列的許可權
select table 使用用戶表的許可權
select view 使用視圖的許可權
unlimited tablespace 對表空間大小不加限制的許可權
update any table 修改任意表中行的許可權
update snapshot 修改快照中行的許可權
update table 修改用戶表中的行的許可權
update view 修改視圖中行的許可權 給你舉個例子
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行。
上面的查詢語句中role='RESOURCE',注意要大寫,改成role='CONNECT'等等,可以查看不同的角色下擁有的具體許可權
『貳』 oracle存儲過程許可權問題
你可能需確認的是,存儲過程和手動刪除的表是否為同一支表?
存儲過程的Owner只要具備該表的drop等許可權就可以刪除之。
『叄』 oracle存儲過程許可權
用exec scott.cuilin()調用應該是可以,如果有問題貼一下報錯。
『肆』 oracle 創建用戶怎麼授予創建資料庫的許可權
採用sys or system / manager as sysdba; 連接資料庫。
創建普通用戶konglin: create user konglin identified by pwd_oracle;
刪除用戶, drop user konglin;
授予用戶登錄資料庫的許可權: grant create session to konglin;
授予用戶操作表空間的許可權:
grant unlimited tablespace to konglin;
grant create tablespace to konglin;
grant alter tablespace to konglin;
grant drop tablespace to konglin;
grant manage tablespace to konglin;
授予用戶操作表的許可權:
grant create table to konglin; (包含有create index許可權, alter table, drop table許可權)
授予用戶操作視圖的許可權:
grant create view to konglin; (包含有alter view, drop view許可權)
授予用戶操作觸發器的許可權:
grant create trigger to konglin; (包含有alter trigger, drop trigger許可權)
授予用戶操作存儲過程的許可權:
grant create procere to konglin;(包含有alter procere, drop procere 和function 以及 package許可權)
授予用戶操作序列的許可權:
grant create sequence to konglin; (包含有創建、修改、刪除以及選擇序列)
授予用戶回退段許可權:
grant create rollback segment to konglin;
grant alter rollback segment to konglin;
grant drop rollback segment to konglin;
授予用戶同義詞許可權:
grant create synonym to konglin;(包含drop synonym許可權)
grant create public synonym to konglin;
grant drop public synonym to konglin;
授予用戶關於用戶的許可權:
grant create user to konglin;
grant alter user to konglin;
grant become user to konglin;
grant drop user to konglin;
授予用戶關於角色的許可權:
grant create role to konglin;
授予用戶操作概要文件的許可權
grant create profile to konglin;
grant alter profile to konglin;
grant drop profile to konglin;
允許從sys用戶所擁有的數據字典表中進行選擇
grant select any dictionary to konglin;
『伍』 oracle 測試存儲過程 是哪個許可權
Oracle規定,在默認的情況下,在調用存儲過程用戶的角色不起作用,即在執行存儲過程時只有Public許可權。所以在調用Create table時,會有許可權不足的提示。
只需要使用IR Procere就能很快解決問題啦,把代碼修改為如下:
CREATE OR REPLACE PROCEDURE TestProc AUTHID current_user
IS
flag number;
BEGIN
select count(*) into flag from all_tables where table_name='TEMP3';
if (flag=0) then
execute immediate 'create global temporary table TEMP3 on commit preserve rows as select * from BUSI_ECONTRACT';
else
execute immediate 'insert into TEMP3 select * from BUSI_ECONTRACT';
end if;
END ;
執行存儲過程,順利通過。
『陸』 如何在Oracle的存儲過程中擁有role許可權
很多人都有這樣的了解,用戶擁有的role許可權在存儲過程是不可用的。示例:
SQL> select * from dba_role_privs where grantee='SUK';
GRANTEE GRANTED_ROLE ADMIN_OPTION DEFAULT_ROLE
--------- ------------ ------------ ------------
SUK DBA NO YES
SUK CONNECT NO YES
SUK RESOURCE NO YES
用戶SUK擁有DBA這個role.
下面我們繼續創建一個測試存儲過程:
create or replace procere p_create_table
is
begin
Execute Immediate 'create table create_table(id int)';
end p_create_table;
測試:
SQL> exec p_create_table;
begin p_create_table; end;
ORA-01031: 許可權不足
ORA-06512: 在"SUK.P_CREATE_TABLE", line 3
ORA-06512: 在line 1
可以看到,即使擁有DBA role,也不能創建表。role在存儲過程中不可用。
遇到
這種情況,我們一般需要顯式進行系統許可權,如grant create table to suk;
但這種方法太麻煩,有時候可能需要進行非常多的授權才能執行存儲過程
實際上,oracle給我們提供了在存儲過程中使用role許可權的方法:
修改存儲過程,加入Authid Current_User時存儲過程可以使用role許可權。
create or replace procere p_create_table
Authid Current_User is
begin
Execute Immediate 'create table create_table(id int)';
end p_create_table;
然後繼續嘗試執行:
SQL> exec p_create_table;
PL/SQL procere successfully completed
至此即可以執行了。
『柒』 oracle賦權調用存儲過程
首先,需要resource,connect
grant resource,connect to guest;
然後賦予 執行許可權(對每一個存儲過程授權):
grant execute on cache.xxxxxx to guest
『捌』 如何設置資料庫用戶新建存儲過程的許可權
oracle資料庫,創建一個用戶,讓他只有修改、執行存儲過程和查詢資料庫的許可權
『玖』 ++++Oracle都有哪些許可權++++++
alter any cluster 修改任意簇的許可權
alter any index 修改任意索引的許可權
alter any role 修改任意角色的許可權
alter any sequence 修改任意序列的許可權
alter any snapshot 修改任意快照的許可權
alter any table 修改任意表的許可權
alter any trigger 修改任意觸發器的許可權
alter cluster 修改擁有簇的許可權
alter database 修改資料庫的許可權
alter procere 修改擁有的存儲過程許可權
alter profile 修改資源限制簡表的許可權
alter resource cost 設置佳話資源開銷的許可權
alter rollback segment 修改回滾段的許可權
alter sequence 修改擁有的序列許可權
alter session 修改資料庫會話的許可權
alter sytem 修改資料庫伺服器設置的許可權
alter table 修改擁有的表許可權
alter tablespace 修改表空間的許可權
alter user 修改用戶的許可權
analyze 使用analyze命令分析資料庫中任意的表、索引和簇
audit any 為任意的資料庫對象設置審計選項
audit system 允許系統操作審計
backup any table 備份任意表的許可權
become user 切換用戶狀態的許可權
commit any table 提交表的許可權
create any cluster 為任意用戶創建簇的許可權
create any index 為任意用戶創建索引的許可權
create any procere 為任意用戶創建存儲過程的許可權
create any sequence 為任意用戶創建序列的許可權
create any snapshot 為任意用戶創建快照的許可權
create any synonym 為任意用戶創建同義名的許可權
create any table 為任意用戶創建表的許可權
create any trigger 為任意用戶創建觸發器的許可權
create any view 為任意用戶創建視圖的許可權
create cluster 為用戶創建簇的許可權
create database link 為用戶創建的許可權
create procere 為用戶創建存儲過程的許可權
create profile 創建資源限制簡表的許可權
create public database link 創建公共資料庫鏈路的許可權
create public synonym 創建公共同義名的許可權
create role 創建角色的許可權
create rollback segment 創建回滾段的許可權
create session 創建會話的許可權
create sequence 為用戶創建序列的許可權
create snapshot 為用戶創建快照的許可權
create synonym 為用戶創建同義名的許可權
create table 為用戶創建表的許可權
create tablespace 創建表空間的許可權
create user 創建用戶的許可權
create view 為用戶創建視圖的許可權
delete any table 刪除任意錶行的許可權
delete any view 刪除任意視圖行的許可權
delete snapshot 刪除快照中行的許可權
delete table 為用戶刪除錶行的許可權
delete view 為用戶刪除視圖行的許可權
drop any cluster 刪除任意簇的許可權
drop any index 刪除任意索引的許可權
drop any procere 刪除任意存儲過程的許可權
drop any role 刪除任意角色的許可權
drop any sequence 刪除任意序列的許可權
drop any snapshot 刪除任意快照的許可權
drop any synonym 刪除任意同義名的許可權
drop any table 刪除任意表的許可權
drop any trigger 刪除任意觸發器的許可權
drop any view 刪除任意視圖的許可權
drop profile 刪除資源限制簡表的許可權
drop public cluster 刪除公共簇的許可權
drop public database link 刪除公共數據鏈路的許可權
drop public synonym 刪除公共同義名的許可權
drop rollback segment 刪除回滾段的許可權
drop tablespace 刪除表空間的許可權
drop user 刪除用戶的許可權
execute any procere 執行任意存儲過程的許可權
execute function 執行存儲函數的許可權
execute package 執行存儲包的許可權
execute procere 執行用戶存儲過程的許可權
force any transaction 管理未提交的任意事務的輸出許可權
force transaction 管理未提交的用戶事務的輸出許可權
grant any privilege 授予任意系統特權的許可權
grant any role 授予任意角色的許可權
index table 給表加索引的許可權
insert any table 向任意表中插入行的許可權
insert snapshot 向快照中插入行的許可權
insert table 向用戶表中插入行的許可權
insert view 向用戶視圖中插行的許可權
lock any table 給任意表加鎖的許可權
manager tablespace 管理(備份可用性)表空間的許可權
references table 參考表的許可權
restricted session 創建有限制的資料庫會話的許可權
select any sequence 使用任意序列的許可權
select any table 使用任意表的許可權
select snapshot 使用快照的許可權
select sequence 使用用戶序列的許可權
select table 使用用戶表的許可權
select view 使用視圖的許可權
unlimited tablespace 對表空間大小不加限制的許可權
update any table 修改任意表中行的許可權
update snapshot 修改快照中行的許可權
update table 修改用戶表中的行的許可權
update view 修改視圖中行的許可權
本文來自CSDN博客,轉載請標明出處:http://blog.csdn.net/yanmeixiangangel/archive/2008/09/06/2891596.aspx