서론
오라클을 리눅스에 설치 해볼 일이 생겨서 설치를 해보았다. 나중에 또 설치 할일이 생기면 찾아 보면서 찾기 힘들 것 같아서 포스팅 해본다.
본론
요구사항 확인 및 사용자 생성
패키지 요구 사항 클릭
추가 소프트웨어 요구사항 클릭
위의 요구 사항들을 확인 한 뒤 관련 패키지들을 설치해 준다. 필자는 Linux6이라 아래가 필요함
binutils-2.20.51.0.2-5.11.el6 (x86_64) compat-libcap1-1.10-1 (x86_64) compat-libstdc++-33-3.2.3-69.el6 (x86_64) compat-libstdc++-33-3.2.3-69.el6.i686 gcc-4.4.4-13.el6 (x86_64) gcc-c++-4.4.4-13.el6 (x86_64) glibc-2.12-1.7.el6 (i686) glibc-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6 (x86_64) glibc-devel-2.12-1.7.el6.i686 ksh libgcc-4.4.4-13.el6 (i686) libgcc-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6 (x86_64) libstdc++-4.4.4-13.el6.i686 libstdc++-devel-4.4.4-13.el6 (x86_64) libstdc++-devel-4.4.4-13.el6.i686 libaio-0.3.107-10.el6 (x86_64) libaio-0.3.107-10.el6.i686 libaio-devel-0.3.107-10.el6 (x86_64) libaio-devel-0.3.107-10.el6.i686 make-3.81-19.el6 sysstat-9.0.4-11.el6 (x86_64)
On Oracle Linux 6, Red Hat Enterprise Linux 6, and Asianux Server 4:
-
unixODBC-2.2.14-11.el6 (x86_64)
or later -
unixODBC-2.2.14-11.el6.i686
or later -
unixODBC-devel-2.2.14-11.el6 (x86_64)
or later -
unixODBC-devel-2.2.14-11.el6.i686
or later
오라클을 설치 하려면 사용자 계정이 따로 필요하다.
아래 처럼 그룹 만들고 oracle 유저를 만들면서 그룹 줘버림
#groupadd oinstall #groupadd dba #useradd -g oinstall -G dba oracle #passwd oracle
커널 및 자원 제한 설정
fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.shmall = 2097152 kernel.shmmax = 536870912 kernel.shmmni = 4096 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
위처럼 커널 파라미터 값을 오라클에서 권장한 값으로 바꾸어 주어야 한다. 아래 명령어를 쳐서 수정 한 뒤 확인을 해보면 아래와 같다
#vi /etc/sysctl.conf 위에 맞게 수정 한 뒤 :wq #/sbin/sysctl -p net.ipv4.ip_forward = 0 net.ipv4.conf.default.rp_filter = 1 net.ipv4.conf.default.accept_source_route = 0 kernel.sysrq = 0 kernel.core_uses_pid = 1 net.ipv4.tcp_syncookies = 1 kernel.msgmnb = 65536 kernel.msgmax = 65536 kernel.shmmax = 536870912 kernel.shmall = 2097152 kernel.shmmni = 4096 fs.aio-max-nr = 1048576 fs.file-max = 6815744 kernel.sem = 250 32000 100 128 net.ipv4.ip_local_port_range = 9000 65500 net.core.rmem_default = 262144 net.core.rmem_max = 4194304 net.core.wmem_default = 262144 net.core.wmem_max = 1048576
여기까지 진행 후에 이제 oracle 유저로 접속하여 자원 제한 설정을 해 준다.
#vi /etc/security/limits.conf 아래 내용 추가 후 :wq oracle soft nproc 2048 oracle hard nproc 65536 oracle soft nofile 1024 oracle hard nofile 65536 oracle soft stack 10240
다른 서버라면 호스트명 FQDN 으로 변경하기
로컬에 설치하는 것이 아닌 다른 서버에 설치 하기위해서는 FQDN의 형식의 호스트명이 필요하다고 한다. rebin.tistory.com 식으로 아이디, 주소명의 형태의 호스트명이어야 한다. 물론 자기 로컬에 설치할 때는 패스 해도 되는 부분이다.
설치할 해당 서버에 접근 하여 아래 그림들을 참고하여 수정 해준 뒤 dnsmasq를 리스타트 해주자.
#vi /etc/hosts 수정 후 :wq #vi service dnsmasq restart #host oracle.test.co.kr 해당 IP주소가 잘 나오면 성공
사용자 설정 및 설치 준비
오라클을 설치할 폴더의 권한을 주고 사용자 환경 변수를 수정 한다.
#mkdir -p /u01/app/oracle #chown -R oracle:oinstall /u01/app/oracle #chmod -R 775 /u01/app/oracle #mkdir -p /u01/app/oraInventory #chown -R oracle:oinstall /u01/app/oraInventory #chmod -R 775 /u01/app/oraInventory #mkdir -p /data/database/oracle #chown -R oracle:oinstall /data/database/oracle #chmod -R 775 /data/database/oracle #vi /home/oracle/.bash_profile
아래의 내용 들을 추가 한다.
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_BASE=u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/db_1
export ORACLE_HOME_LISTNER=$ORACLE_HOME/bin/lsnrctl
export ORACLE_SID=ORCL
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export PATH=$ORACLE_HOME/bin:$PATH
다운로드 받은 압축파일을 받아 설치를 진행해 본다.
#mkdir -p /app/oracle #su - oracle $unzip linux.x64_11gR2_database_1of2.zip $unzip linux.x64_11gR2_database_2of2.zip $cd database/runInstaller
Check if the DISPLAY variable is set. 오류
오라클을 리눅스에 설치할 때에는 GUI환경에서 설치를 해야 한다. x-window 쪽의 오류로 아래 링크를 따라 들어가 조금만 설정 해주면 문제 없이 진행 된다. 그냥 export DISPAY=:0 하면 되는 것 같긴 함..
혹시나 링크가 추후에 깨질 수도 있어서 안의 내용을 아래에 퍼왔다.
root user로 변경한 후 xhost +를 실행
#xhost +
access control disabled, clients can connect from any host ->>나와도 상관없음.
#xclock(화면에 UI로 아날로그 시계가 뜬다. 시계를 닫고)
#xterm(다른 화면으로 터미널이 뜬다. user는 root이다.)
#xclock (다시 시계가 뜨는지 확인후 시계를 닫는다.)
#echo $DISPLAY(display를 확인한다.)
:0
#su – oracle(오라클 계정으로 변경)
$xclock(시계가 뜨는지 확인한다.- 아마도 에러가 날것이다.)
Error: can’t open display
$export DISPLAY=:0(DISPLAY 값을 root계정의 DISPLAY 값과 동일하게 맞춰 준다.)
$xclock (다시 시계가 뜨는지확인)
설치과정
1. 인스톨 화면이 뜬다.
2. 아래 체크 풀고 다음
3. 오류창 뜨면 YES 누르고 진행
4. Create and configure a database 선택 후 다음
5. Server Class 선택 후 다음
6. Single Instance.. 선택 후 다음
7. Advanced install 선택 후 다음
8. Korean 추가 한 뒤 다음
9. Enterprise Edition (4.29GB) 선택 후 다음
10. 기본 값 대로 놓고 다음
11. Group Name 을 oinstall 선택 후 다음
12. General Purpose / Transaction Processing 선택 후 다음
13. Global database name 과 Oracle Service Identifier (SID) 항목 입력 후 다음
14. 해당 탭은 기본으로 놓고 다음 탭 선택
15. 다국어 지원을 위해서 두번째 선택 후 다음 탭
16. 체크 후 다음 탭
17. 체크 후 다음
18. Use Database Control for database management 선택 후 아래 적지 않고 다음
19. 기본값 설정으로 놓고 다음
20. 기본값 설정으로 놓고 다음
21. 비밀번호 설정 부분인데 다 통일하게 하기 위해 아래에 기입하고 다음
22. 둘다 dba로 놓고 다음
23. 설치하기 직전 누락된 패키지나 설정에 대한 검사를 하는 부분이다. 높은 버전의 패키지가 깔려 있을 경우 실패로 나올 수도 있다. 위에서 모두 다 설치 해주었었으므로 ignore All 체크 후 다음을 누르면 된다.
혹시 pdksh 관련 패키지가 없다고 보이면 아래 링크에서 다운 받아 설치를 진행한다. 의존라이브러리 관련 메세지가 뜨는데 무시하고 설치 하기 위해 아래와 같이 설치를 한다.
$rpm -Uvh --nodeps pdksh-5.2.14-8.i386.rpm
24. 설치할 정보 목록 확인 후 완료
25. 설치가 완료되면 Database Configuration Assistant 라는 창이 뜨는데 여기서 비밀번호나 계정 락을 풀기 위해 사용 할 수 있다. 설정을 할 거면 클릭 후 아래와 같은 창에서 입력 뒤 확인을 누르면 된다.
26. root권한으로 sh 파일 실행하라고 나오는 창이다. 터미널 하나 띄워서 그대로 실행하면 된다.
실행 한 뒤 오케이를 누르면 아래와 같이 완료 창이 뜬다.
각종 명령어들
당연히 오라클 유저로 해야 된다.
Network Configuration Assistant(NETCA)
$ORACLE_HOME 이동 후
$netca
Database Configuration Assistant.(DBCA)
$ORACLE_HOME 이동 후
$netca
$lsnrctl start 리스너 기동 $lsnrctl status 리스너 기동 여부 $lsnrctl stop 리스너 중지 $emctl start dbconsole EM 기동 $emctl status dbconsole EM 기동 여부 $emctl status agent EM 상태 $emctl stop dbconsole EM 중지 $sqlplus "/ as sysdba" sqlplus 접속
SQL>startup DB 인스턴스 시작 SQL>shutdown DB 인스턴스 중지 SQL> DB 인스턴스 중지 SQL>shutdown DB 인스턴스 중지 SQL>shutdown DB 인스턴스 중지 SQL>create user 아이디 identified by 비밀번호 계정생성 SQL>grant connect,resource to 아이디 권한주기 SQL>alter user 아이디 account unlock 락 풀기
결론
뭐 되게 어렵진 않고 할만하다..