반응형
250x250
Notice
Recent Posts
Recent Comments
Link
관리 메뉴

Yeonee's Story

[Linux] DB설치, 네트워크 연결설정, 톰캣설치 본문

⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆/Linux

[Linux] DB설치, 네트워크 연결설정, 톰캣설치

yeonee 여니 2023. 11. 3. 00:21
728x90
반응형
SMALL

안녕하세요.

#yeoneeblog 여니입니다 :)

 

 

<DB설치> 교육자료 목차.19
1. 6.oracle-xe-11.2.0 폴더의 Oracle-xe-11.2.0...zip 파일 존재 확인

2. Disk1 폴더에 oracle-xe-11.2.0...rpm 파일 존재 확인
(Oracle-xe-11.2.0...zip 압축을 풀면 oracle-xe-11.2.0...rpm파일이 생성됨)

adduser oracle : 자동생성 (사용빈도 높음)
useradd -g oracle dba (사용빈도 낮음)
-> 그룹지정 외에도 다른 것도 할 수 있다.

3. unzip .... zip (zip파일을 압축해제) (tar.gz -> tar명령어로 해제, zip -> zip명령어로 해제)

4. swap 메모리 설정 오류
rpm -ivh oracle-xe-.....입력시 프롬포트창 에러 발생

5. swap memory 설정(메일 참고)
문서내 목차.19 - (2)oracle profile 박스 안의 내용 복사 붙여넣기(3번 명령어는 각각 한줄씩 따로 입력)
그리고 다시 rpm -ivh oracle-xe-.....입력

6. cd .. 이동후, ls -al u01입력

- xe : 익스프레스 에디션 (기능제한 대신 무료)
- EE : 엔터프라이즈 에디션 (기업용 유료)

7. /etc/init.d/oracle-xe configure입력하면 순서대로 포트, 리스너, 관리계정 입력 후 y로 설정 저장

8. passwd oracle 입력하여 pwd 설정
(글자가 짧다는 경고 떠도 그냥 재입력하면 설정완료됨)

9. su - oracle 로 유저체인지

10. 변경사항 적용하려면 -> 터미널 종료 -> 터미널 재시작 해야하는데,
    이 과정을 안하고 변경사항 적용하게 도와줌 
    => source .bashrc 의미

    vi .bashrc 입력 후, shift + a 누르고 enter 2번 한 뒤, 복붙

11. 
복붙내용은 교육자료 목차.19에서 (2) 참고

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe
export ORACLE_SID=XE
export NLS_LANG=`$ORACLE_HOME/bin/nls_lang.sh`
export ORACLE_BASE=/u01/app/oracle
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH
export PATH=$ORACLE_HOME/bin:$PATH

shift + insert로 삽입 후, :wd (저장후 나가기)

12. service oracle-xe start 성공 (root 계정에서) <- oracle llg db 기동 성공!
13. sqlplus / as sysdba 접속 성공 (oracle 계정에서) -> exit로 홈 돌아옴
14. startup

-------------------------------------------------------------------------------------------------------------

* 위 과정 정리

0. oracle 계정생성 <- .bashrc 에 오라클 프로파일 설정
1. 설치파일 복사 -> / 경로에
2. unzip oracle-xe-... .rpm.zip
3. Disk1/oracle-xe-...rpm 으로 가져와서
4. rpm -ivh 
5. swap memory 오류 로그 (프롬프트 창에)
6. swap memory 설정
7. rpm -ivh oracle...rpm
8. sudo /etc/init.d/oracle-xe configure <- 포트: 8888
    리스너(오라클): 1521
    관리계정: oracle
          oracle
    os 재설정시 자동 부팅 y
9. service oracle-xe start
10. tnslsnr 01 fail 로그 (프롬프트 창에)
11. tnsnames.ora 수정 (x)
12. yum install libnsl 설치
     sqlplus / as sysdba (oracle 계정에서) 입력하면,
     실행이 안됨 (프롬프트 창에 뜬 내용: libnsl.so.i라는 라이브러리가 없어서 실행 할 수 없다.)
