본문 바로가기
호기심_메모

우분투에 오라클 설치하기

by 겸손, 빚진자, 늘 배우는 사람, 배운것을 실습해보는 사람 2021. 8. 13.
반응형

| 오라클 설치

 

|| 설치 준비

버젼확인

uname -r

 

모든 패키지 수정 및 업그레이드

오라클에 필요한 패키지 설치

apt-get install elfutils libaio1 libaio-dev sysstat lesstif2 lesstif2-dev build-essential rpm original-awk ksh alien libstdc++6-4.4-dev

 

오라클 사용자 그룹 및 사용자 추가

addgroup dba
addgroup oinstall
addgroup nobody
useradd -m oracle -g oinstall -G dba -s /bin/bash
usermod –g nobody nobody
passwd oracle
(패스워드 : toor)

 

오라클 설치를 위한 디렉토리 생성 및 접근모드 변경

mkdir /oracle
mkdir /oracle/11g
chown –R oracle:oinstall /oracle
chmod –R 755 /oracle

 

오라클 설치를 위한 커널 파라미터 수정

# sudo vi /etc/sysctl.conf
fs.file-max = 65535
kernel.shmall = 2097152
kernel.shmmax = 2147483648
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 1024 65000
net.core.rmem_default = 1048576
net.core.rmem_max = 1048576
net.core.wmem_default = 262144
net.core.wmem_max = 262144

 

시스템을 재시작하여 oracle로 로그인

sysctl.conf 설정을 다시 읽어들이는 명령어이다.

 # sudo sysctl -p

다음으로 limit.conf 파일을 수정한다.

다음의 내용을 /etc/security/limits.conf 파일에 삽입한다.

# sudo vi /etc/security/limits.conf
oracle soft nproc 2047
oracle hard nproc 16383
oracle soft nofile 1023
oracle hard nofile 65535

 

 /etc/security/limits.conf 파일의 수정이 완료되었으면 다음으로

 /etc/pam.d/login 파일을 열어서 다음 라인을 추가한다.

 # sudo vi /etc/pam.d/login
 session required /lib/security/pam_limits.so
 session required pam_limits.so

 

환경변수 설정
다음으로 오라클 기동에 관련한 환경변수를 설정한다.

심볼릭 링크를 잘못 만들었을 때는 -sf 옵션을 준다.

만약 디렉토리 심볼릭 링크가 다른 위치에 존재할 경우 “dpkg -S 패키지명을 이용하여 위치를 알아본다.

ln -s /usr/bin/awk /bin/awk
ln -s /usr/bin/rpm /bin/rpm
ln -s /lib/libgcc_s.so.1 /lib/libgcc_s.so
ln -s /usr/bin/basename /bin/basename

 

심볼릭 링크 생성 시 오류메세지가 나온다면 앞서 패키지 설치가 되지 않았다는 의미이므로 다시 패키지를 설치한다.

@오류@ => java설치 필요

 

repository 추가

apt-get purge openjdk*       : 패키지 제거
 
add-apt-repository ppa:webupd8team/java
apt-get update
apt-get install oracle-java7-installer

참고 : http://leechwin.tistory.com/15

  

그 다음 /etc/profile에 환경변수 설정을 한다.

$sudo vi /etc/profile
export ORACLE_BASE=/oracle
export ORACLE_HOME=/oracle/11g
export ORACLE_SID=oracle
export PATH=$PATH:$ORACLE_HOME/bin

 

오라클 계정으로 로그인하여 설치파일의 압축을 푼다.

 

unzip linux_11gR2_database_1of2.zip
unzip linux_11gR2_database_2of2.zip

 

 참고 : http://pchero21.com/?p=873

 

./runInstraller를 실행

※ 에러

Checking monitor: must be configured to display at least 256 colors
    >>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set.    Failed <<<<

 

- 해결방안

xdpyinfo 실행파일의 경우

 

로그인 화면에서 로그인한 계정만 실행시킬 수 있다.

 

따라서 oracle 설치시에 root로 로그인해서 su - oracle 명령을 이용하여 오라클을 설치하려고 한다면

 

xpdyinfo 파일을 실행시키지 못하기 때문에 오라클 설치화면을 띄울 수 없다.

 

그러니 설치하고 싶으면 root계정에서 로그아웃하여 다시 oracle 계정으로 로그인하면 된다.. 

출처 : http://krids.tistory.com/68

 

 

desktop 버젼으로 설치

Administratarive password oracle11g로 설정

 

 

 

 에러

<username> is not in the sudoers file.  This incident will be reported

sudo 
명령을 이용할때 나타나는 문구이다.

- 해결방안

/etc/sudoers  파일을 수정한다
<username> ALL=(ALL) ALL

다른 방법
#> echo 'USERNAME ALL=(ALL) ALL' >> /etc/sudoers모든 명령을 패스워드 입력없이 사용하도록 허락하는 방법은 다음과 같다
#> echo 'USERNAME ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

 

 

root로 실행하였으나 변화없음

 

모두 무시하고 진행

 

 

 에러발생

error in invoking target 'client_sharedlib' of makefile

 

- 해결방안

아래 명령어 입력 후 retry





$ sudo ln -sf /usr/lib/i386-linux-gnu/libpthread_nonshared.a /usr/lib/
$ sudo ln -sf /usr/lib/i386-linux-gnu/libc_nonshared.a /usr/lib/
$ sudo ln -sf /usr/lib/i386-linux-gnu/libstdc++.so.6 /usr/lib/
$ sudo ln -sf /lib/i386-linux-gnu/libgcc_s.so.1 /lib/

