数据库已经锁定,总结会已经召开。就是说已经完成揭盲了,揭盲后不能更改数据库(让人不由质疑:你根据组别更改了数据库的内容,在可 *** 作层面使得对研究药物的评价更优)。在锁库之前要解决所有数据问题的(数据录入完毕至盲态审核期结束)。揭盲后发现数据问题建议写说明(什么问题,为什么没有处理),研究者签字,申办单位盖章之类的。
可以用sp_who'active'看一下午blk字段是否为0,如是其它数x,说明这个数可能就是锁,再用sp_who数x看一下它下面的blk是否有数,这样查下去,如果它下面没有数并且是查询状态或是等待状态等(除更新及插入状态)都可以用kill数x
最常见的是多个用户同时 *** 纵一个表的时候冲突,一个想改数据,一个想读删数据,当然会有冲突,这是有锁的机制来约束并发访问数据,就是当一个用户对一个表的某个字段进行 *** 作时锁定数据,直到 *** 作完成锁才接触,然后下一个用户来 *** 作数据。
1、用dba角色的用户登陆,进行解锁,先设置具体时间格式,以便查看具体时间
SQL> alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss';
Session altered
2、查看具体的被锁时间 ( 这里你根据需要, 填写具体的用户名, 下面语句的 用户名是 TEST)
SQL> select username,lock_date from dba_users where username='TEST';
USERNAME LOCK_DATE
TEST 2009-03-10 08:51:03
3、解锁
SQL> alter user test account unlock;
User altered
4、查看是那个ip造成的test用户被锁
查看$ORACLE_HOME/network/admin/log/listenerlog日志
10-MAR-2009 08:51:03 (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) (ADDRESS=(PROTOCOL=tcp)(HOST=1069111)(PORT=49434)) establish lhoms 0
10-MAR-2009 08:51:03 (CONNECT_DATA=(SID=lhoms)(SERVER=DEDICATED)(CID=(PROGRAM=oracle)(HOST=omstestdb)(USER=oraoms))) (ADDRESS=(PROTOCOL=tcp)(HOST=1069111)(PORT=49435)) establish lhoms 0
这样可知是上面1069111的ip尝试多次失败登陆造成的被锁
注:
一般数据库默认是10次尝试失败后锁住用户
1、查看FAILED_LOGIN_ATTEMPTS的值
select from dba_profiles
2、修改为30次
alter profile default limit FAILED_LOGIN_ATTEMPTS 30;
3、修改为无限次(为安全起见,不建议使用)
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited;
上述的相关内容就是对Oracle用户被锁原因及办法的描述,希望会给你带来一些帮助在此方面。
引入锁的目的:多个用户同时对数据库的并发 *** 作时会带来以下数据不一致的问题: 。情景之一:车站买票,某趟车某一个特定时点从北京至上海的车票,A在售票窗口1,B在售票窗口2,当A在咨询时,售票窗口1读取车票并告知有票,结果A拿钱慢了一点,结果B在售票窗口2把这张车票买走了,那么让A要买的时候没有票了,此时A会不会认为售票窗口1的人在耍他,如果没有锁,这种事情发生的概率就会很高,所以需要锁。
锁的类型有共享、更新、独占等等,详细可以百度一下。
以上就是关于数据库锁定后,还有问题如何处理全部的内容,包括:数据库锁定后,还有问题如何处理、数据库死锁怎么处理、数据库用户被锁连续访问几千次有什么影响等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)