CentOS7.6의 Oracle 19c RAC 배포(1)

하드웨어 및 소프트웨어 소개

있습니다 2 노드(가상 기기) 이 rac 클러스터에 포함. 다음 표에 표시된대로 세부 사항.

기본 시스템 준비

패키지 선택

파티션 선택

네트워크 구성

node1에 대한 네트워크 구성

node2에 대한 네트워크 구성

시스템 분할 계속

루트 사용자의 비밀번호 설정

시스템 설치

잠시 후 시스템 설치가 완료됩니다., 시스템이 재부팅됩니다. 기다려주십시오.

호스트 이름 설정 “rac1” node1 및 “rac2” node2 용. Detals를 위해, URL을 참조 할 수 있습니다.: https://www.roamway.com/3256.html

호스트 rac1 및 rac2의 네트워크 구성 확인. 명령 실행 “ip a”

지금까지 ,기본 시스템 준비 완료.

시스템 환경 준비

방화벽 서비스 비활성화

다음을 실행하십시오. 2 각 노드의 터미널에 대한 명령

systemctl stop firewalld.service
systemctl 방화벽 d.service 비활성화

iptables 서비스 비활성화

다음을 실행하십시오. 2 각 노드의 터미널에 대한 명령

systemctl 중지 iptables.service
systemctl iptables.service 비활성화

avahi-daemon 서비스 비활성화

각 노드의 터미널에서 다음 명령을 실행하십시오..

systemctl 중지 avahi-daemon.socket
systemctl avahi-daemon.service 비활성화

NTP 서비스 활성화

다음 명령을 실행하십시오.

yum 설치 ntpd -y
systemctl은 ntpd.service를 활성화합니다.

ntp 서버의 IP 주소 얻기 “cn.pool.ntp.org”

명령 실행 “cn.pool.ntp.org 핑”, 그러면 IP 주소가 나타납니다., 같은 ” 139.199.214.202 “

파일 수정 “/etc / ntp.conf” 각 노드에 대해,ntp 서버 활성화 139.199.214.202, 다음 그림과 같이.

저장 및 종료.

명령으로 ntp 서비스 시작 “systemctl start ntpd.service”

명령으로 ntp 서비스 상태 확인 “ntpstat -t”. 아래와 같이.

selinux 비활성화

각 노드의 터미널에서 다음 명령을 실행하십시오.

sed -e‘s / enforcing / disabled / g’ /기타 / selinux / config
세트 0
재부팅

각 노드에 대한 호스트 파일 편집

/ etc / hosts 파일에 다음 내용 추가

192.168.137.171 rac1
192.168.137.172 rac2
192.168.137.173 rac1-vip
192.168.137.174 rac2-vip
192.168.119.171 rac1-prv
192.168.119.172 rac2-prv
192.168.137.178 rac 스캔

사용자 생성 “신탁”,”그리드” 및 해당 사용자 그룹

각 노드의 터미널에서 다음 명령을 실행하십시오..

/usr / sbin / groupadd -g 50001 o 설치
/usr / sbin / groupadd -g 50002 dba
/usr / sbin / groupadd -g 50003 운영자
/usr / sbin / groupadd -g 50004 backupdba
/usr / sbin / groupadd -g 50005 dgdba
/usr / sbin / groupadd -g 50006 kmdba
/usr / sbin / groupadd -g 50007 asmdba
/usr / sbin / groupadd -g 50008 asmoper
/usr / sbin / groupadd -g 50009 asmadmin
/usr / sbin / groupadd -g 50010 Racdba
/usr / sbin / useradd -u 50011 -g oinstall -G dba,asmdba,asmoper,asmadmin,racdba 그리드
/usr / sbin / useradd -u 50012 -g oinstall -G dba,운영자,backupdba,dgdba,kmdba,asmdba,racdba 오라클

사용자 그리드에 대한 비밀번호 설정 및 신탁

암호 그리드
passwd 오라클

사용자 그리드 및 오라클에 대한 관련 디렉토리 생성

각 노드의 터미널에서 다음 명령을 실행하십시오..

mkdir -p /u01/app/19.0.0/grid
mkdir -p / u01 / app / grid
mkdir -p / u01 / app / oracle
mkdir -p /u01/app/oracle/product/19.0.0/db_1
chown -R 그리드:oinstall / u01
chown -R 오라클:oinstall / u01 / app / oracle
chmod -R 775 /u01 /

파일 수정 “20-nproc.conf” 각 노드에 대해

vim /etc/security/limits.d/20-nproc.conf
마지막 줄 끝에 "* soft nproc 4096"및 "* nproc 4096"앞에 "#"추가, 다음 그림과 같이.

파일 수정 “limits.conf” 각 노드에 대해

/etc/security/limits.conf 파일에 다음 내용 추가

