oracle8.0.6db_block_size=16384
db_block_buffer=550
shared_pool_size = 45000000
shared_pool_reserved_size = 22500000
large_pool_size = 655350
sort_area_size = 655350
sort_area_retained_size = 655350是不是参数弄得太大了?

解决方案 »

  1.   

    我遇到过这个问题,应该是机器的内存不大但是oracle instance的内存参数设得太大了,你改小一点就应该可以了
      

  2.   

    设置SGA占物理内存的1/2就可以
      

  3.   

    我都已经设的非常小了,海时出现问题:Total System Global Area                         12796968 bytes
    Fixed Size                                          66600 bytes
    Variable Size                                    10911744 bytes
    Database Buffers                                  1638400 bytes
    Redo Buffers                                       180224 bytes
    SVRMGR>      2>      3>      4>      5>      6>      7>      8>      9>     10> CREATE DATABASE "PMORCL2"
    *
    ORA-01501: CREATE DATABASE failed
    ORA-01519: error while processing file '?/rdbms/admin/sql.bsq' near line 209
    ORA-00604: error occurred at recursive SQL level 1
    ORA-27102: out of memory
    Digital Unix Error: 4: Interrupted system call
    Additional information: 1074513088
    Additional information: 1
    Additional information: 32400
      

  4.   

    你要不要看一下这个209行是什么呢,为什么老在这个地方出错?这个文件sql.bsq你没有动过吧?
      

  5.   

    SVRMGR> Connected.
    SVRMGR> ORACLE instance started.
    Total System Global Area                        101311528 bytes
    Fixed Size                                          66600 bytes
    Variable Size                                    48635904 bytes
    Database Buffers                                 52428800 bytes
    Redo Buffers                                       180224 bytes
    Database mounted.
    ORA-01534: rollback segment 'INITPMORCL2.ORA' doesn't exist
    这是什么问题呢?'INITPMORCL2.ORA' 明明是我的初始化参数文件啊。
    我建库时有两个公共回滚段rbs0,rbs1;后来建用户后又建了一个私有回滚段,pmrbs.
    刚开始数据库还可以open,自从我把pmrbs加到 
    rollback_segments               = (rbs0,rbs1,pmrbs)中后,就开始出现上面的问题。如果我把pmrbs删掉,现在也还是出现同样的问题。
    哎,每前进一步真难啊!
      

  6.   

    要是把回滚段全部去掉,就更不行了,不能mount.
    # rollback_segments               = (rbs0,rbs1,pmrbs)我现在的状况是:有三个回滚段,如上。
    如果我在rollback_segments中乱加一个不存在的回滚段,aaa:
    rollback_segments               = (aaa,rbs0,rbs1,pmrbs)马上就会报出:ORA-01534: rollback segment 'aaa' doesn't exist
    可是把不存在的去掉,又出现:
    ORA-01534: rollback segment 'INITPMORCL2.ORA' doesn't exist可是'INITPMORCL2.ORA' 明明不是回滚段啊:(
      

  7.   

    我记得私有回滚段不能加在init.ora中的吧?用startup mount方式删除改回滚段所在的表空间或者把表空间离线在alter database open,重新建表空间和回滚段,还是用公共回滚段吧
      

  8.   

    可是我看书上写的:如果建了私有回滚段,怎应该向初始化文件中的rollback_segments中加入新的回滚段名称,以便下次启动时,自动online.
    我先试试你的方法:)
      

  9.   

    可是只用startup mount方式,好像不能删除表空间:(
    SVRMGR> connect internal
    Connected.
    SVRMGR> select * from v$tablespace;
    TS#        NAME                          
    ---------- ------------------------------
             0 SYSTEM                        
             1 TOOLS                         
             2 TBS_RBS                       
             3 TEMP                          
             4 USERS                         
             5 INDX                          
             6 PMTEMP                        
             7 PMROLLBACK                    
             8 PMDATA                        
             9 PMINDEX                       
    10 rows selected.
    SVRMGR> alter tablespace TBS_RBS offline;
    alter tablespace TBS_RBS offline
    *
    ORA-01109: database not open
    SVRMGR> 
      

  10.   

    (ora817) sql.bsq near line 209   不知道对你有没有帮助?create table seg$                                           /* segment table */
    ( file#         number not null,               /* segment header file number */
      block#        number not null,              /* segment header block number */
      type#         number not null,                /* segment type (see KTS.H): */
       /* 1 = UNDO, 2 = SAVE UNDO, 3 = TEMPORARY, 4 = CACHE, 5 = DATA, 6 = INDEX */
      ts#           number not null,       /* tablespace containing this segment */
      blocks        number not null,       /* blocks allocated to segment so far */
       /* zero for bitmapped tablespaces */
      extents       number not null,      /* extents allocated to segment so far */
       /* zero for bitmapped tablespaces */
      iniexts       number not null,                      /* initial extent size */
      minexts       number not null,                /* minimum number of extents */
      maxexts       number not null,                /* maximum number of extents */
      extsize       number not null,                 /* current next extent size */
       /* zero for bitmapped tablespaces */
      extpct        number not null,                    /* percent size increase */
      user#         number not null,               /* user who owns this segment */
      lists         number,                        /* freelists for this segment */
      groups        number,                  /* freelist groups for this segment */
      bitmapranges  number not null,                 /* ranges per bit map entry */
      cachehint     number not null,                        /* hints for caching */
      scanhint      number not null,                       /* hints for scanning */
      hwmincr       number not null,             /* Amount by which HWM is moved */
      /* Reuse it as object number/class */
         /* for objects in bitmapped tablespaces */
      spare1        number,                        /* Segment flags - NULL = 0x0 */
                                                   /* 0x1 - bitmapped tablespace */
                                                           /* 0x2 - undo segment */
                                                       /* 0x4 - saveundo segment */
                                                 /* 0x8 - segment ed corrupt */
      spare2        number
    )
    cluster c_file#_block#(ts#, file#, block#)
    /
      

  11.   

    可是只用startup mount方式,好像不能删除表空间:(
    SVRMGR> connect internal
    Connected.
    SVRMGR> select * from v$tablespace;
    TS#        NAME                          
    ---------- ------------------------------
             0 SYSTEM                        
             1 TOOLS                         
             2 TBS_RBS                       
             3 TEMP                          
             4 USERS                         
             5 INDX                          
             6 PMTEMP                        
             7 PMROLLBACK                    
             8 PMDATA                        
             9 PMINDEX                       
    10 rows selected.
    SVRMGR> alter tablespace TBS_RBS offline;
    alter tablespace TBS_RBS offline
    *
    ORA-01109: database not open
    SVRMGR> 
      

  12.   

    找到一个类似的回复:
    I have faced similar error when i wanted to create a database in 9i. I got over it by allocating more memory to SGA and large_object_pool. It may or maynot work for you but you may like to try.是不是需要增大SGA and large_object_pool?我只是猜测。
      

  13.   

    还有:
    “是不是需要增大SGA and large_object_pool?我只是猜测。”
    我的错误里面已经有了一句: out of memory,还要增大这些参数,岂不会更惨?这个问题,我不知道该怎么办,我是换了一台机器才没有出现这个问题的。你给我的提示我看了,但是还是不知道错误的原因。出问题的机器的内存1G,是不太大,不过我觉得我的Instance 也没有占多大内存啊。