반응형
Step1. 유저 및 그룹 생성하기.
[root@localhost ~]# groupadd dba -g 800
[root@localhost ~]# useradd oracle -u 810 -g dba
[root@localhost ~]# chown -R oracle:dba /home/oracle/
TIP. user GID UID 변경해야 하는 경우
[root@localhost ~]# usermod -u 810 oracle
[root@localhost ~]# groupmod -g 800 oracle
Step2. 디렉토리 생성하기.
[root@localhost~]mkdir /database
[root@localhost~]mkdir -p /database/oradata
[root@localhost~]chown -R oracle:dba /database
[root@localhost~]cd /home/oracle
[root@localhost oracle] mkdir product
[root@localhost oracle] mkdir -p /product/21.3.0/db_1
[root@localhost oracle] mkdir oraInventory
[root@localhost oracle] chown oracle:dba -R ./*
Step3. 환경변수 설정하기.
* THP기능 끄기.
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
[always] madvise never
[root@localhost ~]# vim /etc/default/grub
##transparent_hugepage=never 추가
GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"
[root@localhost ~]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
done
[root@localhost ~]# systemctl reboot
[root@localhost ~]# cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
* Oracle 리소스 제한 설정.
[root@localhost ~]# vi /etc/security/limits.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
* 커널 매게 변수 설정.
[root@localhost ~]# vi /etc/sysctl.conf
# Maximum shared segment size in bytes
kernel.shmmax = 4100380672
# # Maximum number of shared memory segments in pages
kernel.shmall = 3001067
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.panic_on_oops = 1
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 = 1048576
vm.swappiness = 1
fs.file-max = 6815744
**오라클 환경변수 스크립트사용하여 shmall과 shmmax값을 구한다.
참고 : https://kyoungho.tistory.com/127
[root@localhost ~]# sysctl -p <-적용
* PAM_limit.so 모듈 사용하기.
앞서 설정한 limit.conf와 연관.
[root@localhost ~]# ll /lib64/security/pam_limits.so
-> 존재여부 확인 후(OS설치할때 기본적으로 깔려있음)
[root@localhost ~]# vim /etc/pam.d/login
제일 하단에 추가
session required /lib64/security/pam_limits.so
[root@localhost ~]# su - oracle <--오라클로 계정 전환.
[oracle@localhost ~]$ vim .bash_profile
#####################################################
# Oracle Settings
#####################################################
PS1="`hostname`:\$PWD>"
export ORACLE_HOSTNAME=[서버 호스트 네임]
export ORACLE_BASE=/home/oracle
export ORACLE_HOME=$ORACLE_BASE/product/21.3.0/db_1
export ORA_INVENTORY=$ORACLE_BASE/oraInventory
export PDB_NAME=pdb1
export DATA_DIR=/database/oradata
export ORACLE_DOC=$ORACLE_HOME/doc
export ORACLE_SID=[SID입력];
export ORACLE_OWNER=oracle
export ORACLE_TERM=xterm
export TEMPDIR=/tmp
export TEMP=/tmp
#American_America.KO16KSC5601;
#American_America.AL32UTF8;
export NLS_LANG=American_America.AL32UTF8;
export TNS_ADMIN=$ORACLE_HOME/network/admin
export NLS_DATE_FORMAT=yyyymmddhh24miss
export PATH=$PATH:$ORACLE_HOME/bin:/bin:/usr/bin/java/bin:/bin:/usr/bin:/usr/sbin:/etc:/usr/etc
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib;
export LANG=C
export EDITOR=vi
alias ss='sqlplus "/as sysdba"'
[oracle@localhost ~]$ source .bash_profile
Step4. Oracle 설치 하기.
[root@localhost ~]# yum -y groupinstall 'Development Tools'
[root@localhost ~]# yum install -y libnsl
[root@localhost ~]# yum -y install bc \
binutils \
elfutils-libelf \
elfutils-libelf-devel \
fontconfig-devel \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libXrender \
libXrender-devel \
libX11 \
libXau \
libXi \
libXtst \
libgcc \
librdmacm-devel \
libstdc++ \
libstdc++-devel \
libxcb \
make \
net-tools \
smartmontools \
sysstat \
unzip \
libnsl \
libnsl2
[root@localhost ~]# ll
-rw-r--r-- 1 root root 4165682132 LINUX.x64_213000_db_home.zip
[root@localhost ~]# chown oracle:dba -R LINUX.x64_213000_db_home.zip
[root@localhost ~]# mv LINUX.x64_213000_db_home.zip /home/oracle/
[root@localhost ~]# export CV_ASSUME_DISTID=RHEL8.0 <-- 설치전 root계정으로 export할 것.
[root@localhost ~]# su - oracle <-- 오라클 계정 전환.
[oracle@localhost ~]$
[oracle@localhost ~]$ unzip LINUX.x64_213000_db_home.zip -d $ORACLE_HOME
-> Oracle은 오라클 홈페이지에서 다운로드 받아서 서버에 올리면된다.(오라클 계정 필수)
[oracle@localhost ~]$ cd $ORACLE_HOME
[oracle@localhost db_1]$ ./runInstaller -ignorePrereq -waitforcompletion -silent \
oracle.install.option=INSTALL_DB_SWONLY \
ORACLE_HOSTNAME=${ORACLE_HOSTNAME} \
UNIX_GROUP_NAME=dba \
INVENTORY_LOCATION=${ORA_INVENTORY} \
ORACLE_HOME=${ORACLE_HOME} \
ORACLE_BASE=${ORACLE_BASE} \
oracle.install.db.InstallEdition=EE \
oracle.install.db.OSDBA_GROUP=dba \
oracle.install.db.OSBACKUPDBA_GROUP=dba \
oracle.install.db.OSDGDBA_GROUP=dba \
oracle.install.db.OSKMDBA_GROUP=dba \
oracle.install.db.OSRACDBA_GROUP=dba \
SECURITY_UPDATES_VIA_MYORACLESUPPORT=false \
DECLINE_SECURITY_UPDATES=true
As a root user, execute the following script(s):
1. /home/oracle/oraInventory/orainstRoot.sh
2. /home/oracle/product/21.3.0/db_1/root.sh
[oracle@localhost db_1]$ exit
[root@localhost ~]# /home/oracle/oraInventory/orainstRoot.sh
[root@localhost ~]# /home/oracle/product/21.3.0/db_1/root.sh
-> 실행 후
[root@localhost ~]# su - oracle <-- 오라클 계정 전환.
[oracle@localhost db_1]$ lsnrctl start
[oracle@localhost db_1]$ dbca -silent -createDatabase \
-templateName General_Purpose.dbc \
-gdbname ${ORACLE_SID} -sid ${ORACLE_SID} \
-responseFile NO_VALUE \
-characterSet AL32UTF8 \
-sysPassword 패스워드입력 \
-systemPassword 패스워드입력 \
-createAsContainerDatabase true \
-numberOfPDBs 1 \
-pdbName ${PDB_NAME} \
-pdbAdminPassword 패스워드입력 \
-databaseType MULTIPURPOSE \
-automaticMemoryManagement false \
-totalMemory 4096 \
-storageType FS \
-datafileDestination "${DATA_DIR}" \
-redoLogFileSize 50 \
-emConfiguration NONE \
-ignorePreReqs
** totalMemory 4096 --> MB기준, 보통 물리메모리에 50~70% 할당.
설치 끝.
** 접속 방법.
[oracle@localhost ~]$ sqlplus "/as sysdba"
SQL>
** Oracle 19c도 설치방법 동일.
** Locky Liunx 9버전에선 Oracle 19c,Oracle 21c 설치 불가.
반응형
'공부 > 리눅스 서버' 카테고리의 다른 글
[linux] 쉘 스크립트 기본 문법 (0) | 2024.07.05 |
---|---|
[Linux] HAProxy loadbalancer configuration (0) | 2024.07.02 |
[linux] MariaDB 삭제 및 재설치 (0) | 2023.03.20 |
[oracle] ORA-31633 expdp error (0) | 2023.03.15 |
[linux] MariaDB 10.6.10 install (0) | 2022.12.15 |
댓글