안녕하세요.
현재 레드헷리눅스9 + Oracle9i를 운영하고 있는 초보입니다.
앞으로 Oracle 9i DataBase 전용 서버를 구입할 예정입니다.
사양은 Linux에 Dual CPU, Main 메모리 4G, Swap 4G, SCSI * 7 로
구성된 2U 장비입니다.
Database 서버는 ASP 서비스를 제공하기 때문에 서비스 가입자들마다
각자 Schema를 생성해 사용하기 때문에 가능한 많은 사용자들을
수용하기 위해 고려할것이 많은거 같습니다.
그래서 예전에는 디스크 하나마다 Tablespace와 하나의 Disk file를
할당해 하나의 테이블스페이스에서 40개 정도의 Schema를 저장하는
형태였습니다.(물론 Index는 별도의 Tablespace에 구성되어
있습니다.)
제가 궁금한것은,
최대한 많은 Shema를 포용하면서도 성능이 우수한 구조로 디스크
I/O를 튜닝한다면 어떤 구조가 가장 나을까요?
(단, Backup은 고려하지 않습니다.)
1. 각 디스크마다 Tablespace와 datafile을 할당하고, 사용자
Shema를 각각의 테이블스페이스에 분산 배치한다.
2. 하나의 Tablespace를 생성하고 각 디스크마다 datafile을 생성해
테이블스페이스에 할당한다(디스크 스트라이핑)
또, 궁금한건...
현재 하나의 테이블스페이스에 하나의 데이터파일을 할당하고,
데이터 파일 크기는 초기 2G에 자동으로 계속 증가되도록 해놨는데,
그게 올바른 선택이었을까요?
아니면, 하나의 테이블스페이스에 여러개의 고정크기의 데이터파일을
할당하는게 디스크 I/O에 효율적일까요?
개발자에서 DBA까지 하려니깐 정말 힘드네요.
항상 초보자에게 도움 주시는 모든 분들께 감사드립니다.
좋은하루 되세요.
|