2020. 1. 20. 17:55ㆍSecurity/운영체제 및 프로그램 설치
목차
1. CentOS7의 최소 사양
2. Linux 환경 설정
2-1. oracle 관리 계정 및 그룹 생성
2-2. 리눅스 설정
2-3. 추가 패키지 설치
2-4. Ora12c 계정 설정
3. 설치용 패키지 준비
3-1. 압축 해제
3-2. 인스톨러 실행
4. 오라클 Network 설정과 접속
4-1. 오라클 서버 설정(리스너 구동)
5. 리눅스 클라이언트 설정과 접속
5-1. Local naming 방식에서 tnsnames.ora 파일의 구성
6. 오라클 서버 시스템 정지 또는 재시작
1. CentOS7의 최소 사양
- 다음의 사양으로 VMware에 CentOS7을 설치.
- 중요한 점은 스왑은 메모리의 2배 이상으로 설정. ex) 메모리가 2기가라면 swap는 4기가 이상
- CentOS7의 설치 과정은 기존의 문서 참고.https://alljbut.tistory.com/13?category=738975
2. Linux 환경 설정
2-1. oracle 관리 계정 및 그룹 생성
설치 계정 : ora12c (UID : 1200)
소속 그룹 : dba (GID : 1200)
홈 디렉토리 : /app/ora12c/12c
$ORACLE_BASE의 위치: /app/ora12c : 오라클과 관련된 파일은 이 디렉토리를 벗어날 수 없음.
oraInventory의 위치: /app
- 여기서 사용되는 리눅스 설치 계정과 그룹은 오라클 관리 계정 및 그룹으로 사용.
- 홈 디렉토리는 ORACLE_BASE 디렉토리로 사용되기 때문에 계정의 이름, 디렉토리 등을 설정할 때 주의.
- dba에 속한 사용자는 누구나 다 오라클을 관리할 수 있다. 다른 사용자도 들어갈 수 있게 퍼미션을 설정해줘야 한다.
#groupadd -g 1200 dba
#useradd -g dba -u 1200 ora12c
#passwd ora12c
#mkdir -p /app/ora12c
#chown -R ora12c.dba /app
#chmod -R 755 /app
2-2. 리눅스 설정
- /etc/hosts의 설정 변경
- DB12는 데이터 베이스의 이름, ora12c는 호스트의 이름
192.168.10.(오라클 서버 IP) DB12.itclass.co.kr DB12
192.168.10.(오라클 서버 IP) ora12c.itclass.co.kr ora12c
limits.conf
- 리소스를 제한하는 파일. 혼자서 미친듯이 메모리를 점유하는 것을 방지.
vi /etc/security/limits.conf
#oracle setup
ora12c soft nproc 2047
ora12c hard nproc 16384
ora12c soft nofile 1024
ora12c hard nofile 65536
ora12c soft stack 10240
ora12c hard stack 20480
내용 추가.
soft nproc : 2047개 이상 쓰면 경고 메세지 출력
hard nproc : 16384개 이상은 절대 띄울 수 없다.
soft nofile : 1024개까지 열면 경고 메세지 출력
hard nofile : 65536개 이상은 띄울 수 없다.
soft stack : 스택의 양
sysctl.conf
- 커널 파라미터의 설정과 관련된 파일
vi /etc/sysctl.conf
# Oracle12c setup
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
kernel.msgmnb = 65536
kernel.msgmni = 2878
kernel.shmmni = 4096
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 4194304
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
fs.file-max = 6815744
fs.aio-max-nr = 1048576
내용 추가.
#sysctl -p
//설정 후에 sysctl -p로 적용 후 에러가 나지 않는 것을 확인.
selinux와 방화벽 사용 정지
2-3. 추가 패키지 설치
- oracle 설치시 반드시 필요한 패키지
- 제공된 설치 메뉴얼에 따라 대부분 설치되어 있지만 항상 설치 여부를 확인
#yum -y install compat-libcap1
#yum -y install compat-libstdc++-33
#yum -y install libstdc++-devel
#yum -y install gcc
#yum -y install gcc-c++
#yum -y install ksh
#yum -y install libaio-devel
2-4. Ora12c 계정 설정
- ora12c 계정. 즉, 설치될 오라클의 관리 계정에서 수행.
- 특히 ORACLE_BASE, ORACLE_HOME, ORACLE_SID, TNS_ADMIN등은 운영하는데 매우 중요한 설정이므로 주의
- ORACLE HOME은 반드시 ORACLE_BASE 밑에 있어야 함.
- ORACLE_SID : 컴포넌트 파일. 반드시 호스트에 등록되어있는 명령어를 사용.
$cd ~
$vi .bash_profile
export ORACLE_HOSTNAME=DB12.itclass.co.kr
export TMP=/tmp
export TMPDIR=$TMP
export ORACLE_OWNER=ora12c
export ORACLE_BASE=/app/ora12c
export ORACLE_HOME=/app/ora12c/12c
export PATH=$PATH:$ORACLE_HOME/bin:$ORACLE_HOME:/usr/bin
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME/lib:/lib:/usr/lib
export ORACLE_SID=DB12
export NLS_LANG=AMERICAN_AMERICA.KO16MSWIN949
export ORACLE_TERM=xterm
export TNS_ADMIN=$ORACLE_HOME/network/admin
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export EDITOR=vi
if [ $USER = "ora12c" ]; then
if [ $SHELL = "/bin/ksh" ]; then
ulimit -p 16384
ulimit -n 65536
else
ulimit -u 16384 -n 65536
fi
fi
내용 추가.
$env | grep ORACLE
// ora12c 계정으로 재로그인 후 설정을 확인한다.
3. 설치용 패키지 준비
3-1. 압축 해제
- 오라클 원본 파일은 오라클사 홈페이지에서 다운로드 가능.
- 본 문서에서 사용할 패키지는 'linuxx64_12201_database.zip'
- /app 위치에서 unzip 명령을 이용해서 압축해제
$chown -R ora12c.dba linuxx64_12201_database.zip
$unzip linuxx64_12201_database.zip
$ls
// ls 명령을 통해서 압축해제후 database 파일이 생긴것을 확인할 수 있다.
3-2. 인스톨러 실행(여기서부터는 리눅스의 XWINDOW에서 실행)
- 설치 파일은 database 디렉토리에 생성
$ ./runInstaller
// 인스톨러를 실행.
-보안 갱신 수신 해제 -> 예
- 데이터 베이스 생성 및 구성 선택
- 데스크톱 클래스 선택
- Oracle Base, 소프트웨어 위치, 데이터베이스 파일 위치 같은 경우는 직접 입력하는 것이 아니라 이미 입력되어있다.
- 나머지 부분은 위의 사진과 같게 설정.
- 전역 데이터베이스 이름은 SID와 hosts에[ 반드시 등록 되어 있어야 함.
- 비밀번호의 권장 표준 같은 경우 무시하고 '예'를 클릭.
- ora12c가 dba 그룹이기때문에 orainventory 그룹 이름도 자동으로 생성
- 요약문서 확인 후 설치 진행
- 구성 스크립트 실행이란 알림창이 나올 경우 기술 된 경우 구성 스크립트를 실행.
- /app/ora12c/12c/root_sh 입력후 추가 설정 부분에서는 전부 엔터
설치완료.
4. 오라클 Network 설정과 접속
▶시스템 구성
오라클 서버
- IP : 192.168.10.130(oracle서버의 ip), 192.168.10.11(dal)
- Host명 : DB12.itclass.co.kr
- ORACLE_OWER : ora12c
- ORACLE_HOME : /app/ora12c/12c
- ORACLE_SID : DB12
- TNS_ADMIN : $ORACLE_HOME/network/admin (/app/ora12c/12c/network/admin)
4-1. 오라클 서버 설정(리스너 구동)
- 네트워크를 통해 접속할수 있게 하기 위해 리스너 구동.
- 따라서 $TNS_ADMIN에 리스너 파일이 존재해야 함.
- SID_LIST_LISTENER에 대한 내용이 없다면 추가.
- 여기까지 완료하면 오라클 서버와 클라이언트를 모두 설치된 것 .
$cd $TNS_ADMIN
$vi listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = DB12)
(ORACLE_HOME = /app/ora12c/12c)
)
)
내용추가
- Default 리스너명은 listener.
- HOST : 서버의 호스트명이나 IP 주소
- PORT : TCP port 번호
- SID_NAME : Instance 명
- 클라이언트는 반드시 <호스트명>에 해당하는 에 접근 가능해야 한다.
$lsnrctl start listener
//리스너를 구동 후에 메시지 확인
Services Summary...
Service "DB12" has 1 instance(s).
The command completed successfully
//정상적으로 리스너 구동에 성공했을때의 메세지 이며 이 메세지가 나오지 반드시 출력되야 한다.
만약 listner.ora 파일에 SID_LIST_LISTENER에 대한 설정이 없다면
Services Summary...
Service "DB12" has 1 instance(s).
The command completed successfully
2가지 메세지가 나오지 않는 것을 확인할 수 있다.
5. 리눅스 클라이언트 설정과 접속
5-1. Local naming 방식에서 tnsnames.ora 파일의 구성
- listener.ora : 서버쪽 파일
- sqlnet.ora : 클라이언트 쪽 파일
- tnsnames.ora : 클라이언트 쪽 파일(내가 접속하고자 하는 서버의 정보가 들어있음). 이 파일은 새로 만들 예정이니 불안하면 백업할 것.
- tnsnames.ora 파일에 dal의 부분을 설정해줄때 dal 서버의 listener.ora 파일도 확인해봐야 함.
$cd $TNS_ADMIN
// $TNS_ADMIN은 listener.ora 파일을 저장하는 위치를 지정하는 환경변수로 $ORACLE_HOME 아래 위치.
vi tnsnames.ora
$vi tnsnames.ora
oracle =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp) (HOST = 192.168.10.39) (port = 1521))
(CONNECT_DATA = (SID = DB12))
)
dal =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = tcp) (HOST = 192.168.10.11) (port = 1521))
(CONNECT_DATA = (SID = DB12))
)
내용 추가. tnsnames.ora에 적히는 oracle과 dal은 접속에 사용할 호스트명과 접속 정보이다.
6. 오라클 서버 시스템을 정지 또는 재시작
$ sqlplus / as sysdba
// 관리자로 접속
shutdown immediate
// 대용량 시스템 정지
$sqlplus / as sysdba
// Connected to an idle instance라는 메세지가 뜨는데 DB가 정지되어있음을 의미.
startup
// 대용량 시스템 재시작 확인
'Security > 운영체제 및 프로그램 설치' 카테고리의 다른 글
오라클 구동-(3)사용자 생성 (0) | 2020.01.30 |
---|---|
오라클 구동-(2)테이블 스페이스 생성 (0) | 2020.01.28 |
가상 윈도우에 oracle 설치 (0) | 2019.12.18 |
vmware에 CentOS 6 설치 (0) | 2019.12.04 |
VMware에 CentOS 7설치 및 한글 puTTY 설치 (0) | 2019.11.28 |