//lock_date是被锁住时间,如果为空证明这个用户没有被锁住 select username,lock_date from dba_users where username='GFMIS'; //GFMIS是数据库的用户 //给用户解锁 ALTER USER gfmis ACCOUNT UNLOCK;
1.新建用户 新建用户: create User username Identified by password 修改用户密码: alter User username Identified by password 删除用户密码: drop user user_name [cascade] (cascade:级联删除选项,如果用户包含数据库对象,则必须加 CASCADE选项,此时连同该用户所拥有的对象一起删除.) [注意]: ①只有有DBA权限的用户才能新建用户: ②username :用户名.
oracle数据中删除数据时提示“记录被另一个用户锁住” 解决方法: 1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id
在编译的一个存储过程的时候,对象可能由于被锁住而处于假的卡死状态,这个时候有的是因为,这个过程正在运行中,所以无法编译: 上次我遇到一次,我很清楚的确定这个过程没有运行,可以我就是无法编译,对象一直被锁.我纠结了好久,终于找到的解决的办法. select * FROM dba_ddl_locks where name = upper('p_sys_job_crtpartition_c10'); 先从dba_ddl_locks中查询对象被哪些进程锁住,得到他们的SESSION_ID:--alter
1.查看是哪一个存储过程被锁住查V$DB_OBJECT_CACHE视图select * from V$DB_OBJECT_CACHE where owner='过程的所属用户' AND LOCKS!='0' 2.查看是哪一个sid,通过sid可以知道是哪一个session查v$access视图select * from v$access where owner='过程的所属用户' and name='刚才查到的过程名'3.查出sid和serial#查v$session视图select sid,s
今天遇到了这个情况,然后在网上找了到了这篇文章,借鉴过来做参考吧! 1.查看是哪一个存储过程被锁住 查V$DB_OBJECT_CACHE视图 select * from V$DB_OBJECT_CACHE where owner='过程的所属用户' AND LOCKS!='0' 2.查看是哪一个sid,通过sid可以知道是哪一个session 查v$access视图 select * from v$access where owner='过程的所属用户' and name='刚才查到的过程名'
背景 在操作Oracle时,多人同时操作oracle数据库的同一张表的时候,经常会造成锁表现象,这时需要手动进行解锁. 步骤 以dba身份登录Oracle数据库(否则用户缺少杀掉进程权限,需要给用户分配权限) sqlplus / as sysdba,如下图 查看被锁住的表进程 select b.owner,b.object_name,a.session_id,a.locked_mode from v$locked_object a,dba_objects b where b.object_i
当登录时被告知XXX用户被锁时,可进行以下操作: 1.用拥有dba权限的用户登录,进行解锁,先设置具体时间格式,方便后面查看被锁的具体时间: SQL> alter session set nls_date_format=’yyyy-mm-dd hh24:mi:ss’; Session altered. 2.查看被锁的具体时间: SQL> select username,lock_date from dba_users where username=’TEST’; USERNAME LOCK_D