ERROR at line 1:
ORA-01940: cannot drop a user that is currently connected
通过
查看
用户
的进行,并kill
用户
进程,然后删除
用户
。
SQL> select sid,serial# from v$session where usernam
1.
查看
所有
用户
:select * from dba_users; select * from all_users; select * from user_users;
2.
查看
用户
或角色系统权限(直接赋值给
用户
或角色的系统权限):select * from dba_sys_privs; select * from user_sys_privs; (
查看
当前
用户
所拥有的权限)
为了统计哪些
用户
在
登录
使用数据库,以及其他用途,需要记录
登录
数据库的信息,以及尝试
登录
数据库失败的信息,以下几个trigger可以搞定。
创建记录
用户
信息的table
CREATE TABLE oram.LOGIN_LOG
AUDSID NUMBER,
SID NUMBER,
SERIAL# NUMBER,
LOGIN_TIME DAT
SQL> select sys_context('USERENV','SESSION_USER') FROM DUAL;
SYS_CONTEXT('USERENV','SESSION_USER')
--------------------------------------------------------------------------------
SQL> SELECT USER
该查询将返回
当前
会话中所分配的所有角色的列表,包括直接分配和间接分配的角色。如果
当前
会话没有分配任何角色,则该查询将返回一个空结果集。
您还可以使用以下SQL语句来
查看
当前
登录
用户
的所有授权:
SELECT * FROM USER_ROLE_PRIVS;
该查询将返回
当前
用户
所拥有的所有角色以及分配这些角色的授权的详细信息。如果
当前
用户
没有被分配任何角色,则该查询将返回一个空结果集。
请注意,您需要具有足够的权限才能执行这些查询。如果您没有足够的权限,则可能无法
查看
当前
登录
用户
的角色或授权信息。