2009-05-28 2 views
3

필자는 오라클 8i가 출시 된 후 오랫동안 오라클을 사용해 왔습니다. 나는 당시 데이터베이스가 처음이었고 테이블 스페이스를 정의 할 때 일정 크기의 익스텐트 크기를 사용하는 것이 가장 좋다고 가르쳤다.Oracle 테이블 스페이스에서 일정한 범위 크기를 사용하는 것이 좋습니다.

내가 읽은 내용에서

, 오라클이 자동으로이 정도의 크기를 관리 할 수 ​​있으며이 정도 일정한 크기를 유지하지 않을 수, 10/11g를 사용하여 오늘날 보인다. 이 방법으로 디스크 공간을보다 효율적으로 사용할 수있는 방법을 쉽게 알 수 있지만이 점에 대한 단점이 있습니다. 나는이 일에 과거를 놓을 시간이 될지도 모른다고 생각하고 있습니다. 인스턴트 액세스 시간 무제한 디스크 공간이있는 경우

답변

7

예, 아주 특별한 경우를 제외하고는 과거의 이동과 새로운 오라클 정도 관리 기능을 사용할 수 있도록하는 시간이다. 로컬 관리 테이블 공간 (LMT)과 자동 범위 크기 조정을 사용하면이 문제에 대해 다시 생각할 필요가 없습니다.

DBA로서 가변 범위 크기 조정은 처음 7.3 일 동안 테이블 공간을 재구성하여 0이 아닌 퍼센트 증가로 익스텐트 할당에서 비롯된 단편화를 제거했기 때문에 걱정 스럽습니다. (그리고 데이터베이스를 작성할 때 사용 된 데이터베이스 블록 크기에 따라 최대 범위 수의 한계가 다르기 때문에 0이 아닌 퍼센트 증가가 필요합니다.) 그러나 Oracle은 알고리즘을 사용하여 익스텐트 크기가 증가하는 속도와 크기를 결정합니다 효과적으로 단편화를 제거합니다. 이 사실 적이있다 - 또한

, 당신은 최적의 구성은 하나의 정도에 테이블이나 인덱스 맞는 것입니다 방법에 대해 또는 어떻게 든 I/O 범위 구성을 통해 관리 할 수 ​​있습니다 들었습니다 아무 것도 잊어 버려.사전 관리 테이블 스페이스에서는 사전 테이블에서 수천 개의 익스텐트를 관리하는 데 약간의 불이익이 있었지만 LMT는 비트 맵을 사용합니다. 이것은 문제가 아닙니다. 오라클은 세그먼트를 확장하지 않고 블록을 버퍼링합니다.

3

(나의 과거 가르침이 처음부터 정확 가정), 당신은 모든 범위에 대해 걱정 할 필요가 없습니다.

그냥 모든 테이블 INITIAL 100T NEXT 100T MAXEXTENTS UNLIMITED PCTINCREASE 0을하고 다음 300년에 대한 범위에 대해 잊지

.

디스크 공간에 제한이없는 경우 문제가 발생합니다. 또는 액세스 시간이 다릅니다.

익스텐트는 데이터 희소성에 대처하기위한 것입니다. 데이터가 조각화되면 HDD 헤드가 한 곳에서 다른 곳으로 이동하기 때문에 시간이 오래 걸립니다. 당신이 다음 범위에 존재하는 가장 자주 조인 테이블에 대한 데이터를하면서 각 테이블은 하나 개의 정도에 상주하는

이상적인 상황은 모든 데이터를 가지고, 그래서 모든 것이 순차적으로 읽을 수 있습니다.

액세스 시간에는 데이터가있는 곳을 파악하는 데 필요한 액세스 시간도 포함됩니다. 데이터가 극단적으로 희박한 경우 범위 사전에 추가 조회가 필요합니다.

오늘날 디스크 공간은 문제가되지 않지만 액세스 시간은 여전히 ​​중요합니다.

그런 이유로 Oracle 만든 범위 관리.

이렇게하면 수작업으로 작성한 Extent 레이아웃보다 사용 공간면에서 효율성은 떨어지지 만 액세스 시간면에서 더 효율적입니다.

충분한 디스크 공간이 있다면 (즉, 데이터베이스가 5 년 동안 디스크의 절반 이하를 차지하는 경우) 자동 범위 만 사용하면됩니다.

+0

"이상적인 상황은 각 테이블에 대한 모든 데이터를 한 범위 내에두고 가장 자주 가입하는 테이블의 데이터를 다음 범위에 두도록하여 모든 것을 순차적으로 읽을 수 있도록하는 것입니다." 왜? OLTP 응용 프로그램은 전체 스캔 테이블이 될 수 없으며 클러스터가 더 적합합니다. 대규모 DW 쿼리는 병렬 검색, 해시 조인 및 임시 테이블 스페이스를 사용합니다. 익스텐트가 있으므로 테이블 크기를 미리 정의 할 필요는 없지만 계속해서 크기가 비트와 바이트로 늘어나지는 않습니다. –

+0

@Gary : 디스크 검색이 순조 롭다면 바이트와 바이트는 나쁘지 않을 것입니다.하지만 그렇지 않습니다. 데이터를 함께 보관하는 것이 더 나은 이유입니다. 클러스터는이 작업을 수행하는 방법 중 하나입니다. 그러나 클러스터 키의 모든 데이터가 하나의 데이터 페이지에 들어간 경우에만 유용합니다. – Quassnoi

관련 문제