리눅스 (Linux)2015. 12. 24. 19:05

오라클 홈페이지에서 10g로 다운 받는다.

다운로드한 파일의 압축을 해제한다. (root 계정으로..)
$unzip 10201_database_linux32.zip
database/stage/Components/oracle.server/10.2.0.3.0/1
database/stage/Components/oracle.server/10.2.0.3.0
database/stage/Components/oracle.server
...

커널변수(Kernel parameter)확인
Oracle 10G R2를 설치하기 위한 커널 변수는 다음을 만족해야 한다.

shmmax = 2147483648
shmmni = 4096
shmall = 2097152
shmmin = 1
shmseg = 10
semmsl = 250
semmns = 32000
semopm = 100
semmni = 128
file-max = 65536
ip_local_port_range = 1024 65000

다음과 같이 현재 오라클을 설치하려는 Linux 시스템의 커널 변수를 확인할 수 있다.
sysctl -a

너무 많은 내용이 스크롤 되어 확인하기 힘들다면 grep 명령어로 각각 확인해볼 수 있다.

sysctl -a | grep shmmax

아마도 대부분 Linux를 설치한 후 초기 상태라면 오라클 10g r2 설치 조건을 만족하지 못할 것이다.
다음과 같이 커널변수를 세팅할 수 있다.

/etc/sysctl.conf 파일을 열어 다음 내용을 추가한다.

kernel.shmmax=2147483648
kernel.sem=250 32000 100 128
fs.file-max=65536
net.ipv4.ip_local_port_range=1024 65000

여기서 수정한 커널 변수를 Linux를 리부팅하면 자동적으로 적용되겠지만, 다음과 같이 리부팅하지 않고 즉시 적용이 가능하다.

su - root
sysctl- p

소프트웨어 패키지 확인(RPM)
오라클 10G R2를 설치하기 위해 다음과 같은 패키지가 사전에 설치되어 있어야 한다.
make-3.79.1
gcc-3.2.3-34
glibc-2.3.2-95.20
compat-db-4.0.14-5
compat-gcc-7.3-2.96.128
compat-gcc-c++-7.3-2.96.128
compat-libstdc++-7.3-2.96.128
compat-libstdc++-devel-7.3-2.96.128
openmotif21-2.1.30-8
setarch-1.3-1
libaio-0.3.96-5

다음 명령어로 확인할 수 있다.
rpm -q make gcc glibc compat-db compat-gcc comopat-gcc-c++ compat-libstdc++ compat-libstdc++-devel
openmotif21 setarch libaio

설치되지 않았거나 구버전이 설치되어 있다면, 알아서 구해 설치하도록 한다. 물론 꼭 없어도 오라클의 기본적인 설치와 구동은 가능하지만, 오라클 10g r2의 모든 기능을 정상적으로 사용하기를 원한다면 설치하도록 권장한다.

설치법은 yum install 설치할rpm이름

오라클 10g r2는 Linux에 설치할 때 Linux 소프트웨어 패키지를 확인하여 지원 가능한 Linux에만 설치를 진행한다.
오라클 10g r2는 Redhat Linux를 지원하므로 Redhat Linux 인것처럼 속이도록 한다.

su - root
cat > /etc/redhat-release << EOF
Red Hat Enterprise Linux AS release 3 (Taroon)
EOF

오라클 설치가 끝난 후 다시 삭제하면 된다. (삭제하지 않아도 별 문제 없음)

이렇게 하면 오라클 OUI (Oracle Universal Installer)가 Redhat Linux로 인식하여 정상적으로 설치를 진행할 수 있다.

oracle 계정 생성 및 .profile 편집
오라클 10g r2를 설치하고 운영하기 위해서는 적절한 Linux 사용자 계정이 필요하다. 물로느 아무 계정이나 만들어서 설치해도 되고, root에 설치해도 상관 없지만, 원할한 설치와 운영을 위해서는 꼭 별도의 오라클 계정으로 생성하여 설치하도록 권장한다.
oracle 계정을 생성하여 dba 그룹에 소속하도록 한다.

dba 그룹 생성(gid를 700으로 설정)
groupadd -g 700 dba

oracle 계정 생성(uid를 700으로 설정하고 소속 그룹을 dba로 하였다.)

useradd -u 700 -c "Oracle Administrator" -s /bin/ksh -g dba oracle
passwd oracle

위와 같이 command를 사용해도 되지만, GUI 환경이 편하다면 GUI환경에서 그룹과 계정을 각각 생성하여도 상관없다.
oracle이 사용하는 shell은 ksh(Kohn shell)을 사용하도록 하였다.

oracle 계정의 .profile 파일을 수정하자. (없으면 생성한다.) 다음 항목을 추가한다.
아 혹시 .bash_profile이 있을수 있음. 있다면 이 파일에다가 해도 무방함.

export ORACLE_BASE=/u/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/10.2.0/db_1
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib


만일 oracle 계정의 shell을 ksh로 하지 않고, bash로 했다면, .profile 파일을 수정하지 않고, 아까 위에서 말한데로
.bash_profile 파일을 수정하도록 한다.

