01. operation/iv. Kernel2011.10.11 08:23

음...사무실에서 노트북이 나와서 기존 데스크탑을 밀고 linux로 다시 복귀 하던중 발견되어진 증상입니다.

문제는 sata가 sdx device로 잡히지 않고, hda로 잡혀지면서 발생이 되어진 부분으로 Centos의 버그로 보여집니다.
(뭐 단순 device이니 무슨 문제가 있느냐 하시겠지만 실제로 데이터 전송률이 헌저히 떨어집니다)

아래는 실제 hda로 잡힌후 hdparm을 돌려보았을때 나타난 수치입니다.

/dev/hda5:
 Timing cached reads:   16028 MB in  2.00 seconds = 8028.10 MB/sec
 Timing buffered disk reads:   14 MB in  3.34 seconds =   4.20 MB/sec
[root@propop /]# hdparm -tT /dev/hda5

참...환장할만한 속도가 나옵니다...

그래서 구글링을 해보니 해결방법을 2가지를 제시하고 있습니다.
1. sata모드로 인식되게끔 CMOS를 변경하라
 -> HDD mode중에 compatible ( 스페링이 맞나? 헷갈린다) 혹은 ahci 모드가 있는데, 기존 compatible가 kernerl 버전이 올라가면서 정상 인식을 못하는 경우가 있다고 한다 (945? 965? mainboard에서 문제가 발생되어진다고 한다)
 -> 나이 케이스는 ahci 모드로 변경하니 쉽게 해결되어진 케이스

2. kernel수정을 하라
-> 커널 컴파일까지는 아니고 kernel 옵션중에 뭔가 두가지를 추가해야하는데 예전에 cdrom 못잡았을때 잡아주는 거였는데 기억이 가물가물하다... 나중에 생각나면 포스팅...

저작자 표시 비영리 변경 금지
신고
Posted by 신머루군
02 .administration2011.06.08 13:28

■ oracle
CentOS (Redhat) x64 시스템에서 oracle 설치 과정
 
공통 준비
 
1. 자신이 사용할 오라클 다운로드
2. LINUX 설치 준비
리눅스를 설치할때 주의 사항
※GUI를 설치하라 (본 문서는 gnome으로 진행한다)
※개발툴을 모두 설치하라 (나중에 rpm으로도 가능하다만은 귀찮으니)
※host명 변경시에 골치 아픈일이 생길수 있으니 미리 host명을 생각해 두어라
※스토리지 공간도 확인하자
3. CentOS를 설치 했다면 아래 부분을 변경하자
/etc/redhat-release
기존 : CentOS release 5.4 (Final)
변경 : redhat-4
4. 필요한 PKG를 설치해야한다. 위에서 개발툴을 모두 설치 했다면 그다지 설치할 부분은 없을것이나 확인 절차
rpm -qa binutils
rpm -qa compat-libgcc
rpm -qa compat-libstdc++
rpm -qa compat-libstdc++
rpm -qa cpp
rpm -qa gcc
rpm -qa gcc-c++
rpm -qa glibc
rpm -qa glibc-common
rpm -qa glibc-devel
rpm -qa glibc-headers
rpm -qa libaio
rpm -qa libaio-devel
rpm -qa libgcc
rpm -qa libstdc++
rpm -qa libstdc++-devel
rpm -qa make
rpm -qa setarch
rpm -qa libXp # 개발툴을 설치해도 없다 x86용으로 설치해야한다
rpm -qa openmotif # 개발툴을 설치해도 없다 x86용으로 설치해야한다
rpm -qa unixODBC* # 개발툴을 설치해도 없다 x86용으로 설치해야한다
rpm -qa |grep elfutils # 이건 oracle 11g부터 x86용으로 설치해야한다
5. 오라클 설치 계정 확인
관리계정 사용자 oracle UID:500
관리계정 그룹 oracle GID:500
HOME_DIR : 정하기 나름 /data/oracle
========================= 아래부터는 각 버전별로 틀리니 참고 =========================
※대충 보면 비슷비슷합니다...
oracle 9i
Kernel Parameter
vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmin = 128
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.shmmax = 2147483648
kernel.shmall = 2097152
# 아마도 CentOS 5버전 이상이면 위 값보다 클것으로 예상되어진다...크면 굳이 변경할 필요 없잖은가?

net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144

수정 후 : sysctl -p
※주의 사항
oracle 9i 설치할때 삽질한 추억이 새록새록...
jre 1.3.1을 사용하는데 지금 어디서 5가 있으니 이상없겠지...라고 생각하면 오산이다...ㅠ_ㅠ;
꼭 jre 1.3.1을 미리 설치를 해두어 JAVA_HOME, JAVA_OPT를 미리 맞춰주는게 좋다
JAVA_OPT 경우 default 메모리가 128Mb인데 작다...-_-; 미리 512Mb정도 설정해주는게 좋다
 
JAVA경로는
DISK1/install/linux/oraparam.ini 파일에
JRE_LOCATION 에서 지정이 가능하다.
옵션도 있는지는 잘 모르겠다...-_-;;
 
