呼叫者許可權過程對OWNER物件的依賴
今天在看定義者、呼叫者許可權部分想到的這個問題。
對於呼叫者許可權儲存過程,不同的使用者訪問是本使用者下的表,但是如果儲存過程的OWNER使用者下儲存過程所依賴的表被刪除,其他使用者下還能否正常執行這個過程。
做了個簡單的測試:
SQL> CONN YANGTK/YANGTK
已連線。
SQL> CREATE TABLE T (ID NUMBER);
表已建立。
SQL> CREATE OR REPLACE PROCEDURE P_TEST
2 AUTHID CURRENT_USER
3 AS
4 BEGIN
5 INSERT INTO T VALUES (1);
6 END;
7 /
過程已建立。
SQL> GRANT EXECUTE ON P_TEST TO TEST;
授權成功。
SQL> CONN TEST/TEST
已連線。
SQL> CREATE TABLE T (ID NUMBER);
表已建立。
SQL> EXEC YANGTK.P_TEST
PL/SQL 過程已成功完成。
SQL> SELECT * FROM T;
ID
----------
1
SQL> CONN YANGTK/YANGTK
已連線。
SQL> DROP TABLE T PURGE;
表已刪除。
SQL> SELECT OBJECT_NAME, OBJECT_TYPE, STATUS
2 FROM USER_OBJECTS
3 WHERE OBJECT_NAME = 'P_TEST';
OBJECT_NAME OBJECT_TYPE STATUS
------------------------------ ------------------- -------
P_TEST PROCEDURE INVALID
SQL> CONN TEST/TEST
已連線。
SQL> EXEC YANGTK.P_TEST
BEGIN YANGTK.P_TEST; END;
*
第 1 行出現錯誤:
ORA-06550: 第 1 行, 第 14 列:
PLS-00905: 物件 YANGTK.P_TEST 無效
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
雖然TEST使用者執行YANGTK使用者下的P_TEST過程,插入的是自己使用者中的T表,但是如果儲存過程的OWNER使用者刪除了過程依賴的表,即使其他使用者下儲存過程仍然可以執行,Oracle也會將儲存過程置於INVALID狀態,而且其他使用者執行並不會導致儲存過程成功編譯,也就是說呼叫者儲存過程依賴OWNER下的物件。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-674736/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 對定義者許可權和呼叫者許可權的理解
- 呼叫者儲存過程訪問許可權問題儲存過程訪問許可權
- 儲存過程,角色相關的呼叫者許可權和定義者許可權問題儲存過程
- 呼叫者許可權與定義者許可權的pl/sql子程式SQL
- Oracle中定義者許可權和呼叫者許可權案例分析Oracle
- Oracle的物件許可權、角色許可權、系統許可權Oracle物件
- PL/SQL呼叫時使用呼叫者的許可權SQL
- 儲存過程與許可權儲存過程
- Oracle 定義者許可權與呼叫者許可權(AUTHID CURRENT_USER)Oracle
- mysql儲存過程的許可權 definerMySql儲存過程
- 物件許可權的回收物件
- 儲存過程與許可權(二)儲存過程
- MySQL儲存過程的許可權問題MySql儲存過程
- 使用呼叫者許可權實現Schema導向操作
- 資料庫許可權-儲存過程資料庫儲存過程
- Oracle 使用者、物件許可權、系統許可權Oracle物件
- 自定義許可權物件物件
- ORACLE中儲存過程的許可權問題Oracle儲存過程
- Ubuntu16.04不用管理員許可權安裝caffe依賴(上)Ubuntu
- SAP自定義許可權物件物件
- 系統許可權傳遞和物件許可權傳遞的測試物件
- 檢視角色裡包含的系統許可權、物件許可權和角色物件
- 【許可權】儲存過程執行時,報ORA-01031許可權不足儲存過程
- 01【若依框架】 登入許可權框架
- 查詢Tcode與許可權物件的對應關係物件
- oracle儲存過程許可權繼承小結Oracle儲存過程繼承
- 儲存過程許可權__Authid Current_User儲存過程
- autohotkey透過com物件控制excel的許可權問題物件Excel
- 如何在儲存過程中擁有role的許可權儲存過程
- 使用者物件許可權管理物件
- 學習筆記 物件許可權筆記物件
- 檢視、儲存過程以及許可權控制練習儲存過程
- 詳解Oracle建立使用者許可權全過程Oracle
- postgresql只有owner或usersuper許可權才能修改表結構或drop表SQL
- audit物件許可權時的not exists選項!物件
- Spring security(五)-完美許可權管理系統(授權過程分析)Spring
- 1.6.2. 許可權對應的操作
- PostgreSQL物件許可權如何在後設資料中獲取-許可權解讀、定製化匯出許可權SQL物件