본문 바로가기

야비한 IT

XTerm을 이용한 오라클 10g 깔기 PHP+APACHE+ORACLE

오라클 10g 설치하기 | [ORACLE 학습----]  2005.06.03 13:20 
 바람공주(miskorea24)  카페스탭   http://cafe.naver.com/q69/6378  님을 글을 기본으로 해서 내가 경험한 부분을 포함 간략하게 수정했다.


오라클을 설치하기 위한 준비
Oracle 10g를 설치하려면 몇몇 패키지가 반드시 설치되어 있어야 합니다.
확인 후 설치가 안된 패키지는 따로 설치해 줍니다.
[root@ora10 src]# rpm -q binutils gcc make openmotif

일단 위와 같이 입력해서 해당 pkg(패케지)가 설치되있는지 확인하고 없으면 rpm으로 설치하든 소스 컴파일을 하든 설치해줘야한다. 이거 검사해도 오라클 설치할때 시스템 환경 검사할때 없는 pkg가 나온다. 그러니 리눅스 설치할때 가급적이면 개발 관련 툴들은 모두 설치하는게 좋을것 같다.


리눅스용 오라클은 설치시에 Linking 까지 같이 하므로 반드시 그에 따른 Library 가 필요하다.

위의 RPM 들이 그것인데 만일 설치 안 한 RPM 들이 있다면 Linking 할 때 Invoke 에러를 접하게

될 것이다. 위의 RPM 들은 RedHat8.0 CD나 http://rpmfind.net 에서 구할수 있다.


1. 오라클 프로그램 다운로드
www.oracle.com에가면 우측에 최신 버전의 오라클이있다. 그거 받아서 설치하면 된다. express버전 말고 standard나 enterprise버전 설치해라..

 

받은 파일의 압축을 풀고 설치준비를 한다.


2. OS 환경 변경
오라클 10g는 자체적으로 테스트된 몇 가지의 OS만 설치되도록 체크하는 부분이 있습니다.
이를 위해 /etc/redhat-release 파일을 생성 후 레드햇 3 버전으로 만듭니다.
Oracle 10g를 설치하려면 인증된 운영체제만 설치가 가능하도록 하는 부분이 있습니다.
RedHat Linux Advanced Server 3 로 속입니다.

(CentOS인경우 안해도 된다.. 만일 설치하려고 하는데 해당OS는 설치할수 없다고 하면 위의 꽁수로 해봐라..나같으면 OS 다른걸로 바꿔서 까는게 더 낮지 않을까싶은데, 인터넷에 있는 설치 도움글들이 대부분 똑같다.. 아마도 한사람이 해놓은것을 조금씩 수정해서 그런가보다..)


# echo "redhat-3" > /etc/redhat-release

3. 사용자 및 그룹생성
아래의 명령으로 사용자 및 그룹을 생성합니다.
# groupadd dba
# groupadd oinstall
# useradd -g oinstall -G dba oracle
# passwd oracle
오라클이 설치될 디렉토리를 생성합니다. ---> 꼭 생성하지 않아도 /home/oracle를 디폴트로해도된다.


mkdir -p /u01/app/oracle
chown -R oracle.oinstall /u01
chmod -R 755 /u01/app/oracle

4. 커널 파라미터 수정
원래 공유메모리와 세마포어를 변경한 값을 적용하여 커널을 재컴파일 해야하지만
여건이 되지 않는 (필자도 커널 재컴파일 여건이 안된다.) 경우 소프트웨어적으로
공유메모리와 세마포어를 변경할 수 있다.
가장 마지막에 다음을 추가합니다.
/etc/sysctl.conf 파일에 뒷 부분에 아래와 같이 내용을 추가합니다.

[root@localhost ~]# cat >> /etc/sysctl.conf << eof

################################################
### Oracle 10g Kernel Parameters
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.rmem_default = 262144
net.core.rmem_max = 262144
net.core.wmem_default = 262144
net.core.wmem_max = 262144
fs.file-max = 65536
net.ipv4.ip_local_port_range = 1024 65000