그리드 소프트 nproc 16384
그리드 하드 nproc 16384
그리드 소프트 nofile 1024
그리드 하드 nofile 65536
그리드 소프트 스택 10240
그리드 하드 스택 32768
오라클 소프트 nproc 16384
오라클 하드 nproc 16384
오라클 소프트 nofile 1024
오라클 하드 nofile 65536
오라클 소프트 스택 10240
오라클 하드 스택 32768
오라클 하드 memlock 3145728
오라클 소프트 memlock 3145728

파일 수정 “로그인” 각 노드에 대해.

vim /etc/pam.d/login

마지막 줄 끝에 다음 내용을 추가하십시오.

#오라클 설정
세션 필수 pam_limits.so

파일 수정 “sysctl.conf” 각 노드에 대해

마지막 줄 끝에 다음 내용을 추가하십시오.

fs.aio-max-nr = 1048576
fs. 파일-최대 = 6815744
kernel.shmmax = 15461882265
kernel.shmall = 3774873
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
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

파일 수정 “회로망” 각 노드에 대해

vim / etc / sysconfig / network
더하다 “NOZEROCONF = 예” 마지막 줄 끝까지,다음 그림과 같이.

각 노드에 대한 환경 변수 구성

node1

사용자 그리드

다음 컨텐츠를 /home/grid/.bash_profile 파일에 추가하십시오.

내보내기 TMP = / tmp
내보내기 LANG = en_US
TMPDIR = $ TMP 내보내기
내보내기 ORACLE_SID = + ASM1
내보내기 ORACLE_TERM = xterm
내보내기 ORACLE_BASE = / u01 / app / grid
export ORACLE_HOME = / u01 / app / 19.0.0 / grid
내보내기 NLS_DATE_FORMAT =’yyyy-mm-dd HH24:나를:SS’
내보내기 경로 = / usr / sbin:$통로
내보내기 PATH = $ ORACLE_HOME / bin:$통로
내보내기 LD_LIBRARY_PATH = $ ORACLE_HOME / lib:/lib:/usr / lib
내보내기 CLASSPATH = $ ORACLE_HOME / JRE:$ORACLE_HOME / jlib:$ORACLE_HOME / rdbms / jlib
THREADS_FLAG = 네이티브; THREADS_FLAG 내보내기
만약 [ $사용자 = “신탁” ] || [ $사용자 = “그리드” ]; 그때
만약 [ $쉘 = “/bin / ksh” ]; 그때
ulimit -p 16384
ulimit -n 65536
그밖에
ulimit -u 16384 -엔 65536
있다
umask 022
있다

사용자 오라클

다음 컨텐츠를 /home/oracle/.bash_profile 파일에 추가하십시오.

내보내기 TMP = / tmp
내보내기 LANG = en_US
TMPDIR = $ TMP 내보내기
ORACLE_BASE = / u01 / app / oracle; ORACLE_BASE 내보내기
ORACLE_HOME = $ ORACLE_BASE / product / 19.0.0 / db_1; ORACLE_HOME 내보내기
ORACLE_SID = rac1; ORACLE_SID 내보내기
ORACLE_TERM = xterm; ORACLE_TERM 내보내기
NLS_DATE_FORMAT =”yyyy-mm-dd HH24:나를:SS”; NLS_DATE_FORMAT 내보내기
NLS_LANG = AMERICAN_AMERICA.AL32UTF8;NLS_LANG 내보내기
경로 =.:$통로:$홈 / 빈:$ORACLE_BASE / product / 19.0.0 / db_1 / bin:$ORACLE_HOME / bin; 내보내기 경로
내보내기 LD_LIBRARY_PATH = $ ORACLE_HOME / lib:/lib:/usr / lib
내보내기 CLASSPATH = $ ORACLE_HOME / JRE:$ORACLE_HOME / jlib:$ORACLE_HOME / rdbms / jlib
THREADS_FLAG = 네이티브; THREADS_FLAG 내보내기
만약 [ $사용자 = “신탁” ] || [ $사용자 = “그리드” ]; 그때
만약 [ $쉘 = “/bin / ksh” ]; 그때
ulimit -p 16384
ulimit -n 65536
그밖에
ulimit -u 16384 -엔 65536
있다
umask 022
있다

사용자 루트

/root/.bash_profile 파일에 다음 컨텐츠를 추가하십시오.

PATH = $ PATH:/u01 / app / 19.0.0 / grid / bin:$홈 / 빈
내보내기 경로

node1

사용자 그리드

다음 컨텐츠를 /home/grid/.bash_profile 파일에 추가하십시오.

