커널 2.6 과 오라클 9! r2

slipkn0t의 이미지

2.4대의 커널에서 오라클을 사용하다가 커널을 2.6으로 올린후 오라클 데이터베이스가 스타트에 실패합니다.

리스너는 정상적으로 올라옵니다.

디비스타트하면 셰어드 메모리관련 오류와 함께 실패합니다.

2.6에서 오라클 운영시 2.4대의 커널과 다른 부분이 있나요?

배포판 : 페도라 core 1
오라클 91 r2

오라클 설치는 otn에 있는 오레일리에서 작성한 문서를 참고했습니다.

advanced의 이미지

전 잘됩니다. 그리고 인터넷으로 찾아봐도 2.6 에서 문제가 생겼다는건

찾아 보기가 쉽지 않던데 한번 다른 원인이 있지는 않나 먼저

살펴보시는것이...

별 도움이 못 되서 죄송하군요 ...;

oracle@serv:~$ uname -a
Linux serv.xxx.xxx 2.6.1 #1 Wed Jan 21 00:35:16 KST 2004 i686 unknown
oracle@serv:~$ dbstart
                                                                                
SQL*Plus: Release 9.2.0.1.0 - Production on Thu Feb 5 15:31:58 2004
                                                                                
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
                                                                                
SQL> Connected to an idle instance.
SQL> ORACLE instance started.
                                                                                
Total System Global Area  235999352 bytes
Fixed Size                   450680 bytes
Variable Size             201326592 bytes
Database Buffers           33554432 bytes
Redo Buffers                 667648 bytes
Database mounted.
Database opened.
SQL> Disconnected from Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
                                                                                
Database "free" warm started.
oracle@serv:~$ sqlplus scott/tiger
                                                                                
SQL*Plus: Release 9.2.0.1.0 - Production on Thu Feb 5 15:32:28 2004
                                                                                
Copyright (c) 1982, 2002, Oracle Corporation.  All rights reserved.
                                                                                
                                                                                
Connected to:
Oracle9i Enterprise Edition Release 9.2.0.1.0 - Production
With the Partitioning, OLAP and Oracle Data Mining options
JServer Release 9.2.0.1.0 - Production
                                                                                
SQL> select * from tab;
                                                                                
TNAME                          TABTYPE  CLUSTERID
------------------------------ ------- ----------
BONUS                          TABLE
COURSE                         TABLE
DEPT                           TABLE
EMP                            TABLE
MARKS                          TABLE
SALGRADE                       TABLE
STUDENT                        TABLE
                                                                                
7 rows selected.
                                                                                
SQL>

- advanced -

ryu2811의 이미지

늘여주세요.

커널 소스를 직접 수정하셔도 되고...

/proc 밑에서 수정하셔도 되고...

자세한 방법은 직접 찾아보시고... -_-;;

gbkwon의 이미지

slipkn0t wrote:
2.4대의 커널에서 오라클을 사용하다가 커널을 2.6으로 올린후 오라클 데이터베이스가 스타트에 실패합니다.

리스너는 정상적으로 올라옵니다.

디비스타트하면 셰어드 메모리관련 오류와 함께 실패합니다.

2.6에서 오라클 운영시 2.4대의 커널과 다른 부분이 있나요?

배포판 : 페도라 core 1
오라클 91 r2

오라클 설치는 otn에 있는 오레일리에서 작성한 문서를 참고했습니다.

혹시 공유 메모리나 다른것들 원래 수정 해서 사용하셨는지요.??;;

아래의 값들을 /etc/sysctl.conf 에 넣고 리부팅후 다시 오라클을 스타스 해 보세요..

아래 값들의 자세한 설명은 오라클 인스톨 문서를 참조 하세요.

# 1G
kernel.shmmax = 1073741824
kernel.shmmni = 8192
# SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value
kernel.sem = 500 32000 256 512
slipkn0t의 이미지

답변 주신 분들 감사합니다. 아직 해결은 안되었네요 ^^;;

도움을 얻고자 환경을 상세히 알려드립니다.

시스템 하드웨어 : 제론 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:

bh의 이미지

/etc/sysctl.conf 에 설정한 변수명칭들이
실지 커널에서 인지하는지 확인해보는건 어떨까요?