################################################

웬만하면 위의 빨간부분은 다 적어줘라.. 특히 core어쩌구 하는 부분은 나중에 안적으면 설치시 오류 메세지 뜬다..


수정한 /etc/systl.conf의 파라미터 값을 새롭게 커널에 적용시킵니다.

[root@localhost ~]# /sbin/sysctl -p

5. 오라클 사용자의 환경변수 추가


/home/oracle/.bash_profile 파일의 뒤에 아래 내용을 추가합니다.

##############################################

export ORACLE_BASE=/u01/app/oracle  --> 오라클 설치될 디렉토리

export ORACLE_SID=ORCL   ----------->기억하기 쉬운걸로 해라. 그냥 다들 이렇게 하니까.. 이렇게 적어도 된다. 혹시 보안을 생각한다면 남들이 생각하지 못할걸로 바꿔도 뭐라 안한다.
export ORACLE_HOME=ORACLE_BASE/product/10.2.0

export PATH=ATH:ORACLE_HOME/bin
export DISPLAY=127.0.0.1:0.0
##############################################

관리자(root) 권한으로 아래의 명령을 실행합니다.
# xhost + 127.0.0.1
※ 위 명령은 반드시 해당 로컬서버에서 작업을 하셔야 합니다.(원격에서는 안됩니다.)
   (오라클 설치는 로컬서버에서 모든 작업을 하시는 것이 좋습니다.)
root 이외의 일반계정도 권한상관없이 엑스윈도우를 사용할수있게 하기위한 명령

위에 빨간색부분은 정말 공감되는 부분이다. 어쩔수 없는 상황이라 remote에서 설치했는데, 정말 돌아버리는줄 알았다.. 줸장..

혹시 나처럼 뻘짓을 해야하는 사람이 있을지몰라.. remote에서 설치하는 방법을 적겠다.

일단 root로 rhost + 엔터를 쳐라..

뒤에 설치때 사용하는 IP적어줘야 한다는데, 젠장.. 이거때문에 6시간 개피봤다.. 그냥 확실하게 모든 호스트에서 DISPLAY되도록 rhost + 해주면 된다. 설치끝나고 나면 rhost - 해서 해제 하던가 재부팅 한번 해주면 원래데로 된다. 참.. 이 명령은 xterminal에서 실행해야 된다. ㅋㅋㅋ...

순서가 바뀌었지만.. 다시..remote에서 설치하려면 우선 사용하는 윈도우 PC에 X서버를 설치해야한다.. 서버라니까 굉장한거 같지만.. 일종의 원격접속 비슷한거라 생각하면 된다. xmanager평가판과 xming을 사용해봤다.. 왜 두개나 해봤을까??? 위에서 적은 xhost +  때문이다.. 생각할 수록 욕나온다..암튼.. xmanager지우고(웬지 무거운거 같아서..) xming으로 설치했다.

xming사용법은 네이버한테 물어보면 잘 가르쳐준다..

난 xming과 secureCRT사용했다.

 

gnome_terminal 을 띄우고 아래를 따라하면 된다.

gnome_terminal은 xterminal이다..


6. 오라클 설치시작

※ 지금부터는 반드시 oracle 사용자 계정으로 실행해야 합니다.
   지금 root권한으로 로그인 되어있다면 로그아웃 하시고,
   oracle 계정으로 다시 로그인하시기 바랍니다.

오라클 설치 프로그램을 압축푼 장소로 이동하여, 아래 파일을 찾아서 실행시킵니다.
runInstaller

이명령을 내렸을때 여러 가지 에러가 뜰수있다. /home /tmp /home/oracle 등의 퍼미션을 다시한번
확인하자 755
※ 만약 글자가 깨져서 보인다면, 프로그램을 종료하고 아래명령을 입력한후 다시 프로그램을 실행합니다.
unset LANG

