Author Topic: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB  (Read 9800 times)

0 Members and 1 Guest are viewing this topic.

Offline Stephen Keogh

  • Jr. Member
  • **
  • Posts: 5
  • Karma: 0
  • I've just joined!
    • View Profile
    • Awards
Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« on: March 18, 2010, 01:16:00 pm »
Hi Guys,

Any feedback on this is welcome ..

Problem Description: Recently installed RAC 10.2.0.4 installation on Linux system - Linux 2.6.9-67.ELsmp #1 SMP Wed Nov 7 13:56:44 EST 2007 x86_64 x86_64 x
86_64 GNU/Linux
Database/Instances start ok at SGA_MAX_SIZE <= 3.7GB. Got to 4GB out of memory error.(ORA-27102)
Appears to be adhering to the rules of a Linux 32bit installation instead of 64bit installation.

ukapx100_$ cat /proc/meminfo
MemTotal:     32908464 kB
MemFree:      29858660 kB

Thank you

Steve

Offline Mad Penguin

  • Administrator
  • Hero Member
  • *****
  • Posts: 1420
  • Karma: 10018
  • Gender: Male
    • View Profile
    • Linux in the UK
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #1 on: March 18, 2010, 02:09:13 pm »
Yeah, bummer. Seen that, been bitten!   ;)

If you have a 64-bit distro, it beggars belief that it might not have the >4G kernel option enabled, but you could try an Ubuntu live CD just to be on the safe side. My previous experience of this issue came down to the BIOS.

From memory (!) you will have a BIOS option that related to "memory holes" (unless there is something 'more' obvious relating to memory mapping) , whatever it's set to, reverse it and then have a crack.

fyi; again this is from memory, you should be able to get up to 64G on a 32bit system, provided the correct setting it enabled in the kernel. On 32 bit systems I think it's disabled by default because of the overheads it introduces. (in terms of memory usage and processor cycles)

Offline Mark Greaves (PCNetSpec)

  • Administrator
  • Hero Member
  • *****
  • Posts: 18268
  • Karma: 477
  • Gender: Male
  • "-rw-rw-rw-" .. The Number Of The Beast
    • View Profile
    • PCNetSpec
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #2 on: March 18, 2010, 04:02:42 pm »
If the BIOS is recognising all of your memory, and you're using grub legacy, check your /boot/grub/menu.lst  for a line with something like 'mem=4G'... The line 'should' appear only once... Remove the '4G' so it reads 'mem=' then update grub:
Code: [Select]
sudo update-grub
and reboot

If you're using Grub2...You're probably as 'lost' as I am  ;)
« Last Edit: March 19, 2010, 02:16:29 am by Mark Greaves (PCNetSpec) »
WARNING: You are logged into reality as 'root'
logging in as 'insane' is the only safe option.
pcnetspec.co.uk

Offline Mad Penguin

  • Administrator
  • Hero Member
  • *****
  • Posts: 1420
  • Karma: 10018
  • Gender: Male
    • View Profile
    • Linux in the UK
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #3 on: March 18, 2010, 04:51:18 pm »
Mmm, Ubuntu 64-bit has this enabled by default .. I would sort of assume any sensible 64 version of Linux would do the same .. but you would definitely need this for many (most) 32 bit distro's running on a machine with > 4G RAM. (I'm still betting it's the BIOS setting .. ;-) )

Offline Mark Greaves (PCNetSpec)

  • Administrator
  • Hero Member
  • *****
  • Posts: 18268
  • Karma: 477
  • Gender: Male
  • "-rw-rw-rw-" .. The Number Of The Beast
    • View Profile
    • PCNetSpec
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #4 on: March 18, 2010, 04:57:26 pm »
I'm with you... Probably the BIOS, I just read a few people had found this line 'unexpectedly' in menu.lst in 64bit Linux, so thought it wouldn't hurt to check.
WARNING: You are logged into reality as 'root'
logging in as 'insane' is the only safe option.
pcnetspec.co.uk

Offline Stephen Keogh

  • Jr. Member
  • **
  • Posts: 5
  • Karma: 0
  • I've just joined!
    • View Profile
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #5 on: March 25, 2010, 10:00:19 am »
Semaphore and Shared Memory
======================
ukapx100_$ su - root
Password:
[root@ukapx100 ~]# /sbin/sysctl -a | grep sem
kernel.sem = 250 32000 100 128
[root@ukapx100 ~]# /sbin/sysctl -a | grep shm
vm.hugetlb_shm_group = 0
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.shmmax = 1073741824 ===> See Metalink 567506.1
[root@ukapx100 ~]#

Attempt to start Idle Instance local SQLPlus
================================
ukapx100_$ echo $ORACLE_HOME
/u001/app/oracle/product/10.2.0/db_1
ukapx100_$ which sqlplus
/u001/app/oracle/product/10.2.0/db_1/bin/sqlplus
ukapx100_$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Wed Mar 24 19:46:00 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> startup
ORA-27102: out of memory
Linux-x86_64 Error: 12: Cannot allocate memory
Additional information: 1
Additional information: 4096006
SQL> exit
Disconnected

Attempt to start idle Instance using srvctl
===========================
ukapx100_$ srvctl start database -d Q0094X
ukapx100_$ srvctl status instance -d Q0094X -i Q0094X1
Instance Q0094X1 is running on node ukapx100
ukapx100_$

ukapx100_$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Wed Mar 24 19:49:18 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> exit

sqlplus "sys/xxxxxxxx@Q0094X1 as sysdba"

