ORA-27103 when Memory target parameter is set to more than 3 GB(11.1.0.7)

联系:手机/微信(+86 17813235971) QQ(107644445)QQ咨询惜分飞

标题:ORA-27103 when Memory target parameter is set to more than 3 GB(11.1.0.7)

作者:惜分飞©版权所有[未经本人同意,不得以任何形式转载,否则有进一步追究法律责任的权利.]

朋友在数据库软件从11.1.0.6升级到11.1.0.7后,发现数据库无法打开,不能继续下一步升级
数据库启动

SQL> startup upgrade
ORA-03113: end-of-file on communication channel

alert日志

Starting ORACLE instance (normal)
LICENSE_MAX_SESSION = 0
LICENSE_SESSIONS_WARNING = 0
Picked latch-free SCN scheme 3
Using LOG_ARCHIVE_DEST_10 parameter default value as USE_DB_RECOVERY_FILE_DEST
Autotune of undo retention is turned on. 
IMODE=BR
ILAT =182
LICENSE_MAX_USERS = 0
SYS auditing is disabled
Starting up ORACLE RDBMS Version: 11.1.0.7.0.
Using parameter settings in server-side spfile /u01/app/oracle/product/11.1.0/db_1/dbs/spfilecenterdb.ora
System parameters with non-default values:
  processes                = 1500
  sessions                 = 1655
  memory_target            = 12864M
  control_files            = "/u01/app/oracle/oradata/centerdb/control01.ctl"
  control_files            = "/u01/app/oracle/oradata/centerdb/control02.ctl"
  control_files            = "/u01/app/oracle/oradata/centerdb/control03.ctl"
  db_block_size            = 8192
  compatible               = "11.1.0.0.0"
  db_recovery_file_dest    = "/u01/app/oracle/flash_recovery_area"
  db_recovery_file_dest_size= 2G
  undo_tablespace          = "UNDOTBS1"
  remote_login_passwordfile= "EXCLUSIVE"
  db_domain                = ""
  dispatchers              = "(PROTOCOL=TCP) (SERVICE=centerdbXDB)"
  audit_file_dest          = "/u01/app/oracle/admin/centerdb/adump"
  audit_trail              = "DB"
  db_name                  = "centerdb"
  open_cursors             = 300
  diagnostic_dest          = "/u01/app/oracle"
Thu Mar 29 15:47:06 2012
PMON started with pid=2, OS id=16324 
Thu Mar 29 15:47:06 2012
VKTM started with pid=3, OS id=16326 at elevated priority
VKTM running at (20)ms precision
Thu Mar 29 15:47:06 2012
DIAG started with pid=4, OS id=16330 
Thu Mar 29 15:47:06 2012
DBRM started with pid=5, OS id=16332 
Thu Mar 29 15:47:06 2012
PSP0 started with pid=6, OS id=16334 
Thu Mar 29 15:47:06 2012
DIA0 started with pid=7, OS id=16336 
Thu Mar 29 15:47:06 2012
MMAN started with pid=8, OS id=16338 
Thu Mar 29 15:47:06 2012
DBW0 started with pid=9, OS id=16340 
Thu Mar 29 15:47:06 2012
DBW1 started with pid=10, OS id=16342 
Thu Mar 29 15:47:06 2012
DBW2 started with pid=11, OS id=16344 
Thu Mar 29 15:47:06 2012
DBW3 started with pid=12, OS id=16346 
Thu Mar 29 15:47:06 2012
DBW4 started with pid=13, OS id=16348 
Thu Mar 29 15:47:06 2012
DBW5 started with pid=14, OS id=16350 
Thu Mar 29 15:47:06 2012
LGWR started with pid=15, OS id=16352 
Thu Mar 29 15:47:06 2012
CKPT started with pid=16, OS id=16354 
Thu Mar 29 15:47:06 2012
SMON started with pid=17, OS id=16356 
Thu Mar 29 15:47:06 2012
RECO started with pid=18, OS id=16358 
Thu Mar 29 15:47:06 2012
MMON started with pid=19, OS id=16360 
starting up 1 dispatcher(s) for network address '(ADDRESS=(PARTIAL=YES)(PROTOCOL=TCP))'...
Thu Mar 29 15:47:06 2012
MMNL started with pid=20, OS id=16362 
starting up 1 shared server(s) ...
Errors in file /u01/app/oracle/diag/rdbms/centerdb/centerdb/trace/centerdb_mman_16338.trc:
ORA-27103: internal error
Additional information: -1
Additional information: 1
MMAN (ospid: 16338): terminating the instance due to error 27103
Instance terminated by MMAN, pid = 16338

这里可以发现memory_target在12g以上

trace文件内容

