2008-12-22 4 views
3

Oracle을 실행중인 서버에서 메모리 부족 오류가 발생합니다. oracle에서 사용할 전역 메모리 리소스를 제한 할 수있는 사람은 누구입니까?Oracle 10g 데이터베이스의 전역 메모리 리소스를 제한하는 방법

는 SGA_TARGET_MAX = 500M 150의 세션/프로세스 한계, 그러나 우리의 최대 동시 세션은 50

+0

안녕하세요, 여기에 대한 대답은 아무리해도 제한을 실제로 수행하는 방법에 대해 자세히 설명하지 않았습니다. 어디에서 SGA_TARGET_MAX를 넣을 것입니까? 나는 오라클의 3 인스턴스가 실제로 사용되지는 않았지만 메모리를 차지하고있는 빌드 서버에서 실행 중입니다. 이것은 인스턴스 시작 시간인가, 즉석에서 변경할 수있는 것입니까? 답변을 게시 할 수 있습니까? –

답변

0

시도가

4

당신은 말을하지 않는 SESSIONS_PER_USER 제한 프로파일을 사용하여 설정 이상에 도달하지 않은 내가있다 머신이 실제로 가지고있는 메모리 양 (그리고 모든 인스턴스가 Oracle 인스턴스에서 사용 가능한지 여부). Oracle에서 사용하는 두 가지 유형의 메모리가 있습니다. 첫 번째는 공유 메모리 (SGA)이고 두 번째는 프로세스 메모리 (PGA)입니다. SGA는 일반적으로 제어하기 쉽습니다.

SQL * Plus에서 SHOW SGA를 시도하십시오. 목표와 일치하는지 확인하십시오. 또한 SHOW PARAMETER PGA 을 시도한 다음 v $ process를 쿼리하고 프로세스의 총 PGA를 대상과 비교합니다. PGA_AGGREGATE_TARGET/SGA_MAX_SIZE 총계를 너무 높게 설정했을 수 있습니다. 또는 오라클은 PGA 메모리를 대상에 유지할 수 없습니다 (예 : PL/SQL 배열에 많은 정보를 저장하는 세션으로 인해).

+0

이것은 목표 값이 너무 높다는 것을 보여주는 데 유용하지만 변경 방법에 대해 자세히 설명 할 수 있습니까? –

관련 문제