본문 바로가기
출근해서..

windows 32bit OS 에서 tns-12502 해결하기

by 해슬기 2012. 4. 25.

지난주 목요일 그룹웨어 서버 OS 가 커널이 손상되는 바람에

OS 재설치 Oracle DB 복구 재설치, 그룹웨어 재설치 하느라 힘꽤나 뺐다

허나 제대로 서비스가 되지 않아 목요일부터 월요일까지 전쟁을 치뤘다

 

실컨 혼나고 정신차리니

아 이걸로 않되겠다 결론 내렸다

다시 돈 더들여서 안정된 제품으로 바꾸자..

 

이 와중에 윈도우 32bit OS 에서 메모리 문제가 불거져서 서비스가 어려웠던 이유가 가장 컸다

32bit 에서는 커널 2GB, Application Program 2GB 로 제한되어 메모리를 사용한다

아무리 Physical Memory 가 많아도 이 범주를 벗어나지 못한다

하여 몇가지 키값을 사용하여 부팅할때 메모리를 운용한다

 

[boot loader]
timeout=30
default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Windows Server 2003, Enterprise" /noexecute=optout /fastdetect /3GB /USERVA=2900

 

이와 같이 boot.ini 에 마지막 두가지 옵션을 추가해서 처리했다

 

/pae -- 4gb 이상 메모리를 운용할때 사용-nomal 하게 대용량 메모리 allocation 시 필요

/3gb -- application program(oracle포함)의 메모리 영역을 3gb 까지 늘린다

/userva=xxxx -- /3gb 키값을 사용하면 커널메모리가 1gb 만 남으므로 리스너 접속시 에러 (tns-12502, 12508) 발생하여 세션이 증가하면 디비에 접속이 않되고 i/o 가 발생되지 않는다

따라서 2700 ~ 3030 사이의 값을 사용한다, 값이 작을수록 커널 영역을 증가시킨다. 2900 을 사용하니 커널이 150000kb 정도로 500mb 늘어났다

 , SGA 800mb 크게해도 디비 시작에 문제 없다

 

oracle의 init.ora 에서

 

sga_max_size = 1600m  에서 2400m

db_cache_size = 900m 에서 1300m 로 늘려서 모든 문제를 해결했다

 

 

'출근해서..' 카테고리의 다른 글

임원되다  (0) 2012.10.29
RFID 계약  (0) 2012.05.04
봄비가 제법 내린다  (0) 2012.04.10
내 탓이로소이다  (0) 2012.03.21
RFID 구축사업계획서 제출  (0) 2012.02.24