[oracle@fcdb trace]$ more /u01/app/oracle/diag/rdbms/centerdb/centerdb/trace/centerdb_mman_16338.trc
Trace file /u01/app/oracle/diag/rdbms/centerdb/centerdb/trace/centerdb_mman_16338.trc
Oracle Database 11g Enterprise Edition Release 11.1.0.7.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORACLE_HOME = /u01/app/oracle/product/11.1.0/db_1
System name:    Linux
Node name:      fcdb
Release:        2.6.18-164.el5
Version:        #1 SMP Tue Aug 18 15:51:48 EDT 2009
Machine:        x86_64
Instance name: centerdb
Redo thread mounted by this instance: 0 <none>
Oracle process number: 8
Unix process pid: 16338, image: oracle@fcdb (MMAN)


*** 2012-03-29 15:47:06.865
*** SESSION ID:(1648.1) 2012-03-29 15:47:06.865
*** CLIENT ID:() 2012-03-29 15:47:06.865
*** SERVICE NAME:() 2012-03-29 15:47:06.865
*** MODULE NAME:() 2012-03-29 15:47:06.865
*** ACTION NAME:() 2012-03-29 15:47:06.865
 
error 27103 detected in background process
ORA-27103: internal error
Additional information: -1
Additional information: 1

*** 2012-03-29 15:47:06.865
MMAN (ospid: 16338): terminating the instance due to error 27103

结合alert和trace文件查询MOS,发现ORA-27103 when Memory target parameter is set to more than 3 GB [ID 743012.1]描述相符,是由于Bug:7272646引起.
鉴于朋友的数据库还升级过程中,所以给出的处理建议是先把memory_target改为2.8G,执行完升级操作,然后打上Patch:7272646
同时官方还给出了另一种解决方案:设置SHMMAX小于4G,个人不推荐;如果系统内存比较大,会出现多个内存段,影响系统性能

此条目发表在 ORA-xxxxx 分类目录,贴了 标签。将固定链接加入收藏夹。

ORA-27103 when Memory target parameter is set to more than 3 GB(11.1.0.7)》有 1 条评论

  1. 惜分飞 说:

    ORA-27103 when Memory target parameter is set to more than 3 GB

    Applies to:
    Oracle Server - Enterprise Edition - Version: 11.1.0.7 to 11.1.0.7 - Release: 11.1 to 11.1
    Linux x86-64
    
    Symptoms
    When setting the memory_target parameter on 11.1.0.7 > 3GB, The instance can not start up and crashes with the following errors displayed in the alert log:
    ALTER DATABASE MOUNT 
    This instance was first to mount 
    Errors in file /oracle/app/oracle/diag/rdbms/dwhp/DWHP1/trace/DWHP1_mman_22192.trc: 
    ORA-27103: internal error 
    Linux-x86_64 Error: 11: Resource temporarily unavailable 
    Additional information: -1 
    Additional information: 1 
    MMAN (ospid: 22192): terminating the instance due to error 27103 
    System state dump is made for local instance 
    System State dumped to trace file /oracle/app/oracle/diag/rdbms/dwhp/DWHP1/trace/DWHP1_diag_22166.trc 
    Trace dumping is performing id=[cdmp_20080929103326] 
    Instance terminated by MMAN, pid = 22192
    
    OR
    
    ORA-27103: internal error
    Linux-x86_64 Error: 25: Inappropriate ioctl for device
    Additional information: -1
    Additional information: 1
    MMAN (ospid: 12249): terminating the instance due to error 27103
    Instance terminated by MMAN, pid = 12249
    
    OR
    
    Errors in file /app/oemrep/diag/rdbms/emrep/emrep/trace/emrep_mman_30849.trc: 
    ORA-27103: internal error 
    Linux-x86_64 Error: 17: File exists 
    Additional information: -1 
    Additional information: 1 
    MMAN (ospid: 30849): terminating the instance due to error 27103 
    Instance terminated by MMAN, pid = 30849 
    
    OR
    
    DBCA fails with ORA-03114 error
    This issue is not reproduced in 11.1.0.6
    
    Changes
    
    Applied the 11.1.0.7 patch set.
    
    Cause
    The problem is due to Bug:7272646, introduced in 11.1.0.7 patchset on 64bit Linux.
    
    In some cases, after applying the 11.1.0.7 patch set on 64Bit Linux x86 the instance will not start when MEMORY_TARGET > 3GB.
    
    
    Solution
    An interim Patch:7272646 is available on My Oracle Support for Linux x86-64 11.1.0.7. 
    After applying the patch, test with memory_target set  > 3GB to verify patch resolves issue.
    
    To workaround the issue:
    
    1. Reduce value for kernel parameter SHMMAX below 4Gb (4294967296). This will cause more shared memory segments to be created for the instance SGA. There is no impact to setting SHMMAX lower.