cpio 압축 풀기
9i버전은 절대로 동일 폴더에 풀지 말아라...폴더를 묶을 생각도 말고...-_-;
각각 디스크명대로 되어져 있어야 한다...설치 안되어지니 유의
 
cpio -idmv < oracle9i_linux_disk1.cpio
cpio -idmv < oracle9i_linux_disk2.cpio
cpio -idmv < oracle9i_linux_disk3.cpio
oracle 10g
Kernel Parameter
vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmin = 128
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.semopm = 100
kernel.shmmax = 2147483648
kernel.shmall = 2097152
# 아마도 CentOS 5버전 이상이면 위 값보다 클것으로 예상되어진다...크면 굳이 변경할 필요 없잖은가?
 
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
수정 후 : sysctl -p
 
vi /etc/security/limits.conf 추가
*       soft        nproc         2047
*       soft        nofile         1024
*       hard        nproc        16384
*       hard        nofile         65536
vi /etc/pam.d/login
session required /lib/security/pam_limits.so
ulimit 값 변경
ulimit -p 16384
ulimit -n 65535
※아싸리 profile 혹은 .bashrc 에 박아둬도 된다
※주의 사항
이 버전부터는 java도 안정적이고 특별히 고생할 부분도 없었다..
단 network 상황에 따라 인스톨 과정에서 오류가 발생되어질수도 있는 부분이 존재한다
계략적인 원인은 sun.oracle.com 이였던가? 사이트에 접속이 안되어지면서 발생되어지는 에러이니 참고
oracle 11g
Kernel Parameter
vi /etc/sysctl.conf
kernel.sem = 250 32000 100 128
kernel.shmmin = 4096
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.shmmax = 2147483648
kernel.shmall = 2097152
# 아마도 CentOS 5버전 이상이면 위 값보다 클것으로 예상되어진다...크면 굳이 변경할 필요 없잖은가?
 
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
수정 후 : sysctl -p
 
vi /etc/security/limits.conf 추가
*       soft        nproc         2047
*       soft        nofile         1024
*       hard        nproc        16384
*       hard        nofile         65536
vi /etc/hosts 
11g버전부터는 DNS와 연관되어진 부분이 있다.
일반적으로 db서버를 DNS에 박아서 쓰지 않으니 hosts파일을 수정하자
장비의 리얼 아이피를 박아주자
192.168.0.2           oracle.test.com test
 
※주의 사항
이 버전부터는 java도 안정적이고 특별히 고생할 부분도 없었다..
단 network 상황에 따라 인스톨 과정에서 오류가 발생되어질수도 있는 부분이 존재한다
계략적인 원인은 sun.oracle.com 이였던가? 사이트에 접속이 안되어지면서 발생되어지는 에러이니 참고
=====================================================================================
위 버전별 과정을 걸쳤으면 다시 공통 설치 과정으로 넘어간다.
 
1. profile (bashrc) 세팅
oracle id에 세팅을 하게 되어지며 아래와 같이 설정이 되어진다. (이 글은 bash 기준이다)
vi ~/.bashrc
export ORACLE_BASE=/data/oracle
export ORACEL_HOME=/data/oracle
#export ORACLE_HOSTNAME=oracle.test.com #이건 oracle 11g용이다.
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME:.:
export ORACLE_SID=ORCL
export NLS_LANG=KOREAN_KOREA.KO16KSC5601
export ORACLE_TERM=vt100
export TNS_ADMIN=$ORACLE_HOME/network/admin
export ORA_NLS33=$ORACLE_HOME/ocommon/nls/admin/data
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
#export ORACLE_OEM_JAVARUNTIME=/usr/java1.3.1/ #이건 oracle 9i용
 
unset LANG
=====================================================================================
사실 GUI를 일일히 캡쳐해서 올려야 하는데...........귀차니즘으로 인해 GUI는 생략하자..
사실 위 정도까지만 세팅이 되어지면 나머지는 그냥 클릭클릭 정도 수준일것이다..
 
※원격지에서 oracle 설치시 오류발생건!
원격지에서 설치해야할 일이 있는데 xwindows에서 host명과 display번호때문에 JAVA가 실행이 안되어지는 경우가 생긴다. (java의 graph 함수인데, display번호를 본다 그렇기때문에 이 부분은 꼭 확인하자)
 
현재 자신이 붙은 장비의 host를 지정을 해줘야한다.
명령어는 xhost :0.0 혹은 xhost + 해주면 된다
=====================================================================================
인스톨 과정중 다른 주의 사항
1. 중간중간 쉘에서 입력해야하는 명령어가 존재한다 절대 스킵하지 말고 해당 명령어를 따라가자
2. DBCA (database configuration assistant)는 설치중간에 오류가 있어서 안될수도 있다. (특히 oracle 9i) 이 경우에는 DBCA를 별도로 실행이 가능하다 (GUI환경이다)
 
cd $ORACLE_HOME/bin/dbca
 
 

 

저작자 표시 비영리 변경 금지
신고
Posted by 신머루군

티스토리 툴바