Oracle 11g 설치 (CentOS 7, VMware player 15)
https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
압축 파일이 2개죠. 둘 다 받아줍니다.
yum -y install compat-libstdc++-33.x86_64 binutils elfutils-libelf elfutils-libelf-devel
yum -y install glibc glibc-common glibc-devel glibc-headers gcc gcc-c++ libaio-devel
yum -y install libaio libgcc libstdc++ libstdc++ make sysstat unixODBC unixODBC-devel
yum -y install unzip
yum -y install compat-libstdc++-33.x86_64 binutils elfutils-libelf elfutils-libelf-devel
한줄 쳐보고 complete! 확인 할 것
nothing to do 라면 latest version 설치되어있다는 문구 확인할 것
파라미터 설정
vi /etc/sysctl.conf
맨 아래에 값 추가
# Controls the maximum shared segment size, in bytes
kernel.shmmax = 68719476736
# Controls the maximum number of shared memory segments, in pages
kernel.shmall = 10523004
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
fs.aio-max-nr = 1048576
fs.file-max = 6815744
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 = 1048586
커널 파라미터 값 적용
# /sbin/sysctl -p
유저 자원 사용제한값 설정
# vi /etc/security/limits.conf
맨 아래에 추가
oracle soft nproc 2048
oracle hard nproc 65536
oracle soft nofile 1024
oracle hard nofile 65536
Selinux 설정 해제
# vi /etc/selinux/config
다음의 코드를 찾아 disabled로 변경해줍니다
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=disabled
오라클 유저 생성 및 비번을 설정해줍니다.
[root@localhost ~]# groupadd dba
[root@localhost ~]# useradd -g dba oracle
[root@localhost ~]# passwd oracle
오라클 설치 디렉토리 생성 및 oracle 계정 권한 부여
[root@localhost ~]# mkdir -p /app/oracle
[root@localhost ~]# chown -R oracle:dba /app
[root@localhost ~]# chmod -R 775 /app
Oracle 계정으로 접속 및 변수 저장
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ vi .bash_profile
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=orcl
export NLS_LANG=AMERICAN_AMERICA.AL32UTF8
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib:/usr/local/lib
export PATH=$PATH:$ORACLE_HOME/bin
# alias
alias ss='sqlplus / as sysdba'
맨 처음 다운받은 압축파일을 풀고 Oracle을 설치합니다.
같은 장소에 풀어주시면 됩니다.
[oracle@localhost ~]$ unzip linux.x64_11gR2_database_1of2.zip
[oracle@localhost ~]$ unzip linux.x64_11gR2_database_2of2.zip
압축을 해제하고 실행합니다.
[oracle@localhost ~]$ su - root
암호 :
[root@localhost ~]# xhost +
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ cd database
[oracle@localhost database]$ ./runInstaller
여기서 xhost+가 잘 안되시면,
[root@localhost ~]# yum install xorg*
[root@localhost ~]# export DISPLAY=localhost:0.0
[root@localhost ~]# su - oracle
[oracle@localhost ~]$ export DISPLAY=localhost:0.0
[oracle@localhost ~]$ cd database
[oracle@localhost database]$ ./runInstaller
>>>> Could not execute auto check for display colors using command /usr/bin/xdpyinfo. Check if the DISPLAY variable is set. Failed <<<<
에러가 날 경우 켜져있는 리눅스 서버를 모두 종료하고 다시 실행해주세요
[oracle@localhost ~]$ cd database
[oracle@localhost database]$ ./runInstaller
이래도 installer가 잘 안되는 분들은
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 (다시 시계가 뜨는지확인)
$./runInstaller
정상적으로 실행이되어 화면이 나온다
출처 : https://idchowto.com/?p=3067
마찬가지로 xterm을 이용해 installer가 정상적으로 돌아가기 시작했다.
이렇게 나오시면 다시 종료해주시고, 영어로 설정해서 다시 켜도록 합니다.
[oracle@localhost database]$ export LANG=C
[oracle@localhost database]$ export LC_ALL=C
[oracle@localhost database]$ ./runInstaller
다시 실행했을 때 다음과 같이 잘 나옵니다.
경로는 잊지 마세요 기억해두시는게 좋습니다.
저는 한 번 실패해서 dbhome_2로 다시 설치 중입니다. dbhome_1으로 되어있으시면 그냥 next
ignore all
설치 중에 이제 오류가 안나오면 그냥 넘어가시고, 나오면 대처해야합니다.
오류가 나왔습니다.
키워드로 구글링을 합니다.
ins_ctx.mk로 검색 혹은 error in invoking target 'install' of makefile
구글링 해보면 설치중인 창을 끄지말고, 라고 되어있는데 어떻게 해야하는지 제 경우엔 화면에 설치창이 꽉 차서 먹통이더라구요 다만 터미널이 삐져나와있어서 실행해보려하니, 입력이 안되어 그냥일단 continue 누르고 설치되는 중에 다음과 같이 대처합니다.
[oracle@localhost ~]$ cd /usr/oracle/app/product/11.2.0/dbhome_1/ctx/lib
[oracle@localhost lib]$ vi ins_ctx.mk
아래를
ctxhx: $(CTXHXOBJ)
$(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
이렇게 수정합니다.
ctxhx: $(CTXHXOBJ)
-static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK)
또 오류가 나왔습니다.
continue 누르고 설치하는 중에 또 수정합니다.
[oracle@localhost ~]$ cd /usr/oracle/app/product/11.2.0/dbhome_1/sysman/lib
[oracle@localhost lib]$ vi ins_emagent.mk
$(SYSMANBIN) emdctl:
$(MK_EMAGENT_NMECTL)
$(SYSMANBIN) emdctl:
$(MK_EMAGENT_NMECTL) -lnnz11
안내되어 있는대로 따라하시면 됩니다.
[root@localhost ~]# /usr/oracle/oraInventory/orainstRoot.sh
Changing permissions of /app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /app/oraInventory to dba.
The execution of the script is complete.
[root@localhost ~]# /usr/oracle/app/product/11.2.0/dbhome_1/root.sh
Running Oracle 11g root.sh script...
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /app/oracle/product/11.2.0/dbhome_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: [ENTER]키 누르세용
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root.sh script.
Now product-specific root actions will be performed.
Finished product-specific root actions.
창 종료 후 환경변수를 적용합니다.
[oracle@localhost database]$ source ~/.bash_profile
[oracle@localhost database]$ netca
netca not command 뜰 경우
[oracle@localhost ~]$ cd /app/oracle/product/11.2.0/dbhome_1/bin
[oracle@localhost ~]$ ./netca
next
next
next
next
1521포트 확인해주시고 next
no~ next 계속 next
password 설정해줍니다.
비번이 오라클에서 요구하는 조건에 충족되지 않는다 그런얘기입니다.
yes하고 넘어가고
UTF-8로 변경해 줍니다.
다음과 같이 나오면 이제 설치가 완료되었습니다. 설치완료로 알림이 나오는 경우에는 마찬가지로 읽어보시고 그 알림의 절차 수행해주시면 됩니다.