首页 技术 正文
技术 2022年11月7日
0 收藏 617 点赞 892 浏览 3725 个字

今天在启动服务器上的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>

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,108
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,584
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,431
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,202
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,837
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,920