问题背景:应用测试,需求权限较为特殊
问题处理:
1,kill session权限
应用想要执行sp_close_session()
无法单独进行授权,经资料收集与询问,需要进行存储过程处理
CREATE OR REPLACE PROCEDURE kill_session(session_id bigint)
IS
sessid_count INT;
e2 EXCEPTION;
pragma exception_init (e2,-20096);
BEGIN
-- 对用户 会话的判断
SELECT COUNT(1)
INTO
sessid_count
FROM v$sessions
WHERE sess_id=session_id
AND user_name=USER;
IF sessid_count=1 THEN
sp_close_session(session_id);
ELSE
raise e2;
END IF;
EXCEPTION
WHEN e2 THEN
PRINT SQLCODE||': SESS_ID('||session_id||') DOES NOT EXISTS, OR THE SESSION USER IS NOT '||USER;
END服务器托管网;
USER可设置为授权用户’username’
grant exec on kill_session to dmhr;
CREATE OR REPLACE synonym "DMHR" 服务器托管网.sp_close_session for "sysdba".kill_session;
call dmhr.sp_close_session(id);
2.只读用户
对某个用户的所有表只读
测试环境可用,select anytable
当前表可用
select 'grant select on FXXG.' || table_name || ' to FXXG_R;' from dba_tables where owner='FXXG';
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 让Flutter 应用程序性能提高 10 倍的 10 个技巧
Flutter 应用程序以其精美的设计和流畅的功能而闻名,但性能问题会很快破坏用户体验。借助这 10 个优化性能的专家技巧,将您的应用提升到一个新的水平。 使用 WidgetsBindingObserver 跟踪应用程序的生命周期 使用“WidgetsBind…