커널 버전이 달라짐에 따라 간혹 몇몇 변수명칭들이 달라지더군요..

--
이 아이디는 이제 쓰이지 않습니다.

slipkn0t의 이미지

bh wrote:
/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에서 바뀐것도 같은데... 이부분에 대해 참고할 만한 자료는 없을까요?

mania12의 이미지

당연한 이야기겠지만...
오라클 같은 상용 소프트웨어 (특히 RDBMS처럼 거대한 것들은) 리눅스 같은 개발 사이클을 따라갈 수가 없습니다.

따라서 새 커널 나왔다고 해서 바로 지원하거나 할 수가 없습니다. 그래서 오라클은 경우 메타링크를 통해서 자사가 인증하는 리눅스 배포판과 버젼을 명시하고 있습니다. 이 인증 리스트에서 조금이라도 맞지 않는 버젼과 배포판을 사용할 경우 어떠한 공식적인 지원이나 대답도 받을 수가 없습니다.

오라클의 리눅스 지원은 커널 버젼이나 glibc 버젼 같은 것들에 의존할 수가 없고... 벤더의 배포판 정책에 따릅니다.

레드햇같은 메이져 벤더가 커널 2.6 기반의 배포판을 내놓으면 오라클은 거기에 맞춰서 자사의 오라클 소프트웨어를 개발합니다.

결론적으로 당장은 커널 2.6에서 오라클이 돌아가느냐 가지 않느냐는 의미가 없습니다. 분명히 오라클은 커널 2.6에 맞춰서 별도의 패치나 릴리스를 내놓지는 않을겁니다. 10g 버젼에 가서나... 리눅스 2.6커널에 기반한 배포판이 나오면 그 때가서야 알 수가 있습니다. NPTL같은 기능도 현재로썬 오라클에서 어찌 지원할지 알 수가 없습니다. 그 기능에 기반한 배포판이 레드햇같은 벤더에 의해서 나오고 검증이 끝나면 그 때서야 오라클은 움직일겁니다.

한마디로 커널 2.4에 9iR2 쓰십시오. 벤더가 인증하지 않는 조합으로 문제 생기면 스스로 책임질 수 밖에는 없습니다. :wink:

gbkwon의 이미지

커널 파라메타를 좀더 크게 설정해 보세요 .. ;

저도 이전 윗글을 올릴때는 오라클이 스타트 되지 않았는데 아래와 같이 다시

더 큰 값으로 설정 하고 나니 스타트 되는 군요.. ;;

더 큰 값으로 설정하고 테스트 해 보세요..

# 5G
kernel.shmmax = 5368709120
kernel.shmmni = 1048576
# SEMMSL_value SEMMNS_value SEMOPM_value SEMMNI_value
kernel.sem = 5000 320000 2560 5120

ps. 그나 저나 제온 smp 에서 인터럽트 발런싱은 여전히 안되는 군요..

커널 버전은 2.6.4 입니다.

[19:28:39 gbkwon@dblab 1:~]$ uname -a
Linux dblab 2.6.4 #1 SMP Mon Mar 22 14:48:44 KST 2004 i686 Intel(R) Xeon(TM) CPU 2.40GHz GenuineIntel GNU/Linux
[19:28:45 gbkwon@dblab 2:~]$ cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3
  0:   16449301          0          0          0    IO-APIC-edge  timer
  1:          9          0          0          0    IO-APIC-edge  i8042
  2:          0          0          0          0          XT-PIC  cascade
  8:          3          0          0          0    IO-APIC-edge  rtc
  9:          0          0          0          0   IO-APIC-level  acpi
 12:         85          0          0          0    IO-APIC-edge  i8042
 15:         15          0          0          0    IO-APIC-edge  ide1
 28:     341954          0          0          0   IO-APIC-level  eth0
 76:      54108          0          0          0   IO-APIC-level  aic79xx
 77:         30          0          0          0   IO-APIC-level  aic79xx
100:      17582          0          0          0   IO-APIC-level  ide2, ide3
NMI:          0          0          0          0
LOC:   16450314   16450560   16450559   16450558
ERR:          0
MIS:          0
[19:28:49 gbkwon@dblab 3:~]$

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.