달력

4

« 2024/4 »

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
MSSQL 2005 AWE(Address Windowing Extensions) 정리

AWE란 SQL Server 2005 Enterprise Edition에서 32비트 버전의 Microsoft Windows 운영 체제에서 실제 메모리를 4GB 이상 사용할 수 있도록 하는 기능입니다. 

SQL Server 2005에서는 AWE(Address Windowing Extensions) API를 사용하여 구성된 가상 메모리에 설정된 한계보다 더 큰 실제 메모리 액세스를 제공할 수 있으며, 사용할 수 있는 메모리 양은 하드웨어 구성과 운영 체제 지원에 따라 달라집니다. Windows Server 2003 운영 체제부터 지원하는 실제 메모리 용량이 늘어났으며, AWE에서 액세스할 수 있는 실제 메모리 용량은 사용 중인 운영 체제에 따라 달라집니다. 

운영 체제  /  AWE에서 액세스 가능한 실제 메모리 크기 
Windows Server 2003 Standard Edition /  4GB 
Windows Server 2003 Enterprise Edition  /  32GB 
Windows Server 2003 Datacenter Edition /  64GB 

MSSQL 2005 Edition / 사용가능 메모리 크기
MSSQL 2005 Express / 1G
MSSQL 2005 WorkGroup / 2G
MSSQL 2005 Standard / 무제한
MSSQL 2005 Enterprise / 무제한

AWE는 Enterprise Edition과 Developer Edition에서만 지원되며 32비트 운영 체제에만 적용됩니다. 64 bit 플랫폼의 경우에는 디폴트로 AWE가 활성화되기 때문에 /pae 옵션을 사용할 필요도 없으며 'awe enabled' 구성 옵션을 설정할 필요도 없습니다. SQL Server 2000과 달라진 점 중 하나입니다.

32 bit SQL Server 2005에서 4GB 이상의 실제 메모리를 지원하려면 다음과 같은 작업이 필요합니다.

1. /pae 매개 변수를 boot.ini 파일에 추가하고 컴퓨터를 다시 부팅합니다. 

  설정은 아래와 같은 기준으로 하면 될 듯 합니다.
4GB RAM:  /3GB (AWE support is not used)
8GB RAM:  /3GB /PAE
16GB RAM:  /3GB /PAE
16GB + RAM:  /PAE

--Windows의 boot.ini 에 추가할 옵션
 4 GB : 0 (Disabled) /3GB Dynamic (default)
 8 GB : 1 (Enabled) /3GB /PAE 6.5 GB
16 GB : 1 (Enabled) /3GB /PAE 14.5 GB 
16 GB↑ : 1 (Enabled) /PAE ~
*32 GB : 1 (Enabled) /PAE 29.5 GB
32 GB↑ : 1 (Enabled) /2GB /PAE
-------------------------------------------------
64bit SQL Ignored N/A dynamic

