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
删除 正在使用控制文件的线程,然后重新启动数据后正常