본문 바로가기
DB INSTALL/RAC INSTALL GUIDE 19C

[oracle] centos 7 - oracle 19c single install

by YUNZZANG 2024. 5. 10.
728x90
 
  1. linux iso 파일설치
 
 
 
(1-1. vm 설치
 
 
)
 
 
  1. iso 파일 할당
할당 후 NAT,  호스트전용 어댑터 .
( vm 사용할 경우 느리면 cpu 늘리기 . 메모리도 충분히 할당하기. ) (1,8192MB)
저장소 IDE에 아까 iso 파일 넣기
 
SOFTWARE SELECTION에서 rpm 설치할 시 rpm이나 기본 툴 설치하기.
 
2-1  환경 설정
RPM 쓸 경우 풀 패키지 다운로드 받기
 
파티션 사이즈 - 총 8192 메모리 할당했을때를 가정
swap(4000MB)
/boot(500MB)
/ (그냥 사이즈설정안하고 확인누르기)
 
 
  1. 나의 ip주소  ifconfig 해서 확인 < setting 에서 설정 >
ip ,netmask 를 설정한다. ( 이때는 NAT와 호스트전용 어댑터를 설정.)
cmd 창에 ifconfig치면 바뀐 것을 볼 수 있음
 
NAT설정
(192.168.0.15     255.255.255.0    )
DNS 8.8.8.8 설정
 
호스트전용 어댑터 설정
(DEFAULT)
 
안될경우------------------------------------------------------------------------------------------------------
NAT 설정
DHCP
 
호스트전용 어댑터
 
로 설정해주기
 
  1. /etc/hostname 확인
#vi/etc/hostname
치면 자신의 hostname을 볼 수 있음
 
 
  1. /etc/hosts 설정
vi/etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.0.15 localdomain  --추가 ( 이 부분은 아까 ifconfig한 ip주소를 기입하고,  뒤에 부분은 위에서 알아왔던 hostname을 기입한다 )
x
 
 
nmcli d 명령어를 사용하면 이더넷 ethernet 장치명을 확인할 수 있음
 
vi /etc/sysconfig/network-scripts/ifcfg-enp0s 3또는 8 을 치면 ip주소를 구성할 수 있다.
 
TYPE="Ethernet"
BOOTPROTO="none"
NAME="enp0s3"
IPADDR="192.168.0.15"
NETMASK="255.255.255.0"
GATEWAY="192.168.20.1"
DEVICE="enp0s3"
ONBOOT="yes"
 

리눅스 네트워크 재시작 service network restart

 
여기서 dhcp로  NAT 설정할경우 gateway는 지운다.
 
linux os 버전 확인방법
cat /etc/redhat-release
cat /etc/issue
 
커널 정보 보는방법 (커널정보를 확인하면 os버전나옴)
uname -a
 
 
현재 내 위치에 있는 파일들 보기
ls -alrt
 
 
xshell 이용할때 ssh 접속 안되면 네트워크 ip 다시 설정
ping 192.168.0.15, 8.8.8.8 해보기.
ping 8.8.8.8 (DNS서버) 안되면  yum이나 dnf 안되므로 ping테스트 꼭 해보기
 
5. xshell 설정하는 방법
파일  > 새로만들기 > 이름, 호스트ip 쓰기>  사용자 인증탭 이동> 이름, 암호 설정 (root,1234)  > 확인
 
 
 
  1. 수동설정 할 부분
# vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
kernel.shmmax = 4398046511104
kernel.panic_on_oops = 1
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
net.ipv4.conf.all.rp_filter = 2
net.ipv4.conf.default.rp_filter = 2
fs.aio-max-nr = 1048576
net.ipv4.ip_local_port_range = 9000 65500
fs.file-max=6815744
kernel.sem=250 32000 100 128
kernel.shmni=4096
kernel.shmall=1073741824
kernel.shmmax=4398046511104
kernel.panic_on_oops=1
net.core.rmem_default=262144
net.core.rmem_max=4194304
net.core.wmem_default=262144
net.core.wmem_max=104876
net.ipv4.conf.all.rp_filter=2
net.ipv4.conf.default.rp_filter=2
fs.aio-max-nr=104876
net.ipv4.ip_local_port_range=9000 65500
 
/sbin/sysctl -p 쳐서 잘 기입했나 적용하고 확인하기
 
fs.file-max 시스템 전체에서 최대로 열 수 있는 파일 개수
 
kernel.sem  각각 semmsl, semmns, semopm, semmni
#semmsl : 세트 당 세마포어 최대 수
#semmns : 시스템에 있는 세마포어 총 개수
#semopm : semop 콜 당 명령의 최대 수
#semmni : 세트들에 세마포어 최대 수
 
kernel.shmmni 세트들에 최대 배열 수
 
kernel.shmall 공유메모리 최대 페이지 수
 