여유 디스크 공간 확인 및 디렉토리 생성
오라클 10g r2를 설치하기 위해서는 최소한 1GB 이상의 디스크 공간이 필요한다.
또한, 오라클을 설치하기 전에 필요한 디렉토리는 미리 생성해 두는 것이 좋다.
일반적으로 오라클 S/W와 Datafile(실제 데이터가 저장되는 공간)의 물리적인 위치를 별도로 지정하는 것이 좋다.
oracle 계정의 home 디렉토리와 오라클 S/W가 설치되는 곳은 달라도 상관 없다.

우선, 오라클 S/W는 /u/app/oracle/product/10.2.0/db_1에 설치하도록 하자. (Datafile 및 기타 파일의 위치는 오라클 설치 후 DB생성시 고려하면 되겠다.)

su - root
mkdir -p /u/app/oracle/product/10.2.0/db_1
chown -R oracle:dba /u/app/oracle

오라클 10g r2 설치
oracle 계정으로 switch user (su)한 다음, 다운받은 오라클 설치 파일을 압축해제한 디렉토리로 이동하여 runInstaller를 실행한다.
(GUI 환경에서 해야 함으로 원격으로 접속하지 말고 로컬에서 접속해서 하자 오라클 계정으로..)
만약 runInstaller를 실행하는데 에러가 발생할경우 libXP가 없다고 하면 설치하면 된다.

- 설치방식 선택..기본으로 하면 좋겠지만 그래도 배운다고 생각하고
고급설치 - "다음" 클릭

-인벤토리 디렉토리 및 인증서 지정
인벤토리 디렉토리에 대한 전체 경로 입력 (제품에 대한 설치정보를 저장하는 곳이며 약 150KB정도가 사용된다.)
-> /u/app/oracle/oraInventory
운영체제 그룹 이름 지정 (oracle을 설치하는 Linux 계정이 속한 그룹명을 입력하면 된다.)
-> dbs
"다음"클릭

- 설치유형 선택
사용자정의(보통 Enterprise Edition을 선택하면 되지만, 여기서는 필요한 부분만 최소용량으로 설치하기 위해 사용자 정의를 선택하였다.) - "다음"클릭

-홈 세부 정보 지정
이름(oraInventory 내에 저장하기 위한 이름으로 특별한 의미는 없으며 추후 설치된 오라클을 제거할 때의 이름으로 사용되므로 적절히 입력하거나 입력되어 있는 내용을 그대로 사용하면 된다.)
->OraDB10g_home1
경로(.profile에서 ORACLE_HOME으로 지정한 디렉토리가 입력되어 잇을 것이다. 확인하고 틀렸으면 수정하자)
->/u/app/oracle/product/10.2.0/db_1
-> "다음"클릭

-사용가능한 제품 구성 요소(설치 유형에서 "사용자정의"를 선택하였기때문에 제품 구성요소를 선택하여 설치를 할 수 있다. Enterprise Edition을 선택했다면 이 화면은 나타나지 않는다.)
-> Oracle Programmer 10.2.0.1.0 체크 해제
-> Oracle XML Developer Kit 10.2.0.1.0 체크 해제
(나머지 항목은 그대로)
"다음"클릭

-제품별 필요 조건 검사
사전에 커널변수와 필요한 패키지들을 미리 세팅해두었다면 큰 무리 없이 통과가 가능하다. 만일, 상태 항목에 "경고"라는 문구가 있는 항목이 있으면 아래 내용을 읽어보고 조치한 후 "재시도"버튼을 클릭하면 되고, 귀찮으면 "경고"바로 좌측에 있는 체크박스를 모두 클릭한 후 "다음" 클릭

-권한 부여된 운영체제 그룹
데이터베이스 관리자(OSDBA)그룹 -> dba
데이터베이스 운영자(OSOPER) 그룹 -> dba
(국내의 경우 관리자와 운영자가 동일한 경우가 대부분이지만, 외국의 경우 실제로 관리자와 운영자가 분리되어 있으므로 이러한 선택사항이 있는 것으로 보임)
"다음"클릭

- 데이터베이스 생성
데이터베이스 소프트웨어만 설치
"다음"클릭

-요약... 설치

- 구성스크립트 실행

-----------------------------------------------------------------------

오라클 실행
1. oracle 계정으로 접근
2. sqlplus /nolog
3. sql > conn /as sysdba
4. sql > startup
5. sql > exit
6. lsnrctl start

오라클 내리기
1. 관련 서비스를 물고 있는 톰켓이 있을 경우 톰켓을 내린후에 실행하면 빠름.
2. 오라클 계정으로 접근
3. sqlplus /as sysdba
4. shutdown immediate

오라클 에러부분..

ORA-12162: TNS:net service name is incorrectly specified
:sid를 제대로 설정해주지 않았다. 설치시 sid설정부분에 입력했던 명을 .profile(혹은 .bash_profile)에다가
입력해준다.

export ORACLE_SID=orcl

Posted by 랩퍼우