으 ~ 정말 좋은 시스템 환경이군요
솔라리스에서 쓰이는 Shared memory 관련 parameter 입니다.
SHMMAX = The maximum size(in bytes) of a single shared memory segment.
SHMMIN = The minimum size(in bytes) of a single shared memory segment.
SHMMNI = The number of shared memory identifiers.
SHMSEG = The maximum number of shared memory segments that can be attached
by a process.
SEMMNS = The number of semaphores in the system.
SEMMNI = The number of semaphore set identifiers in the system; determines
the number of semaphore sets that can be created at any one time.
SEMMSL = The maximum number of sempahores that can be in one semaphore set.
It should be same size as maximum number of Oracle processes
(The PROCESSES parameter in the init.ora file).
그리고 위 값들을 설정하는 곳은
/etc/system 파일을 아래 형식으로 설정하면됩니다.
set shmsys:shminfo_shmmax=8388608
set shmsys:shminfo_shmmin=1
set shmsys:shminfo_shmmni=100
set shmsys:shminfo_shmseg=20
set semsys:seminfo_semmns=200
set semsys:seminfo_semmni=70
보기에서 보면 shared memory 총량은 약 8M
shared 메모리는 통상(최대) physical memory 의 60%-70%정도 잡고
오라클에서는 최대 설정된 shared memory의 50%-60%정도 잡는 걸로 알고 있습니다.
(정확한 수치는 아니므로 정확한 값은 오라클 엔지니어에게 문의)
ipcs 명령어를 사용하여 shared memory 내역을 확인할 수 있습니다.
> Sun Microsystems의 UE-10000장비를 OPS로 구성하여 사용하고 있습니다
> Oracle version은 7.3.4 이고요...
>
> 통계작업을 할때 parallel degree를 20정도(cpu 갯수는 각각 40)
> 줘서 작업을 하는데 Shared Memory를 할당할 수 없다는 오류를 뿌리고 이
> 어서 ORA-12801 을 날리는 군요.
> 오라클에서 Shared Memory를 효율적으로 운영할 수 있는 방법이나 O/S상에
> 서 지원되는 Shared Memory 운영관련 Tip을 알려주세요.
> 고맙습니다.
|