gpt4 book ai didi

sql - 断开 RDS Oracle 数据库上的所有用户连接

转载 作者:行者123 更新时间:2023-12-02 00:48:12 28 4
gpt4 key购买 nike

因此,我有一个配置了 Oracle 数据库的 AWS RDS 服务器实例,并且我尝试强制断开给定用户的所有连接,以便我可以删除该用户并重新创建该用户及其架构。

根据AWS RDS文档,而不是使用

ALTER SYSTEM KILL SESSION ' sid, serial#' immediate

我们应该使用

exec rdsadmin.rdsadmin_util.kill(sid, serial#)

参见Amazon's documentation here

所以,我尝试了以下两种方法来杀死所有连接,但都不起作用:


BEGIN
for session_to_drop in (select 'exec rdsadmin.rdsadmin_util.kill('|| sid ||',' || serial# || ')' command from v$session where username in ('SCHEMA_NAME'))
loop
dbms_output.put_line(session_to_drop.command);
execute immediate session_to_drop.command;
end loop;
end;<p></p>

<p>Error report -
ORA-00900: invalid SQL statement
ORA-06512: at line 5
00900. 00000 - "invalid SQL statement"
*Cause:<br/>
*Action:
exec rdsadmin.rdsadmin_util.kill(22,48087)
</p>


BEGIN
for session_to_drop in (select sid, serial# from v$session where username in ('PERFLAB')) loop
dbms_output.put_line('exec rdsadmin.rdsadmin_util.kill(' || session_to_drop.sid || ',' || session_to_drop.serial# ||')');
exec rdsadmin.rdsadmin_util.kill(session_to_drop.sid, session_to_drop.serial#);<br/>
end loop;
end;<p></p>

<p>Error report -
ORA-06550: line 4, column 10:
PLS-00103: Encountered the symbol "RDSADMIN" when expecting one of the following:
:= . ( @ % ;
The symbol ":=" was substituted for "RDSADMIN" to continue.
06550. 00000 - "line %s, column %s:\n%s"
*Cause: Usually a PL/SQL compilation error.
*Action:
</p>

理想情况下,这些循环会遍历所有当前连接并杀死每个连接;但是,循环内似乎无法识别 exec 命令。

还有其他人能够解决这个问题吗?

最佳答案

您不在 PL/SQL block 内使用 execexec 是一个 SQL*Plus 命令,它不是 SQL 或 PL/SQL 语言的一部分。您只需在循环中调用该过程

BEGIN
for session_to_drop in (select sid, serial#
from v$session
where username in ('PERFLAB'))
loop
rdsadmin.rdsadmin_util.kill(session_to_drop.sid, session_to_drop.serial#);
end loop;
end;

我猜想您会希望在终止 session 之前锁定帐户,以防止用户在终止 session 的过程中重新登录。

关于sql - 断开 RDS Oracle 数据库上的所有用户连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28862625/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com