커널 2.6 과 오라클 9! r2
글쓴이: slipkn0t / 작성시간: 목, 2004/02/05 - 2:03오후
2.4대의 커널에서 오라클을 사용하다가 커널을 2.6으로 올린후 오라클 데이터베이스가 스타트에 실패합니다.
리스너는 정상적으로 올라옵니다.
디비스타트하면 셰어드 메모리관련 오류와 함께 실패합니다.
2.6에서 오라클 운영시 2.4대의 커널과 다른 부분이 있나요?
배포판 : 페도라 core 1
오라클 91 r2
오라클 설치는 otn에 있는 오레일리에서 작성한 문서를 참고했습니다.
Forums:
전 잘됩니다. 그리고 인터넷으로 찾아봐도 2.6 에서 문제가 생겼다는건
전 잘됩니다. 그리고 인터넷으로 찾아봐도 2.6 에서 문제가 생겼다는건
찾아 보기가 쉽지 않던데 한번 다른 원인이 있지는 않나 먼저
살펴보시는것이...
별 도움이 못 되서 죄송하군요 ...;
- advanced -
shared memory 가 모자라서 그렇습니다.
늘여주세요.
커널 소스를 직접 수정하셔도 되고...
/proc 밑에서 수정하셔도 되고...
자세한 방법은 직접 찾아보시고... -_-;;
Re: 커널 2.6 과 오라클 9! r2
혹시 공유 메모리나 다른것들 원래 수정 해서 사용하셨는지요.??;;
아래의 값들을 /etc/sysctl.conf 에 넣고 리부팅후 다시 오라클을 스타스 해 보세요..
아래 값들의 자세한 설명은 오라클 인스톨 문서를 참조 하세요.
여전히 실패 ㅡ.ㅡ;
답변 주신 분들 감사합니다. 아직 해결은 안되었네요 ^^;;
도움을 얻고자 환경을 상세히 알려드립니다.
시스템 하드웨어 : 제론 1.4 듀얼, 메모리 2기가
배포판 : 페도라 core 1 (레드햇 9에서 yum을 통한 업그레이드)
오라클 9i r2
[root@xml root]# uname -a
Linux xml.uos.ac.kr 2.6.1-1.149smp #1 SMP Tue Jan 27 15:44:27 EST 2004 i686 i686 i386 GNU/Linux
우선 /etc/sysctl.conf 내용
===============================================
# Kernel sysctl configuration file for Red Hat Linux
#
# For binary values, 0 is disabled, 1 is enabled. See sysctl(8) and
# sysctl.conf(5) for more details.
# Controls IP packet forwarding
net.ipv4.ip_forward = 0
# Controls source route verification
net.ipv4.conf.default.rp_filter = 1
# Controls the System Request debugging functionality of the kernel
kernel.sysrq = 0
# Controls whether core dumps will append the PID to the core filename.
# Useful for debugging multi-threaded applications.
kernel.core_uses_pid = 1
# For oracle
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.shmall = 2097152
kernel.sem = 250 32000 100 128
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000
===============================================
위와같이 셰어드 메노리및 기타 메모리관련 설정을 했습니다.
콘솔에서 확인해도 정상적으로 셋팅이 되어있습니다. :(
다음은 오라클 스타드 과정...
오라클 유저로...
[oracle@xml oracle]$ sqlplus /nolog
SQL*Plus: Release 9.2.0.1.0 - Production on 목 Feb 5 19:07:12 2004
Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.
SQL> connect / as sysdba
Connected to an idle instance.
이어서 디비 스타트...
SQL> startup
ORA-27123: unable to attach to shared memory segment
Linux Error: 22: Invalid argument
Additional information: 1
Additional information: 163841
여기서 위와 같은 에러를 냅니다. :evil:
/etc/sysctl.conf 에 설정한 변수명칭들이실지 커널에서 인
/etc/sysctl.conf 에 설정한 변수명칭들이
실지 커널에서 인지하는지 확인해보는건 어떨까요?
커널 버전이 달라짐에 따라 간혹 몇몇 변수명칭들이 달라지더군요..
--
이 아이디는 이제 쓰이지 않습니다.
시스템의 메모리 관련....
[slipkn0t@xml slipkn0t]$ uname -a
Linux xml.uos.ac.kr 2.6.1-1.149smp #1 SMP Tue Jan 27 15:44:27 EST 2004 i686 i686 i386 GNU/Linux
[slipkn0t@xml slipkn0t]$ ipcs -lm
------ Shared Memory Limits --------
max number of segments = 4096
max seg size (kbytes) = 2097152
max total shared memory (kbytes) = 8388608
min seg size (bytes) = 1
[slipkn0t@xml slipkn0t]$ ipcs -ls
------ Semaphore Limits --------
max number of arrays = 512
max semaphores per array = 500
max semaphores system wide = 32000
max ops per semop call = 256
semaphore max value = 32767
설정한 값은 제대로 반영된거 같은데요....
구글링해보니 오라클의 버그라는 말도 있고 단순히 셰어드 메모리의 크기만 늘려줘도 된다는 말도있고...
음... 그냥 2.4 커널을 써야할까요?...... 8)
그리고
2.4대에서 정상적인 것이 2.6으로 올리면 문제가 나는거보니 뭔가 2.6에서 바뀐것도 같은데... 이부분에 대해 참고할 만한 자료는 없을까요?
당연한 이야기겠지만...오라클 같은 상용 소프트웨어 (특히 RDBMS
당연한 이야기겠지만...
오라클 같은 상용 소프트웨어 (특히 RDBMS처럼 거대한 것들은) 리눅스 같은 개발 사이클을 따라갈 수가 없습니다.
따라서 새 커널 나왔다고 해서 바로 지원하거나 할 수가 없습니다. 그래서 오라클은 경우 메타링크를 통해서 자사가 인증하는 리눅스 배포판과 버젼을 명시하고 있습니다. 이 인증 리스트에서 조금이라도 맞지 않는 버젼과 배포판을 사용할 경우 어떠한 공식적인 지원이나 대답도 받을 수가 없습니다.
오라클의 리눅스 지원은 커널 버젼이나 glibc 버젼 같은 것들에 의존할 수가 없고... 벤더의 배포판 정책에 따릅니다.
레드햇같은 메이져 벤더가 커널 2.6 기반의 배포판을 내놓으면 오라클은 거기에 맞춰서 자사의 오라클 소프트웨어를 개발합니다.
결론적으로 당장은 커널 2.6에서 오라클이 돌아가느냐 가지 않느냐는 의미가 없습니다. 분명히 오라클은 커널 2.6에 맞춰서 별도의 패치나 릴리스를 내놓지는 않을겁니다. 10g 버젼에 가서나... 리눅스 2.6커널에 기반한 배포판이 나오면 그 때가서야 알 수가 있습니다. NPTL같은 기능도 현재로썬 오라클에서 어찌 지원할지 알 수가 없습니다. 그 기능에 기반한 배포판이 레드햇같은 벤더에 의해서 나오고 검증이 끝나면 그 때서야 오라클은 움직일겁니다.
한마디로 커널 2.4에 9iR2 쓰십시오. 벤더가 인증하지 않는 조합으로 문제 생기면 스스로 책임질 수 밖에는 없습니다. :wink:
Re: 시스템의 메모리 관련....
커널 파라메타를 좀더 크게 설정해 보세요 .. ;
저도 이전 윗글을 올릴때는 오라클이 스타트 되지 않았는데 아래와 같이 다시
더 큰 값으로 설정 하고 나니 스타트 되는 군요.. ;;
더 큰 값으로 설정하고 테스트 해 보세요..
ps. 그나 저나 제온 smp 에서 인터럽트 발런싱은 여전히 안되는 군요..
커널 버전은 2.6.4 입니다.
댓글 달기