Touch me!

     
 

Free memory != wasted memory


Some Oracle experts say that paging is normal or even unavoidable in Oracle installation. I'll try to explain why this is not true.

  • Paging increases response time. Average page-in time for single 8Kb page is measured in tenths of a second, and these tenths should be added to response time of your application as many times as many page-in events are occuring during query parsing, execution and results fetching.
  • Paging sometimes dramatically increases response time. If you are using large pages for anything except non-pageable SGA, your memory becomes fragmented and in a case of paging-in of a single large page OS will be relocating small pages to construct a "hole" in a memory large enough to accomodate this large page. Page relocation consumes lot of CPU, requires excessive locking and consumes bus banwidth while moving pages across physical memory. Typical page relocation time vary depending on hardware configuration and memory pressure, but one cad add several seconds to response time of application if you are planning to keep your memory on a disk and relocate 100+ small pages to provide space for one large page being paged-in.
[Read More]

Correct way to configure Solaris 10 kernel parameters resource controls for Oracle installation


Solaris 10 introduces new dynamically changeable project-related resource controls contrary to Solaris 9 (and earlier) static system-wide kernel tunables approach. Thus, installation procedure for any Oracle database version on a machine running Solaris 10 differs from one used with prior Solaris versions. Instead of editing /etc/system file and rebooting to make changes effective, you should create a project, to which Oracle software owning user (usually called 'oracle') will belong. In most cases, it is convenient to have a project called 'user.oracle', which will be automatically assigned to OS user called 'oracle'. Then you should assign the desired resource control values to the project.

Unfortunately, Oracle 10g documentation incorrectly specifies that 'prctl' command should be used for this purpose, while this command does not save changes made to project properties, and after reboot these customisations will be lost. Moreover, for unknown reason Oracle 10g documentation suggests applying changes to project called 'user.root', making these changes unusable at all, as this project controls only processes owned by 'root' OS user. Oracle 11g documentation contains "correct" command to change and save permanently project attributes - 'projmod', but the old section, both with 'prctl' and 'user.root' mistakes, is also present, greatly confusing many DBAs and SysAdmins. Oracle 9i documentation do not cover Solaris 10 installation at all.

[Read More]
 
 
 
 
 

March 2008 »
SunMonTueWedThuFriSat
      
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
27
29
30
31
     
Today
[This is a Roller site]