database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
ㆍOracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
Oracle Q&A 2948 게시물 읽기
No. 2948
Re: 오라클 설치시 리눅스 커널의 설정
작성자
정재익
작성일
2001-02-12 01:50
조회수
3,315

장문의 글 잘 읽었습니다. 나름대로 좋은 정보도 포함하고 있군요. 사실 메모리 튜닝에 관해서는 많은 고민을 해 봐야 하는 문제입니다. 개인적인 생각으로는 곧 2.4.x stable 버전이 나올것이니 아마도 오라클도 그기에 맞추어서 한번더 컴파일되어 출시 될 것으로 판단됩니다. 좀더 나은 환경을 제공하지 않을까 생각중입니다.

 

sem.h 를 수정하고 나면 커널에 그냥 반영시킬 방법은 없습니다. 반드시 커널을 재 컴파일한 후에 rebooting 을 해 주는 수 밖에 없습니다. 커널 컴파일 방법은 이곳에서 모두 설명드리기에는 무리일 것 같고, http://kldp.org 에 가시면 좋은 문서들이 많이 있습니다. 이곳을 참고로 하시기 바랍니다.

 

>>조창훈 님께서 쓰시길<<

 

:: 안녕하세요.

:: 저는 서울교육방송에 근무하고 있는 조창훈이라는 사람입니다.

:: 다름이 아니고 이번에 오라클을 ML360서버(memory 2G, hard 18G, cpu xeon two processor)에 깔았습니

:: 다.(웹서버와 오라클서버는 따로입니다.)

:: 시스템은 레드헷 6.2 배포판(커널 2.2.14)입니다.

:: 근데 문제는 오라클은 문제없이 깔고 서버도 별이상없이 돌아가는데 사용자수가 갑자기 늘어나게 되면

:: 서버가 갑자기 느려지는겁니다.

:: 그래서 init[sid].ora파일에서 shared_pool_size를 좀더 많이 잡아주었습니다.

:: 그리고 나서 오라클 startup을 하니 다음과 같은 에러가 뜨는겁니다.

:: SVRMGR> startup;

:: ORA-27123: unable to attach to shared memory segment

:: Linux Error: 22: :N@{@}GQ @N<v

:: 곰곰히 생각해 보니 오라클을 설치할때 리눅스커널에서 IPC파라미터를 적절하게 설정하지 않고 디폴트

:: 로 깔아서 공유메모리가 부족해서 그런것이 아닌가하는 생각이 들었습니다.

::

::

:: 잠깐 문서의 한부분을 보여드리면,

:: "다음의 위치에 존재하는 커널 매개변수를 설정

:: /usr/src/linux/include/asm/shmparam.h

:: /usr/src/linux/include/linux/sem.h

:: # 공유메모리 세그먼트의 최대크기(SHMMAX)

:: # 공유메모리 세그먼트의 최소크기(SHMMIN)

:: # 시스템 내 공유 메모리 세그먼트들의 최대개수(SHMMNI)

:: # 사용자 프로세스 하나가 사용할수 있는 공유메모리 세스먼트의 최대개수(SHMSEG)

:: # 한개의 세마포어 세트에 존재할수 있는 세마포어의 최대개수(SHMMSL)

:: # 시스템 전체에서 할당할 수 있는 공유메모리 세그먼트의 최대 개수(SHMMNS)

:: # 한번의 semop call당 처리작업의 최대 회수(SEMOPM)

:: # 세마포어의 최대값(SEMVMX)

:: 허용 가능한 전체메모리의 크기는 다음과 같이 얻어진다.

:: SHMMAX * SHMSEG

:: 다음 표의 내용은 디폴트 initsid.ora 파일에 기반한 인스턴스 하나를 위한 권장 값이다. 만약 하나

:: 이상의 인스턴스를 인스톨 한다거나 initsid.ora 파일을 수정한다면 이 파라미터들을 변경해야 한다.

::

:: 파라미터 권장값 설명

:: SHMMAX 4294967295 한 개의 공유 메모리 세그먼트의 최대 크기 (바이트 단위로서, 4GB를 의미한다)

:: SHMMIN 1 한 개의 공유 메모리 세그먼트 최소 크기(바이트 단위)

:: SHMMNI 100 공유 메모리 식별자의 개수

:: SHMSEG 10 한 개의 프로세스에 연결될 수 있는 공유 메모리 세그먼트의 최대값

:: SEMMNS 200 시스템 내 세마포어의 개수

:: SEMMNI 100 시스템 내 세마포어 셋 식별자의 개수. SEMMNI는 어느 한 순간에 동시 사용될 수 있는 세

:: 마포어의 개수를 결정한다.

:: SEMMSL PROCESSES+10. 한 개의 세마포어 세트에 존재할 수 있는 세마포어의 최대 개수. initsid.ora

:: 의 PROCESSES+10으로 설정한다. 릴리스 8.1.5의 PROCESSES의 디폴트값은 50이다.

