ORA-27086: unable to lock file - already in use
SQL> startup
ORACLE instance started.
Total System Global Area 1854021632 bytes
Total System Global Area 521936896 bytes Fixed Size 2254824 bytes Variable Size 218105880 bytes Database Buffers 293601280 bytes Redo Buffers 7974912 bytes
ORA-00205: error in identifying control file, check alert log for more info
查看alert日志
SQL> select value from v$diag_info where name ='Diag Alert';
VALUE
-------------------------------------------------------------------------------
/data/oracle/ora11g/diag/rdbms/orcl/orcl/alert
$cd /data/oracle/ora11g/diag/rdbms/orcl/orcl/alert
# ll
log.xml
# less log.xml
日志分析:
host_id='hrtestdb' host_addr='10.3.64.204' module='' pid='7210'> <txt>ORA-00210: cannot open the specified control file ORA-00202: control file: /data/oracle/ora11g/oradata/or/control03.ctl' ORA-27086: unable to lock file - already in use Linux-x86_64 Error: 11: Resource temporarily unavailable
解决方法:
1.先使用lsof 或fuser 查询出正在使用这些文件的进程:
# lsof /data/oracle/ora11g/oradata/orcl/control*
oracle xxx /data/oracle/ora11g/oradata/orcl/control01.ctl oracle xxx /data/oracle/ora11g/oradata/orcl/control02.ctl oracle xxx /data/oracle/ora11g/oradata/orcl/control03.ctl
删除 正在使用控制文件的线程,然后重新启动数据后正常 |