Today, a Linux server has expanded its memory to 4 GB. The developer modified the SGA result and the database cannot be started.
When the startup fails, the following error occurs:
[Oracle @ neirong oracle] $ sqlplus "/as sysdba"
SQL * Plus: Release 9.2.0.4.0-Production on Fri Nov 25 15:43:26 2005
Copyright (c) 1982,200 2, Oracle Corporation. All rights reserved.
Connected to an idle instance.
SQL> startup
ORA-27123: unable to attach to shared memory segment
Linux Error: 22: Invalid argument
Additional information: 1
Additional information: 458753
SQL> exit
Disconnected
On a 32-bit platform, the default SGA can only be expanded to 1.7 GB. To support larger memory, you need to reduce mapped_base and re-Link the Oracle software.
Our platform is:
[Oracle @ neirong bdump] $ cat/etc/RedHat-release
Red Hat Enterprise Linux AS release 3 (Taroon Update 2)
The procedure is as follows:
Cd $ ORACLE_HOME/rdbms/lib
Cp ksms. s ksms. s. bak (if u have a ksms. s file)
Genksms-s 0x12000000> ksms. s
Make-f ins_rdbms.mk ksms. o
Make-f ins_rdbms.mk ioracle
Back up the ksms. s file first. If an error occurs during compilation, ensure that the operation can be restored:
The recovery steps are as follows:
Cd $ ORACLE_HOME/rdbms/lib
Cp ksms. s. bak ksms. s (if u have backup ksms. s file)
Genksms> ksms. s
Make-f ins_rdbms.mk ksms. o
Make-f ins_rdbms.mk ioracle