13. yum install libnsl 설치 (root 계정에서)
     yum install libnsl* 입력
14. service oracle-xe start 성공 (root 계정에서) <- oracle lla db 기동 성공!
15. sqlplus / as sysdba 접속 성공 (oracle 계정에서) -> exit로 홈 돌아옴
16. startup



1521 : LISTENER <- oracle DB 기본값 default
         <- port 소켓  

* 리스너 설정파일 
- listner.ora : 오라클 DB가 WAS요청 받을 때 사용하는 설정파일 (select문)
- tnsnames.ora : 클라이언트가 오라클 DB에 요청을 할 때 사용하는 설정파일 (sqlplus 접속)


----------------------------------------------------------------------------------------------------------------
<네트워크 연결>
1. VM설정(설정-네트워크) 
네트워크 어댑터 1 : NAT
            어댑터 2 : 호스트 전용 어댑터

2. vi /etc/sysconfig/network-scripts/ifcfg-enp0s8 를 root 계정에서 실행

3. 설정파일 복사(*설정파일 위치 까먹지 않게 주의*)

4. ifconfig -a에서 enp0s8 ether 값 복사(enp0s8의 내용인지 enp0s3의 내용인지 잘못보지 않게 주의)
- ifconfig -a 로 알아낸 enp0s8 ether 값을 HWADDR에 알맞게 고쳐 넣음 

5. ifcfg-enp0s8 
vi /etc/sysconfig/network-scripts/ifcfg-enp0s8 로 열린 파일에 ether부분만 프롬프트를 움직여 x를 눌러서
지워준 뒤, shift+a로 프롬프트 위치를 가장 우측(라인에서 입력할 수 있는 위치)으로 옮겨준 뒤, shift + insert로 붙여 넣고 저장하고 나가서 재부팅하기

6. VM재시작
- 네트워크 enp0s8 연결 여부 다시 확인해보기
- 연결됨 확인하면 네트워크 연결 완료!


*ping 192.168.56.104 입력하면 통신됨. 
+ ctrl +c로 통신 종료
was2에서enp0s8 (103was에서enp0s8)

cmd 창에서도 통신됨

-----------------------------------------------------------------------------------------------------------------
telnet ip port 방화벽이 열렸는지 확인하는 용도 (Host들 간의 방화벽 해제)
nc      ip port 위와 같음
-> telnet으로 막히면 nc를 사용

<톰캣설치>
0. os패키지파일 설치필요 (패키지 의존성)
1. apr (apr-util, apr-icon)
2. pcre
3. HTTPD 설치

yum install httpd
+ 클라우드는 컴파일 설치안됨

-----------------------------------------------------------------------------------------------------------------

1. 아파치 설치
(제품의 구조) ; 대부분의 제품들은 이와 같은 구조를 가집니다.
bin 실행파일
conf 컨피그파일
lib 라이브러리
logs 로그파일
temp 임시파일
webapps 애플리케이션 배포 위치 
work 실행중인 프로세스가 저장되는 위치 (실행할때 떴다가, 실행안할때는 지워짐)

*프로그램이 웹에 올라가면 프로세스이다.

2. 톰캣 엔진 설치

-----------------------------------------------------------------------------------------------------------------

*도메인은 하나의 '영역'이다.
도메인이 ip이고 그 ip는 it에서 하나의 '영역'에 숫자로 이름을 부여한 것이고, 그 영역들이 모인 집합체.

-----------------------------------------------------------------------------------------------------------------
* 톰캣 인스턴스 start.sh 예제
#!/bin/sh

export JAVA_HOME=/java/java8

export SERVER_NAME=jmServer52

export CATALINA_HOME=/was/tomcat9

export DOMAIN_NAME=jmdomain20.1207

export DOMAIN_HOME=/jmdomain20.1207

export CATALINA_BASE=/$DOMAIN_NAME/$SERVER_NAME

export CATALINA_PID=$CATALINA_BASE/$SERVER_NAME.pid



