Project B 구성 2 : 설치 및 설정 (리눅스 / 자바 / 오라클 DBMS)

2019. 10. 16. 08:01Project B (SPMS)/Project B 준비

반응형

CentOS 7 리눅스 설치 및 설정


언어 : 한국어 선택
소프트웨어 : 그놈 응용 프로그램 
K덤프 : 비활성화
보안 정책 : 비활성화
설치대상 : 하드디스크 클릭 - 파티션 설정(수동) - 완료

- 파티션 세부 설정(수동)

우선, 왼쪽 하단에 존재하는  파티션들이 있으면 - 버튼으로 전부 삭제 후 아래의 내용대로 설정

  / : 7,000  
      root 로서, 시스템의 중요한 파일들이 설치되는 공간이다.  

  /boot : 500
      boot 관련된 중요한 파일들이 설치되는 공간이다.

  /var : 1,000  
      주요 시스템 로그나 메시지 등이 생성되는 공간이다.

  swap : 8000 
      스왑 메모리로 메모리가 부족할 경우 가상메모리로 사용되며 주로 RAM 의 1.5 배  
      에서 2배 정도 설정합니다. 

  /home : 10,000 
      일반 사용자의 홈 디렉터리로 각 사용자의 자료가 생성됩니다.  

  /app : 나머지  
      이 디렉터리에 오라클을 설치될 예정. 남은 용량 다 이 곳에 몰빵한다. 

(*) 위는 오라클 대용량 실습 위주로 할 설정 값이므로, 환경마다 차이가 존재한다.

 


기존 설치된 JAVA 삭제 

 

설치된 자바(JAVA) 버전 확인

su root 
rpm -qa | grep java 


설치된 자바(JAVA) 삭제 하기

(*) 위에 출력된 목록에 해당하는 자바를 삭제하면 된다

yum remove java-1.8.0-openjdk-headless-1.8.0.181-7.b13.el7.x86_64 
yum remove java-1.7.0-openjdk-headless-1.7.0.191-2.6.15.5.el7.x86_64 

(*) 만약, yum 에러 (Another app is currently holding the yum lock; waiting for it to exit)가 나면, yum process를 죽인다.

# ps -ef | grep yum  (프로세스 확인)

# kill -9 프로세스 아이디 (프로세스 죽이기) 


JDK 설치


현재 설치가능한 JDK 버젼 확인 

yum list java*jdk-devel 



JDK 설치 : 위에서 조회된 목록중에서 설치

yum install java-1.8.0-openjdk-devel.x86_64


JDK 설치 확인

java -version 
javac -version 

 


JDK 환경변수 설정


JAVAC 명령어 위치 확인 : (심볼릭 링크 위치)

which javac 

 

JAVA_HOME 설정 (맨 마지막 줄에 삽입) : bin/ 디렉토리의 앞까지

vi /etc/profile 
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.222.b10-0.el7_6.x86_64 

(*) 설치 버전에 따라 생성되는 디렉토리명도 상이해질 수 있으니, 반드시 export하기 전에 실존하는지 확인할 것.


수정한 파일 적용

source /etc/profile 


설정된 환경변수 확인

echo $JAVA_HOME 
$JAVA_HOME/bin/javac -version 

오라클 설치 준비

 

GUI 모드 설치 

sudo ln -sf /lib/systemd/system/runlevel5.target /etc/systemd/system/default.target 


필요 패키지 설치

sudo yum -y install binutils compat-libstdc++-33 compat-libstdc++-33.i686 ksh elfutils-libelf elfutils-libelf-devel glibc glibc-common glibc-devel gcc gcc-c++ libaio libaio.i686 libaio-devel libaio-devel.i686 libgcc libstdc++ libstdc++.i686 libstdc++-devel libstdc++-devel.i686 make sysstat unixODBC unixODBC-devel xclock xterm glibc-static.x86_64 glibc-static.i686 


Kernel parameter 수정 : Comment 처리

sudo vi /usr/lib/sysctl.d/00-system.conf 
# Disable netfilter on bridges. 
# net.bridge.bridge-nf-call-ip6tables = 0 
# net.bridge.bridge-nf-call-iptables = 0 
# net.bridge.bridge-nf-call-arptables = 0 


커널 파라미터 설정

sudo vi /etc/sysctl.conf 
net.ipv4.ip_local_port_range = 9000 65500 
fs.file-max = 6815744 
kernel.shmall = 10523004 
kernel.shmmax = 6465333657 
kernel.shmmni = 4096 
kernel.sem = 250 32000 100 128 
net.core.rmem_default=262144 
net.core.wmem_default=262144 
net.core.rmem_max=4194304 
net.core.wmem_max=1048576 
fs.aio-max-nr = 1048576 