7. Welcome

환영인사 입니다. Next를 클릭합니다.


원래 이사이에 많이있었는데, 내가 설치할때 이것저것 물어보는거 없었다. 처음에 패스워드 입력하고 나면 지 혼자 시스템 설정 검사한다. 이때 위에 적은 파라메터 하고 rpm검사에서 이상없으면 모두 pass나온다.

혹시 유동 아이피 사용하는 사람이라면 fail나오는데 상관없다. 그냥 설치해라..

(여기서 또 한가지 내가 사용한 PC는 유동 아이피고 오라클이 설치되는 서버는 고정아이피인데.. 이넘이 xterminal을 사용해 원격설치를 해서 그런가 내 PC의 아이피 환경을 읽어버린듯 싶다.. 줸장...암튼 문제는 안된다.. --- 이건 보장할수 없음..ㅋㅋㅋ ^&^---


19. Install

....[설치 진행 중]....


자동으로 설치가 진행되는 동안, 차한잔 하면서 느긋하게 기다려줍시다.


20. Configuration Assistants

파일 설치 후 데이베이스 관련 파일들을 복사하고 오라클 인스턴스를 생성합니다.

70%이상 넘어가면서 패스워드 오류가 날 수 있습니다. 이는 무시하셔도 좋습니다. (난 안났다...)


모든 설치가 끝난 후, 각 오라클 시스템에 패스워드를 지정하려면 [Password Management]를 클릭하고,
아니면 [OK] 버튼을 클릭합니다.
21. Setup Privileges
[OK] 버튼을 클릭하면 root.sh 파일을 실행하라는 창이 나타납니다.
root 권한으로 아래와 같이 스크립트 파일을 실행합니다.
# /u01/app/oracle/product/10.2.0/root.sh

처음 설치라면 이거말고 또하나 실행하라는 스크립트 있다.. 영어로만 나온다고 무조건 클릭하지말고.. 쫌 읽어보고 눌러라..


22. End of Installation

이제 설치가 모두 종료되었습니다. Exit 버튼을 눌러서 프로그램을 종료합니다.


* 추가 덧글
데이타베이스를 기동만 하면 안되죠 외부에서 접속하도록 리스너를 띄워야 합니다.
우선 listener.ora 파일을 수정합니다.
==> listener.ora tnsnames.ora 두 파일때문에 6시간 삽질했다.

해결은 됐는데 뭐가 문제였는지 아직도 모르겠다.. 이게 나의 한계다.. 오.. 또 줸장...


lsnrctl start
리스너의 기동을 확인합니다.
netstat -a | grep 1521
tcp 0 0 해당ip:1521 *:* LISTEN

절대
tcp 0 0 서버명:1521 *:* LISTEN
으로 나오면 위 설정중 HOST의 내용을 확인하세요. 데이타베이스를 기동만 하면 안되죠 외부에서
접속하도록 리스너를 띄워야 합니다.

Database 시작과 종료
①오라클 데이터베이스 시작하기
Database 의 시작과 종료는 반드시!! Oracle 계정으로 수행해야 합니다.
[root@ora10 /]# su oracle
oracle 계정으로 로그인 후 oracle 계정의 환경설정을 reload 합니다.
(처음부터 오라클 계정으로 로그인 하였다면 이 과정은 불필요합니다.)
[oracle@ora10 /] sqlplus /nolog
SQL>connect / as sysdba
SQL> startup

오라클 데이터베이스를 시작하고 종료하기 위해서는 OS에서의 인증과 암호 파일을 생성하는
툴인 orapwd를 통해야 한다. 그리고 sys 스키마의 권한인 sysdba 권한과 public 스키마
권한인 sysoper 권한의 특별한 시스템 권한을 소유한 사용자이어야 한다.
· sysdba : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,
MOUNT, BACKUP, CHANGE, CHARACHER SET 절의 명령어 실행
· sysoper : 데이터베이스 시작/종료, 아카이브 및 복구 작업, ALTER DATABASE OPEN,
MOUNT, BACKUP 절의 명령어 실행
SQL> SELECT * FROM vversion;
현재의 오라클 데이터베이스 인스턴스의 버전 확인하기

②오라클 데이터베이스 종료하기
[oracle@ora10 /] sqlplus /nolog
SQL> connect / as sysdba
SQL> shutdown immediate
SQL> exit


③oratab 파일 편집하기
오라클 데이터베이스를 /etc/rc.d/ini.d에 스크립트로 설정하여 자동으로 실행하게 하여봅시다.

[root@ora10 /]# vi /etc/oratab
다음 부분을 수정 ([SID], [ORACLE_HOME], [자동실행/종료 플래그]로 구성되어 있습니다.)
ora10:/opt/oracle/product/10.1.0/db_1:Ne
ora10:/opt/oracle/product/10.1.0/db_1:Y


④Parameter 파일 링크
xxxxxxxxxxxx은 일정치 않은 숫자 입니다.
[root@ora10 /]# cp /opt/oracle/admin/ora10/pfile/init.ora.xxxxxxxxxxxx \
/opt/oracle/product/10.1.0/db_1/dbs/initora10.ora

==>여기서 또 나를 4시간 동안 삽질하게끔 만든게 있다.. 노트북에 오라클 설치해서 imp했을때는 NLS_CHARACTERSET때문에 imp가 안되더니, 이번에 NLS...맞춰주고 imp를 하는데 안되는거다.. 으헉~~ 문제는 undo segment때문이었다.. 이것데 네이버에 물어보믄 숱하게 나온다.. 근디 정작 내게 맞는 답은 아니었다.. 조 위 파일에 undo_management=MANUAL로 되있는거 auto로 바꿔주면 OFFLINE으로 되있던 것들이 ONLINE으로 죄다 바뀐다.. 당근 오라클 재시동해야지.. 몬소린지 모를것이다.. 나중에 데이터 imp하거나 insert하려고 하는데 IMP-00017 ORA-000기억안난다.. 이거 나오면 환장한다..


⑤/etc/rc.d/init.d 에 등록하기
oracle10g 스크립트를 /etc/rc.d/init.d 에 복사합니다.
[root@ora10 /]# cp /usr/local/src/oracle-10.1.0.2.0 /etc/rc.d/init.d/
oracle10g에 실행권한을 부여합니다.
[root@ora10 /]# chmod 755 /etc/rc.d/init.d/oracle10g
시스템에 oarcle10g 데몬을 등록한다.
[root@ora10 /]# chkconfig --add oracle10g
[root@ora10 /]# chkconfig --level 2345 oracle10g on
Oracle Database를 재시작 시켜본 후, LISTENER 데몬이 띄워져 잇는지 확인합니다.
[root@ora10 /]# /etc/rc.d/init.d/oracle10g start
[root@ora10 /]# ps ax | grep LISTENER

현재 설치된 오라클의 NLS값 확인하는 SQL(문자셋을 바꿔야 하는 경우만 사용해라.. 괜히 나중에 뒷골땡기지 말구...)

select * from sys.props$ where name='NLS_CHARACTERSET';
select * from sys.props$ where name='NLS_LANGUAGE';

update sys.props$ set value$='KO16KSC5601' where name='NLS_CHARACTERSET';
update sys.props$ set value$='KO16KSC5601' where name='NLS_NCHAR_CHARACTERSET';
update sys.props$ set value$='AMERICAN_AMERICA.KO16KSC5601' where name='NLS_LANGUAGE';


암튼 간만에 오라클 설치하다 뒤질뻔했다.. 열받아서..

그래도 24시간만에 설치했으니.. 선방이라고 생각하고.. 그동안 잊고 지냈던 오라클이 새록새록.. 날 열받게 한다..


쩝.. 인제.. 프로그램짜느라 열받아 죽을지도 모른다...