#JAVA_OPTS="${JAVA_OPTS} -Djennifer.config=/jennifer/jennifer5/agent.java.5.5.2.10/conf/jennifer52.conf"

#JAVA_OPTS="${JAVA_OPTS} -Djennifer.config=/jennifer/jennifer5/agent.java/conf/jennifer52.conf"

#JAVA_OPTS="${JAVA_OPTS} -javaagent:/jennifer/jennifer5/agent.java.5.5.2.10/jennifer.jar"

#JAVA_OPTS="${JAVA_OPTS} -javaagent:/jennifer/jennifer5/agent.java/jennifer.jar"

export JAVA_OPTS



#export JMX_OPTS=" -Dcom.sun.management.jmxremote -Dcohttp://m.sun.management.jmxremote.port=9101 -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=localhost -Dcohttp://m.sun.management.jmxremote.ssl=false "



. ./env.sh



echo $1

export CATALINA_OPTS="${MEM_OPTS} ${JMX_OPTS} ${CATALINA_OPTS} ${JVM_OPTS}"

$CATALINA_HOME/bin/startup.sh



if [ $# -eq 0 ] ; then

#if [ "S1" != "notail" ] ; then

tail -f /${CATALINA_BASE}/logs/catalina.out

fi

-----------------------------------------------------------------------------------------------------------------

* 톰캣 stop.sh 예제
#!/bin/sh



export SERVER_NAME=jmServer52

export CATALINA_HOME=/was/tomcat9

export DOMAIN_NAME=jmdomain20.1207

export DOMAIN_HOME=/jmdomain20.1207

export CATALINA_BASE=/$DOMAIN_NAME/$SERVER_NAME

export CATALINA_PID=$CATALINA_BASE/$SERVER_NAME.pid





$CATALINA_HOME/bin/shutdown.sh


-----------------------------------------------------------------------------------------------------------------
+ 위 예시 자료 참고하며 보기

#! : 쉐뱅
#!/bin/sh os 기본 쉘 스크립트로 작성하겠다.

export_JAVA_HOME <- 톰캣은 JDK 또는 JRE가 실행에 필요하다.
(변수를 선언해서 쓰는 것과 같은 개념)

* .의 뜻은 .자체가 실행시켜라라는 뜻이 있음

start.sh: 기동쉘
stop.sh: 정리쉘
env.sh

Heap메모리 최소 최대 : -Xms128m -Xms128m 주로 둘이 맞춤
128m
=1024byte
=1G

------------------------------------------------------------------------------------------------------------------
+교육자료 목차.23 참고

- JVM구조
- GC알고리즘

-트랜잭션이란?
클라이언트가 어떤 것을 요청해서 그 요청이 끝날때까지의 동안을 말한다.

* (1)자바메모리구조 참고해서 (2)보기
(1)자바메모리구조 : 처음 올린 작업은 Eden에 올라간다. 그리고 좀 자주 쓰이는 것은 S0,S1에서 왔다갔다 하면서 저장된다.
자주 오래 쓰인 것은 Old Memory에 올라가게 된다. 그리고 더 많이 사용되어 저장될 필요가 있는 것을 Perm에 저장한다.
초기에 생성된 부분을 Young Gen이라고 부른다. Eden에서 쓰이지 않은 것은 Minor GC로 정리되고 Old Memory에서 좀 덜 쓰이게 되는 것은 Major GC로 정리된다.

(2)JDK1.8버전 이후 구조 :
To => (1)자바메모리구조에서 S0이다.
From => (1)자바메모리구조에서 S1이다.
전체적인 구조 및 돌아가는 방식이 같은데, 여기서는 Perm 대신 Metaspace이란 것을 만듦 
(heap메모리에 영향을 주지 않는 공간을 새로 만듦)


+과제(Runtime Data Area들 어떤 종류인지 찾아서 적어오기)
+ sh을 복사해서 2를 만들고, 각 sh파일들의 server들의 참조를 변경해줌
(내일 server1과 server2을 쿨러스터링)

728x90
반응형
LIST