OS 환경 : RHEL 8.6
DB 환경 : Oracle Database 19.7.0.0
1. 사전 준비 사항
- 사용자 및 그룹 생성
$ groupadd -g 1100 dba
$ groupadd -g 1101 oinstall
$ useradd -g dba -G oinstall oracle
- SELINUX 설정 변경
$ vi /etc/selinux/config
SELINUX=permissive
- 필요 라이브러리 패키지 다운로드 (경로 : /u01/media)
목록 :
LINUX.X64_193000_db_home.zip (ORACLE19C 패키지 파일)
oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm (Oracle Pre-install 파일)
glibc-devel-2.28-189.el8.x86_64.rpm(표준 C 라이브러리를 사용한 개발을 위한 객체 파일)
ksh-20120801-144.el7_9.x86_64.rpm(오리지널 ATT Korn Shell 라이브러리)
libaio-devel-0.3.113-3.1.x86_64.rpm(Linux 기본 비동기 I/O 액세스를 위한 개발 파일)
libnsl-2.28-236.el8.6.x86_64.rpm(NIS 레거시 지원 라이브러리)
make-4.2.1-11.el8.x86_64.rpm(빌드 프로세스 단순화 라이브러리)
https://www.oracle.com/kr/database/technologies/oracle19c-linux-downloads.html
https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/index.html
https://www.rpmfind.net/linux/rpm2html/
- 설치 경로 생성(root 유저로 수행)
$ mkdir -p /u01/app/oracle/product/19c/db_1
$ mkdir -p /u01/media
$ mkdir -p /u01/app/oraInventory
$ chown -R oracle:oinstall /u01
$ chmod -R 775 /u01
- /u01/media 경로로 다운받은 라이브러리 이
- 필요 라이브러리 패키지 설치
$ rpm -ivh oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm --nodeps
$ rpm -ivh glibc-devel-2.28-189.el8.x86_64.rpm --nodeps
$ rpm -ivh ksh-20120801-144.el7_9.x86_64.rpm --nodeps
$ rpm -ivh libaio-devel-0.3.113-3.1.x86_64.rpm --nodeps
$ rpm -ivh libnsl-2.28-236.el8.6.x86_64.rpm --nodeps
$ rpm -ivh make-4.2.1-11.el8.x86_64.rpm --nodeps
- 그룹 및 오라클 계정 확인
[root@RHEL86Oracle19c /]# cat /etc/group |grep oinstall
oinstall:x:1101:oracle
[root@RHEL86Oracle19c /]# cat /etc/group |grep 1001
oinstall:x:1101:oracle
- /etc/sysctl.conf 파일 편집(root 유저로 수행)
[root@RHEL86Oracle19c /]# vi /etc/sysctl.conf
# 시스템에서 동시에 오픈 가능한 파일의 수와 연관된 파일 핸들의 최대값
fs.file-max = 6815744
# oracle-database-preinstall-19c setting for kernel.sem is '250 32000 100 128'
kernel.sem = 250 32000 100 128
# 공유 메모리 세그먼트의 최대 개수
kernel.shmmni = 4096
# 특정 시점에 시스템에서 사용 가능한 공유 메모리의 최대 크기
kernel.shmall = 1073741824
# 공유 메모리 세그먼트의 최대 크기
kernel.shmmax = 4398046511104
# 버그가 발생하면 시스템 PANIC 상태로 처리할지를 결정
kernel.panic_on_oops = 1
# TCP 수신 버퍼 크기의 기본값 설정
net.core.rmem_default = 262144
# TCP 수신 버퍼 크기의 최대값 설정
net.core.rmem_max = 4194304
# TCP 송신 버퍼 크기의 기본값 설정
net.core.wmem_default = 262144
# TCP 송신 버퍼 크기의 최대값 설정
net.core.wmem_max = 1048576
# oracle-database-preinstall-19c setting for net.ipv4.conf.all.rp_filter is 2
net.ipv4.conf.all.rp_filter = 2
# 모든 인터페이스에서 들어오는 패킷에 대해 reply를 하여 들어오는 인터페이스로 나가지 못하는 패킷을 거부함
net.ipv4.conf.default.rp_filter = 2
# 동시에 들어오는 요청의 개수를 제한함
fs.aio-max-nr = 1048576
# 시스템에 접속할 때 사용할 수 있는 네트워크 포트의 범위
net.ipv4.ip_local_port_range = 9000 65500
- 커널 변경 값 적용
[root@RHEL86Oracle19c /]# sysctl -p
- 사용자 환경 설정 .bash_profile(oracle 유저로 수행)
$ vi ~/.bash_profile
export TZ=Asia/Seoul
export HOME=/home/oracle
export GRID_HOME=/u01/app/oracle/product/19c/db_1
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19c/db_1
export ORACLE_SID=testdb
export PATH=$PATH:$ORACLE_HOME/bin:$GRID_HOME/bin
export PS1='[$ORACLE_SID|\u:$PWD]> '
export CV_ASSUME_DISTID=OEL8
set -o vi
alias ss="sqlplus / as sysdba"
stty erase ^?
export LANG=ko_KR.utf8
export NLS_LANG=AMERICAN_KOREA.AL32UTF8
- $ORACLE_HOME / $ORACLE_BASE 경로 디렉토리 생성 확인
[testdb|oracle:/]> cd $ORACLE_BASE
[testdb|oracle:/]> cd $ORACLE_HOME
2. 소프트웨어 설치
- ORACLE 19c 설치 파일 압축 해제(oracle 유저로 수행)
[testdb|oracle:/u01/media]> unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
- db_install.rsp 파일 설정
vi $ORACLE_HOME/install/response/db_install.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_dbinstall_response_schema_v19.0.0
oracle.install.option=INSTALL_DB_SWONLY
# 인벤토리 디렉토리의 UNIX 그룹 선택
UNIX_GROUP_NAME=oinstall
# 인벤토리 디렉토리 위치 선택
INVENTORY_LOCATION=/u01/app/oraInventory
# ORACLE_HOME 위치
ORACLE_HOME=/u01/app/oracle/product/19c/db_1
# ORACLE_BASE 위치
ORACLE_BASE=/u01/app/oracle
# 데이터베이스 설치 버전 선택, EE : Enterprise Edition, SE2 : Standard Edition 2
oracle.install.db.InstallEdition=EE
# 데이터베이스 관리자(OSDBA) 그룹, 선택사항
oracle.install.db.OSDBA_GROUP=oinstall
# 데이터베이스 운영자(OSOPER) 그룹
oracle.install.db.OSOPER_GROUP=oinstall
# 데이터베이스 백업 및 복구(OSBACKUPDBA) 그룹
oracle.install.db.OSBACKUPDBA_GROUP=oinstall
# Data Guard 관리(OSDGDBA) 그룹
oracle.install.db.OSDGDBA_GROUP=oinstall
# 암호화키 관리(OSKMDBA) 그룹
oracle.install.db.OSKMDBA_GROUP=oinstall
# RAC(Real Application Cluster) 관리(OSRACDBA) 그룹
oracle.install.db.OSRACDBA_GROUP=oinstall
# true/false 선택, false일 경우 Manually 하게 ROOT SCRIPT 실행
oracle.install.db.rootconfig.executeRootScript=true
# ROOT/SUDO 선택, executeRootScript 설정값이 true일 경우 선택
oracle.install.db.rootconfig.configMethod=ROOT
- 소프트웨어 설치 실행
$ ORACLE_HOME/runInstaller -silent -responseFile $ORACLE_HOME/install/response/db_install.rsp
**db_install.rsp 파일 실행 오류시 orainventory 디렉토리에서 전부 지우고 다시 실행
$ rm -rf *
3. 리스너 구성
- netca.rsp 설치 파일 적용
netca.rsp 파일은 별도의 수정 없이 사용 가능
$ netca -silent -responseFile $ORACLE_HOME/assistants/netca/netca.rsp
- 리스너 확인
$ lsnrctl status
4. 데이터베이스 생성
- dbca.rsp 파일 설정
$ vi $ORACLE_HOME/assistants/dbca/dbca.rsp
# Globas Database Name 설정
gdbName=testdb
# 데이터베이스 SID 설정
sid=testdb
# 컨테이너 DB 생성 여부
createAsContainerDatabase=false
# 생성할 플러그인 데이터베이스 수(Default 0)
numberOfPDBs=
# 플러그인 데이터베이스의 로컬 UNDO 테이블스페이스 사용(Default TRUE)
useLocalUndoForPDBs=TRUE
# PDB Administrator 사용자 패스워드
pdbAdminPassword=
# 생성할 데이터베이스의 템플릿 (Data_Warehouse.dbc General_Purpose.dbc에 하나)
templateName=General_Purpose.dbc
# SYS 사용자 패스워드
sysPassword=P@ssw0rd
# SYSTEM 사용자 패스워드
systemPassword=P@ssw0rd
# 저장소 타입 설정(FS, ASM / Default FS)
storageType=FS
# 문자셋 설정(Default US7ASCII)
characterSet=AL32UTF8
# National CharacterSet 설정(Default AL16UTF8)
nationalCharacterSet=AL16UTF16
# 데이터베이스를 등록할 리스너 이름
listeners=LISTENER
# 데이터베이스 유형 선택(**MULTIPURPOSE**|DATA_WAREHOUSING|OLTP)
databaseType=MULTIPURPOSE
# 샘플스키마 설치 여부(Default False)
sampleSchema=TRUE
# 데이터베이스에 사용될 메모리, MB 단위
totalMemory=4096
- 데이터베이스 설치 진행
$ dbca -silent -createDatabase -responsefile $ORACLE_HOME/assistants/dbca/dbca.rsp
- 데이터베이스 생성 완료 확인
$ sqlplus / as sysdba
SQL> select * from v$controlfile;
SQL> select * from v$log;
SQL> select * from v$logfile;
SQL> select tablespace_name, file_name, status, autoextensible, bytes/1024/1024 from dba_data_files;
SQL> select * from dba_temp_files;
'Oracle' 카테고리의 다른 글
[Oracle Linux 8.6] Oracle 19c Real Application Cluster 설치(3) (0) | 2024.04.01 |
---|---|
[Oracle Linux 8.6] Oracle 19c Real Application Cluster 설치(2) (0) | 2024.04.01 |
[Oracle Linux 8.6] Oracle 19c Real Application Cluster 설치(1) (0) | 2024.04.01 |
[Oracle Linux 8.6] Oracle 19c Single ASM 설치(GUI) (0) | 2023.12.26 |
[Oracle Linux 7.7] Oracle 19c 설치(GUI) (0) | 2023.06.01 |