我正在尝试为我的组织自动设置限制模式和取消设置限制模式。以下代码是我的尝试:
DECLARE
v_sess VARCHAR2(20);
BEGIN
SELECT LOGINS
INTO v_sess
FROM $V_INSTANCE;
IF UPPER(v_sess) = 'RESTRICTED' THEN
ALTER SYSTEM DISABLE RESTRICTED SESSION;
END IF;
END;
但我收到以下错误:
第8行的错误:ORA-06550:第8行第1列:PLS-00103:遇到 期待以下之一时符号“ALTER”:(开始案例 如果loop mod null pragma raise return select,则声明为goto退出 使用<<进行更新继续关闭当前 delete fetch lock insert open rollback savepoint set sql execute 提交forall合并管道清除
请帮我理解我哪里出错了。如果这是不可能的话那么我很容易解决这个问题。 :)
答案 0 :(得分:2)
如果不评论你想要做的事情的智慧,试试这个:
EXECUTE IMMEDIATE 'ALTER SYSTEM DISABLE RESTRICTED SESSION';
答案 1 :(得分:0)
有一个外部sql文件来更改限制模式。由于各种原因数据库受到限制,不建议在pl / sql中更改数据库。
创建一个包含alter语句的sql文件,并通过sqlplus调用它。如果需要安排,请使用cron作业或将其链接到将其带入限制模式的事件。