[Oracle] 오라클 소프트웨어 설치

·2025년 8월 18일

오라클 관리

목록 보기
4/163

오라클 데이터베이스를 설치할 때 다음과 같이 /root/.Xauthority 파일을 확인하는 이유는 그래픽 설치 프로그램(GUI installer)을 실행하기 위해서입니다.

아래의 작업은 모바텀에서 먼저 합니다

login as: root
root@192.168.56.210's password:
Last login: Thu May  9 17:14:31 2024
/usr/bin/xauth:  file /root/.Xauthority does not exist
[root@ora19c ~]# xauth
Using authority file /root/.Xauthority
xauth> info
Authority file:       /root/.Xauthority
File new:             no
File locked:          no
Number of entries:    1
Changes honored:      yes
Changes made:         no
Current input:        (stdin):1
xauth> exit
[root@ora19c ~]# ls -al /root/.Xauthority
-rw-------. 1 root root 52 May  9 17:18 /root/.Xauthority


오라클 리눅스 버전 확인

[root@localhost ~]#  rpm -qa *-release
oraclelinux-release-7.9-1.0.9.el7.x86_64
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# uname -a
Linux localhost.localdomain 5.4.17-2102.201.3.el7uek.x86_64 #2 SMP Fri Apr 23 09:05:55 PDT 2021 x86_64 x86_64 x86_64 GNU/Linux

/etc/hosts에 다음과 같이 아이피와 호스트 이름을 적고 저장합니다

