sga는 ORACLE이 인스턴스에 할당한 공유 버퍼 저장 영역 집합인 "시스템 전역 영역"을 의미하며 데이터베이스 데이터의 관리 및 운영을 달성하기 위해 데이터베이스 데이터 및 제어 정보를 저장하는 데 사용됩니다. SGA는 주로 공유 풀, 데이터 버퍼, 리두 로그 버퍼로 구성되며, 데이터 버퍼는 데이터 파일에서 최근 읽고 쓴 데이터를 저장하는 데 사용됩니다.
이 튜토리얼의 운영 환경: Windows 7 시스템, Oracle 11g 버전, Dell G3 컴퓨터.
메모리 구조는 Oracle 데이터베이스의 가장 중요한 구성 요소 중 하나입니다. 데이터베이스 작업은 데이터베이스 성능에 영향을 미치는 중요한 요소인 메모리에 의존합니다.
다음은 메모리 구조의 일부 SGA를 소개합니다.
Oracle sga 소개
sga의 전체 이름은 "System Global Area"이며, 중국어로 "시스템 전역 영역"을 의미합니다. ORACLE이 인스턴스용으로 할당한 공유 버퍼 저장 영역 집합으로 주로 저장에 사용됩니다. 데이터베이스 데이터 및 제어 정보, 이 정보는 데이터베이스 데이터의 관리 및 운영을 달성하기 위해 데이터베이스 프로세스(PGA는 공유할 수 없음)에 의해 공유됩니다.
오라클 서버의 데이터와 제어 정보가 담겨있습니다. 오라클 서버가 상주하는 컴퓨터의 실제 메모리에 할당됩니다. 실제 메모리가 부족할 경우 가상 메모리에 기록됩니다.
SGA는 모든 서비스와 백그라운드 프로세스에서 공유하는 공유 메모리 구조 집합입니다. 데이터베이스 인스턴스가 시작되면 시스템 전역 영역 메모리가 자동으로 할당됩니다. 데이터베이스 인스턴스가 종료되면 SGA 메모리가 회수됩니다. SGA는 가장 많은 메모리를 차지하는 영역이자 데이터베이스 성능에 영향을 미치는 중요한 요소이다.
SGA 영역 상황 쿼리:
SQL> show SGA Total System Global Area 3290345472 bytes Fixed Size 2217832 bytes Variable Size 1795164312 bytes Database Buffers 1476395008 bytes Redo Buffers 16568320 bytes SQL> select * from v$sga; NAME VALUE -------------------- ---------- Fixed Size 2217832 Variable Size 1795164312 Database Buffers 1476395008 Redo Buffers 16568320
Fixed Size는 SGA의 각 구성 요소에 대한 정보를 저장하는 고정 영역을 나타냅니다. 크기는 수정할 수 없습니다.
가변 크기는 공유 풀, 자바 풀, 대형 풀 등과 같은 가변 영역을 나타냅니다.
데이터베이스 버퍼는 데이터베이스 캐시 버퍼를 나타냅니다.
Redo 버퍼는 로그 버퍼를 나타냅니다.
SGA는 주로 다음을 포함합니다.
시스템 전역 도메인 SGA는 주로 공유 풀, 데이터 버퍼 및 로그 버퍼의 세 부분으로 구성됩니다.
1. 공유 풀(shared pool) : 최근에 실행된 SQL문과 최근에 사용한 데이터 사전 데이터를 저장하는데 사용됩니다.
주로 라이브러리 캐시와 데이터 사전 캐시의 두 가지 메모리 구조로 구성됩니다.
공유 풀 크기 수정: ALTER SYSTEM SET SHARED_POOL_SIZE = 64M;
라이브러리 캐시는 실행된 SQL 및 PL/SQL과 관련된 정보를 캐시합니다. is, SQL 문의 텍스트, 분석된 코드 및 실행 계획을 저장합니다. 일반적으로 사용되는 문장의 공유를 실현하고 LRU 알고리즘을 사용하여 관리합니다. 공유 SQL 영역과 공유 PL/SQL 영역
데이터 사전 캐시는 관련 테이블, 열을 저장하는 데 사용되는 데이터베이스 정의를 캐시합니다. 및 기타 개체. 여기에는 데이터베이스 파일, 테이블, 인덱스, 열, 사용자, 권한 및 기타 데이터베이스 개체에 대한 정보가 포함됩니다. 구문 분석 단계에서 서버 프로세스는 데이터 사전의 정보에 액세스하여 개체 이름을 구문 분석하고 액세스 작업을 확인합니다. 데이터 사전 정보는 응답 시간을 개선하는 데 도움이 되도록 메모리에 캐시됩니다.
2. 데이터 버퍼(데이터베이스 버퍼 캐시): 데이터 파일에서 최근 읽고 쓴 데이터를 저장하는 데 사용됩니다.
오라클 시스템에서 사용하는 데이터 블록(예: 사용자의 고속 버퍼)은 데이터 캐시에 저장되며, 데이터 캐시에 데이터를 쓸 때 데이터 블록 단위로 읽고 씁니다. 채워짐 가득 차면 시스템은 사용자가 자주 액세스하지 않는 일부 데이터를 자동으로 제거합니다. 사용자가 확인하려는 데이터가 데이터 캐시에 없으면 Oracle은 자동으로 디스크에서 해당 데이터를 읽습니다. 데이터 캐시 영역에는 세 가지 유형의 영역이 포함됩니다.
1) 더티 데이터 영역(더티 버퍼): 변경되어 데이터 파일에 다시 써야 하는 데이터 블록을 포함합니다.
2) 여유 버퍼: 데이터를 포함하지 않고 다시 쓸 수 있는 영역입니다. Oracle은 이 영역의 데이터 파일에서 데이터 블록을 읽을 수 있습니다.
3) 예약 영역(고정 버퍼): 이 영역에는 처리 중이거나 향후 사용을 위해 명시적으로 예약된 영역이 포함됩니다.
3. 리두 로그 버퍼(redo log buffer): 데이터베이스에 서비스나 백그라운드 프로세스의 작업을 기록하는 데 사용됩니다.
각 수정 기록을 복원하는 데 주로 사용되는 것을 Redo 항목이라고 합니다. 재실행 항목의 정보를 사용하여 수정을 다시 실행할 수 있습니다.
또한 SGA에는 두 가지 선택적 메모리 구조가 있습니다:
4. Java 풀: Java 코드를 저장하는 데 사용됩니다.
5. 대용량 풀: SQL과 직접적인 관련이 없는 대용량 메모리 구조를 저장하는 데 사용됩니다. 백업 및 복원 용도.
추천 튜토리얼: "Oracle Tutorial"
위 내용은 오라클 SGA 란 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!