안녕하세요.
#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을 쿨러스터링)
'⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆⋆ 。゜☁︎ 。⋆ 。゜☾゜。⋆ > Linux' 카테고리의 다른 글
[Linux] 23.10.31교육 1 (0) | 2023.11.08 |
---|---|
[Linux] 23.10.30 교육 1 (0) | 2023.11.06 |
[Linux] 23.10.30 교육 2 (0) | 2023.11.06 |
[Linux] 리눅스 Apache HTTPD 설치하기 (1) | 2023.11.01 |
리눅스 설치 및 VirtualBox 새 가상머신 생성하기 (1) | 2023.11.01 |