公司有一项目使用oracle10g作为数据库。在完成安装后公司开发人员要我设置一些参数,我通过10g的em web页设置了session=1000,session_max_open_files=100,PGA=256M.重启后就发现数据库不能正常运行。在系统服务里面可以正常关闭打开oracle的所有服务。但是进入10g em web页显示数据库当前为装载或者未装载状态,要我启动或者恢复设置。但是无论我如果启动或者恢复,都不能使oracle正常运行。用sqlplus不能登陆。请教各位这是什么原因导致的?是因为参数设置出错的问题吗?因为在设置这3个参数前数据库一直都是运作正常的。
服务器环境:windows server 2003 sp2 32位,4核core e5420X2,4G内存希望有人可以帮忙解答一下

解决方案 »

  1.   

    在cmd中执行sqlplus /nolog,进入sqlplus,再执行
    connect / as sysdba
    shutdown immediate
    startup
    看看错误信息是什么
      

  2.   

    Microsoft Windows [版本 5.2.3790]
    (C) 版权所有 1985-2003 Microsoft Corp.C:\Documents and Settings\Administrator>sqlplus /nologSQL*Plus: Release 10.1.0.2.0 - Production on 星期三 6月 11 15:03:27 2008Copyright (c) 1982, 2004, Oracle.  All rights reserved.SQL> connect / as sysdba
    已连接到空闲例程。
    SQL> shutdown
    ORA-01034: ORACLE not available
    ORA-27101: shared memory realm does not exist
    SQL> startup
    ORACLE 例程已经启动。Total System Global Area  180355072 bytes
    Fixed Size                   788028 bytes
    Variable Size             143915460 bytes
    Database Buffers           33554432 bytes
    Redo Buffers                2097152 bytes
    数据库装载完毕。
    ORA-01092: ORACLE 例程终止。强制断开连接
    SQL>用2楼方法启动时出现这个错误信息
      

  3.   

    我原来也遇到这类问题不过后来解决了我要问你
    你那个PGA直接设置为256是行不通的吧?
    再说你没理解pga是什么意思吧 他不可以直接设置的吧????
    pga=java_pool_size+large_pool_size+shared_pool_size+db_cache_size
      

  4.   

    你这是SGA
    PGA只是用户数据加后台进程,和排序用到的
      

  5.   

    需要看alert文件中有什么其他错误信息。
      

  6.   

    请仔细查看$oracle_base/admin/sid/bdump/alter_<sid>.log告警日志信息!
      

  7.   

    Wed Jun 11 15:35:09 2008
    Adjusting the default value of parameter parallel_max_servers
    from 160 to 135 due to the value of parameter processes (150)
    The value of parameter db_cache_size is below the required minimum
    The new value is 4MB multiplied by the number of cpus
    Wed Jun 11 15:35:09 2008
    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 2 shared and 110 private strand(s). Zero-copy redo is FALSE
    IMODE=BR
    ILAT =110
    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
      sessions                 = 1000
      shared_pool_size         = 83886080
      large_pool_size          = 8388608
      java_pool_size           = 50331648
      control_files            = E:\ORACLE\PRODUCT\10.1.0\ORADATA\MMEPI\CONTROL01.CTL, E:\ORACLE\PRODUCT\10.1.0\ORADATA\MMEPI\CONTROL02.CTL, E:\ORACLE\PRODUCT\10.1.0\ORADATA\MMEPI\CONTROL03.CTL
      db_block_size            = 8192
      db_cache_size            = 33554432
      compatible               = 10.1.0.2.0
      db_file_multiblock_read_count= 16
      db_recovery_file_dest    = E:\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=MMEPIXDB)
      job_queue_processes      = 10
      background_dump_dest     = E:\ORACLE\PRODUCT\10.1.0\ADMIN\MMEPI\BDUMP
      user_dump_dest           = E:\ORACLE\PRODUCT\10.1.0\ADMIN\MMEPI\UDUMP
      core_dump_dest           = E:\ORACLE\PRODUCT\10.1.0\ADMIN\MMEPI\CDUMP
      session_max_open_files   = 100
      sort_area_size           = 65536
      db_name                  = MMEPI
      open_cursors             = 300
      pga_aggregate_target     = 268435456
    PMON started with pid=2, OS id=3828
    MMAN started with pid=3, OS id=1156
    DBW0 started with pid=4, OS id=3508
    LGWR started with pid=5, OS id=3460
    CKPT started with pid=6, OS id=3116
    SMON started with pid=7, OS id=2460
    RECO started with pid=8, OS id=3912
    CJQ0 started with pid=9, OS id=2500
    Wed Jun 11 15:35:09 2008
    starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
    starting up 1 shared server(s) ...
    Wed Jun 11 15:35:09 2008
    ALTER DATABASE   MOUNT
    Wed Jun 11 15:35:09 2008
    Controlfile identified with block size 16384
    Wed Jun 11 15:35:14 2008
    Setting recovery target incarnation to 2
    Wed Jun 11 15:35:14 2008
    Successful mount of redo thread 1, with mount id 524198765
    Wed Jun 11 15:35:14 2008
    Database mounted in Exclusive Mode.
    Completed: ALTER DATABASE   MOUNT
    Wed Jun 11 15:35:14 2008
    ALTER DATABASE OPEN
    Wed Jun 11 15:35:14 2008
    Beginning crash recovery of 1 threads
     attempting to start a parallel recovery with 7 processes
    Wed Jun 11 15:40:17 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_p004_2904.trc:
    ORA-10388: parallel query server interrupt (failure)Wed Jun 11 15:40:17 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_p002_3208.trc:
    ORA-10388: parallel query server interrupt (failure)Wed Jun 11 15:40:17 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_p005_3752.trc:
    ORA-10388: parallel query server interrupt (failure)Wed Jun 11 15:40:17 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_p006_4044.trc:
    ORA-10388: parallel query server interrupt (failure)Wed Jun 11 15:40:17 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_p000_1556.trc:
    ORA-10388: parallel query server interrupt (failure)Wed Jun 11 15:40:17 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_p003_2724.trc:
    ORA-10388: parallel query server interrupt (failure)Wed Jun 11 15:40:17 2008
    ORA-12805: 并行查询服务器意外停止 parallel recovery failed to get any processes
     non-parallel recovery will be done
    Wed Jun 11 15:40:17 2008
    Started first pass scan
    Wed Jun 11 15:40:17 2008
    Completed first pass scan
     1 redo blocks read, 0 data blocks need recovery
    Wed Jun 11 15:40:17 2008
    Started redo application at
     Thread 1: logseq 441, block 2, scn 0.2657165
    Recovery of Online Redo Log: Thread 1 Group 2 Seq 441 Reading mem 0
      Mem# 0 errs 0: E:\ORACLE\PRODUCT\10.1.0\ORADATA\MMEPI\REDO02.LOG
    Wed Jun 11 15:40:17 2008
    Completed redo application
    Wed Jun 11 15:40:17 2008
    Completed crash recovery at
     Thread 1: logseq 441, block 3, scn 0.2677167
     0 data blocks read, 0 data blocks written, 1 redo blocks read
    Wed Jun 11 15:40:17 2008
    Thread 1 advanced to log sequence 442
    Maximum redo generation record size = 120832 bytes
    Maximum redo generation change vector size = 116476 bytes
    Private_strands 6 at log switch
    Thread 1 opened at log sequence 442
      Current log# 3 seq# 442 mem# 0: E:\ORACLE\PRODUCT\10.1.0\ORADATA\MMEPI\REDO03.LOG
    Successful open of redo thread 1
    Wed Jun 11 15:40:17 2008
    MTTR advisory is disabled because FAST_START_MTTR_TARGET is not set
    Wed Jun 11 15:40:17 2008
    SMON: enabling cache recovery
    Wed Jun 11 15:40:17 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\udump\mmepi_ora_2308.trc:
    ORA-00704: 引导程序进程失败
    ORA-00604: 递归 SQL 级别 1 出现错误
    ORA-04031: 无法分配 96 字节的共享内存 ("shared pool","select line#, sql_text from ...","sql area","kafco : qkacol")Wed Jun 11 15:40:17 2008
    Error 704 happened during db open, shutting down database
    USER: terminating instance due to error 704
    Wed Jun 11 15:40:18 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_pmon_3828.trc:
    ORA-00704: bootstrap process failureWed Jun 11 15:40:18 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_reco_3912.trc:
    ORA-00704: bootstrap process failureWed Jun 11 15:40:19 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_smon_2460.trc:
    ORA-00704: bootstrap process failureWed Jun 11 15:40:19 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_ckpt_3116.trc:
    ORA-00704: bootstrap process failureWed Jun 11 15:40:19 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_lgwr_3460.trc:
    ORA-00704: bootstrap process failureWed Jun 11 15:40:19 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_dbw0_3508.trc:
    ORA-00704: bootstrap process failureWed Jun 11 15:40:19 2008
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\bdump\mmepi_mman_1156.trc:
    ORA-00704: bootstrap process failureInstance terminated by USER, pid = 2308
    ORA-1092 signalled during: ALTER DATABASE OPEN...
      

  8.   

    关键是下面的错误
    Wed Jun 11 15:40:17 2008 
    Errors in file e:\oracle\product\10.1.0\admin\mmepi\udump\mmepi_ora_2308.trc: 
    ORA-00704: 引导程序进程失败 
    ORA-00604: 递归 SQL 级别 1 出现错误 
    ORA-04031: 无法分配 96 字节的共享内存 ("shared pool","select line#, sql_text from ...","sql area","kafco : qkacol") shared pool不足,你设置的是多大?
      

  9.   

    不是这个吗?
    ->shared_pool_size        = 83886080 
      

  10.   

    加大shared_pool_size试试。我按你的设置,sessions=1000,session_max_open_file=100,shared_pool_size=83886080,startup mount时报“ORA-00371: not enough shared pool memory, should be atleast 132663296 bytes”,但实际设置88M的shared pool就能startup了。
    此外,在DEDICATED模式下,你只加大sessions数,不增加processes数应该是没意义的。
      

  11.   

    楼上高手能说下么,为什么要手动调整shared_pool的大小,
    10g里这个值不是自动调整的吗?