> 안녕하세요. 오라클 초보입니다.
>
> 제가 리눅스 상에서 오라클을 이용해서 대형 데이터베이스를 돌릴려구 하는데요.
>
> 메모리는 1기가 정도 될꺼구 하드디스크는 데이터베이스의 양은 20기가 바이트 정도
>
> 될것 같습니다. 리눅스에서는 데이터베이스의 크기가 4기가가 가장 큰거라 하던데..
>
> 4기가로 여러개를 생성할 계획입니다.
>
> 이런 시스템을 운영할려는데 커널설정을 잘몰라서요. 알맞은 커널 설정방법 좀
>
> 알고 싶은데요.. 커널변수의 크기는 시스템에 따라 어떻게 잡아줘야 하는지 궁금합
>
> 니다. 고수님들 가르쳐 주세요.
먼저 알아두셔야 할 것이 있습니다. 리눅스에서 하나의 파일 크기는 2G입니다. 그런데 이때문에 당장 문제가 생기는 것은 아닙니다. MYSQL등은 하나의 테이블이 하나의 파일로 되지만 오라클의 경우는 테이블 스페이스를 생성할때 데이터 파일을 지정하며 이것만 계속 추가를 하기 때문에 적당히 조절해서 사용하면 일단 파일크기로 인한 제한은 피할 수 있습니다.
OLTP 환경에서는 얼마나 유용할지 모르겠지만 DSS쪽에서는 유용한 기능이 파티셔닝 기능입니다. 이는 하나의 테이블을 여러개의 테이블스페이스에 나누어서 사용할 수 있는 것이지요. 이런 형태로 구성한다면 파일크기제한은 또 해결할 수 있지요. 그런데 매뉴얼상에 보면 이는 투명하게 제공되는 것이 아니라 SQL차원에서 프로그래밍을 할때 처리를 해주어야하는 것 같습니다. 쩝. 이것만 아니면 얼마나 좋을까나 생각이 드는데요.
커널상에서는 세마포어, 공유메시지 부분을 바꾸면 됩니다. 이는 오라클 설치 자료에서 커널 관련 항목들에 대해서 자세하게 나와있습니다. 나온 내용을 보면 일단 시스템에서 허용하는한 최대한 크게 설정해서 이상없이 부팅된다고 하면 되는군요. 공유메시지의 경우 자기가 가지고 있는 실제 메모리와 동일하게 설정하면 됩니다. 그런데 이게 오라클 자료에는 10진수인데 커널에 보면 0x 16진수로 되어있다면 16진수로 변환하면 되지요. 램이 2G이면 16진수로 0x8000000 이거 맞던가? 아뭏든 계산해서 바꾸어서 컴파일 하세요.
이걸 바꾸고나서 당연히 파라미터 파일도 바꾸어야 합니다.
저도 요즘 이런 문제로 고민을 하고 있는데 아직 실제 테스팅을 하고 서비스를 운영하지는 못해서 머리가 아프네요. 당장 서비스를 해야 하는데요.
근데 자료양이 20G가 되는것이 문제가 아니라 어떠한 서비스를 하느냐에 따라서 설정을 변경해야 하는 것이라고 생각이 듭니다.
오라클을 공부하면서 정말 디비 공부할게 많구나 하는 생각을 합니다.
오라클 초보자는 이만.
|