[root@localhost ~]#  vi /etc/hosts
[root@localhost ~]#
[root@localhost ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.13.81 ora19c

여기서 스냅샷을 한번 찍어줍니다.


vi /etc/hostname 를 열고 다음과 같이 호스트 네임을 저장합니다.

[root@localhost ~]# vi /etc/hostname
[root@localhost ~]# cat /etc/hostname
ora19c

혹시 위의 방법대로 바뀌지 않으면
hostnamectl set-hostname ora19c 쓰기


Oracle Database 19c 설치를 위한 사전 준비 패키지를 자동으로 설치하는 명령 수행

yum -y install oracle-database-preinstall-19c

[root@localhost ~]# yum -y  install oracle-database-preinstall-19c

Loaded plugins: langpacks, ulninfo
Resolving Dependencies
--> Running transaction check
---> Package oracle-database-preinstall-19c.x86_64 0:1.0-3.el7 will be installed
--> Processing Dependency: compat-libcap1 for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Processing Dependency: glibc-devel for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Processing Dependency: ksh for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Processing Dependency: libaio-devel for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Processing Dependency: libstdc++-devel for package: oracle-database-preinstall-19c-1.0-3.el7.x86_64
--> Running transaction check
---> Package compat-libcap1.x86_64 0:1.10-7.el7 will be installed
---> Package glibc-devel.x86_64 0:2.17-326.0.9.el7_9.3 will be installed
--> Processing Dependency: glibc = 2.17-326.0.9.el7_9.3 for package: glibc-devel-2.17-326.0.9.el7_9.3.x86_64
--> Processing Dependency: glibc-headers = 2.17-326.0.9.el7_9.3 for package: glibc-devel-2.17-326.0.9.el7_9.3.x86_64
--> Processing Dependency: glibc-headers for package: glibc-devel-2.17-326.0.9.el7_9.3.x86_64
---> Package ksh.x86_64 0:20120801-144.0.1.el7_9 will be installed
---> Package libaio-devel.x86_64 0:0.3.109-13.el7 will be installed
---> Package libstdc++-devel.x86_64 0:4.8.5-44.0.3.el7 will be installed
--> Running transaction check
---> Package glibc.x86_64 0:2.17-317.0.1.el7 will be updated
--> Processing Dependency: glibc = 2.17-317.0.1.el7 for package: glibc-common-2.17-317.0.1.el7.x86_64
---> Package glibc.x86_64 0:2.17-326.0.9.el7_9.3 will be an update
---> Package glibc-headers.x86_64 0:2.17-326.0.9.el7_9.3 will be installed
--> Processing Dependency: kernel-headers >= 2.2.1 for package: glibc-headers-2.17-326.0.9.el7_9.3.x86_64
--> Processing Dependency: kernel-headers for package: glibc-headers-2.17-326.0.9.el7_9.3.x86_64
--> Running transaction check
---> Package glibc-common.x86_64 0:2.17-317.0.1.el7 will be updated
---> Package glibc-common.x86_64 0:2.17-326.0.9.el7_9.3 will be an update
---> Package kernel-headers.x86_64 0:3.10.0-1160.119.1.0.5.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package                      Arch   Version                   Repository  Size
================================================================================
Installing:
 oracle-database-preinstall-19c
                              x86_64 1.0-3.el7                 ol7_latest  27 k
Installing for dependencies:
 compat-libcap1               x86_64 1.10-7.el7                ol7_latest  17 k
 glibc-devel                  x86_64 2.17-326.0.9.el7_9.3      ol7_latest 1.1 M
 glibc-headers                x86_64 2.17-326.0.9.el7_9.3      ol7_latest 695 k
 kernel-headers               x86_64 3.10.0-1160.119.1.0.5.el7 ol7_latest 9.1 M
 ksh                          x86_64 20120801-144.0.1.el7_9    ol7_latest 882 k
 libaio-devel                 x86_64 0.3.109-13.el7            ol7_latest  12 k
 libstdc++-devel              x86_64 4.8.5-44.0.3.el7          ol7_latest 1.5 M
Updating for dependencies:
 glibc                        x86_64 2.17-326.0.9.el7_9.3      ol7_latest 3.6 M
 glibc-common                 x86_64 2.17-326.0.9.el7_9.3      ol7_latest  12 M

Transaction Summary
================================================================================
Install  1 Package  (+7 Dependent packages)
Upgrade             ( 2 Dependent packages)

Total download size: 29 M
Downloading packages:
No Presto metadata available for ol7_latest
경고: /var/cache/yum/x86_64/7Server/ol7_latest/packages/compat-libcap1-1.10-7.el7.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY
Public key for compat-libcap1-1.10-7.el7.x86_64.rpm is not installed
(1/10): compat-libcap1-1.10-7.el7.x86_64.rpm               |  17 kB   00:06
(2/10): glibc-2.17-326.0.9.el7_9.3.x86_64.rpm              | 3.6 MB   00:07
(3/10): glibc-devel-2.17-326.0.9.el7_9.3.x86_64.rpm        | 1.1 MB   00:00
(4/10): glibc-headers-2.17-326.0.9.el7_9.3.x86_64.rpm      | 695 kB   00:00
(5/10): glibc-common-2.17-326.0.9.el7_9.3.x86_64.rpm       |  12 MB   00:02
(6/10): ksh-20120801-144.0.1.el7_9.x86_64.rpm              | 882 kB   00:00
(7/10): libaio-devel-0.3.109-13.el7.x86_64.rpm             |  12 kB   00:00
(8/10): libstdc++-devel-4.8.5-44.0.3.el7.x86_64.rpm        | 1.5 MB   00:00
(9/10): oracle-database-preinstall-19c-1.0-3.el7.x86_64.rp |  27 kB   00:00
(10/10): kernel-headers-3.10.0-1160.119.1.0.5.el7.x86_64.r | 9.1 MB   00:05
--------------------------------------------------------------------------------
Total                                              2.0 MB/s |  29 MB  00:14
Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Importing GPG key 0xEC551F03:
 Userid     : "Oracle OSS group (Open Source Software group) <build@oss.oracle.com>"
 Fingerprint: 4214 4123 fecf c55b 9086 313d 72f9 7b74 ec55 1f03
 Package    : 7:oraclelinux-release-7.9-1.0.9.el7.x86_64 (@anaconda/7.9)
 From       : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Updating   : glibc-common-2.17-326.0.9.el7_9.3.x86_64                    1/12
  Updating   : glibc-2.17-326.0.9.el7_9.3.x86_64                           2/12
  Installing : ksh-20120801-144.0.1.el7_9.x86_64                           3/12
  Installing : compat-libcap1-1.10-7.el7.x86_64                            4/12
  Installing : libstdc++-devel-4.8.5-44.0.3.el7.x86_64                     5/12
  Installing : libaio-devel-0.3.109-13.el7.x86_64                          6/12
  Installing : kernel-headers-3.10.0-1160.119.1.0.5.el7.x86_64             7/12
  Installing : glibc-headers-2.17-326.0.9.el7_9.3.x86_64                   8/12
  Installing : glibc-devel-2.17-326.0.9.el7_9.3.x86_64                     9/12
  Installing : oracle-database-preinstall-19c-1.0-3.el7.x86_64            10/12
  Cleanup    : glibc-common-2.17-317.0.1.el7.x86_64                       11/12
  Cleanup    : glibc-2.17-317.0.1.el7.x86_64                              12/12
  Verifying  : kernel-headers-3.10.0-1160.119.1.0.5.el7.x86_64             1/12
  Verifying  : glibc-2.17-326.0.9.el7_9.3.x86_64                           2/12
  Verifying  : glibc-devel-2.17-326.0.9.el7_9.3.x86_64                     3/12
  Verifying  : glibc-headers-2.17-326.0.9.el7_9.3.x86_64                   4/12
  Verifying  : ksh-20120801-144.0.1.el7_9.x86_64                           5/12
  Verifying  : oracle-database-preinstall-19c-1.0-3.el7.x86_64             6/12
  Verifying  : compat-libcap1-1.10-7.el7.x86_64                            7/12
  Verifying  : libaio-devel-0.3.109-13.el7.x86_64                          8/12
  Verifying  : glibc-common-2.17-326.0.9.el7_9.3.x86_64                    9/12
  Verifying  : libstdc++-devel-4.8.5-44.0.3.el7.x86_64                    10/12
  Verifying  : glibc-common-2.17-317.0.1.el7.x86_64                       11/12
  Verifying  : glibc-2.17-317.0.1.el7.x86_64                              12/12

Installed:
  oracle-database-preinstall-19c.x86_64 0:1.0-3.el7

Dependency Installed:
  compat-libcap1.x86_64 0:1.10-7.el7
  glibc-devel.x86_64 0:2.17-326.0.9.el7_9.3
  glibc-headers.x86_64 0:2.17-326.0.9.el7_9.3
  kernel-headers.x86_64 0:3.10.0-1160.119.1.0.5.el7
  ksh.x86_64 0:20120801-144.0.1.el7_9
  libaio-devel.x86_64 0:0.3.109-13.el7
  libstdc++-devel.x86_64 0:4.8.5-44.0.3.el7

Dependency Updated:
  glibc.x86_64 0:2.17-326.0.9.el7_9.3
  glibc-common.x86_64 0:2.17-326.0.9.el7_9.3

Complete!
[root@localhost ~]#

오라클 설치를 위한 필수 그룹들이 제대로 생성되었는지 확인

아래의 명령어를 실행해서 아래 2개의 그룹이 있는지 확인합니다.

oracle:x:1000:oracle
oinstall:x:54321:

[root@localhost ~]# cat /etc/group
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
disk:x:6:
lp:x:7:
mem:x:8:
kmem:x:9:
wheel:x:10:
cdrom:x:11:
mail:x:12:postfix
man:x:15:
dialout:x:18:
floppy:x:19:
games:x:20:
tape:x:33:
video:x:39:
ftp:x:50:
lock:x:54:
audio:x:63:
nobody:x:99:
users:x:100:
utmp:x:22:
utempter:x:35:
input:x:999:
systemd-journal:x:190:
systemd-network:x:192:
dbus:x:81:
polkitd:x:998:
colord:x:997:
printadmin:x:996:
libstoragemgmt:x:995:
rpc:x:32:
saned:x:994:
dip:x:40:
cgred:x:993:
ssh_keys:x:992:
saslauth:x:76:
abrt:x:173:
setroubleshoot:x:991:
rtkit:x:172:
pulse-access:x:990:
pulse-rt:x:989:
pulse:x:171:
radvd:x:75:
unbound:x:988:
kvm:x:36:qemu
qemu:x:107:
gluster:x:987:
chrony:x:986:
tss:x:59:
libvirt:x:985:
usbmuxd:x:113:
geoclue:x:984:
mysql:x:27:
gdm:x:42:
rpcuser:x:29:
nfsnobody:x:65534:
gnome-initial-setup:x:983:
sshd:x:74:
slocate:x:21:
#### avahi:x:70:
postdrop:x:90:
postfix:x:89:
ntp:x:38:
stapusr:x:156:
stapsys:x:157:
stapdev:x:158:
tcpdump:x:72:
oracle:x:1000:oracle
oinstall:x:54321:
dba:x:54322:
oper:x:54323:
backupdba:x:54324:
dgdba:x:54325:
kmdba:x:54326:
racdba:x:54330:
[root@localhost ~]#

oracle 유져가 오라클을 설치할 수 있는 그룹인 oinstall 에 속해있는지 확인합니다.

[root@localhost ~]# id oracle
uid=1000(oracle) gid=1000(oracle) groups=1000(oracle)

oracle 유져를 설치를 위한 그룹에 속하게 해줍니다.

[root@localhost ~]# usermod -g oinstall oracle
[root@localhost ~]#
[root@localhost ~]# id oracle
uid=1000(oracle) gid=54321(oinstall) groups=54321(oinstall),1000(oracle)
[root@localhost ~]#
[root@localhost ~]#
[root@localhost ~]# usermod -a -G dba,oper,backupdba,dgdba,kmdba,racdba oracle
[root@localhost ~]#
[root@localhost ~]# id oracle
uid=1000(oracle) gid=54321(oinstall) groups=54321(oinstall),1000(oracle),54322(dba),54323(oper),54324(backupdba),54325(dgdba),54326(kmdba),54330(racdba)

오라클 데이터베이스가 최적으로 동작하기 위한 커널 매개변수들을 활성화

[root@localhost ~]# sysctl -p
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

오라클 사용자의 시스템 리소스 제한(limits) 설정을 확인하는 명령

[root@localhost ~]#  grep -v ^# /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

oracle   soft   data    unlimited

oracle   hard   data    unlimited

오라클 데이터베이스 설치를 위한 표준 디렉토리 구조를 생성하고 권한을 설정

[root@localhost ~]# mkdir -p /u01/app/oracle
[root@localhost ~]# mkdir -p /u01/app/oraInventory
[root@localhost ~]# mkdir -p /u01/app/oracle/product/19.3.0/dbhome_1
[root@localhost ~]# chown -R oracle:oinstall /u01
[root@localhost ~]# chmod -R 775 /u01

oracle 유져로 접속해서 환경변수 설정 파일을 만듭니다.

[root@localhost ~]# su - oracle
[oracle@ora19c ~]$ vi .bash_profile

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1
export ORA_INVENTORY=/u01/app/oraInventory
export ORACLE_SID=ORA19
#export TNS_ADMIN=/u01/app/oracle/product/19.3.0/dbhome_1/network/admin
export PATH=$PATH:$HOME/bin:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/JRE:$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib


[oracle@ora19c ~]$ source .bash_profile
[oracle@ora19c ~]$ env | grep ORA
ORACLE_SID=ORA19
ORACLE_BASE=/u01/app/oracle
ORA_INVENTORY=/u01/app/oraInventory
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1

아래의 내용에 대한 설명입니다.

ORACLE_SID=ORA19 # 오라클 인스턴스 이름
ORACLE_BASE=/u01/app/oracle # 오라클의 루트 디렉토리
ORA_INVENTORY=/u01/app/oraInventory # 오라클 프로그램 설치
ORACLE_HOME=/u01/app/oracle/product/19.3.0/dbhome_1 # 오라클 관련 파일들이 저장


모바텀에서 아래의 오라클 설치 파일을 리눅스로 oracle 유져로 올립니다.

LINUX.X64_193000_db_home.zip 를 oracle 유저에게 전송


다음과 같이 오라클 홈 디렉토리로 이동해서 /home/oracle 에 있는 오라클 설치 파일의 압축을 풉니다.

[oracle@ora19c ~]$ cd /u01/app/oracle/product/19.3.0/dbhome_1
[oracle@ora19c dbhome_1]$
[oracle@ora19c dbhome_1]$ pwd
/u01/app/oracle/product/19.3.0/dbhome_1
[oracle@ora19c dbhome_1]$
[oracle@ora19c dbhome_1]$ unzip -q ~/LINUX.X64_193000_db_home.zip

[oracle@ora19c dbhome_1]$ ls
OPatch      data         install        nls      precomp        sqlj
QOpatch     dbjava       instantclient  odbc     racg           sqlpatch
R           dbs          inventory      olap     rdbms          sqlplus
addnode     deinstall    javavm         opmn     relnotes       srvm
apex        demo         jdbc           oracore  [root.sh](http://root.sh/)        suptools
assistants  diagnostics  jdk            ord      root.sh.old    ucp
bin         dmu          jlib           ords     root.sh.old.1  usm
clone       drdaas       ldap           oss      runInstaller   utl
crs         dv           lib            oui      schagent.conf  wwg
css         env.ora      md             owm      sdk            xdk
ctx         has          mgw            perl     slax
cv          hs           network        plsql    sqldeveloper

MobaXterm을 이용해서 ORACLE S/W 설치

# MobaXterm 을 이용해서 ORACLE S/W 설치

[oracle@ora19c ~]$ cd /u01/app/oracle/product/19.3.0/dbhome_1
[oracle@ora19c dbhome_1]$ ./runInstaller

1. Set Up Software Only 선택 
2. Single instance database installation 선택
3. Enterprise Edition 선택
4. Oracle base 경로 설정 : /u01/app/oracle
5. Inventory Directory 경로 선택 : /u01/app/oraInventory
   oraInventory Group Name : oinstall
6. 그룹 권한
7. ./runinstaller 실행후 자동으로 root 스크립트 실행을 위한 root 패스워드 입력(root.sh 등) 
	root 스크립트를 돌리기 전 확인차 물어보는 메세지 Yes 선택
8. db 소프트웨어(엔진) 설치 완료 Close 선택


만약 아래와 같이 에러가 났다면?

ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.No X11 DISPLAY variable was set, but this program performed an operation which requires it.[oracle@localhost dbhome_1]$

# DISPLAY 변수 설정
export DISPLAY=:0.0

# X 서버 접근 권한 허용
xhost +local:oracle

# 설치 실행
./runInstaller


아래의 내용이 아주 중요합니다. 바로 확인 누르면 안되고 반드시 putty 창에서 root 으로 접속해서 아래의 스크립트 2개를 실행하고 나서 확인을 눌러주세요.

[root@ora19c ~]# /u01/app/oraInventory/orainstRoot.sh
다음 권한 변경 중/u01/app/oraInventory.
그룹에 대한 읽기, 쓰기 권한을 추가하는 중입니다.
월드에 대한 읽기, 쓰기, 실행 권한을 제거하는 중입니다.

그룹 이름 변경 중 /u01/app/oraInventory 대상 oinstall.
스크립트 실행이 완료되었습니다.
[root@ora19c ~]#
[root@ora19c ~]# /u01/app/oracle/product/19.3.0/dbhome_1/root.sh
Performing root user operation.

The following environment variables are set as:
    ORACLE_OWNER= oracle
    ORACLE_HOME=  /u01/app/oracle/product/19.3.0/dbhome_1

Enter the full pathname of the local bin directory: [/usr/local/bin]:
   Copying dbhome to /usr/local/bin ...
   Copying oraenv to /usr/local/bin ...
   Copying coraenv to /usr/local/bin ...


Creating /etc/oratab file...
Entries will be added to the /etc/oratab file as needed by
Database Configuration Assistant when a database is created
Finished running generic part of root script.
Now product-specific root actions will be performed.
Oracle Trace File Analyzer (TFA - Standalone Mode) is available at :
    /u01/app/oracle/product/19.3.0/dbhome_1/bin/tfactl

Note :
1. tfactl will use TFA Service if that service is running and user has been granted access
2. tfactl will configure TFA Standalone Mode only if user has no access to TFA Service or TFA is not installed

0개의 댓글