问题描述:
登录oracle时出现错误:“ORA-01034:ORACLE not available,ORA-27101:shared memory realm does not exist“导致问题的操作:
1. 之前连接oracle一切正常;
2. 在oracle运行的时候,我修改了“C:\oracle\product\10.1.0\admin\myoracle\pfile\init.ora.68200991151”文件中的open_cursors=300为open_cursors=400
3. 重启oracle服务,出现上述错误。查看了C:\oracle\product\10.1.0\admin\myoracle\bdump\alertmyoracle.log文件,发现数据库启动不成功,具体日志信息没有了,因为我在网上找原因时,说可能是磁盘空间不足,我查看了我的oracle安装盘正好只有几十M的空间,我就删除bdmup下面的日志文件。找了好久都解决不了,所以来发贴请大家帮忙!万分感谢!
登录oracle时出现错误:“ORA-01034:ORACLE not available,ORA-27101:shared memory realm does not exist“导致问题的操作:
1. 之前连接oracle一切正常;
2. 在oracle运行的时候,我修改了“C:\oracle\product\10.1.0\admin\myoracle\pfile\init.ora.68200991151”文件中的open_cursors=300为open_cursors=400
3. 重启oracle服务,出现上述错误。查看了C:\oracle\product\10.1.0\admin\myoracle\bdump\alertmyoracle.log文件,发现数据库启动不成功,具体日志信息没有了,因为我在网上找原因时,说可能是磁盘空间不足,我查看了我的oracle安装盘正好只有几十M的空间,我就删除bdmup下面的日志文件。找了好久都解决不了,所以来发贴请大家帮忙!万分感谢!
是怎样启动数据库的,是从pfile么,用命令行的方式试试把这个文件修改的open_cursors=400改回来,然后
sqlplus "/ as sysdba"
SQL>startup nomount pfile='C:\oracle\product\10.1.0\admin\myoracle\pfile\init.ora.68200991151';
看看能不能启动
我也将这个文件中的*.open_cursors=300改为*.open_cursors=400了,但是我马上又改回来了。我是在管理目录下重启oracle服务的,然后用plsql登录。
我试了:出现以下结果:
ORACLE instance started.Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes这个时候使用PLSQL重新登录,出现另一个错误:
“ORA-01033: ORACLE initilization or shutdown in progress”.
ORACLE instance started.Total System Global Area 171966464 bytes
Fixed Size 787988 bytes
Variable Size 145750508 bytes
Database Buffers 25165824 bytes
Redo Buffers 262144 bytes
在“C:\oracle\product\10.1.0\admin\myoracle\bdump”目录下生成了日志文件alert_myoracle.log,全部内容如下:
Dump file c:\oracle\product\10.1.0\admin\myoracle\bdump\alert_myoracle.log
Fri Aug 14 12:35:19 2009
ORACLE V10.1.0.2.0 - Production vsnsta=0
vsnsql=13 vsnxtr=3
Windows XP Version V5.1 Service Pack 2
CPU : 1 - type 586
Process Affinity: 0x00000000
Memory (A/P) : PH:442M/765M, PG:1535M/1876M, VA:1952M/2047M
Fri Aug 14 12:35:19 2009
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
KCCDEBUG_LEVEL = 0
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
Dynamic strands is set to TRUE
Running with 1 shared and 18 private strand(s). Zero-copy redo is FALSE
IMODE=BR
ILAT =18
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 10.1.0.2.0.
System parameters with non-default values:
processes = 150
shared_pool_size = 83886080
large_pool_size = 8388608
java_pool_size = 50331648
control_files = C:\ORACLE\PRODUCT\10.1.0\ORADATA\MYORACLE\CONTROL01.CTL, C:\ORACLE\PRODUCT\10.1.0\ORADATA\MYORACLE\CONTROL02.CTL, C:\ORACLE\PRODUCT\10.1.0\ORADATA\MYORACLE\CONTROL03.CTL
db_block_size = 8192
db_cache_size = 25165824
compatible = 10.1.0.2.0
db_file_multiblock_read_count= 16
db_recovery_file_dest = C:\oracle\product\10.1.0\flash_recovery_area
db_recovery_file_dest_size= 2147483648
undo_management = AUTO
undo_tablespace = UNDOTBS1
remote_login_passwordfile= EXCLUSIVE
db_domain =
dispatchers = (PROTOCOL=TCP) (SERVICE=myoracleXDB)
job_queue_processes = 10
background_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\MYORACLE\BDUMP
user_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\MYORACLE\UDUMP
core_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\MYORACLE\CDUMP
sort_area_size = 65536
db_name = myoracle
open_cursors = 300
pga_aggregate_target = 25165824
PMON started with pid=2, OS id=2708
RECO started with pid=8, OS id=2280
MMAN started with pid=3, OS id=4060
DBW0 started with pid=4, OS id=2228
LGWR started with pid=5, OS id=3700
CKPT started with pid=6, OS id=3656
SMON started with pid=7, OS id=1820
Fri Aug 14 12:35:21 2009
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
CJQ0 started with pid=9, OS id=3884
Fri Aug 14 12:35:21 2009
starting up 1 shared server(s) ...
Fri Aug 14 12:43:00 2009
Shutting down instance: further logons disabled
Fri Aug 14 12:43:00 2009
Stopping background process CJQ0
Fri Aug 14 12:43:00 2009
Shutting down instance (immediate)
License high water = 2
Fri Aug 14 12:43:00 2009
Stopping Job queue slave processes
Fri Aug 14 12:43:00 2009
Job queue slave processes stopped
Waiting for dispatcher 'D000' to shutdown
Waiting for shared server 'S000' to die
All dispatchers and shared servers shutdown
Fri Aug 14 12:43:08 2009
alter database close normal
ORA-1507 signalled during: alter database close normal...
Dump file c:\oracle\product\10.1.0\admin\myoracle\bdump\alert_myoracle.log
Fri Aug 14 12:44:17 2009
ORACLE V10.1.0.2.0 - Production vsnsta=0
vsnsql=13 vsnxtr=3
Windows XP Version V5.1 Service Pack 2
CPU : 1 - type 586
Process Affinity: 0x00000000
Memory (A/P) : PH:437M/765M, PG:1524M/1876M, VA:1953M/2047M
Fri Aug 14 12:44:17 2009
Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 2
KCCDEBUG_LEVEL = 0
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on.
Dynamic strands is set to TRUE
Running with 1 shared and 18 private strand(s). Zero-copy redo is FALSE
IMODE=BR
ILAT =18
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 10.1.0.2.0.
System parameters with non-default values:
processes = 150
shared_pool_size = 83886080
large_pool_size = 8388608
java_pool_size = 50331648
control_files = C:\ORACLE\PRODUCT\10.1.0\ORADATA\MYORACLE\CONTROL01.CTL, C:\ORACLE\PRODUCT\10.1.0\ORADATA\MYORACLE\CONTROL02.CTL, C:\ORACLE\PRODUCT\10.1.0\ORADATA\MYORACLE\CONTROL03.CTL
db_block_size = 8192
db_cache_size = 25165824
compatible = 10.1.0.2.0
db_file_multiblock_read_count= 16
db_recovery_file_dest = C:\oracle\product\10.1.0\flash_recovery_area
db_recovery_file_dest_size= 2147483648
undo_management = AUTO
undo_tablespace = UNDOTBS1
remote_login_passwordfile= EXCLUSIVE
db_domain =
dispatchers = (PROTOCOL=TCP) (SERVICE=myoracleXDB)
job_queue_processes = 10
background_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\MYORACLE\BDUMP
user_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\MYORACLE\UDUMP
core_dump_dest = C:\ORACLE\PRODUCT\10.1.0\ADMIN\MYORACLE\CDUMP
sort_area_size = 65536
db_name = myoracle
open_cursors = 300
pga_aggregate_target = 25165824
PMON started with pid=2, OS id=4028
MMAN started with pid=3, OS id=3740
DBW0 started with pid=4, OS id=1160
LGWR started with pid=5, OS id=1752
CKPT started with pid=6, OS id=1712
SMON started with pid=7, OS id=1376
RECO started with pid=8, OS id=1404
Fri Aug 14 12:44:18 2009
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
CJQ0 started with pid=9, OS id=3736
Fri Aug 14 12:44:18 2009
starting up 1 shared server(s) ...
这时我再用plsql Developer登录,却出现另一个错误:
ORA-01033: ORACLE initialization or shutdown in progress.
对这个spfile就是spfile文件,这个文件不是文本形式的,是一个二进制形式的文件,所以现在你用文本修改已经破坏掉她了。你先在$ORACLE_BASE/admin/<SID>/pfile下找找看有没有类似pfile这样的文件,如果有的话,就用这个文件试着启动一下,命令和上面一样的,不过就是路径换成他,如果可以成功启动的话,用这个pfile做一个spfile出来就可以了。命令create spfile from pfile='路径';