kernel.shmmax 공유 세그먼트 최대 사이즈 (바이트 수)
# default : 33554432
오라클 권장 : 2147483648
 
kernel.panic_on_oops  값이 1이면 oops를 커널 패닉으로 간주한다.
 
net.core.rmem_default
net.core.rmem_max
net.core.wmem_default
net.core.wmem_max
net core은 tcp를 포함한 모든 종류의 소켓에 기본적으로 설정되는 버퍼 크기를 나타낸다.
default는 그 기본값이고,  max는 소캣이 가질 수 있는 최대 크기를 나타낸다.
min/default/max중에 선택할 수 있음.
 
net.ipv4.conf.all.rp_filter  커널에서 tcp를 위해 사용할 수 있는 메모리 크기를 지정한다.
 
fs.aio-max-nr io  서브 시스템 오류 방지를 위해 처리 되지 않은 동시 요청을 제한함
 
net.ipv4.ip_local_port_range  새로운 접속에서 사용 가능한 port 의 범위
 
 
 
아래 파일 생성 후 내용 추가
# vi /etc/security/limits.d/oracle-database-preinstall-19c.conf
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 16384
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728
 
  • domain : 제한할 대상작성 (*, user명, 그룹명을 줄 수 있다.(그룹에 적용할 경우 @가 붙는다))
  • type : 강하게 제한할 것인지, 어느정도 여유를 줄 것인지를 결정한다.
  • item : 제한할 항목으로 core, data seg, file size등 여러가지가 존재.
  • value : 제한 하고자 하는 설정값
 

※ 알쓸신잡 vi 사용방법 ※
들어가자 마자 치는 명령어
 
d +지울 줄 수+d
u는 되돌리기  ctrl+r 앞으로 돌리기
y 는 붙여넣기
yy 한줄복사
dd 한줄 지우기
p는 붙여넣기
gg 첫째줄 G는 맨 아랫줄
$ 는 젤 뒤로 ^는 젤 앞으로
/찾고싶은 단어
ctrl + b 위로
ctrl + f 아래로
 
cat >하나는 다 덮어씀
cat >>두개는 추가
 
ls -al 하면 용량이 보임
du -sh *  현재위치 전체 용량을 봄 -sh 눈 사람이 눈에 보기 쉽게 만들어놈 (h는 리눅스에만있음)
df -h 로 파일시스템을 봐라
 
i  -현재 커서 위치에 삽입
G - 파일의 끝으로 이동
 
다 완료했으면 esc 누른뒤의 명령어
w - 현재 파일명으로 저장
wq - 저장 후 종료
q - 종료
$ - 파일의 맨 끝 줄로 이동
q - vi종료
 
뒤에 !를 붙이면 강제로 수행
 
※ 알쓸신잡 cmd 사용방법 ※
 
sudo - 관리자권한으로 실행
pwd - 내가 있는 위치
id 혹은 whoami -  내가 접속한 os 유저
 

 
  1. 유저 및 그룹 생성
# groupadd dba
#cat /etc/passwd

#cat /etc/group

# useradd oracle  -g dba
-g 는 그룹옵션
#cat /etc/passwd
 
 
 
  1. 패스워드 설정
# passwd oracle
 
 
 
  1. 설치 경로 생성
# mkdir -/oracle/app/19.0.0
(-p 는 하위폴더까지 다 만들어줌)
#mkdir -p /oraInventory
#mkdir -p /archive
# chown -R oracle:dba /oracle
#chown -R oracle:dba /oraInventory
#chown -R oracle:dba /archive
# chmod -775 /oracle ->
요즘에는 775 보단 다음명령어를 씀
chmod -R u+rwx /oracle
 
(-R은 전체폴더 다 바꾼다는 뜻)
 
 
  1. 서버에 oracle database 설치 미디어 업로드 후 권한부여 (오라클계정에 접속해야함)
ftp에 LINUX.X64_193000_db_home.zip 파일을 옮기기 위해서는
oracle_home  위치에 넣어준다 (위치를 아는 방법은 11번단계에서 cd 로 오라클 홈 으로 이동한뒤 pwd를 치면 어딘지 안다 )
 
 
/  :현재위치
#  :root (su root)
$ :오라클 계정 접속 (su - oracle)
 
 
#   su  -  oracle
$ vi   .bash_profile
 
 
export ORACLE_BASE=/oracle/app
export ORACLE_HOME=$ORACLE_BASE/19.0.0
export ORACLE_SID=oracle19
export PATH=$ORACLE_HOME/bin:$PATH:$ORACLE_HOME/OPatch
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export DISPLAY=192.168.0.1:0.0
 
 
다 치고  source   .bash_profile  해서 적용해서 확인하기
 
echo는 변수를 확인하는 명령어
 
  1. 오라클 설치파일을 압축해제 해준다. (오라클 계정 $ 접속한상태)
