`

oracle中用户删除不了,提示“无法删除当前已连接的用户”

 
阅读更多

 1.alter user XXX account lock;SELECT * FROM V$SESSION WHERE USERNAME='LGDB';alter system kill session 'xx,xx'drop user xx cascade

2.或者shutdown掉数据库,再重启

具体可如下:

(1)查看用户的连接状况 

select username,sid,serial# from v$session 

------------------------------------------ 

如下结果: 



username          sid                serial# 

---------------------------------------- 

NETBNEW          513              22974 
NETBNEW          514              18183 
NETBNEW          516              21573 
NETBNEW          531              9 
WUZHQ             532              4562 

(2)找到要删除用户的sid,和serial,并删除 

------------------------------------------- 

如:你要删除用户'WUZHQ',可以这样做: 



alter system kill session'532,4562' 



(3)删除用户 

-------------------------------------------- 

drop user username cascade 



(**)如果在drop 后还提示ORA-01940:无法删除当前已链接的用户,说明还有连接的session,可以通过查看session的状态来确定该session是否被kill 了,用如下语句查看: 

------------------------------------- 

select saddr,sid,serial#,paddr,username,status from v$session where username is not null 

结果如下(以我的库为例): 

saddr                     sid           serial#            paddr              username              status 

-------------------------------------------------------------------------------------------------------- 

564A1E28              513           22974            569638F4        NETBNEW             ACTIVE 
564A30DC              514          18183            569688CC        NETBNEW            INACTIVE 
564A5644              516           21573            56963340        NETBNEW            INACTIVE 
564B6ED0              531           9                   56962D8C        NETBNEW            INACTIVE 
564B8184              532          4562               56A1075C        WUZHQ                KILLED

1.你可以用 alter user 用户ID account unlock 先解开这个用户锁定

2.这个机制是在用户的profile中设定,profile主要是对系统资源和用户囗令的管理,你可以打开查看,里面有个 FAILED_LOGIN_ATTEMPTS 参数,你还可以结合其它的参数一起使用来管理资源和囗令。系统有个默认的profile叫default

给个示例:
1.资源的
create profile luck_prof limit
sessions_per_user 8
cpu_per_session 16800
logical_reads_per_session 23688
connect_time 268
idle_time 38;
2.囗令的,如修改 default 
alter profile default limit
password_life_time 60
password_grace_time 10
password_reuse_time 1800
failed_login_attempts 3
password_lock_time 1/1440;

然后再创建或修改用户时指定一个profile如:

create user wuser
identified by wuser
.......
profile luck_prof ;


希望以上能给你提供解决问题的方向
分享到:
评论

相关推荐

    无法删除当前已连接的用户.txt

    在Oracle数据库管理中,有时会遇到无法删除当前已连接用户的场景。这种情况下,通常是因为目标用户正在进行数据库操作,或者有其他活动的会话与该用户相关联。本文将深入探讨这一问题,并提供解决方法。 #### 一、...

    如何卸载删除oracle数据库

    3. **注销当前用户**:如果是以Oracle用户身份登录的,请先注销该用户。 #### 二、卸载Oracle数据库 1. **使用OUI卸载Oracle软件**: - 通过“开始”菜单找到Oracle Universal Installer (OUI),通常位于“开始”...

    \win 7下oracle服务被删除怎么办

    1. **确认Oracle环境**:确保系统中已安装了正确的Oracle版本,并且拥有足够的权限来执行相关操作。 2. **备份**:在进行任何修改之前,请确保对重要的数据和配置文件进行了备份,以防万一出现问题时能够迅速恢复。 ...

    oracle怎么删除用户提供解决方案

    在Oracle中删除用户时提示:ORACLE无法删除当前连接用户可以用以下语句 Sql代码 SQL> 代码如下:select username,sid,serial# from v$session; USERNAME SID SERIAL# —————————— ———- ———- 1 1 2 1 3...

    Oracle安装及连接文档

    - **删除旧监听程序**:如果系统中已存在旧的监听程序,应首先将其删除。 - **添加新监听程序**:按照向导的提示逐步添加新的监听程序。 2. **启动实例服务**: - **打开服务管理工具**:通过“开始”->“运行”...

    重启oracle服务,删除session

    为了确保外部无法连接到数据库,在重启服务前需要先关闭Oracle监听器。这一步骤非常重要,可以避免数据同步问题。 ``` lsnrctl stop ``` 确认监听器已成功关闭,可以看到类似以下提示信息: ``` LSNRCTL for Linux: ...

    IIS与数据库连接可能出现的问题

    2. **用户登录失败**:尝试使用特定用户(如sa)登录数据库时失败,提示“未与信任SQL Server连接相关联”。 - **解决方案**:确保安装过程正确无误,特别是涉及sa账户密码的设置。如果问题依旧存在,考虑重新...

    Oracle经典教程1——走进Oracle

    通过使用Oracle .NET驱动程序,可以轻松地在.NET应用程序中建立与Oracle数据库的连接。 #### 抽象工厂中加入Oracle 在.NET框架中,可以通过抽象工厂模式来统一不同数据库类型的访问接口,提高代码的可重用性和可...

    navicat删除oracle表的操作方法

    这篇文章将详细介绍如何在Navicat中删除Oracle数据库中的表,这对于数据库管理员和开发者来说是一项基础但必要的操作。 首先,启动Navicat这一跨平台的数据库管理软件。Navicat提供了直观的用户界面,使得数据库...

    oracle错误码一览表

    尝试删除当前正在使用的会话,这是不允许的。 11. ORA-00028: 您的会话已被删去 提示会话已经被系统删除,用户需要重新登录。 12. ORA-00029: 会话不是用户会话 表示试图操作的会话不是有效的用户会话,可能...

    韩顺平老师oracle视频教程听课笔记.pdf

    - `&`:用于在SQL语句中代替变量,执行时提示用户输入值。 - `edit`:用于编辑SQL脚本,与文件操作中的`edit`相同。 - `spool`:用于输出屏幕内容至文件,同样与文件操作中的`spool`相同。 - **显示与设置环境...

    oracle文档

    在案例中,xiaoming用户因缺乏CREATE SESSION权限而无法登录,通过system用户连接并授予connect权限后,xiaoming便能成功登录。 总的来说,Oracle数据库的学习涵盖了从基础的用户管理和数据库连接,到复杂的SQL命令...

    oracle9i 安装和卸载方法

    - **已安装产品**:如果您不是首次安装Oracle产品,可以点击【已安装产品】按钮来查看当前机器上已安装的Oracle产品列表。 - **文件定位**:点击【下一步】进入文件定位界面,这里可以选择Oracle安装源文件的位置、...

    Oracle数据库试题题(附答案).pdf

    7. Oracle的查询提示和连接操作: Oracle支持使用+号作为连接操作符来连接字符串。此外,可以使用CROSS JOIN和自然连接来执行表的交叉连接和自然连接操作,这两种连接操作是基于列值的匹配,CROSS JOIN返回的结果集...

    oracle sqlplus用户指南与参考

    《Oracle SQL*Plus 用户指南与参考》是一本详细介绍如何使用SQL*Plus的权威性文档,它涵盖了SQL*Plus的基础操作到高级应用,是数据库管理员、开发人员和SQL查询人员的重要参考资料。SQL*Plus是Oracle数据库系统提供...

    oracle学习心得总结

    6. **删除用户** - 基础命令:`DROP USER 用户名;` - 如果用户创建了表,则需要添加`CASCADE`选项:`DROP USER john CASCADE;` 7. **创建用户表空间** - 命令格式:`CREATE USER 用户名 IDENTIFIED BY 密码 ...

    oracle创建删除用户示例分享(oracle删除用户命令及授权)

    本文将深入讲解如何在Oracle环境中创建、删除用户,以及相关的授权和权限操作。 首先,我们来看如何创建一个新的Oracle用户。创建用户使用`CREATE USER`语句,后接用户名,然后使用`IDENTIFIED BY`指定用户密码。...

    韩顺平玩转oracle课件

    - **用户删除**:`dropuser`命令要求执行者拥有相应权限,删除用户时,若用户已创建表,则需加`cascade`选项以一并删除相关对象。 ##### 用户管理案例分析 - **权限分配与回收**:通过`grant`命令赋予用户特定权限...

    oracle报错的详细列表

    尝试删除当前活动会话时触发。 #### ORA-00028: 您的会话已被删去 当用户会话已被系统删除时触发。 #### ORA-00029: 会话不是用户会话 当尝试对非用户会话(如系统会话)执行操作时触发。 #### ORA-00030: 用户...

Global site tag (gtag.js) - Google Analytics