oracle 11g 报 ORA-00119: invalid specification for system parameter LOCAL_LISTENER错误

在linux下启动oracle11g是报如下错误:

ORA-00119: invalid specification for system parameter LOCAL_LISTENER
ORA-00130: invalid listener address '(ADDRESS=(PROTOCOL=TCP)(HOST=oracle11g)(PORT=1521))'

当初怀疑改机器名的原因引起的。查了一下机器名没有错误。

# hostname
oracle11g

检查/etc/hosts里的条目。只有一个 127.0.0.1 localhost.localdomain localhost

于是在后面加了一项

172.1.1.10 oracle11g

之后启动数据库成功

SQL> startup
ORACLE instance started.

Total System Global Area 417546240 bytes
Fixed Size 2213936 bytes
Variable Size 276826064 bytes
Database Buffers 134217728 bytes
Redo Buffers 4288512 bytes
Database mounted.
Database opened.

 

 

10G  ORA-00119,ORA-00132错误解决案例 
$sqlplus sys as sysdba

sql>startup

ORA-00119: invalid specification for system parameter LOCAL_LISTENER

ORA-00132: syntax error or unresolved network name 'LISTENERS_ORCL'

检查$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora 文件,发现设置了LOCAL_LISTENER,正是这个设置导致了数据库无法正常启动.

使用写字板软件打开$ORACLE_HOME/dbs/spfile$ORACLE_SID.ora (本例为c:oracleproduct10.2.0db_1dbsspfileorcl.ora),复制文件中大部分的内容,根据复制的内容,创建一个新的文本文件,并保存init$ORACLE_SID2.ora

Linux/unix/aix 的文件位置为:$ORACLE_HOME/dbs/init$ORACLE_SID2.ora

Windows 的文件位置为: $ORACLE_HOME/database/init$ORACLE_SID2.ora(本例为:c:oracleproduct10.2.0databaseinitorcl2.ora

init$ORACLE_SID2.ora文件内容大致为:

*.control_files='C:oradatasdefoshacontrol01.ctl','C:oradatasdefoshacontrol02.ctl','C:oradatasdefoshacontrol03.ctl'

*.core_dump_dest='C:oracleproduct10.2.0adminsdefoshanpowercdump'

*.db_block_size=8192

*.db_domain=''

*.db_file_multiblock_read_count=16

*.db_name='orcl'

*.db_recovery_file_dest='C:oracleproduct10.2.0flash_recovery_area'

*.db_recovery_file_dest_size=2147483648

*.db_unique_name='orcl'

*.job_queue_processes=10

*.nls_language='SIMPLIFIED CHINESE'

*.nls_territory='CHINA'

*.open_cursors=300

*.pga_aggregate_target=203423744

*.processes=1500

*.remote_login_passwordfile='EXCLUSIVE'

*.sessions=1655

*.sga_target=612368384

*.undo_management='AUTO'

*.undo_tablespace='UNDOTBS1'

*.local_listener=listener_orcl

*.user_dump_dest='C:oracleproduct10.2.0adminsdefoshanpowerudump'

删除*.local_listener一行的内容,然后保存文件.

手工删除spfile文件

Linux/uxix/aix文件位置为: $ORACLE_HOME/dbs/spfile$ORACLE_SID.ora

windows文件位置为:$ORACLE_HOME/database/spfile$ORACLE_SID.ora (本例为c:oracleproduct10.2.0databasespfileorcl.ora)

使用新建立的pfile启动数据库到nomount状态,创建spfile

c:>sqlplus

SQL>startup nomount pfile=c:oracleproduct10.2.0databaseinitorcl2.ora

SQL>create spfile from pfile=c:oracleproduct10.2.0databaseinitorcl2.ora

上面的语句又一次确定pfile的路径,因为在windows环境里,pfile是缺省访问$ORACLE_HOME/database/init$ORACLE_SID.ora文件,而该文件的内容一般是一行内容,告诉ORACLE SPFILE存放的路径,如下:

SPFILE='C:oracleproduct10.2.0dbsspfileorcl.ora'

所以如果直接使用 SQL>create spfile from pfile,则创建的spfile的内容只是将SPFILE='C:oracleproduct10.2.0dbsspfileorcl.ora'这一行内容变成二进制,会导致数据库启动异常.

SQL>shutdown immediate;

删除pfile,或者重新命名.

重新启动数据库

$sqlplus / as sysdba

SQL>startup

SQL> startup

ORACLE 例程已经启动。

Total System Global Area 612368384 bytes

Fixed Size 1292036 bytes

Variable Size 176163068 bytes

Database Buffers 427819008 bytes

Redo Buffers 7094272 bytes

数据库装载完毕。

数据库已经打开。

数据库可以打开,问题得到解决.

转载自:http://hi.baidu.com/goodlisf/item/621e9afe106d7f713c198b3c

Logo

更多推荐