在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
所有评论(0)