分类: oracle
2015-11-09 14:11:50
原文地址: 作者:
今天在启动服务器上的oracle时遇到如下错误:
sql> startup;
ora-00119: invalid specification for system parameter local_listener
ora-00132: syntax error or unresolved network name 'listener_orcl'
然后,在网上找了一些资料,解决了此问题。
解决的方式如下(这是网上的一位达人凯发app官方网站的解决方案,我照他的步骤顺利解决,不过决定还是做一个笔记):
第一步:复制一份pfile参数文件(注意:oracle中的pfile指的就是init
$ ./sqlplus / as sysdba;
sql> create pfile from spfile='/u01/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora';
第二步:修改pfile参数文件(也即修改init
经过第一步以后,你就会在$oracle_home/dbs目录下发现有这么一个文件init
用gedit打开,找到local_listener这一行,然后将其值修改为:
(address_list=(address=(protocol=tcp) (host=your_hostname)(port=1521)))
其中的your_hostname为你的主机名,其实导致ora-00119和ora-00132错误的原因就很可能是你修改了你的hostname,但是我看了一下我的tnsname.ora文件里面的那个listener_orcl(可能你不是这个名字)和后面修改的your_hostname一致,我做的只是将tnsname.ora文件中的(address_list=(address=(protocol=tcp) (host=your_hostname)(port=1521)))复制到pfile文件的“local_listener=”后面,然后就顺利启动了数据库,我也不知道为什么直接用*.local_listener='listener_orcl'就找不到,而一定要*.local_listener='(address_list=(address=(protocol=tcp) (host=your_hostname)(port=1521)))'才可以,这个问题以后研究一下。
以下是我的一个修改样例:
修改之前可能是这样
*.local_listener='listener_orcl'
修改后的值大概就是这个样子了
*.local_listener='(address_list=(address=(protocol=tcp) (host=your_hostname)(port=1521)))'
然后保存退出
第三步:以pfile创建spfile
使用以下命令创建spfile
sql> create spfile from pfile='/u01/oracle/product/10.2.0/db_1/dbs/initorcl.ora';
第四步:启动数据库
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.