Twitter Updates

    follow me on Twitter

    G-AVLN in front of her home

    G-AVLN in front of her home

    Mostly Unix and Linux topics. But flying might get a mention too.

    Tuesday, November 07, 2006

    Adjusting the kernel for Oracle

    In the golden old days, when installing Oracle on UNIX, a laborious kernel recompilation process was often needed, to adjust required memory parameters.

    On Linux, the process is much simpler, as most of the significant parameters may be changed 'on the fly', effortlessly, and without as much as a reboot, let alone kernel compilation.

    All current kernel parameters may be found in /proc/sys/kernel location. Explore it, to see that each parameter has its own file, with either a Boolean Yes/No (or 1/0) or a string value.

    The set of parameters required for Oracle10g (only part of the list is quoted here) says:

    shmmax  = 2147483648
    shmmni = 4096
    shmall = 2097152

    shmmin = 1
    shmseg = 10

    There are different ways of implementing it: first of all, you can get the values directly into the memory constructs, for example:

    # echo 2147483648 > /proc/sys/kernel/shmmax

    This will adjust the value correctly, with the slight drawback - the value will return to whatever the default was after the next reboot.

    Alternatively, for a more permanent modification, you can place the required definitions in the kernel configuration file: /etc/sysctl.conf.

    kernel.shmmax=2147483648
    kernel.smni=4096
    kernel.shmall=2097152
    kernel.shmin=1
    kernel.shmseg=10
    and inform the kernel of the changes with:

    # sysctl -p

    command, which will read the values from the sysctl.conf file and place them in the
    appropriate files under /proc/sys/kernel.
    Any subsequent reboots will also make use of these values.
     

    No comments:

    Blog Archive