cd $ORACLE_HOME
unzip LINUX.X64_193000_db_home.zip (만약에 zip파일 다른데다가 풀었으면 뒤에 -d 풀경로 적기)
 
  1. 오라클 설치
$ ./runInstaller
 
libnsl.so.1 에러가 나면 패키지가 설치가 안되어있다는 소리이므로  #로 와서 yum install -y libnsl
 
만약에 그래픽 오류가 생기면 root로 들어가서 rpm -qa | grep X11 을 쳐서 설치가 되어있나 확인하고 되어있으면
#   xhost +                                                            키고 
$  export DISPLAY = 192.168.0.1:0.0       (DISPLAY=내컴퓨터ip:하단 바 xmanager?:?)
$  xhost +                                                             해서 활성화
 
ssh 에서 안되면 export
$ export CV_ASSUME_DISTID=OEL8.5 // 8.5 부분은 지금 내가 설치하는 버전을 적으면 됨.
$ ./runInstaller

원인 : OS 호환성 문제

최신 Oracle linux에 최신 Oracle database 를 설치하는데 왜 이런 메세지가 나오는지 이해가 되지않음..
 
 
=> oracle 19c docs 를 보니 oracle linux 8은 아직 지원하지 않는다고 나옴
 
 
잘못설치해서 삭제하고 싶을때는
 
cd $ORACLE_BASE
rm -rf *
mkdir -p $ORACLE_HOME
 

※ 알쓸신잡  파일권한 읽는방법 ※
 
ls -al 로 파일을 보면
rwxrwxrwx 이렇게 권한부여된 것을 볼 수 있음
 
rwxrwxrwx이면 777을 의미함 (2진수로 봤을때 r =4 w=2 x =1)
r은 read, w은 write , x는 excute 를 의미함
 
앞에 d로 시작하는건 디렉토리 ( = 폴더) 를 의미함
 
첫번째 rwx는 소유자
두번째 rwx는 그룹
세 번째 rwx는 그 외의 유저를 의미함
 
예를들어 775는 rwxrwxr-x가 된다고 보면 된다.
 
#chomod -R 775/oracle 명령어는
/oracle폴더에 775권한을 주는데 , -R은 그 폴더부터 하위폴더까지 모두 권한을 주는 것.
 
 
 

DB설치방법
 
창이 뜨면 Set up Software Only ->
 
Single Instance database installation ->
 
Enterprise Edition (
중간에 DBMS 선택하는 부분이 있는데,
실제 사이트에서는 Oracle Standard Edition 과 Oracle Enterprise Edition은 다른 제품이기 때문에
고객이 가지고 있는 라이선스를 확인하고 설치 하시기 바랍니다.
또한 서버 CPU/Core 수에 따라, Oracle Standard Edition 과 Oracle Enterprise Edition 설치에 제안이 있으니
아래 내용 참고해 주세요.
  1. Oracle Standard Edition은 (물리서버)DB서버 최대 2cpu이하 서버에만 적용되며,
  2. SE(Standard Edition)은 EE에는 있는 option이 없습니다.
)  ->
 
Oracle Base 경로 확인 ->
 
다 dba로 통일->
 
계속 next->
 
 
미설치된 프로그램이 있을경우 root계정으로 yum install 수행-> 
 
root.sh 가 나올경우 root 경로 복사후 root에 붙여넣기->
 
완료
 

Listener 설정방법
 
Listener configuration -> Add -> 리스너 이름 설정 -> TCP가 Selected Protocols에 있는것을 확인->  1521말고 다른 포트 사용시 원하는 포트번호 기재 -> 다른포트를 추가할경우 yes 아닐경우 no -> Finish
 
먼저 netca를 쳤을때 아무것도 안뜬다면 GUI가 활성화되지않았고, DISPLAY가 설정안되어있다는 소리이므로 , DISPLAY를 현재 자신이 쓰고있는 컴퓨터에서 ipconfig를 해서 ip주소를 알아낸 다음, xming을 통해 접속할것
export DISPLAY=192.168.0.1:0.0
netca
명령어가 안되면 .bash_profile에서 오타있나 확인
 
만약 그래도 안되면
/oracle/app/19.0.0/bin 으로 이동 (ORACLE_HOME주소/bin) 해서 ./netca 해서 되면 .bash_profile 에서 오타확인 무조건 여기서 틀린거
 
[ lsnrctl status 리스너이름]     치면 등록되어 있는 걸 알 수 있다
 
[ lsnrctl  stop 리스너이름]      리스너 종료
 
[oracle@localhost admin]$ vi listener.ora
[oracle@localhost admin]$ lsnrctl reload
 
oracle_home/network/admin 위치에
ps -ef | grep tns -> 리스너가 있는지 확인
 