SQL> show parameter sga

NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
lock_sga boolean FALSE
pre_page_sga boolean FALSE
sga_max_size big integer 4G
sga_target big integer 4G
SQL>

Offline Stephen Keogh

  • Jr. Member
  • **
  • Posts: 5
  • Karma: 0
  • I've just joined!
    • View Profile
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #6 on: March 25, 2010, 10:05:22 am »
Thanks for the feedback ...

[root@ukapx100 ~]# cat /boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE:  You have a /boot partition.  This means that
#          all kernel and initrd paths are relative to /boot/, eg.
#          root (hd0,0)
#          kernel /vmlinuz-version ro root=/dev/vg00/rootlv
#          initrd /initrd-version.img
#boot=/dev/sda
default=1
timeout=30
splashimage=(hd0,0)/grub/splash.xpm.gz
title /boot/vmlinuz-2.6.9-67.ELsmp (SINGLE USER)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-67.ELsmp ro root=/dev/vg00/rootlv rhgb quiet single
        initrd /initrd-2.6.9-67.ELsmp.img
title Red Hat Enterprise Linux AS (2.6.9-67.ELsmp)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-67.ELsmp ro root=/dev/vg00/rootlv rhgb quiet
        initrd /initrd-2.6.9-67.ELsmp.img
title Red Hat Enterprise Linux AS-up (2.6.9-67.EL)
        root (hd0,0)
        kernel /vmlinuz-2.6.9-67.EL ro root=/dev/vg00/rootlv rhgb quiet
        initrd /initrd-2.6.9-67.EL.img
[root@ukapx100 ~]#

Offline Mad Penguin

  • Administrator
  • Hero Member
  • *****
  • Posts: 1420
  • Karma: 10018
  • Gender: Male
    • View Profile
    • Linux in the UK
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #7 on: March 25, 2010, 01:21:39 pm »
Hi,

Have you read this all the way through?

http://www.puschitz.com/TuningLinuxForOracle.shtml

Reasons to use MySQL (!)

Offline Stephen Keogh

  • Jr. Member
  • **
  • Posts: 5
  • Karma: 0
  • I've just joined!
    • View Profile
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #8 on: March 26, 2010, 12:13:55 pm »
Thanks for the feedback ...

HugePages allocated
=============
ukapx100_$ ulimit -l
unlimited
ukapx100_$ grep Hugepagesize /proc/meminfo
Hugepagesize: 2048 kB
ukapx100_$ cat /etc/sysctl.conf | grep vm.nr_hugepages
vm.nr_hugepages=2054
ukapx100_$ grep Huge /proc/meminfo
HugePages_Total: 2054
HugePages_Free: 5
Hugepagesize: 2048 kB

Shared Memory Segments
==================
ukapx100_$ ipcs -m

------ Shared Memory Segments --------
key shmid owner perms bytes nattch status
0x55008f12 0 root 644 120064 1 locked
0x00000000 491522 oracle 600 16777216 28
0x00000000 524291 oracle 600 1073741824 28
0x00000000 557060 oracle 600 1073741824 28
0x00000000 589829 oracle 600 1073741824 28
0xb60b48e0 622598 oracle 600 1059061760 28


Attempt to connect to 4GB SGA using local SQLPlus = Fail
===================================
ukapx100_$ echo $ORACLE_SID
Q0094X1
ukapx100_$ echo $ORACLE_HOME
/u001/app/oracle/product/10.2.0/db_1
ukapx100_$ sqlplus "/ as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Mar 26 11:54:38 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.

Connected to an idle instance.

SQL> exit

Attempt to connect to SGA=4GB with SQLPlus using TNS = Success
===============================
ukapx100_$ sqlplus "sys/EWWq2XHF@Q0094X1 as sysdba"

SQL*Plus: Release 10.2.0.4.0 - Production on Fri Mar 26 11:55:35 2010

Copyright (c) 1982, 2007, Oracle. All Rights Reserved.


Connected to:
Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, Real Application Clusters and Real Application Testing options

SQL> select instance_name, instance_role
2 from v$instance;

INSTANCE_NAME INSTANCE_ROLE
---------------- ------------------
Q0094X1 PRIMARY_INSTANCE

SQL> show sga

Total System Global Area 4294967296 bytes
Fixed Size 2089472 bytes
Variable Size 788532736 bytes
Database Buffers 3489660928 bytes
Redo Buffers 14684160 bytes
SQL>

Offline Mad Penguin

  • Administrator
  • Hero Member
  • *****
  • Posts: 1420
  • Karma: 10018
  • Gender: Male
    • View Profile
    • Linux in the UK
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #9 on: March 26, 2010, 02:51:31 pm »
Ok, can we get output for;

Code: [Select]
cat /proc/version
cat /proc/cpuinfo
free
file /bin/bash
uname -m

Offline Stephen Keogh

  • Jr. Member
  • **
  • Posts: 5
  • Karma: 0
  • I've just joined!
    • View Profile
    • Awards
Re: Linux x86_64 - Oracle 64 bit - Will not start using > 3.7 GB
« Reply #10 on: March 26, 2010, 04:14:08 pm »
So ... I *cannot* start or connect using local SQLPlus (Bequeath adapter) but I *can* start and connect using TNS SQLNet (TCP-IP) .. when the Oracle SGA memory = 4Gb ... is there a Bequeath network limit that I am missing ?

Thanks

Steve

 


SimplePortal 2.3.3 © 2008-2010, SimplePortal