내보내기 TMP = / tmp
내보내기 LANG = en_US
TMPDIR = $ TMP 내보내기
내보내기 ORACLE_SID = + ASM2
내보내기 ORACLE_TERM = xterm
내보내기 ORACLE_BASE = / u01 / app / grid
export ORACLE_HOME = / u01 / app / 19.0.0 / grid
내보내기 NLS_DATE_FORMAT =’yyyy-mm-dd HH24:나를:SS’
내보내기 경로 = / usr / sbin:$통로
내보내기 PATH = $ ORACLE_HOME / bin:$통로
내보내기 LD_LIBRARY_PATH = $ ORACLE_HOME / lib:/lib:/usr / lib
내보내기 CLASSPATH = $ ORACLE_HOME / JRE:$ORACLE_HOME / jlib:$ORACLE_HOME / rdbms / jlib
THREADS_FLAG = 네이티브; THREADS_FLAG 내보내기
만약 [ $사용자 = “신탁” ] || [ $사용자 = “그리드” ]; 그때
만약 [ $쉘 = “/bin / ksh” ]; 그때
ulimit -p 16384
ulimit -n 65536
그밖에
ulimit -u 16384 -엔 65536
있다
umask 022
있다

사용자 오라클

다음 컨텐츠를 /home/oracle/.bash_profile 파일에 추가하십시오.

내보내기 TMP = / tmp
내보내기 LANG = en_US
TMPDIR = $ TMP 내보내기
ORACLE_BASE = / u01 / app / oracle; ORACLE_BASE 내보내기
ORACLE_HOME = $ ORACLE_BASE / product / 19.0.0 / db_1; ORACLE_HOME 내보내기
ORACLE_SID = rac2; ORACLE_SID 내보내기
ORACLE_TERM = xterm; ORACLE_TERM 내보내기
NLS_DATE_FORMAT =”yyyy-mm-dd HH24:나를:SS”; NLS_DATE_FORMAT 내보내기
NLS_LANG = AMERICAN_AMERICA.AL32UTF8;NLS_LANG 내보내기
경로 =.:$통로:$홈 / 빈:$ORACLE_BASE / product / 19.0.0 / db_1 / bin:$ORACLE_HOME / bin; 내보내기 경로
내보내기 LD_LIBRARY_PATH = $ ORACLE_HOME / lib:/lib:/usr / lib
내보내기 CLASSPATH = $ ORACLE_HOME / JRE:$ORACLE_HOME / jlib:$ORACLE_HOME / rdbms / jlib
THREADS_FLAG = 네이티브; THREADS_FLAG 내보내기
만약 [ $사용자 = “신탁” ] || [ $사용자 = “그리드” ]; 그때
만약 [ $쉘 = “/bin / ksh” ]; 그때
ulimit -p 16384
ulimit -n 65536
그밖에
ulimit -u 16384 -엔 65536
있다
umask 022
있다

사용자 루트

/root/.bash_profile 파일에 다음 컨텐츠를 추가하십시오.

PATH = $ PATH:/u01 / app / 19.0.0 / grid / bin:$홈 / 빈
내보내기 경로

node1과 node2 사이의 SSH 구성

공개 키 생성

node1에서 다음 명령을 실행하십시오.

사용자 루트

ssh-keygen -t rsa
ssh-keygen -t dsa

사용자 루트의 공개 키

사용자 그리드

루트 사용자와 동일한 명령을 실행하여 공개 키를 생성하십시오..

사용자 오라클

루트 사용자와 동일한 명령을 실행하여 공개 키를 생성하십시오..

node2

사용자 루트에 대한 공개 키를 생성하기 위해 node1과 동일한 작업을 수행합니다.,그리드,신탁.

모든 사용자의 공개 키를 다른 노드에 복제

node1의 사용자 루트

고양이 ~ / .ssh / id_rsa_pub >> ~ / .ssh / authorized_keys
고양이 ~ / .ssh / id_dsa_pub >> ~ / .ssh / authorized_keys
ssh root @ rac2 고양이 ~ / .ssh / id_rsa.pub >> ~ / .ssh / authorized_keys
ssh root @ rac2 고양이 ~ / .ssh / id_dsa.pub >> ~ / .ssh / authorized_keys

node1에서 node2로 인증 파일 복제

scp authorized_keys root @ rac2:~ / .ssh / authorized_keys

node1의 사용자 그리드

사용자 루트와 동일한 명령을 실행하십시오., 공개 키를 node2의 사용자 그리드에 복제.

node1의 사용자 오라클

사용자 루트와 동일한 명령을 실행하십시오., node2의 사용자 oracle에 공개 키 복제.

node2

node1과 동일한 작업을 수행하여 각 사용자의 공개 키를 node1에 복제합니다..

이 기사를 확인할 수도 있습니다. https://www.roamway.com/922.html 자세한 내용은.

SSH 구성이 끝날 때,node1이 비밀번호없이 node2에 로그인 할 수 있는지 확인해야합니다.. 모든 사용자(뿌리,그리드,신탁) 확인되어야합니다. 결과가 확실하면 SSH 구성이 성공한 것입니다..

답장을 남겨주세요