上月配好的Linux服务器,今天不知道为什么,oracle数据库无法启动了,监听正常。
此处的无法启动,是说,在用openssh连接数据库时
sqlplus "/as sysdba"
进行下面一步时,提示错误:
SQL> startup;
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name ’LISTENER_ORCL’
问题原因至今未明,说下解决方案。
1、执行SQL
create pfile from spfile=’$ORACLE_HOME/dbs/spfileorcl.ora’;
此处将$ORACLE_HOME 换为自己oracle路径(用$ORACLE_HOME没有测试,感兴趣的可以试下)
目的是复制一份pfile文件,执行此sql的结果是在 $ORACLA_HOME/dbs 路径下生成了一个文件 init<$ORACLE_SID>.ora 文件 我的文件为 initorcl.ora
2、修改上述initorcl.ora文件
用ftp将文件下载到本地,找到local_listener这一行,然后将其值修改为:(ADDRESS_LIST=(Address=(Protocol=tcp) (Host=your_hostname)(Port=1521)))
保存,上传覆盖源文件。
3、执行sql 创建 spfile
create spfile from pfile=’$ORACLE_HOME/dbs/initorcl.ora’;
4、启动数据库
SQL> startup;
ORACLE instance started.
Total System Global Area *** bytes
Fixed Size *** bytes
Variable Size *** bytes
Database Buffers *** bytes
Redo Buffers *** bytes
Database mounted.
Database opened.