설치계정 및 그룹 생성 : oracle

sudo groupadd -g 200 oinstall 
sudo groupadd -g 201 dba 
sudo useradd -u 440 -g oinstall -G dba -d /home/oracle oracle 
sudo passwd oracle 



Login 수정 : 하단의 # add line start 부분에서 # add line end 까지만 복사해서 해당하는 위치에 복사 

sudo vi /etc/pam.d/login 
# pam_selinux.so open should only be followed by sessions to be executed in the user context 
session    required     pam_selinux.so open 
session    required     pam_namespace.so 
# add line start 
session    required     pam_limits.so 
# add line end 
session    optional     pam_keyinit.so force revoke 
session    include      system-auth 
-session   optional     pam_ck_connector.so 


보안 관련 limit.conf 파일 수정

sudo vi /etc/security/limits.conf 
oracle   soft   nproc    2047 
oracle   hard   nproc    16384 
oracle   soft   nofile   1024 
oracle   hard   nofile   65536 

 

프로파일 수정 : /etc/profile

sudo vi /etc/profile  
if [ $USER = "oracle" ]; then 
      if [ $SHELL = "/bin/ksh" ]; then 
           ulimit -p 16384 
           ulimit -n 65536 
      else 
           ulimit -u 16384 -n 65536 
      fi 
fi 

 

selinux 환경설정 파일 수정

vi /etc/selinux/config
#SELINUX=enforcing 
SELINUX=disabled 


Oracle 환경 설정 폴더 권한 변경 및 유저 추가

sudo mkdir -p /app/oracle 
sudo mkdir /app/oracle/oradata 
sudo chmod -R 755 /app/oracle 
sudo chown -R oracle:oinstall /app/oracle 
chown -R oracle.dba /home/oracle 
chown -R oracle.dba /app 


오라클 유저 프로파일 수정

sudo vi /home/oracle/.bash_profile 
umask 022 

export ORACLE_BASE=/app/oracle 
export ORACLE_HOME=$ORACLE_BASE/product/11g 

 

오라클 설치 : 오라클이 설치된 단말에서 oracle 계정으로 로그인 후 작업 실시 

(*) Rebooting and Login

Do work with oracle user not root


Oracle DBMS 압축 해제

unzip ./linux.x64_11gR2_database_1of2.zip 
unzip ./linux.x64_11gR2_database_2of2.zip 

설치 

LANG=C
./runInstaller

혹은

runInstaller -jreLoc /usr/lib/jvm/jre 


오류 발생시 대책방안

[root@orclserver ~]# xhost + 
su - oracle 
export DISPLAY=192.xxx.xxx.110:0.0 (실제 사용하는 pc의 IP 주소) 

[oracle@orclserver database]# ./runInstaller -jreLoc /usr/lib/jvm/jre 


오라클 설치 : DBMS GUI 설치 화면

전자메일 스킵 
데이터베이스 소프트웨어만 설치(Install database software only) 
단일 인스턴스 데이터베이스 설치 
언어 : 영어, 한국어 
엔터프라이즈 에디션 
   - 옵션 : Oracle Partitioning만 선택 
설치 위치 
   - Oracle Base : /app/oracle 
   - 소프트웨어 위치 : /app/oracle/product/11g 
인벤토리 생성 
   - /app/oraInventory 
   - oinstall 
semmni 조건검사 무시하고 진행 


에러 대책 : ins_ctx.mk

sudo yum install glibc-static.x86_64 glibc-static.i686 
cd /app/oracle/product/11g/ctx/lib/ 

vi ins_ctx.mk 


아래와 같은 구문을 찾아서

[수정 전]

ctxhx: $(CTXHXOBJ) 

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


[수정 후]

ctxhx: $(CTXHXOBJ) 

    -static $(LINK_CTXHX) $(CTXHXOBJ) $(INSO_LINK) 
vi $ORACLE_HOME/sysman/lib/ins_emagent.mk 


[수정 전]

$(MK_EMAGENT_NMECTL) 


[수정 후]

$(MK_EMAGENT_NMECTL) -lnnz11 


재시도를 선택합니다.



구성 스크립트 실행

터미널에서 Root 권한으로 실행

/app/oraInventory/orainstRoot.sh 
/app/oracle/product/11g/root.sh  

오라클 DBMS 환경설정

 

vi ~/.bash_profile 
export PATH=$PATH:$ORACLE_HOME/bin 