OPatch 업데이트(DB와 Listener DOWN된 상태)
 
먼저 OPatch tool이랑 OPatch 최신버전 다운받기
 
Oracle Support 들어가서 즐겨찾기에 있거나
Patches & Updates에 Search -> Patch Number 각각 기입
 
6880880
 
161818.1
 
패치리스트 (DOC ID  2118136.2)
 
OPatch 최신버전 :
      Oracle Database 19c Proactive Patch Information (Doc ID 2521164.1)
OPatch tool :
 
둘다 /home/oracle 에 전송
 
$ mv $ORACLE_HOME/OPatch $ORACLE_HOME/OPatch_old
$ unzip p6880880_190000_Linux-x86-64.zip -d $ORACLE_HOME
$ opatch lsinventory
 
$ unzip p32545013_190000_Linux-x86-64.zip
$ cd /home/oracle
 
Patch 적용
  1. opatch apply /home/oracle/33132323
  2. 다 y 누르기 (prerequisties는 패치가 가능한지 확인하는 절차)
  3. opatch 푼 디렉토리 가서 그냥 opatch apply 갈기기
 
Patch 적용됐는지 확인하기
opatch lsinventory
 
 
Warning
error code 73 : opatch 랑 db version 이랑 잘보고 다운로드 받기

DBCA 수행 및 DATABASE OPERATION (LISTENER 켜있는상태)
 
$    dbca
 
create a database ->
 
Advanced configuration ->
 
Oracle Single Instance database/ Custom Database ->
 
SID랑 Global datdabase name 적기 ->
 
Use following for the ... 선택 후 경로 지정 .
만약에 새로운 파일 만드려면 root 계정에서 mkdir /파일명 으로 파일만들어주고 ,
권한까지 준 다음에 들어가지는거 확인 -> 
 
archive 선택  후 디렉토리 또 만들거면 아까처럼 root로 mkdir 파일 만들어주기 ->
 
리스너 선택 후 next (down 상태라면 lsnrctl start 명령어로 켜주기) -> 
 
JVM,Text,Multimedia, OLAP,Spatial 체크 해주기 ->
 
SGA size 는 요청사항대로  , (SGA : 4G, PGA : 1G) -> Sizing은 8192 ->
 
Character sets 는 요청사항대로 (KR) ->
 
Default인 Dedicated server mode로 설정 후 [Next] ->
 
EM 체크 다 해제 ->
 
Use the same ad.. Password 도 요청사항대로 (1234) ->
 
Create database , Generate database creation scripts 체크 -> 
 
Finish

DB 정상 생성 확인
 
$    sqlplus / as sysdba
SQL>     select instance_name, status from v$instance ;
 
SQL> set line 250
SQL> col description for a100
SQL> select patch_id, patch_type, action, status,description from DBA_REGISTRY_SQLPATCH ;
select patch_id, action, status,description from DBA_REGISTRY_SQLPATCH ;
oracle@localhost ~ [ps -ef | grep (oracle_sid) ]
 
shutdown normal (진행되게 한 다음에  다 완료된 후 종료)
shutdown immediate (진행하다가 중간에 shutdown이면 rollback)
shutdown abort (그냥 바로 종료)
 
select * from nls_database_parameters; (언어 설정 확인)
 
select file_name from dba_data_files; (dictionary view)
 
sqldeveloper 들어가는방법
cd /u01/app/oracle/product/12.2.0cd/dbhome_1/sqldeveloper
( $ORACLE_HOME/sqldeveloper)에서 sqldeveloper.sh 
 
 
에러로그 보는 방법
cd $ORACLE_BASE/diag/rdbms/oracle12/oracle12
 
1.
위 경로에서 adrci 를 치면 모든 로그들을 통합적으로 볼수있음
 
2.
위 경로에서 cd trace/ 로 들어가면 로그들이 많이 쌓여있는 것을 볼 수 있다.
거기서 에러사항 확인
 
DDL 로그 보는 방법
show parameter ddl ;
alter system set enable_ddl_logging=true; ( 되면 동적 안되면 정적 . 정적이면 껏다가 다시 켜야함)
$ more ddl_orcl.log (에러로그 보는 방법에 있는 위치/log/ddl 에 기록되어있음)
 
디버그 로그 보는 방법
-> 이벤트에 대한 경고
-> Incident에 대한 문제진단
로그위치 : $ORACLE_BASE/diag/rdbms/(dbname)/(sid)/(debug)에 기록
 
trace 파일있는곳
$ORACLE_BASE/diag/rdbms -> adrci
 
.ora 위치
$ORACLE_HOME/network/admin
 
 

'DB INSTALL > RAC INSTALL GUIDE 19C' 카테고리의 다른 글

oracle RAC installation guide - 2  (0) 2024.04.11
oracle RAC install guide - 1  (2) 2023.12.28

댓글