oracle 监听blocked导致数据库无法连接

来源:互联网 发布:mysql 查看权限表 编辑:程序博客网 时间:2024/05/16 19:39

今天负责一项目运维人员告诉我数据库连接不上,经查看是监听出现问题,lsnrctl status查看状态出现实例blocked。

首先想到重建监听,但重建后依然没有效果。查看数据库实例状态为started,处于nomount状态。

alter database mount报错如下:

ORA-00119: invalid specification for system parameter LOCAL_LISTENER

ORA-00130: invalid listener address ‘LISTENER_ORCL’

 解决方法如下:

SQL>STARTUP NOMOUNT

SQL>CREATE PFILE FROM SPFILE;

编辑pfile文件:

*.local_listener='(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=IP)(Port=1521)))'

SQL>CREATE SPFILE FROM PFILE='D:\...\INITORCL.ORA';

SQL>ALTERE DATABASE MOUNT;

到此步,又有新的错误:

ORA-00214: controlfile 'D:\...\control01.ctl' version 10232896 inconsistent with file 'D:\...\control02.ctl' version 9190433

解决方法:

编辑PFILE文件,去掉其中一个控制文件

SQL>CREATE SPFILE FROM PFILE;

SQL>ALTER DATABASE MOUNT;

DATABASE ALTERED.

SQL>ALTER DATABASE OPEN;

此步又报错:

ORA-00600: internal error code, arguments: [kcratr1_lastbwr], [], [], [], [], [], [], []

解决方法:

SQL>RECOVER DATABASE

SQL>ALTER DATABASE OPEN;