source ~/.bash_profile 


오라클 리스너 설정 

 

LANG=C 
netca 
#Lisener configuration 
#Add 
#LISTENER 
#TCPS/IPC          TCP 
#Use the standard port number of 1521 
#No 
#finish 

 

오라클 데이터베이스 설정

dbca
Create a Database 
General Purpose or Transaction Processing 
Domain 
  - Global Database Name : minodb 
  - SID : minodb 
Configure Enterprise Manager 체크 해제 
Use the Same Administrative Password for All Accounts 패스워드 설정 

File System : Use Database File Locations from Template 
- File Location Variables : 자세한 정보 확인 

Specify Flash Recovery Area : 기본값 

Sample Schemas 체크! 

Memory 탭 - Typical : 기본값 
Character Sets 탭 
- Choose from the list of character sets : KO16MSWIN949 

Database Storage : Controlfile, Datafiles, Redo Log Groups 확인 

Create Database 


(*) 창이 | 이렇게 나올 경우가 있는데 디스플레이 해상도가 낮아서 그런 것이니 상하좌우로 확대시켜서 확인할 것

vi .bash_profile  
export ORACLE_SID=minodb 
source .bash_profile 


(*) bash_profile은 부팅 시에 날라가는 정보이므로, 부팅시에도 항상 적용되게 하려면, /etc/profile에 기재를 해놔야한다

재부팅

 


오라클 설치 및 설정 확인 


오라클 계정에서 

sqlplus / as sysdba 


DB상태 OPEN상태(DB UP 상태)인지 확인

select status from v$instance; 


DB상태가 UP이 안되어있으면, 

startup 


샘플 스키마 LOCK 해제 

sqlplus / as sysdba 

alter user scott identified by tiger account unlock; 

conn scott/tiger 

 


부팅시 오라클 자동 기동 설정

 

su root 
  
vi /etc/rc.d/rc.local 
su - oracle -c /app/oracle/product/11g/bin/"dbstart" 
su - oracle -c /app/oracle/product/11g/bin/"lsnrctl start" 
chmod 775 /etc/rc.d/rc.local 
vi /etc/oratab 


내용 밑 파일의 하단 끝 부분에 :N:Y로 바꾸고 저장 후 리눅스 재부팅


리눅스 방화벽 해제 


방화벽 해제

systemctl stop firewalld 


영구 방화벽 해제

systemctl disable firewalld 

 



FTP 서비스 구축 


FTP 서비스 구축 여부 확인

ps -ax | grep vsftpd 
yum list installed | grep vsftpd 

FTP 설치

su root 
yum -y install vsftpd 

 



기본 설정 경로

 

오라클 리스너 설정 : $ORACLE_HOME/network/admin/listener.ora 

설정 내용 확인 vi $ORACLE_HOME/network/admin/listener.ora 

오라클 TNS NAME 설정 : $ORACLE_HOME/network/admin/tnsnames.ora 

설정 내용 확인 vi $ORACLE_HOME/network/admin/tnsnames.ora 

 

 

SID의 값
echo $ORACLE_SID 의 값과 일치해야 하며, 보통 소문자로 이루어져 있다.

/app/oracle/product/ (SID) 



DB명은 SID보단 조금 더 큰 개념이며, 보통 대문자로 이루어져 있다.

/app/oracle/oradata/ (DB명) 


리스너 컨트롤 리로드 : 리스너 / TNSNAME 적용

lsnrctl reload

 


유선 네트워크 부팅 시 자동 실행

/etc/sysconfig/network-scripts
cd /etc/sysconfig/network-scripts 
vi ifcfg-enp3s0f2 

 

(*) 각 컴퓨터의 유선 네트워크 드라이버 명칭이 다를 수도 있음.

제일 밑 부분의 ONBOOT=no 부분을 ONBOOT=yes 로 수정할 것


SQL Developer 로 오라클DB 접속시 지연현상 해결방법

 

Sql Developer 속성메뉴 - 환경설정  - 코드 편집기 - 완성 인사이트 : SQL 워크시트에서 완성 자동 팝업 사용 체크 해제 후 재실행 후 접속

 

 


리눅스 유저 생성


1) 루트 유저로 접속

su root 



2) 유저 / 유저 홈 디렉토리 생성 : kim

useradd -m kim 



3) 비밀번호 설정

passwd kim

 

4) 사용자 정보 확인

cat /etc/passwd 



5) 그룹 정보 확인

cat /etc/group 



6) 사용자 디렉토리 생성 확인

ls /home/ 









 

반응형