$sqlplus sys as
sysdba
sql>startup
ORA-00119: invalid specification for system parameterLOCAL_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[@more@]
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 Area612368384 bytes
Fixed
Size1292036 bytes
Variable
Size176163068 bytes
Database
Buffers427819008 bytes
Redo
Buffers7094272 bytes
数据库装载完毕。
数据库已经打开。
数据库可以打开,问题得到解决.