ORA-00119/ORA-00132
今天在启动服务器上的ORACLE时遇到如下错误:
SQL> startup;
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name ’LISTENER_ORCL’
然后,在网上找了一些资料,解决了此问题。
解决的方式如下(这是网上的一位达人解决方案,我照他的步骤顺利解决,不过决定还是做一个笔记):
第一步:复制一份pfile参数文件(注意:oracle中的pfile指的就是init<sid>.ora文件)
$ ./sqlplus / as sysdba;
SQL> create pfile from spfile=’/u01/oracle/product/10.2.0/db_1/dbs/spfileorcl.ora’;
第二步:修改pfile参数文件(也即修改init<sid>.ora文件)
经过第一步以后,你就会在$ORACLE_HOME/dbs目录下发现有这么一个文件init<sid>.ora,这就是你第一步创建的文件。由于我的oracle实例名为orcl,所以我的pfile文件为initorcl.ora。
用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.
***********************************
在oracle92上创建了一个测试数据库,忘记了创建spfile(9208默认仍然是pfile启动数据库的),同时修改了监听器的名字什么的,然后过了几天重启数据库的时候,发现数据库启动的时候报错
ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00132: syntax error or unresolved network name ’LISTENER_ORCL’
检查的时候,发现确实没有spfile,之前修改监听器什么的都只是在内存里面修改了,没保存到pfile文件里去
问题原因:数据库在启动的时候会尝试解析tnsnames.ora里的listener名字,看是否存在该listener,如果不存在则提示错误。
解决方式:
1. 如果有pfile,则用pfile启动数据库;如果不存在pfile,但有之前的spfile,那么可以通过create pfile from spfile='/home/..../spfileXXXX.ora'来生成pfile,并可手动编辑pfile文件
startup pfile='/home/.../initorcl.ora'
2. 检查spfile的值,并创建spfile
SQL> show parameter spfile
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile string
SQL> create spfile from pfile='/home/ora92/admin/orcl/pfile/initorcl.ora.515200911423'
2 ;
File created.
SQL> show parameter spfile
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile string
SQL> startup force
ORACLE instance started.
Total System Global Area 2837416920 bytes
Fixed Size 744408 bytes
Variable Size 687865856 bytes
Database Buffers 2147483648 bytes
Redo Buffers 1323008 bytes
Database mounted.
Database opened.
SQL> show parameter spfile
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
spfile string
?/dbs/spfile@.ora
3. 检查local_listener的值,并设置成需要的值
SQL> show parameter listener
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
local_listener string
mts_listener_address string
mts_multiple_listeners boolean
FALSE
remote_listener string
SQL> alter system set local_listener=' (ADDRESS = (PROTOCOL = TCP)(HOST = mddbstandby.163.com)(PORT = 9521))' scope=both;
System altered.
SQL> startup force
ORACLE instance started.
Total System Global Area 2837416920 bytes
Fixed Size 744408 bytes
Variable Size 687865856 bytes
Database Buffers 2147483648 bytes
Redo Buffers 1323008 bytes
Database mounted.
Database opened.
SQL> show parameter local_listener
NAME TYPE
------------------------------------ ---------------------------------
VALUE
------------------------------
local_listener string
(ADDRESS = (PROTOCOL = TCP)(H
OST = mddbstandby.163.com)(POR
T = 9521))
SQL>
ORA-00119/ORA-00132的更多相关文章
- listener.ora/sqlnet.ora/tnsnames.ora配置文件详解
oracle网络配置 三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下. 英文说明: The ...
- oracle的listener.ora sqlnet.ora tnsnames.ora三个文件的关联性
学习:http://www.cnblogs.com/william-lee/archive/2010/10/20/1856261.html 之前因为安装的是windows server 2008 r2 ...
- ORACLE RAC 下非缺省端口监听配置(listener.ora tnsnames.ora)
不论是单实例还是RAC,对于非缺省端口下(1521)的监听器,pmon进程不会将service/instance注册到监听器,即不会实现动态注册.与单实例相同,RAC非缺省端口的监听器也是通过设置参数 ...
- oracle的sqlnet.ora,tnsnames.ora,listener.ora三个配置文件
总结: 1 .三个配置文件都是放在$ORACLE_HOME\network\admin目录下. 2 .sqlnet.ora确定解析方式 3 .listener.ora上设SID_NAME,通常用于JD ...
- oracle的sqlnet.ora , tnsnames.ora , Listener.ora 文件的作用(转)
oracle网络配置三个配置文件 listener.ora.sqlnet.ora.tnsnames.ora ,都是放在$ORACLE_HOME/network/admin目录下.1. sqlnet.o ...
- oracle错误(ORA:12154 ORA:01034 和 ORA:27101 ORA-18008 ORA-01081)
按照正常操作流程,启动项目,发现项目报错,原因是连接不上oracle数据库, PLSQL连接时报错,错误码 ORA:12154 无法解析指定的连接标识符 第一次,遇到这个错误,在网上找了资料都是需要 ...
- ORACLE RAC 监听配置 (listener.ora tnsnames.ora)
Oracle RAC 监听器的配置与单实例稍有不同,但原理和实现方法基本上是相同的.在Oracle中 tns进程用于为指定网络地址上的一个或多个Oracle 实例提供服务注册,并响应来自客户端对该服务 ...
- Oracle的tnsnames.ora配置(PLSQL Developer)
首先打开tnsnames.ora的存放目录,一般为D:\app\Administrator\product\11.2.0\client_1\network\admin,就看安装具体位置了. 步骤阅读 ...
- tnsnames.ora配置注意(连接新的数据库)
文件地址D:\app\think\product\11.2.0\instantclient_11_2\network\admin\tnsnames.ora# tnsnames.ora Network ...
- tnsnames.ora 监听配置文件详解
今天是重要的一天.将XML数据导入ORACLE遇到很多问题,学了好多,其中很长时间花在网络配置上,刚开始学,具体原因不知道,先把搜集到的好文章存下来,以后慢慢研究. 监听配置文件 ...
随机推荐
- Loadrunner--自动关联和手动关联
2017-06-09 15:32:45个人也属于刚刚开始学习,有什么不对的地方敬请指导:qq:389791447 一开始的时候,准备去学习怎么去关联.一时也毛不着头脑,就在网上找了一些视频看,有的人说 ...
- database.properties数据源
jdbc.driver_class=oracle.jdbc.driver.OracleDriverjdbc.connection.url=jdbc:oracle:thin:@localhost:152 ...
- ReIn
package JBJADV003; import java.io.*;import java.util.Scanner; public class ReIn { /** * @param args ...
- Java自学手记——struts2
struts2框架 struts2是一种基于MVC模式的框架,是在struts1的基础上融合了xwork的功能. struts2框架预处理了一些功能: >请求数据自动封装, >文件上传的功 ...
- Spring Boot简单xml配置集成mybatis
一.xml配置版 1.properties文件中增加的配置: mybatis.config-locations=classpath:mybatis/mybatis-config.xml mybatis ...
- 平板点餐软件编程体会---记我的Android编程之路
前言 想开发一个平板点餐系统,研究下陈江根大侠分享的一个很高水准的实例,只是个单机版无实用意义. (如需运行源码请回复联系邮箱) 实现 Mysql 数据库+Tomcat WEb服务器,使用Servle ...
- Java读取property配置文件
读取配置文件已经成了Java程序员工作的一项必备技能. 配置文件的优点: 可维护性好 怎么个可维护性好呢? 它会让程序中变化的地方很灵活的配置,不需要修改代码. Java程序部署到服务器上去之后就变成 ...
- Android项目导入工程Module
在Android开发过程中,我们经常引用一些模块,或者自己封装好的Project.在Android Studio某个项目是可以引入多个Module的.这样导入Module的好处方便对源码修改以适合自己 ...
- Python运维开发基础-概述-hello world
Hello World 任何一门计算机语言几乎都是从hello world开始的,为了遵从这一优秀的传统习惯,我们也从打印hello world开始. linux系统进入Python环境,直接打Pyt ...
- Tomcat启动中的一些问题
(a)在eclipse中启动tomcat,在控制台加载的配置却是其他项目的,有时候也不是自己工作空间里的? 出现的一个原因是:在我tomcat的webapp目录下,我放了一个其他项目的war包,在to ...