------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
[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 /PAE
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

2. "메모리의 페이지 잠그기(LOCK PAGE IN MEMORY)" 로컬 보안 정책에 SQL Server 서비스 계정으로 지정된 윈도우 사용자 계정을 추가합니다.
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
실행 > gpedit.msc 실행 > 로컬 컴퓨터 정책/컴퓨터 구성/Windows 설정/보안 설정/로컬 정책/사용자 권한 할당/메모리의 페이지 잠그기(LOCK PAGE IN MEMORY) 에 SQL Server Service Account 추가
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

3. sp_configure를 사용하여 ‘awe enabled’ 옵션을 1로 설정합니다. ‘awe enabled’ 옵션은 고급 옵션으로서 ‘show advanced options’를 1로 설정해야만 변경할 수 있습니다. AWE를 적용하려면 SQL Server 인스턴스를 다시 시작해야 합니다.
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
sp_configure 'show advanced options', 1; 
RECONFIGURE 
GO 
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

4. AWE를 구성한 다음에는 성능 모니터에서 SQL Server 인스턴스에게 할당된 메모리의 크기를 확인합니다. 
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
sp_configure 'awe enabled', 1 
RECONFIGURE 
GO 
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------


SQL Server 버전과 운영 체제에 따라 동작이 달라지므로 AWE를 사용하기 전에 SQL Server 온라인 설명서에 기술되어 있는 운영 체제별 지침을 확인하기 바랍니다. 

ms-help://MS.SQLCC.v9/MS.SQLSVR.v9.ko/udb9/html/d308d9cb-bb85-46f6-93c6-e2ddd0fa01c3.htm 

AWE를 활성화하는 경우에는 ‘max server memory’ 값을 설정하는 것을 권고합니다. Windows 2000의 경우 ‘max server memory’ 옵션에 값을 지정하지 않으면 실제 메모리를 128 MB 이하만 남겨 두고 대부분의 사용 가능한 메모리를 예약합니다. ‘max server memory’를 잘못 구성하면 심각한 문제가 발생할 수 있으며 다른 응용 프로그램에 지장을 줄 수 있으므로 ‘max server memory’ 구성 옵션의 설정은 신중하며 계획적으로 이루어져야 합니다. ‘max server memory’ 옵션 설정에 대해서는 별도로 다룰 예정입니다. 

다양한 시스템들을 컨설팅하다 보면 실제 메모리를 증설하고서 AWE 구성을 하지 않아서 제대로 메모리 자원을 사용하지 못하는 경우를 볼 수 있습니다. 예를 들어, 실제 메모리는 8GB이고 사용자는 SQL Server가 실제 메모리를 잘 사용하고 있다고 생각하고 있는데, 실제로 확인해 보면 SQL Server는 약 2GB미만의 메모리만 사용하는 경우들이 있습니다. 이런 문제는 대부분 boot.ini 파일에 /pae 옵션을 지정하지 않거나 ‘awe enabled’ 옵션을 활성화하지 않아서 발생하며, 아주 드물지만 Enterprise Edition을 사용해야 하는데 Standard Edition을 사용함으로 인하여 서버에 장착된 실제 메모리를 제대로 사용하지 못하는 경우도 있습니다. 하드웨어 구성에 적합한 Edition을 구입해야 하며, 하드웨어 리소스를 충분히 활용할 수 있도록 환경을 구성해야 합니다. 

다음은 AWE를 구성하는 예제 스크립트입니다. 

1. ‘awe enabled’ 구성 옵션을 활성화합니다. 
sp_configure 'show advanced options', 1; 
RECONFIGURE 
GO 

sp_configure 'awe enabled', 1 
RECONFIGURE 
GO 

2. SQL Server를 다시 시작합니다. ‘awe enabled’ 구성 옵션이 활성화되면 SQL Server 오류 로그 파일에 다음과 같은 메시지가 기록됩니다. 

Address Windowing Extensions enabled 

3. ‘max server memory’와 ‘min server memory’ 구성 옵션을 시스템에 적절하게 구성합니다. 다음 예는 ‘min server memory’는 1GB로, ‘max server memory’는 6GB로 구성한 예제입니다. 
sp_configure 'min server memory', 1024; 
RECONFIGURE 
GO 

sp_configure 'max server memory', 6144; 
RECONFIGURE 
GO

<reference>


p.s. 붙여놓고 보니.. 2000 과 다른게 별루 없네요.... ㅜㅜ
:
Posted by Elick
MSSQL 2000 AWE(Address Windowing Extensions) 정리

MSSQL 2000은 특별한 옵션의 변경이 있지 않는 한 가용 메모리 중 2G까지는 스스로 사용량을 늘립니다.
H/W의 여유가 있는 경우 2G 보다 더 많은 메모리를 사용하기를 원한다면 AWE를 활성화 하는 방법이 존재합니다.

AWE는 Enterprise Edition과 Developer Edition에서만 지원되며 32비트 운영 체제에만 적용됩니다. 64 bit 플랫폼의 경우에는 디폴트로 AWE가 활성화되기 때문에 /pae 옵션을 사용할 필요도 없으며 'awe enabled' 구성 옵션을 설정할 필요도 없습니다.

이 옵션을 적용하기 전에 MSSQL Server 2000 SP4를 업데이트하는 것이 좋습니다.
http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=8E2DFC8D-C20E-4446-99A9-B7F0213F8BC5

Microsoft는 SQL Server 2000 SP4의 최종 빌드에서 AWE 지원을 사용하여 SQL Server 2000을 실행할 경우 발생하는 문제를 발견했습니다. 이 문제는 ia64 플랫폼에는 영향을 주지 않습니다. 이 문제는 x86 시스템 및 x64 시스템에서 AWE를 2GB 이상의 메모리로 사용하는 경우(엔터프라이즈, 디벨로퍼 및 평가 버전에서만 사용 가능)와 전체 시스템 메모리의 절반 이상이 단일 SQL Server 인스턴스에 할당되는 경우에 영향을 줍니다. 이러한 구성에 해당되는 사용자는 SP4로 업그레이드한 후 Microsoft 기술 자료 문서 899761에 지정된 핫픽스를 구해서 적용해야 합니다.


아래는 OS 와 MSSQL 2000 Edtion 별 사용가능 메모리에 대한 정리 입니다.

Version             | SQL2000 Ent     | SQL2000 Std   | SQL2000 Per    | SQL2000 Dev
-----------------------|------------------------|-----------------------|-----------------------|--------------
Win2000 Data.     | 64GB               | 2GB               | 2GB                | 64GB
Win2000 Adv.      | 8GB                | 2GB                | 2GB                | 8GB 
Win2000 Sever    | 4GB                | 2GB                | 2GB                | 4GB
Win2000 Pro.      | N.A.                | N.A.               | 2GB                | 2GB 


1. /pae 매개 변수를 boot.ini 파일에 추가하고 컴퓨터를 다시 부팅합니다. 

  설정은 아래와 같은 기준으로 하면 될 듯 합니다.
4GB RAM:  /3GB (AWE support is not used)
8GB RAM:  /3GB /PAE
16GB RAM:  /3GB /PAE
16GB + RAM:  /PAE

--Windows의 boot.ini 에 추가할 옵션
 4 GB : 0 (Disabled) /3GB Dynamic (default)
 8 GB : 1 (Enabled) /3GB /PAE 6.5 GB
16 GB : 1 (Enabled) /3GB /PAE 14.5 GB 
16 GB↑ : 1 (Enabled) /PAE ~
*32 GB : 1 (Enabled) /PAE 29.5 GB
32 GB↑ : 1 (Enabled) /2GB /PAE
-------------------------------------------------
64bit SQL Ignored N/A dynamic

------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
[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 /PAE
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

2. "메모리의 페이지 잠그기(LOCK PAGE IN MEMORY)" 로컬 보안 정책에 SQL Server 서비스 계정으로 지정된 윈도우 사용자 계정을 추가합니다.
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
실행 > gpedit.msc 실행 > 로컬 컴퓨터 정책/컴퓨터 구성/Windows 설정/보안 설정/로컬 정책/사용자 권한 할당/메모리의 페이지 잠그기(LOCK PAGE IN MEMORY) 에 SQL Server Service Account 추가
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

3. sp_configure를 사용하여 ‘awe enabled’ 옵션을 1로 설정합니다. ‘awe enabled’ 옵션은 고급 옵션으로서 ‘show advanced options’를 1로 설정해야만 변경할 수 있습니다. AWE를 적용하려면 SQL Server 인스턴스를 다시 시작해야 합니다.
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
sp_configure 'show advanced options', 1; 
RECONFIGURE 
GO 
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

4. AWE를 구성한 다음에는 성능 모니터에서 SQL Server 인스턴스에게 할당된 메모리의 크기를 확인합니다. 
------------------------------------------------------------------------------------------------------------------
-- sample begin
------------------------------------------------------------------------------------------------------------------
sp_configure 'awe enabled', 1 
RECONFIGURE 
GO 
------------------------------------------------------------------------------------------------------------------
-- sample end
------------------------------------------------------------------------------------------------------------------

<reference>
:
Posted by Elick
2009. 1. 12. 16:10

Database 란?? Work/Database General2009. 1. 12. 16:10

데이터베이스란?

 

데이터베이스가 뭐냐고 물어본다면 필자는 ‘데이터를 꺼내보기 좋게 잘 저장해 놓은 것’ 이라고 하겠다. 여기에 ‘여러 명의 사용자’라는 옵션이 붙던지 ‘고도로 구조화’라는 옵션이 붙던지.. 아무튼 ‘데이터를 꺼내보기 좋게 잘 저장해 놓을 것’에 포함이 된다. 여기서 논란의 여지가 있는 것은 역시 ‘잘’이란 부사이다. 데이터를 꺼내보기 좋게 ‘잘’ 저장하는 것이 우리가 데이터베이스를 공부하는 70%라고 봐도 된다. 데이터를 ‘잘 꺼내보는 것’은 30%에 해당한다. 그러므로 어떻게 데이터를 저장할 것인지를 결정하기 위한 일련의 작업들을 데이터베이스 모델링과 설계라고 봐도 된다. 잘 꺼내보는 것은 DBMS를 제작하는 기술과 DBMS를 이해하고 SQL문을 작성하는 것이다. 물론 DBMS를 제작하는 기술은 그야말로 어려운 일이므로 이를 제외하면 DBMS를 이해하고, SQL문을 작성하는 것만 남게 된다.

, 그럼 데이터를 꺼내보기 좋게 잘 저장해 놓았다고 하자. 왜 이런 짓을 해야 할까? 바로 사용자의 정보욕구를 만족시키기 위해서. 결국 데이터베이스는 보다 정보를 얻기 편리하게 해보자는 의도에서 만들어진 것이다. 그렇다면 다른 문서에서는 데이터베이스를 어떻게 정의하고 있는지 살펴보자.

 

데이터베이스의 정의
논리적으로 연관된 하나 이상의 자료의 모음으로 그 내용을 고도로 구조함으로써 검색과 갱신의 효율화를 꾀한 것이다. , 몇 개의 자료 파일을 조직적으로 통합하여 자료 항목의 중복을 없애고 자료를 구조화하여 기억시켜 놓은 자료의 집합체라고 할 수 있다. -- 네이버 백과사전

 

첫 번째로 논리적으로 연관된이란 글에 대해서 고려해보자. 연관되어있다는 것은 어떤 개념의 범위에 속해 있다는 뜻이된다. 지금 이 글을 보고 내용을 이해하고 있는 사람은 아마도 “한국어를 할 수 있는 사람” 좀 더 개념의 범위를 좁혀보면 “자랑스런 조선인으로써” 나와 연관될 수 있다.(매우 정성적이지만 그렇다치자) 이렇게 개념의 범위 좀 더 이론적으로 말한다면 집합의 명제속에 속하는 원소들 끼리는 바로 논리적으로 연관되었다고 볼 수 있는 것이다.

 

 

두 번째로 하나 이상의 자료의 모음이란 글에 대해서 따져보자. 사실 말이 좀 우습다. “두개 이상의 자료의 모음” 또는 “세개 이상의 자료의 모음”이라고 해도 별로 우습지 않다. 1개의 자료나 3개의 자료나 분명히 숫자에 대한 기본적인 지식만 알면 인간의 머리속에서 해결할 수 있다. 아마도 “하나 이상”의 뜻은 인간이 감당하기 힘들 정도의 자료의 양이 될 것이다. 정말이지 조그만한 강원도 두메산골 1평 남짓한 구멍하게를 운영한다고 하자. 상품은 30개가 되지 않는다. 하루 매출은 1만원을 넘지 않는다. 물건을 사러오는 사람도 몇 명되지 않는 동네 어르신들이다. 다른 구멍가게는 없다. 과연 매출장부가 필요할까? 그럼 대형할인마트를 생각해보자. 하루 몇 억개의 상품이 팔려나간다. 이러한 매출자료를 수작업으로 정리하려면 생각만해도 짜증스럽다. 어찌되었건 하나 이상의 자료의 모음이라는 것은 많은 양의 데이터를 뜻할 것이다.

 

세 번째로 그 내용을 고도로 구조화함으로써 검색과 갱신의 효율화를 꾀 한 것이란 글에 대해서 살펴보자. 위에서 예를 든 대형할인 마트로 다시 돌아가보자. 그 수많은 상품들을 아무런 진열도 하지 않고 그냥 쏟아 부어 놓았다고하자. 여러가지 상품이 산더미처럼 얼켜있을 것이다. 상품의 가치도 가치이거니와 원하는 물건을 사기위해서는 많이 뒤져봐야 할 것이다. 또한 A라는 상품이 없다고 어떤 고객이 눈앞에서 난리를 치고 있다. 할 수 없이 대형할인마트의 재고관리자는 포크레인으로 A상품을 쏟아 부었다고 하자. 그런데 내가 찾는 상품은 알고보니 제일 먼저 쏟아부어 제일 바닥에나 있다고 하자. 어찌되었던 내가 원하는 상품을 찾기 위해서는 다른 상품이 또 밑으로 내려가야 한다. 장사가 될까? 데이터베이스도 마찬가지이다. 자료를 잘 정리정돈 해놓아야 데이터를 잘 사용할 수 있는 것이다. (내용을 고도로 구조화하는 방법은 데이터 모델링과 설계부분이다. 이는 나중에 다룰 것이다.)

 

네 번째로 몇 개의 자료 파일을 조직적으로 통합이란 글을 살펴보자. 백과사전이라 그런지 몰라도 데이터베이스의 탄생배경을 생략해 놓은 듯한 글귀다. 우찌되었건 파일시스템을 사용할 적(물론 지금도 사용하고, 어떤 경우에는 데이터베이스보다 더 효율적이다)에 발생되었던 문제의 근본 원인인 “자료의 중복”을 들먹이고 있다. 물론 자료의 중복은 중복을 아예 없애라는 것이 아니라 “최소한의 중복”이다. 이러한 자료의 중복을 없애는 작업이 나중에 나오게 될 데이터베이스의 꽃인 “정규화”이다. 그럼 현재는 데이터베이스는 자료의 중복이 많이 없어졌을까? 알 수 없다. 필자가 본 많은 데이터베이스는 엄청나게 많은 자료의 중복이 있었다. 그로인해 많은 사람들이 괴로워하는 것도 많이 보았다. 데이터베이스를 잘 사용하지 못하면 오히려 파일시스템보다 더 중복이 일어날 수 있다. 데이터베이스 답게 사용하려면 자료의 중복을 없애는 일이 너무나도 중요하다. 자료의 중복을 없애는 것은 좋은 정보를 만들어내는 지름길이다.

 

데이터베이스의 특징

 

 

ü        똑같은 자료를 중복하여 저장하지 않는 통합된 자료

ü        컴퓨터가 액세스하여 처리할 수 있는 저장장치에 수록된 자료

ü        어떤 조직의 기능을 수행하는 데 없어서는 안 되며 존재 목적이 뚜렷하고 유용성 있는 운영 자료이기 때문에 임시로 필요해서 모아 놓은 데이터나 단순한 입출력 자료가 아니라는 점

ü        한 조직에서 가지는 데이터베이스는 그 조직 내의 모든 사람들이 소유하고 유지하며 이용하는 공동 자료로서 각 사용자는 같은 데이터라 할지라도 각자의 응용 목적에 따라 다르게 사용할 수 있다는 점이다.

 

 www.databser.net에서.. 퍼온거 같은데... 기억이 가물가물하다..

 

:
Posted by Elick