Search code examples
oracle-databasememorysolarisswap

Oracle DB on solaris utilizing swap memory when free RAM available


We have a weird instance where we noticed our oracle database server swap utilization was 100% and surprised to see that the system had free memory available during that period. To my knowledge, swap memory utilization starts once system runs out of free RAM (please correct me if i'm wrong). Not sure what could have caused this unusual activity. Had anyone else experienced such behaviour?

Regs,


Solution

  • If you are using solaris 10 or later, system parameters are not in /etc/system anymore. Instead, you configure dynamically managed resources through "projects" at the zone, task or user level.

    Here is for instance one of these project config files in one of our zones.

    system:0::::
    user.root:1::::
    noproject:2::::
    default:3::::
    group.staff:10::::
    user.oracle:100:Oracle:::process.max-sem-nsems=(privileged,256,deny);project.ma-shm-ids=(privileged,256,deny);project.max-shm-memory=(privileged,42949672960,dny)
    

    The settings here mean that a user of username oracle will benefit of a specific resource setting.

    To set add such a line to the project file you use the projadd command. To modify it the projmod command and if you want to list all the resources currently available to oracle you would

    1. su to oracle
    2. type:

      prctl -i project user.oracle

    This will list all resources available to that 'project'.