首页 > Linux操作系统 > Linux操作系统 > Oracle实例启动报错解决方法
报错信息如下:
SQL> startup mount
ORA-01506: missing or illegal database name
从信息看是缺少了数据库名称,或者数据库名称无效。
查看ORACLE_SID是否和参数文件的db_name一致。
[oracle@centos dbs]$ more initORCL.ora | grep db_name
*.db_name='ORCL'
[oracle@centos dbs]$ echo $ORACLE_SID
ORCL
从以上信息可以看出是一致的,但是从9i开始实例启动并不是优先读取pfile这个参数文件,而是spfile
[oracle@centos dbs]$ strings spfileORCL.ora
C"
C"
ORCL.__java_pool_size=4194304
ORCL.__large_pool_size=4194304
ORCL.__oracle_base='/u01/app/oracle'#ORACLE_BASE set from environment
ORCL.__pga_aggregate_target=155189248
ORCL.__sga_target=268435456
ORCL.__shared_io_pool_size=0
ORCL.__shared_pool_size=159383552
ORCL.__streams_pool_size=4194304
*.audit_file_dest='/u01/app/oracle/admin/ORCL/adump'
*.audit_trail='db'
*.compatible='11.2.0.0.0'
*.control_files='/u01/app/oracle/oradata/ORCL/control01.ctl','/u01/Cacle/flash_recovery_area/ORCL/control02.ctl'
*.db_block_size=8192
*.db_domain=''
*.db_recovery_file_dest='/u01/app/oracle/flash_recovery_area'
*.db_recovery_file_dest_size=5218762752
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ORCLXDB)'
*.memory_target=422576128
*.open_cursors=300
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.undo_tablespace='UNDOTBS1'
以上内容并没有db_name的信息。所以这里只能根据pfile即所谓的init
SQL> create spfile from pfile;
File created.
再试图启动实例
SQL> startup
ORACLE instance started.
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 322963840 bytes
Database Buffers 92274688 bytes
Redo Buffers 6094848 bytes
Database mounted.
Database opened.
启动成功,问题解决。
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/24590940/viewspace-717033/,如需转载,请注明出处,否则将追究法律责任。