:: SEMOPM 100 한번의 semop call당 처리작업의 최대 회수

:: SEMVMX 32767 세마포어의 최대값

:: 이러한 내용들을 커널에 반영시키기 위해서는 소스 패키지의 내용을 고친 후에 커널을 컴파일 해야 한

:: 다. 이 같은 작업에 대해서는 여기에서 자세히 설명할 수 없으므로, Linux 운영체계와 관련된 서적이나

:: 문서를 참조하기 바란다.

:: 앞으로 진행하게 될 오라클 8i 서버 설치의 경우 개인적으로 사용할 데이터 베이스를 생성하게 될 것

:: 이며, 이를 위해서 SHMMAX를 4GB까지 잡을 필요는 없다. 참고로 RedHat의 기본 설정값은 16MB이다. 차

:: 후 규모있는 데이터베이스 운영을 하고자 하는 경우에는 규모에 따라 반드시 반영을 하도록 한다. 그리

:: 고 현재 사용중인 파라미터 값이 위의 표에서 제시한 값보다 큰 경우에는 그 값을 그대로 사용하는 것

:: 이 좋다. 위에서 제시한 값은 오라클 8i를 위해서 필요한 최소한의 필요값이므로 다른 애플리케이션을

:: 함게 사용한다면 더 큰 값이 필요할 수도 있다."

:: 이렇게 나와 있습니다.

:: 따라서 저도 "/usr/src/linux/include/asm/shmparam.h"과 "/usr/src/linux/include/linux/sem.h" 파일

:: 을 위의 설명대로 고칠려고 했더니 커널컴파일을 해야 된다고 나와 있더군요..

:: 즉, 이두개의 파일을 수정하는데 커널에 반영시키는 방법을 몰라서 이렇게 글을 쓰게 된겁니다. 커널

:: 을 업그레이드 하는것은 알겠는데 커널은 바꾸지 않고 단지 변경사항만 반영을 시킬려면 어떻게 해야

:: 하는지 좀 가르쳐 주셨으면 합니다. (제생각은 이게 C언어니까 그냥 컴파일처리만 하면 되는건지?)

:: 제가 너무 아는게 없어서 그러니 양해바라며 꼭좀 답변부탁드립니다.

:: 그럼이만..

::

[Top]
No.
제목
작성자
작성일
조회
2952proc*c 테스트 컴파일시에 에러...좀 고쳐 주세요...고수님..
이청열
2001-02-12
3252
2953┕>[추가] 몇개 수정했지만 안되여...=_-;;
이청열
2001-02-12 03:30:02
3092
2957 ┕>Re: [추가] 몇개 수정했지만 안되여...=_-;;
소몰이
2001-02-12 11:53:07
4099
2950다른곳에 설치를..
chobo oracle
2001-02-12
2263
2967┕>Re: 다른곳에 설치를..
정재익
2001-02-12 15:16:33
2238
2988┕>Re: 다른곳에 설치를..
우성곤
2001-02-13 12:32:49
2508
2946MSSQL과 연동시에도 proC를 사용하나요?
전병제
2001-02-11
2242
2947┕>Re: MSSQL과 연동시에도 proC를 사용하나요?
이기태
2001-02-11 23:35:54
2343
2951 ┕>Re: Re: MSSQL과 연동시에도 proC를 사용하나요?
전병제
2001-02-12 02:27:33
2273
2959  ┕>Re: Re: Re: MSSQL과 연동시에도 proC를 사용하나요?
소몰이
2001-02-12 11:57:40
2275
2964   ┕>Re: Re: Re: Re: MSSQL과 연동시에도 proC를 사용하나요?
전병제
2001-02-12 14:12:09
2367
2973   ┕>Re: Re: Re: Re: MSSQL과 연동시에도 proC를 사용하나요?
이기태
2001-02-12 19:20:10
2709
2945오라클 설치시 리눅스 커널의 설정
조창훈
2001-02-11
3629
2948┕>Re: 오라클 설치시 리눅스 커널의 설정
정재익
2001-02-12 01:50:43
3315
2954 ┕>Re: Re: 오라클 설치시 리눅스 커널의 설정 -&gt; 성공사례는 못찾은듯..
문태준
2001-02-12 09:52:11
3299
2944오라클 8.1.7에서 인터미디어 인덱스 문제.. 해결좀 해주세요..
김원철
2001-02-11
2388
2941NESTED LOOPS 란 무엇인가요?
whatisid
2001-02-10
2135
2949┕>Re: NESTED LOOPS 란 무엇인가요?
정재익
2001-02-12 01:52:29
3046
2940오라클 계정으로 바꾼후 x 윈도우가 안뜹니다.
김재철
2001-02-10
2389
2943┕>Re: 오라클 계정으로 바꾼후 x 윈도우가 안뜹니다.
문태준
2001-02-11 17:12:30
3358
2989┕>Re: 오라클 계정으로 바꾼후 x 윈도우가 안뜹니다.
우성곤
2001-02-13 12:40:13
2215
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다