출처 : http://ioriy2k.pe.kr/archives/712

 에러발생

error in invoking target install' of makefile

 

- 해결방법

$ vi $ORACLE_HOME/ctx/lib/env_ctx.mk 에서

/를 이용하여 INSO_LINK 문자열로 검색 후

INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa...

INSO_LINK = -L$(CTXLIB) $(LDLIBFLAG)m $(LDLIBFLAG)dl $(LDLIBFLAG)sc_ca $(LDLIBFLAG)sc_fa.. 와 같이 수정하였으나 안되네..

출처 : http://www.ischo.net/?mid=oracle&page=2&document_srl=1139

- 해결방법

glibc-devel 때문에 발생

출처 : http://web-dev.tistory.com/archive/200904

 

- 해결방안 : ??

 

출처 : http://dba1.tistory.com/category/System

 

- 해결방안 : ??

해결방안: compat-gcc-7.3-2.96.126.i386.rpm (gcc 2.96) 인스톨하고 GCC 바이너리를 교체한다

출처 : http://samspia.blogspot.kr/2006_06_01_archive.html

 

- 해결방안 : ??

vi $(ORACLE_HOME)/ctx/lib/ins_ctx.mk 파일을 열어서

ctxhx: $(CTXHXOBJ)

        $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) 

ctxhx: $(CTXHXOBJ)

        $(LINK_CTXHX) -ldl $(CTXHXOBJ) $(INSO_LINK) 와 같이 변경

출처 : http://database.sarang.net/?inc=read&aid=19594&criteria=oracle&subcrit=&id=&limit=20&keyword=&page=11

 

- 해결방안

apt-get install libstdc++5   =>> 성공

출처 : http://ioriy2k.pe.kr/archives/656

 

 에러

error in invoking target ‘agent nmhs' of makefile

 

- 해결방안 => 성공

vi /oracle/11g/sysman/lib/ins_emagent.mk

$(SYSMANBIN)emdctl:

        $(MK_EMAGENT_NMECTL)

$(SYSMANBIN)emdctl:

        $(MK_EMAGENT_NMECTL) -lnnz11 로 변경

출처 : http://blog.daum.net/data333/73

 

 에러

error in invoking target ‘all_no_crcl' of makefile

 

 

vi /oracle/11g/rdbms/lib/env_rdbms.mk 파일에서

KFED_LINKLINE=$(LINK) $(S0MAIN) $(SSKFEDED) $(SKFEDPT)  \

KFED_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFEDED) $(SKFEDPT)  \로 수정

KFOD_LINKLINE=$(LINK) $(S0MAIN) $(SSKFODED) $(SKFODPT) $(KFODOBJ) \ 

KFOD_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFODED) $(SKFODPT) $(KFODOBJ) \로 수정

KFNDG_LINKLINE=$(LINK) $(S0MAIN) $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \ 

KFNDG_LINKLINE=$(LINK) $(S0MAIN) -Wl,--no-as-needed $(SSKFNDGED) $(SKFNDGPT) $(KFNDGOBJ) \ 로 수정

ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG)\
        $(SPOBJS) $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \ 

ORACLE_KERNEL_LIBS=$(LLIBSKGTR) $(LLIBPERFSRV) $(NAETTOBJS) $(CONFIG)\
        $(SPOBJS) -Wl,--no-as-needed $(LLIBSERVER) $(LLIBODM) $(LLIBSAGE) \
로 수정

/oracle/11g/bin/genorasdksh 파일에서

$LD $LD_RUNTIME $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \

$LD $LD_RUNTIME -Wl,--no-as-needed $LD_OPT $LD_OUT $LD_SELF_CONTAINED $BASE_LIB \로 변경

/oracle/11g/srvm/lib/ins_srvm.mk 파일에서

GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) \

GETCRSHOME_LINKLINE=$(LINK) $(LDPATHFLAG)$(RDBMSLIB) $(CDEBUG) $(OPT) $(GETCRSHOME_OBJ1) -Wl,--no-as-needed \로 변경

/oracle/11g/network/lib/env_network.mk 파일에서

TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) $(LINKTTLIBS) $(LLIBONS) \

TNSLSNR_LINKLINE=$(LINK) $(TNSLSNR_OFILES) -Wl,--no-as-needed $(LINKTTLIBS) $(LLIBONS) \로 변경

출처 : http://ioriy2k.pe.kr/archives/712

 

setup files로 진입 성공, 시간이 많이 소요되며, 항목이 추가됨

 

 

 

 

 

/etc/oratab 파일에서 프로파일 수정

oracle:/oracle/11g:N을  oracle:/oracle/11g:Y로 변경

 

/oracle/11g/bin/dbstart에서 오라클 리스너의 절대 패스 수정

ORACLE_HOME_LISTNER= 부분을

 ORACLE_HOME_LISTNER=/oracle/11g 로 수정

 

 

 

728x90

'호기심_메모' 카테고리의 다른 글

[sqlite3] adb로 db 보기  (0) 2021.08.13
[원격 ADB] 여러대의 스마트폰에 쉽게 접속하기  (1) 2021.08.13
무선랜 보안점검  (0) 2021.08.13
컴퓨터의 구조  (0) 2021.08.13
RPA(Robot Process Automation)  (0) 2021.08.13