ORCALE 删除用户
1、通过相关语句进行删除
a. 直接删除:
drop user xx cascade;
b. 提示无法删除当前连接的用户
--锁定用户(防止再有其他连接产生)
alter user XXX account lock;
--查询进程号 (获取sid,serial;注意大小写)
SELECT * FROM V$SESSION WHERE USERNAME='XXX';
--删除对应的进程
alter system kill session 'sid,serial'
--删除对应的用户
drop user xx cascade
c. 删除进程时提示对应的进程号不存在,且每次搜索出的进程号都不一样
--获取jobs
select * from dba_jobs;
--删除库中的定时任务 (243为dba_jods搜索结果中的job字段)
begin
dbms_job.remove(243);
commit;
end;
删除掉对应的job后就可以再去删除用户了,注意要以job所属用户登录才可以去删除job
建议通过2c步骤来删除job
2. 通过PLSQL进行删除
a. 直接删除
Objects窗口->Users内找到需要删除的用户,右键drop删除即可;
b. 提示无法删除当前连接的用户,如下图
可以使用1b的方式剔除登录的用户
c. 删除进程时提示对应的进程号不存在,且每次搜索出的进程号都不一样
查看会话
找到要删除的会话,发现有个Action内有个正在运行的job
登录到要删除的用户,删除掉那个正在运行的作业
注释:
无法登录锁定的用户? alter user XXX account unlock; --解锁用户
作业无法删除? 将当前连接设为主链接
删掉之后重新以管理员用户登录查看会话,可以看到该用户只有一个活动的连接,通过1b步骤,剔除该连接,然后删除之。