Q & A

[질문 : 오라클서버의 문제점에 조언 좀 해주세요]

Date2002.02.23 / Hit : 22097
이곳은 오렌지에 대한 Q&A 코너 입니다. 조만간에 warevalley homepage가 바뀌면서 오라클 관련 코너가 생길것이오니 그때 많이 이용해 주세요. 그리고 아마도 www.koug.net 에도 같은 내용이 있던데요.. 아무튼 문의하신것에 대한 저의 의견은 이렇읍니다. 1. 잘 사용하다가 hang이 될경우에는 임의의 resource가 갑자기 부족한 경우입니다. 2. db가 갑자기 죽을 경우에는 우선 alert.log의 error를 파악해 보시고 조치를 취해야 할것입니다. 3. parameter들의 값을 보면 다음과 같이 변경해 보세요. (이는 저의 개인적인 생각입니다) db_block_buffers = 300000 ( 585M) sort_area_size=1048576 (1M) log_buffer=10485760 (10M) log_checkpoint_interval=99999999999 shared_pool_size = 300000000 ( 300M) shared_pool_reserved_size = 60000000 (60M) dml_locks = 10000 ( 이전에는 100000 이었음) enqueue_resource = 8000 ( 이전에는 80000 이었음) 이정도로 고치시면 될듯합니다.. 각각의 고치는 이유는 잘 아실듯 해서 생략하구요. 4. active session이 많아지구 lock이 많이 걸리면 죽는다고 하셨는데, 어떤 lock인지 tx lock인지 internal lock인지 문제가 발생했을때 많은 정보를 획득하셔야 분석을 할 수 있읍니다. waiting 정보( v$session_wait ), lock정보 (v$lock), alert.log 정보, O/S의 상태, system dump(oracle) 등이 필요하구요.. 그래서 분석해 봐야 정확한 원인을 알수 있읍니다. 제가 보기에는 현재 shared_pool_size가 너무 작은 관계로, library cache pin이나 lock등에 의한 hang이 발생했을 듯하군요(추측임) 우선 한번 위의 parameter를 고치시고 해보시기 바랍니다. 그리고 제가 자주 koug에 가보니, 오라클 문의는 그쪽에서.. 향후 warevalley homepage에 오라클 관련 게시판이 생기면 그때 많이 이용하세요. ^^;

---------- Original Message ----------
이름 : 이재관 제목 : [질문 : 오라클서버의 문제점에 조언 좀 해주세요] 먼저 제가 관리하는 오라클에 문제점이 있어 몇가지 여쭈어 서버사양으로는 모델명 : Compaq PLT7000 CPU : Pxeon 500*4, MEM : 4 Gbyte OS : Win 2000 Server HDD : RAID 5 구성 DB : ORACLE8i( v8.1.7.1.5) 현 오라클의 상태 : 현재 튜닝상태는 좋은것같구요 (튜닝팩하고 sql문으로 조회를 해보면 좋게 나와요) 일주일에 한 두번 정도 갑자기 부하가 걸려 client 접속 문제 하고 오라클이 죽는 현상이 일어남 주로사용하는 유저는 call center하고 각 대리점( 서비스업체 입니다) 1. cpu사용량이 많아지고 세션의 active 상태( v$session의 status=active )인것이 많아 졌을때 오라클이 죽어버리는 경우가 발생 세션이 많이 붙어 메모리상에 문제인지 어떤문제인지 확실히 모르겠습니다.? 원도우의 작업관리자 : 커널 시간표시(빨간색) 70%이상 부하가 가고 전체 cpu 사용량은 90% 이상갈때 Client가 서버에 접속시 Dedicate server 방식을 쓰는데 보통 850세션이 붙습니다. v$session에서 status가 15개 이상있고 갑자기 수십개가 발생하여 query(SQLPlus상, 서버에서도)를 날리면 hang이 걸린것 처럼 한참 있어야 응답이 옴. 2. 오라클에 메모리 할당을 많이주는 방안은 없는지요. (밑의 방법으로 쓸려면 어떻게 해야 하는지요) 작업관리자에서 oracle.exe가 650~ 750 MByte를 쓰고있다. 내용마다 점선 아래는 인터넷에서 읽은내용임 [Tip] 윈도우용 오라클에서 memory 효율적인 사용방법 오라클이 의외로 많은 자원(memory)을 사용하죠. 그래서 dedicate server인 경우에는 메모리가 많이 필요하죠. 그래서 메모리 사용에 대한 튜닝이 약간은 필요한데 그중에서 한가지 오라클은 한사람이 접속을 하게 되면 1개의 process를 줍니다. 윈도우의 경우 그 process에서 1MB짜리 thread를 만들어 냅니다. 그런데 실제로 사용하는 메모리는 300K뿐입니다. 그러므로 700K는?? 놉니다. 그래서 실제 자원을 할당할때 아예 1MB가 아니라 500K정도만 주게 하면 1000명이 동시에 접속하게 되면 500MB만 필요하게 되죠. orastack 명령을 이용하여 1M를 500K로 바꿀수 있는데요 명령문은 orastack oracle.exe 500000 이런식으로 하면 됩니다. ( 중요한건 300K 아래로는 하지 않는게 좋습니다. ) 메모리가 모잘라서 ora-12514 같은 error 나시는 분들 한번 시도해 보는게 -------------------------------------------------- =============> ora-12514 에러는 나지 않은데 이방법을 해도 될까요? ===================================
  • 대표전화
    1660-1675

  • 기술 문의
    02-6931-1734

  • 오렌지 문의
    070-8666-8175

  • 라이선스 문의
    02-6931-1728