設定Package讓不同的Schema呼叫執行
Oracle預設是無法直接呼叫執行其他不同Schema的Package/Stored Procedure/Function...的。必需先透過適當的授權才可以,以下使用Package為例。
假設有一個Package "PKG_1"存在SchemaA裡,但SchemaB想要呼叫此Package,該怎麼設定呢?
<授權>-單一Schema
<授權>-All Schema
<移除授權>
<瀏覽有哪些授權>
假設有一個Package "PKG_1"存在SchemaA裡,但SchemaB想要呼叫此Package,該怎麼設定呢?
<授權>-單一Schema
grant execute on PKG_1 to SchemaB;
<授權>-All Schema
grant execute on PKG_1 to public;
<移除授權>
revoke execute on PKG_1 from SchemaB; revoke execute on PKG_1 from public;
<瀏覽有哪些授權>
select * from DBA_TAB_PRIVS where TABLE_NAME='PKG_1';
留言
張貼留言