OS 환경 : Oracle Linux 9.6 (64bit)
DB 환경 : Oracle Database 19.28.0.0
방법 : Oracle Linux 9.6에 Oracle 19c Restart 설치 가이드
본문에서는 Oracle Linux 9.6에 Oracle 19c Restart를 설치하는 방법을 설명함(oracleasm library 3버전을 이용함)
별도의 유저를 나누지 않고 oracle 유저 하나로만 grid, db를 모두 설치함
그리고 Linux 9 버전에 19c를 설치하는 경우 최소 RU가 19.19이기때문에 꼭 19.19 이상을 설치해줘야함
OS 설치는 아래 게시물 참조
Oracle linux 9.6 설치 가이드( https://positivemh.tistory.com/1284 )
hostname : ora19
설치파일
db 설치파일 : LINUX.X64_193000_db_home.zip
grid 설치파일 : LINUX.X64_193000_grid_home.zip
19.28 패치파일 : p37952382_190000_Linux-x86-64.zip
OPatch 최신파일 : p6880880_190000_Linux-x86-64.zip
OS 설정
/etc/hosts에 서버 ip 및 hostname 입력
|
1
2
3
4
|
# cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.137.50 ora19
|
디스크는 80gb짜리 하나를 마운트 했고 data용, reco용, ocr용 이렇게 크게 3개로 나눔
(본문에서는 restart 설치라 ocr이 필요없지만 아래 스크립트를 rac에서도 사용예정이라 ocr 영역까지 생성함)
디스크 1개 추가 마운트 후 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
# fdisk -l
Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/sdb: 100 GiB, 107374182400 bytes, 209715200 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0x95bec2cc
Device Boot Start End Sectors Size Id Type
/dev/sdb1 * 2048 1050623 1048576 512M 83 Linux
/dev/sdb2 1050624 209715199 208664576 99.5G 8e Linux LVM
Disk /dev/mapper/ol-root: 91.5 GiB, 98243182592 bytes, 191881216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk /dev/mapper/ol-swap: 8 GiB, 8589934592 bytes, 16777216 sectors
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
|
현재 80gb로 마운트된 디스크는 /dev/sda임
fdisk 명령으로 파티션 나누기
각각 primary 파티션 30G, 30G 씩 총 2개, Extended 파티션 20G 1개, Logical 파티션 4G, 4G, 4G 총 3개를 생성하는 명령임
아래 DEVICE에 알맞은 디스크 이름 입력
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# vi fdisk.sh
#!/bin/bash
DEVICE="/dev/sda"
fdisk "$DEVICE" <<'EOF'
o
n
p
1
2048
62916607
n
p
2
62916608
125831167
n
e
3
125831168
167772126
n
125833216
134221823
n
134223872
142612479
n
142614528
151003135
p
w
EOF
|
실행권한 부여 후 실행
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
# chmod u+x fdisk.sh
# sh fdisk.sh
Welcome to fdisk (util-linux 2.37.4).
Changes will remain in memory only, until you decide to write them.
Be careful before using the write command.
Command (m for help): Created a new DOS disklabel with disk identifier 0xba2718fe.
The device contains 'gpt' signature and it will be removed by a write command. See fdisk(8) man page and --wipe option for more details.
Command (m for help):
Command (m for help): Partition type
p primary (0 primary, 0 extended, 4 free)
e extended (container for logical partitions)
Select (default p): Partition number (1-4, default 1): First sector (2048-167772159, default 2048): Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-167772159, default 167772159):
Created a new partition 1 of type 'Linux' and of size 30 GiB.
Command (m for help):
Command (m for help): Partition type
p primary (1 primary, 0 extended, 3 free)
e extended (container for logical partitions)
Select (default p): Partition number (2-4, default 2): First sector (62916608-167772159, default 62916608): Last sector, +/-sectors or +/-size{K,M,G,T,P} (62916608-167772159, default 167772159):
Created a new partition 2 of type 'Linux' and of size 30 GiB.
Command (m for help):
Command (m for help): Partition type
p primary (2 primary, 0 extended, 2 free)
e extended (container for logical partitions)
Select (default p): Partition number (3,4, default 3): First sector (125831168-167772159, default 125831168): Last sector, +/-sectors or +/-size{K,M,G,T,P} (125831168-167772159, default 167772159):
Created a new partition 3 of type 'Extended' and of size 20 GiB.
Command (m for help):
Command (m for help):
All space for primary partitions is in use.
Adding logical partition 5
First sector (125833216-167772126, default 125833216): Last sector, +/-sectors or +/-size{K,M,G,T,P} (125833216-167772126, default 167772126):
Created a new partition 5 of type 'Linux' and of size 4 GiB.
Command (m for help):
Command (m for help):
All space for primary partitions is in use.
Adding logical partition 6
First sector (134223872-167772126, default 134223872): Last sector, +/-sectors or +/-size{K,M,G,T,P} (134223872-167772126, default 167772126):
Created a new partition 6 of type 'Linux' and of size 4 GiB.
Command (m for help):
Command (m for help):
All space for primary partitions is in use.
Adding logical partition 7
First sector (142614528-167772126, default 142614528): Last sector, +/-sectors or +/-size{K,M,G,T,P} (142614528-167772126, default 167772126):
Created a new partition 7 of type 'Linux' and of size 4 GiB.
Command (m for help):
Command (m for help):
Disk /dev/sda: 80 GiB, 85899345920 bytes, 167772160 sectors
Disk model: Virtual disk
Units: sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disklabel type: dos
Disk identifier: 0xba2718fe
Device Boot Start End Sectors Size Id Type
/dev/sda1 2048 62916607 62914560 30G 83 Linux
/dev/sda2 62916608 125831167 62914560 30G 83 Linux
/dev/sda3 125831168 167772126 41940959 20G 5 Extended
/dev/sda5 125833216 134221823 8388608 4G 83 Linux
/dev/sda6 134223872 142612479 8388608 4G 83 Linux
/dev/sda7 142614528 151003135 8388608 4G 83 Linux
Command (m for help): The partition table has been altered.
Calling ioctl() to re-read partition table.
Syncing disks.
|
정상적으로 디스크 파티션이 나뉘어짐
/dev/sda1을 DATA, /dev/sda2를 RECO, /dev/sda5~7을 ocr vote 영역으로 설정 예정임
오라클 설치 전 사전 설정
preinstall rpm 설치
공식홈페이지에서 preinstall rpm 다운로드 후 서버에 업로드
https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
또는 curl로 서버에 직접 다운로드
|
1
|
# curl -o oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm https://yum.oracle.com/repo/OracleLinux/OL9/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
|
preinstall 패키지 설치
perinstall 패키지 설치 시 os 커널 파라미터가 설정되고, oracle 유저와 oinstall, dba 등 설치에 필요한 권한 유저가 생성되고, 필요한 패키지가 설치됨
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
|
# dnf -y localinstall oracle-database-preinstall-19c-1.0-1.el9.x86_64.rpm
Last metadata expiration check: 0:11:38 ago on Sat 20 Dec 2025 05:34:13 PM KST.
Dependencies resolved.
=====================================================================================================================================================================
Package Architecture Version Repository Size
=====================================================================================================================================================================
Installing:
oracle-database-preinstall-19c x86_64 1.0-1.el9 @commandline 33 k
Installing dependencies:
gssproxy x86_64 0.8.4-7.el9 ol9_baseos_latest 120 k
initscripts x86_64 10.11.8-4.0.1.el9 ol9_baseos_latest 285 k
ksh x86_64 3:1.0.6-7.0.1.el9_6.2 ol9_appstream 889 k
libaio-devel x86_64 0.3.111-13.el9 ol9_appstream 11 k
libev x86_64 4.33-6.el9 ol9_baseos_latest 56 k
libnfsidmap x86_64 1:2.5.4-38.0.1.el9 ol9_baseos_latest 71 k
libnsl x86_64 2.34-168.0.1.el9 ol9_baseos_latest 65 k
libverto-libev x86_64 0.3.2-3.el9 ol9_baseos_latest 14 k
lm_sensors-libs x86_64 3.6.0-10.el9 ol9_appstream 42 k
nfs-utils x86_64 1:2.5.4-38.0.1.el9 ol9_baseos_latest 518 k
pcp-conf x86_64 6.3.7-5.0.4.el9 ol9_appstream 41 k
pcp-libs x86_64 6.3.7-5.0.4.el9 ol9_appstream 654 k
rpcbind x86_64 1.2.6-7.el9 ol9_baseos_latest 69 k
sssd-nfs-idmap x86_64 2.9.6-4.0.1.el9 ol9_baseos_latest 45 k
sysstat x86_64 12.5.4-9.0.2.el9 ol9_appstream 541 k
Transaction Summary
=====================================================================================================================================================================
Install 16 Packages
Total size: 3.4 M
Total download size: 3.3 M
Installed size: 9.4 M
Downloading Packages:
(1/15): libev-4.33-6.el9.x86_64.rpm 281 kB/s | 56 kB 00:00
(2/15): gssproxy-0.8.4-7.el9.x86_64.rpm 564 kB/s | 120 kB 00:00
(3/15): initscripts-10.11.8-4.0.1.el9.x86_64.rpm 1.0 MB/s | 285 kB 00:00
(4/15): libnfsidmap-2.5.4-38.0.1.el9.x86_64.rpm 1.0 MB/s | 71 kB 00:00
(5/15): libverto-libev-0.3.2-3.el9.x86_64.rpm 383 kB/s | 14 kB 00:00
(6/15): rpcbind-1.2.6-7.el9.x86_64.rpm 1.7 MB/s | 69 kB 00:00
(7/15): nfs-utils-2.5.4-38.0.1.el9.x86_64.rpm 4.0 MB/s | 518 kB 00:00
(8/15): ksh-1.0.6-7.0.1.el9_6.2.x86_64.rpm 10 MB/s | 889 kB 00:00
(9/15): libaio-devel-0.3.111-13.el9.x86_64.rpm 302 kB/s | 11 kB 00:00
(10/15): lm_sensors-libs-3.6.0-10.el9.x86_64.rpm 893 kB/s | 42 kB 00:00
(11/15): pcp-conf-6.3.7-5.0.4.el9.x86_64.rpm 1.1 MB/s | 41 kB 00:00
(12/15): pcp-libs-6.3.7-5.0.4.el9.x86_64.rpm 12 MB/s | 654 kB 00:00
(13/15): sysstat-12.5.4-9.0.2.el9.x86_64.rpm 12 MB/s | 541 kB 00:00
(14/15): libnsl-2.34-168.0.1.el9.x86_64.rpm 45 kB/s | 65 kB 00:01
(15/15): sssd-nfs-idmap-2.9.6-4.0.1.el9.x86_64.rpm 34 kB/s | 45 kB 00:01
---------------------------------------------------------------------------------------------------------------------------------------------------------------------
Total 2.0 MB/s | 3.3 MB 00:01
Oracle Linux 9 BaseOS Latest (x86_64) 189 kB/s | 6.2 kB 00:00
Importing GPG key 0x8D8B756F:
Userid : "Oracle Linux (release key 1) <secalert_us@oracle.com>"
Fingerprint: 3E6D 826D 3FBA B389 C2F3 8E34 BC4D 06A0 8D8B 756F
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Key imported successfully
Importing GPG key 0x8B4EFBE6:
Userid : "Oracle Linux (backup key 1) <secalert_us@oracle.com>"
Fingerprint: 9822 3175 9C74 6706 5D0C E9B2 A7DD 0708 8B4E FBE6
From : /etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
Key imported successfully
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
Preparing : 1/1
Installing : libnfsidmap-1:2.5.4-38.0.1.el9.x86_64 1/16
Installing : pcp-conf-6.3.7-5.0.4.el9.x86_64 2/16
Installing : pcp-libs-6.3.7-5.0.4.el9.x86_64 3/16
Installing : lm_sensors-libs-3.6.0-10.el9.x86_64 4/16
Installing : sysstat-12.5.4-9.0.2.el9.x86_64 5/16
Running scriptlet: sysstat-12.5.4-9.0.2.el9.x86_64 5/16
Created symlink /etc/systemd/system/multi-user.target.wants/sysstat.service → /usr/lib/systemd/system/sysstat.service.
Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-collect.timer → /usr/lib/systemd/system/sysstat-collect.timer.
Created symlink /etc/systemd/system/sysstat.service.wants/sysstat-summary.timer → /usr/lib/systemd/system/sysstat-summary.timer.
Installing : libaio-devel-0.3.111-13.el9.x86_64 6/16
Installing : ksh-3:1.0.6-7.0.1.el9_6.2.x86_64 7/16
Running scriptlet: ksh-3:1.0.6-7.0.1.el9_6.2.x86_64 7/16
Running scriptlet: rpcbind-1.2.6-7.el9.x86_64 8/16
Installing : rpcbind-1.2.6-7.el9.x86_64 8/16
Running scriptlet: rpcbind-1.2.6-7.el9.x86_64 8/16
Created symlink /etc/systemd/system/multi-user.target.wants/rpcbind.service → /usr/lib/systemd/system/rpcbind.service.
Created symlink /etc/systemd/system/sockets.target.wants/rpcbind.socket → /usr/lib/systemd/system/rpcbind.socket.
Installing : libnsl-2.34-168.0.1.el9.x86_64 9/16
Installing : libev-4.33-6.el9.x86_64 10/16
Installing : libverto-libev-0.3.2-3.el9.x86_64 11/16
Installing : gssproxy-0.8.4-7.el9.x86_64 12/16
Running scriptlet: gssproxy-0.8.4-7.el9.x86_64 12/16
Running scriptlet: nfs-utils-1:2.5.4-38.0.1.el9.x86_64 13/16
Installing : nfs-utils-1:2.5.4-38.0.1.el9.x86_64 13/16
Running scriptlet: nfs-utils-1:2.5.4-38.0.1.el9.x86_64 13/16
Installing : initscripts-10.11.8-4.0.1.el9.x86_64 14/16
Running scriptlet: initscripts-10.11.8-4.0.1.el9.x86_64 14/16
Created symlink /etc/systemd/system/sysinit.target.wants/import-state.service → /usr/lib/systemd/system/import-state.service.
Created symlink /etc/systemd/system/sysinit.target.wants/loadmodules.service → /usr/lib/systemd/system/loadmodules.service.
Running scriptlet: oracle-database-preinstall-19c-1.0-1.el9.x86_64 15/16
Installing : oracle-database-preinstall-19c-1.0-1.el9.x86_64 15/16
Installing : sssd-nfs-idmap-2.9.6-4.0.1.el9.x86_64 16/16
Running scriptlet: oracle-database-preinstall-19c-1.0-1.el9.x86_64 16/16
Running scriptlet: sssd-nfs-idmap-2.9.6-4.0.1.el9.x86_64 16/16
Verifying : gssproxy-0.8.4-7.el9.x86_64 1/16
Verifying : initscripts-10.11.8-4.0.1.el9.x86_64 2/16
Verifying : libev-4.33-6.el9.x86_64 3/16
Verifying : libnfsidmap-1:2.5.4-38.0.1.el9.x86_64 4/16
Verifying : libnsl-2.34-168.0.1.el9.x86_64 5/16
Verifying : libverto-libev-0.3.2-3.el9.x86_64 6/16
Verifying : nfs-utils-1:2.5.4-38.0.1.el9.x86_64 7/16
Verifying : rpcbind-1.2.6-7.el9.x86_64 8/16
Verifying : sssd-nfs-idmap-2.9.6-4.0.1.el9.x86_64 9/16
Verifying : ksh-3:1.0.6-7.0.1.el9_6.2.x86_64 10/16
Verifying : libaio-devel-0.3.111-13.el9.x86_64 11/16
Verifying : lm_sensors-libs-3.6.0-10.el9.x86_64 12/16
Verifying : pcp-conf-6.3.7-5.0.4.el9.x86_64 13/16
Verifying : pcp-libs-6.3.7-5.0.4.el9.x86_64 14/16
Verifying : sysstat-12.5.4-9.0.2.el9.x86_64 15/16
Verifying : oracle-database-preinstall-19c-1.0-1.el9.x86_64 16/16
Installed:
gssproxy-0.8.4-7.el9.x86_64 initscripts-10.11.8-4.0.1.el9.x86_64 ksh-3:1.0.6-7.0.1.el9_6.2.x86_64 libaio-devel-0.3.111-13.el9.x86_64
libev-4.33-6.el9.x86_64 libnfsidmap-1:2.5.4-38.0.1.el9.x86_64 libnsl-2.34-168.0.1.el9.x86_64 libverto-libev-0.3.2-3.el9.x86_64
lm_sensors-libs-3.6.0-10.el9.x86_64 nfs-utils-1:2.5.4-38.0.1.el9.x86_64 oracle-database-preinstall-19c-1.0-1.el9.x86_64 pcp-conf-6.3.7-5.0.4.el9.x86_64
pcp-libs-6.3.7-5.0.4.el9.x86_64 rpcbind-1.2.6-7.el9.x86_64 sssd-nfs-idmap-2.9.6-4.0.1.el9.x86_64 sysstat-12.5.4-9.0.2.el9.x86_64
Complete!
|
자동 설정 후 수동설정 파일 확인필요
/etc/sysctl.conf에 io_uring_disabled, io_uring_group 추가(asmlib용)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# vi /etc/sysctl.conf
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1219261
kernel.shmmax = 4294967296
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
kernel.io_uring_disabled = 0
kernel.io_uring_group = 54321
|
*kernel.shmall, kernel.shmmax 은 서버에 물리 메모리의 절반으로 설정 필요(byte 단위), shmall은 page 단위로 설정 필요
현재 서버의 물리 메모리를 8gb로 잡았기 때문에 shmmax는 물리메모리의 절반인 4gb를 byte로 변경해 적용함(4*1024*1024*1024)
*kernel.io_uring_group에 들어가는 54321은 grid 설치 유저의 gid를 입력해야함(id {유저명} 명령으로 확인)
shmmax를 물리메모리의 60%로 설정을 원하는 경우 + shmall을 page 단위로 설정하려는 경우 아래 스크립트 활용
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
#!/bin/bash
# Get total memory size in KB
mem_kb=$(free -k | awk '/^Mem:/ {print $2}')
# Get system page size in bytes
page_size=$(getconf PAGE_SIZE)
# Calculate shmmax: total memory in bytes × 60%
shmmax=$(echo "$mem_kb * 1024 * 6 / 10" | bc)
# Calculate shmall: shmmax divided by page size
shmall=$(echo "$shmmax / $page_size" | bc)
# Output results
echo "Total Memory (KB): $mem_kb"
echo "Page Size (bytes): $page_size"
echo "Calculated SHMMAX (bytes): $shmmax"
echo "Calculated SHMALL (pages): $shmall"
|
여기서 나온값을 넣어주면됨
잘 입력되었는지 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
# sysctl -p
fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1219261
kernel.shmmax = 4294967296
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
kernel.io_uring_disabled = 0
kernel.io_uring_group = 54321
|
아래 파일 내용 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# cat /etc/security/limits.d/oracle-database-preinstall-19c.conf
# oracle-database-preinstall-19c setting for nofile soft limit is 1024
oracle soft nofile 1024
# oracle-database-preinstall-19c setting for nofile hard limit is 65536
oracle hard nofile 65536
# oracle-database-preinstall-19c setting for nproc soft limit is 16384
# refer orabug15971421 for more info.
oracle soft nproc 16384
# oracle-database-preinstall-19c setting for nproc hard limit is 16384
oracle hard nproc 16384
# oracle-database-preinstall-19c setting for stack soft limit is 10240KB
oracle soft stack 10240
# oracle-database-preinstall-19c setting for stack hard limit is 32768KB
oracle hard stack 32768
# oracle-database-preinstall-19c setting for memlock hard limit is maximum of 128GB on x86_64 or 3GB on x86 OR 90 % of RAM
oracle hard memlock 134217728
# oracle-database-preinstall-19c setting for memlock soft limit is maximum of 128GB on x86_64 or 3GB on x86 OR 90% of RAM
oracle soft memlock 134217728
# oracle-database-preinstall-19c setting for data soft limit is 'unlimited'
oracle soft data unlimited
# oracle-database-preinstall-19c setting for data hard limit is 'unlimited'
oracle hard data unlimited
|
패스워드 설정
|
1
|
# passwd oracle
|
selinux disabled 설정
|
1
2
|
# vi /etc/selinux/config
SELINUX=disabled
|
방화벽 해제
|
1
2
|
# systemctl stop firewalld
# systemctl disable firewalld
|
설치 경로 생성
|
1
2
3
4
5
|
# mkdir -p /app/oracle/product/19c/
# mkdir -p /app/grid/product/19c
# mkdir -p /app/media
# chown -R oracle:dba /app
# chmod -R 775 /app
|
디스크 권한 부여
|
1
|
# chown oracle:dba /dev/sda*
|
asmlib 패키지 설치
|
1
2
3
4
5
6
7
8
9
10
11
12
|
# rpm -ivh oracleasm-support-3.1.1-4.el9.x86_64.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:oracleasm-support-3.1.1-4.el9 ################################# [100%]
Created symlink /etc/systemd/system/multi-user.target.wants/oracleasm.service → /usr/lib/systemd/system/oracleasm.service.
# rpm -ivh oracleasmlib-3.1.1-1.el9.x86_64.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:oracleasmlib-3.1.1-1.el9 ################################# [100%]
|
참고 : 아래 링크에서 다운로드 가능
asm support : https://yum.oracle.com/repo/OracleLinux/OL9/addons/x86_64/index.html
asmlib : https://www.oracle.com/linux/downloads/linux-asmlib-v9-downloads.html
Oracle ASM 설정 및 시작(oracle, dba, y, y 순서대로 입력)
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# oracleasm configure -i
Configuring the Oracle ASM system service.
This will configure the on-boot properties of the Oracle ASM system
service. The following questions will determine whether the service
is started on boot and what permissions it will have. The current
values will be shown in brackets ('[]'). Hitting <ENTER> without
typing an answer will keep that current value. Ctrl-C will abort.
Default user to own the ASM disk devices []: oracle <-- oracle 입력
Default group to own the ASM disk devices []: dba <-- dba 입력
Start Oracle ASM system service on boot (y/n) [y]: y <-- y 입력
Scan for Oracle ASM disks when starting the oracleasm service (y/n) [y]: y <-- y 입력
Maximum number of ASM disks that can be used on system [2048]: <-- 엔터 입력
Enable iofilter if kernel supports it (y/n) [y]: y <-- y 입력
Writing Oracle ASM system service configuration: done
Configuration changes only come into effect after the Oracle ASM
system service is restarted. Please run 'systemctl restart oracleasm'
after making changes.
WARNING: All of your Oracle and ASM instances must be stopped prior
to restarting the oracleasm service.
|
asmlib 활성화 및 상태 확인
|
1
2
3
4
5
6
7
8
9
10
11
|
# systemctl enable --now oracleasm
# oracleasm status
Checking if the oracleasm kernel module is loaded: no (not required with UEK8)
Checking if /dev/oracleasm is mounted: no (not required with UEK8)
Checking which I/O Interface is in use: io_uring (KABI_V3)
Checking if ASMLIB can be loaded: yes
Checking if io_uring is enabled: yes
Checking if io_uring is accessible to the configured DB user: yes
Checking if io_uring supports integrity passthrough: yes
Checking if ASM disks have the correct ownership and permissions: yes
Checking if ASM I/O filter is set up: yes
|
정상임
asm 디스크 라벨링
|
1
2
3
4
5
6
|
#
oracleasm createdisk DATA /dev/sda1
oracleasm createdisk RECO /dev/sda2
oracleasm createdisk OCR_VOTE1 /dev/sda5
oracleasm createdisk OCR_VOTE2 /dev/sda6
oracleasm createdisk OCR_VOTE3 /dev/sda7
|
asm 디스크 스캔
|
1
2
3
4
5
|
# oracleasm scandisks
Reloading disk partitions: done
Cleaning any stale ASM disks...
Setting up iofilter map for ASM disks: done
Scanning system for ASM disks...
|
생성 리스트 확인(5개가 나와야 정상)
|
1
2
3
4
5
6
|
# oracleasm listdisks
DATA
OCR_VOTE1
OCR_VOTE2
OCR_VOTE3
RECO
|
asm 디스크 라벨링 상세 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
# oracleasm querydisk -p DATA
Disk "DATA" is a valid ASM disk
/dev/sda1: LABEL="DATA" TYPE="oracleasm"
# oracleasm querydisk -p RECO
Disk "RECO" is a valid ASM disk
/dev/sda2: LABEL="RECO" TYPE="oracleasm"
# oracleasm querydisk -p OCR_VOTE1
Disk "OCR_VOTE1" is a valid ASM disk
/dev/sda5: LABEL="OCR_VOTE1" TYPE="oracleasm"
# oracleasm querydisk -p OCR_VOTE2
Disk "OCR_VOTE2" is a valid ASM disk
/dev/sda6: LABEL="OCR_VOTE2" TYPE="oracleasm"
# oracleasm querydisk -p OCR_VOTE3
Disk "OCR_VOTE3" is a valid ASM disk
/dev/sda7: LABEL="OCR_VOTE3" TYPE="oracleasm"
|
asm 디스크 라벨링 상세 확인2
|
1
2
3
4
5
6
7
8
9
10
|
# oracleasm querydisk /dev/sda1
Device "/dev/sda1" is marked as an ASM disk with the label "DATA"
# oracleasm querydisk /dev/sda2
Device "/dev/sda2" is marked as an ASM disk with the label "RECO"
# oracleasm querydisk /dev/sda5
Device "/dev/sda5" is marked as an ASM disk with the label "OCR_VOTE1"
# oracleasm querydisk /dev/sda6
Device "/dev/sda6" is marked as an ASM disk with the label "OCR_VOTE2"
# oracleasm querydisk /dev/sda7
Device "/dev/sda7" is marked as an ASM disk with the label "OCR_VOTE3"
|
asm 디스크 라벨링 상세 확인3
|
1
2
3
4
5
6
7
8
|
# oracleasm discover
Using ASMLIB from /opt/oracle/extapi/64/asm/orcl/1/libasm.so
[ASM Library - Linux, version 3.1.1 (KABI_V3), 2025-07-24 22:50]
Discovered disk: ORCL:OCR_VOTE1 [8388608 blocks (4294967296 bytes), blksz 512/512, maxio 1310720 bytes, integrity unsupported]
Discovered disk: ORCL:OCR_VOTE2 [8388608 blocks (4294967296 bytes), blksz 512/512, maxio 1310720 bytes, integrity unsupported]
Discovered disk: ORCL:OCR_VOTE3 [8388608 blocks (4294967296 bytes), blksz 512/512, maxio 1310720 bytes, integrity unsupported]
Discovered disk: ORCL:RECO [62914560 blocks (32212254720 bytes), blksz 512/512, maxio 1310720 bytes, integrity unsupported]
Discovered disk: ORCL:DATA [62914560 blocks (32212254720 bytes), blksz 512/512, maxio 1310720 bytes, integrity unsupported]
|
서버에 Oracle Database 설치 미디어 업로드 후 권한 부여
|
1
2
3
4
5
6
7
8
|
# ls -al /app/media
total 9868280
drwxrwxr-x. 2 oracle dba 161 Dec 20 18:07 .
drwxrwxr-x. 4 oracle dba 33 Dec 20 18:06 ..
-rw-------. 1 oracle dba 3059705302 Nov 17 19:27 LINUX.X64_193000_db_home.zip
-rw-------. 1 oracle dba 2889184573 Nov 17 19:28 LINUX.X64_193000_grid_home.zip
-rw-r--r--. 1 oracle dba 4083374170 Nov 17 19:26 p37952382_190000_Linux-x86-64.zip
-rw-r--r--. 1 oracle dba 72847006 Nov 17 19:26 p6880880_190000_Linux-x86-64.zip
|
오라클 계정 접속 후 .bash_profile 에 아래 내용 추가
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
# su - oracle
$ vi .bash_profile
export ORACLE_HOSTNAME=ora19
export ORACLE_UNQNAME=oracle19
export ORACLE_BASE=/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19c
export GRID_HOME=/app/grid/product/19c
export ORA_INVENTORY=/app/oraInventory
export ORACLE_SID=oracle19
export DB_UNIQUE_NAME=oracle19
export PATH=$ORACLE_HOME/bin:$ORACLE_HOME/OPatch:$GRID_HOME/bin:$PATH
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib
export CLASSPATH=$ORACLE_HOME/jlib:$ORACLE_HOME/rdbms/jlib
export CV_ASSUME_DISTID=OL8
stty erase ^H
alias ss="sqlplus / as sysdba"
alias bdump="cd $ORACLE_BASE/diag/rdbms/${DB_UNIQUE_NAME,,}/$ORACLE_SID/trace"
alias alert='vi $ORACLE_BASE/diag/rdbms/${DB_UNIQUE_NAME,,}/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
alias alertf='tail -300f $ORACLE_BASE/diag/rdbms/${DB_UNIQUE_NAME,,}/$ORACLE_SID/trace/alert_$ORACLE_SID.log'
alias listen="vi $ORACLE_BASE/diag/tnslsnr/$(hostname -s)/listener/trace/listener.log"
alias listenf="tail -300f $ORACLE_BASE/diag/tnslsnr/$(hostname -s)/listener/trace/listener.log"
|
적용
|
1
|
$ . ./.bash_profile
|
Grid Software 설치
grid 설치파일 압축해제
|
1
2
3
|
$ mkdir -p $GRID_HOME
$ cd $GRID_HOME
$ unzip -q /app/media/LINUX.X64_193000_grid_home.zip
|
OPatch 파일 교체
|
1
2
|
$ mv OPatch OPatchold
$ unzip -q /app/media/p6880880_190000_Linux-x86-64
|
OPatch 버전 확인
|
1
2
3
4
5
|
$ cd OPatch
$ ./opatch version -oh $GRID_HOME
OPatch Version: 12.2.0.1.47
OPatch succeeded.
|
패치파일 압축 해제
|
1
2
|
$ cd /app/media
$ unzip -q p37952382_190000_Linux-x86-64.zip
|
cvuqdisk 패키지 설치(root 유저로 수행)
|
1
2
3
4
5
6
7
|
# cd /app/grid/product/19c/cv/rpm
# rpm -ivh cvuqdisk-*.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Using default group oinstall to install package
Updating / installing...
1:cvuqdisk-1.0.10-1 ################################# [100%]
|
grid 설치(및 패치)
|
1
2
|
$ cd $GRID_HOME
$ ./gridSetup.sh -applyRU /app/media/37952382/37957391
|
참고로 applyRU 패치 로그는 아래 경로에서 확인 가능함
|
1
2
|
$ cd /app/grid/product/19c/cfgtoollogs/opatchauto
$ tail -300f opatchauto_2025-12-20_22-10-55_binary.log
|
gui로 설치 시도시 아래 단계에서 실패함


/dev/sda*(/dev/sda1), ORCL:*(ORCL:DATA)로 진행하려 했지만 안됨
디스크가 안나오는 문제가 발생하거나 아래 에러가 발생함
디스크가 안나올때는 다시 change path - ok 여러번 해주면 나오는데
그래도 next 하면 [INS-30508] Invalid ASM disks. 발생하면서 안됨
참고로 설치시 compat-libcap1-1.10 missing 메세지 나오면 무시 가능함(3018358.1)
이때 로그 확인시 asmca 명령이 실패하는것을 볼수 있음
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
|
$ tail -300f /tmp/GridSetupActions2025-12-20_10-10-41PM/gridSetupActions2025-12-20_10-10-41PM.log
...
INFO: [Dec 20, 2025 10:55:53 PM] Executing ASMCA
INFO: [Dec 20, 2025 10:55:53 PM] Command /app/grid/product/19c/bin/asmca -silent -oui_internal -configureASM -diskString '/dev/sd*' -diskGroupName DATA1 -diskList /dev/sda1 -redundancy EXTERNAL -au_size 4
INFO: [Dec 20, 2025 10:55:53 PM] ... GenericInternalPlugIn.handleProcess() entered.
INFO: [Dec 20, 2025 10:55:53 PM] ... GenericInternalPlugIn: getting configAssistantParmas.
INFO: [Dec 20, 2025 10:55:53 PM] ... GenericInternalPlugIn: checking secretArguments.
INFO: [Dec 20, 2025 10:55:53 PM] ... GenericInternalPlugIn: starting read loop.
INFO: [Dec 20, 2025 10:55:58 PM] SYS_PASSWORD_PROMPT
INFO: [Dec 20, 2025 10:55:58 PM] Processing: SYS_PASSWORD_PROMPT for argument tag -sysAsmPassword
INFO: [Dec 20, 2025 10:55:58 PM] Skipping line: ^H ^H^H ^H********
INFO: [Dec 20, 2025 10:55:58 PM] ASMSNMP_PASSWORD_PROMPT
INFO: [Dec 20, 2025 10:55:58 PM] Processing: ASMSNMP_PASSWORD_PROMPT for argument tag -asmMonitorPassword
INFO: [Dec 20, 2025 10:55:58 PM] End of argument passing to stdin
INFO: [Dec 20, 2025 10:55:58 PM] Skipping line: ^H ^H^H ^H******
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line:
INFO: [Dec 20, 2025 10:56:33 PM] [FATAL] [DBT-30002] Disk group DATA1 creation failed.
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line: [FATAL] [DBT-30002] Disk group DATA1 creation failed.
INFO: [Dec 20, 2025 10:56:33 PM] ORA-15018: diskgroup cannot be created
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line: ORA-15018: diskgroup cannot be created
INFO: [Dec 20, 2025 10:56:33 PM] ORA-15031: disk specification '/dev/sda1' matches no disks
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line: ORA-15031: disk specification '/dev/sda1' matches no disks
INFO: [Dec 20, 2025 10:56:33 PM] ORA-15025: could not open disk "/dev/sda1"
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line: ORA-15025: could not open disk "/dev/sda1"
INFO: [Dec 20, 2025 10:56:33 PM] ORA-27041: unable to open file
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line: ORA-27041: unable to open file
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line:
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line:
INFO: [Dec 20, 2025 10:56:33 PM] Skipping line:
INFO: [Dec 20, 2025 10:56:33 PM] Completed Plugin named: asmca
|
gui창 취소 후 엔진 경로 제거 및 다시 unzip
|
1
2
3
4
5
6
|
$ rm -rf $GRID_HOME
$ mkdir -p $GRID_HOME
$ cd $GRID_HOME
$ unzip -q /app/media/LINUX.X64_193000_grid_home.zip
$ mv OPatch OPatchold
$ unzip -q /app/media/p6880880_190000_Linux-x86-64
|
gui 대신 silent 모드로 grid 설치
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
|
$ cd $GRID_HOME
$ ./gridSetup.sh -silent \
-applyRU /app/media/37952382/37957391 \
INVENTORY_LOCATION=/app/oraInventory \
SELECTED_LANGUAGES=en \
ORACLE_BASE=/app/oracle \
oracle.install.option=HA_CONFIG \
oracle.install.asm.OSDBA=dba \
oracle.install.asm.OSOPER=dba \
oracle.install.asm.OSASM=dba \
oracle.install.crs.config.autoConfigureClusterNodeVIP=false \
oracle.install.asm.diskGroup.name=DATA \
oracle.install.asm.diskGroup.redundancy=EXTERNAL \
oracle.install.asm.diskGroup.diskDiscoveryString=ORCL:* \
oracle.install.asm.diskGroup.disks=ORCL:DATA \
oracle.install.asm.SYSASMPassword=oracle \
oracle.install.asm.monitorPassword=oracle \
-ignorePrereqFailure
#로그
Preparing the home to patch...
Applying the patch /app/media/37952382/37957391...
Successfully applied the patch.
The log can be found at: /app/oraInventory/logs/GridSetupActions2025-12-21_02-22-54PM/installerPatchActions_2025-12-21_02-22-54PM.log
Launching Oracle Grid Infrastructure Setup Wizard...
[WARNING] [INS-30011] The SYS password entered does not conform to the Oracle recommended standards.
CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-30011] The ASMSNMP password entered does not conform to the Oracle recommended standards.
CAUSE: Oracle recommends that the password entered should be at least 8 characters in length, contain at least 1 uppercase character, 1 lower case character and 1 digit [0-9].
ACTION: Provide a password that conforms to the Oracle recommended standards.
[WARNING] [INS-41808] Possible invalid choice for OSASM Group.
CAUSE: The name of the group you selected for the OSASM group is commonly used to grant other system privileges (For example: asmdba, asmoper, dba, oper).
ACTION: Oracle recommends that you designate asmadmin as the OSASM group.
[WARNING] [INS-41809] Possible invalid choice for OSDBA Group.
CAUSE: The group name you selected as the OSDBA for ASM group is commonly used for Oracle Database administrator privileges.
ACTION: Oracle recommends that you designate asmdba as the OSDBA for ASM group, and that the group should not be the same group as an Oracle Database OSDBA group.
[WARNING] [INS-41810] Possible invalid choice for OSOPER Group.
CAUSE: The group name you selected as the OSOPER for ASM group is commonly used for Oracle Database administrator privileges.
ACTION: Oracle recommends that you designate asmoper as the OSOPER for ASM group, and that the group should not be the same group as an Oracle Database OSOPER group.
[WARNING] [INS-41813] OSDBA for ASM, OSOPER for ASM, and OSASM are the same OS group.
CAUSE: The group you selected for granting the OSDBA for ASM group for database access, and the OSOPER for ASM group for startup and shutdown of Oracle ASM, is the same group as the OSASM group, whose members have SYSASM privileges on Oracle ASM.
ACTION: Choose different groups as the OSASM, OSDBA for ASM, and OSOPER for ASM groups.
The response file for this session can be found at:
/app/grid/product/19c/install/response/grid_2025-12-21_02-22-54PM.rsp
You can find the log of this install session at:
/app/oraInventory/logs/GridSetupActions2025-12-21_02-22-54PM/gridSetupActions2025-12-21_02-22-54PM.log
As a root user, execute the following script(s):
1. /app/grid/product/19c/root.sh
Execute /app/grid/product/19c/root.sh on the following nodes:
[ora19]
Successfully Setup Software.
As install user, execute the following command to complete the configuration.
/app/grid/product/19c/gridSetup.sh -executeConfigTools -responseFile /app/grid/product/19c/install/response/grid_2025-12-21_02-22-54PM.rsp [-silent]
Note: The required passwords need to be included in the response file.
|
완료됨
root 유저로 root.sh 수행
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
# /app/grid/product/19c/root.sh
Check /app/grid/product/19c/install/root_ora19_2025-12-21_14-37-22-417315977.log for the output of root script
#root.sh 로그
$ tail -300f /app/grid/product/19c/install/root_ora19_2025-12-21_14-37-22-417315977.log
Performing root user operation.
The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /app/grid/product/19c
Copying dbhome to /usr/local/bin ...
Copying oraenv to /usr/local/bin ...
Copying coraenv to /usr/local/bin ...
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.
Using configuration parameter file: /app/grid/product/19c/crs/install/crsconfig_params
The log of current session can be found at:
/app/oracle/crsdata/ora19/crsconfig/roothas_2025-12-21_02-37-23PM.log
2025/12/21 14:37:24 CLSRSC-363: User ignored prerequisites during installation
Redirecting to /bin/systemctl restart rsyslog.service
LOCAL ADD MODE
Creating OCR keys for user 'oracle', privgrp 'oinstall'..
Operation successful.
LOCAL ONLY MODE
Successfully accumulated necessary OCR keys.
Creating OCR keys for user 'root', privgrp 'root'..
Operation successful.
CRS-4664: Node ora19 successfully pinned.
2025/12/21 14:37:37 CLSRSC-330: Adding Clusterware entries to file 'oracle-ohasd.service'
ora19 2025/12/21 14:38:04 /app/oracle/crsdata/ora19/olr/backup_20251221_143804.olr 880628325
2025/12/21 14:38:04 CLSRSC-327: Successfully configured Oracle Restart for a standalone server
|
rsp 파일 생성
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
$ cat /app/grid/product/19c/install/response/gridsetup.rsp
oracle.install.responseFileVersion=/oracle/install/rspfmt_crsinstall_response_schema_v19.0.0
INVENTORY_LOCATION=/app/oraInventory
oracle.install.option=HA_CONFIG
ORACLE_BASE=/app/oracle
oracle.install.asm.OSOPER=dba
oracle.install.asm.OSASM=dba
oracle.install.asm.OSDBA=asmdba
oracle.install.asm.SYSASMPassword=oracle
oracle.install.asm.diskGroup.name=DATA
oracle.install.asm.diskGroup.redundancy=EXTERNAL
oracle.install.asm.diskGroup.disks=ORCL:DATA
oracle.install.asm.diskGroup.diskDiscoveryString=ORCL:*
oracle.install.asm.monitorPassword=oracle
|
rsp 파일 및 executeConfigTools 구문과 함께 gridSetup 재수행
|
1
2
3
4
5
6
7
8
9
10
|
$ cd $GRID_HOME
$ ./gridSetup.sh -silent -executeConfigTools -responseFile /app/grid/product/19c/install/response/gridsetup.rsp
Launching Oracle Grid Infrastructure Setup Wizard...
You can find the logs of this session at:
/app/oraInventory/logs/GridSetupActions2025-12-21_02-43-39PM
You can find the log of this install session at:
/app/oraInventory/logs/UpdateNodeList2025-12-21_02-43-39PM.log
Successfully Configured Software.
|
정상적으로 완료됨
로그 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
$ tail -300f /app/oraInventory/logs/GridSetupActions2025-12-21_02-43-39PM/gridSetupActions2025-12-21_02-43-39PM.log
...
INFO: [Dec 21, 2025 2:43:53 PM] Starting 'Automatic Storage Management Configuration Assistant'
INFO: [Dec 21, 2025 2:43:53 PM] Starting 'Automatic Storage Management Configuration Assistant'
INFO: [Dec 21, 2025 2:43:53 PM] Executing ASMCA
INFO: [Dec 21, 2025 2:43:53 PM] Command /app/grid/product/19c/bin/asmca -silent -oui_internal -configureASM -diskString 'ORCL:*' -diskGroupName DATA -diskList ORCL:DATA -redundancy EXTERNAL -au_size 1
INFO: [Dec 21, 2025 2:43:53 PM] ... GenericInternalPlugIn.handleProcess() entered.
INFO: [Dec 21, 2025 2:43:53 PM] ... GenericInternalPlugIn: getting configAssistantParmas.
INFO: [Dec 21, 2025 2:43:53 PM] ... GenericInternalPlugIn: checking secretArguments.
INFO: [Dec 21, 2025 2:43:53 PM] ... GenericInternalPlugIn: starting read loop.
INFO: [Dec 21, 2025 2:43:58 PM] SYS_PASSWORD_PROMPT
INFO: [Dec 21, 2025 2:43:58 PM] Processing: SYS_PASSWORD_PROMPT for argument tag -sysAsmPassword
INFO: [Dec 21, 2025 2:43:58 PM] Skipping line:*******
INFO: [Dec 21, 2025 2:43:58 PM] ASMSNMP_PASSWORD_PROMPT
INFO: [Dec 21, 2025 2:43:58 PM] Processing: ASMSNMP_PASSWORD_PROMPT for argument tag -asmMonitorPassword
INFO: [Dec 21, 2025 2:43:58 PM] End of argument passing to stdin
INFO: [Dec 21, 2025 2:43:58 PM] Skipping line:*******
INFO: [Dec 21, 2025 2:44:46 PM] Skipping line:
INFO: [Dec 21, 2025 2:44:46 PM] ASM has been created and started successfully.
INFO: [Dec 21, 2025 2:44:46 PM] Skipping line: ASM has been created and started successfully.
INFO: [Dec 21, 2025 2:44:46 PM] Skipping line:
INFO: [Dec 21, 2025 2:44:46 PM] [DBT-30001] Disk groups created successfully. Check /app/oracle/cfgtoollogs/asmca/asmca-251221PM024354.log for details.
INFO: [Dec 21, 2025 2:44:46 PM] Skipping line: [DBT-30001] Disk groups created successfully. Check /app/oracle/cfgtoollogs/asmca/asmca-251221PM024354.log for details.
INFO: [Dec 21, 2025 2:44:46 PM] Skipping line:
INFO: [Dec 21, 2025 2:44:46 PM] Completed Plugin named: asmca
...
|
ASMCA를 이용한 ASM 디스크그룹도 잘 만들어짐
설치 후 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
$ ps -ef|grep pmon
oracle 132721 1 0 14:44 ? 00:00:00 asm_pmon_+ASM
oracle 133518 121142 0 14:46 pts/1 00:00:00 grep --color=auto pmon
$ export ORACLE_HOME=$GRID_HOME
$ export ORACLE_SID=+ASM
$ asmcmd lsdg
State Type Rebal Sector Logical_Sector Block AU Total_MB Free_MB Req_mir_free_MB Usable_file_MB Offline_disks Voting_files Name
MOUNTED EXTERN N 512 512 4096 1048576 30720 30653 0 30653 0 N DATA/
$ sqlplus / as sysasm
SQL>
set lines 200 pages 1000
col name for a10
col state for a10
select name, state, type, total_mb, free_mb
from v$asm_diskgroup;
NAME STATE TYPE TOTAL_MB FREE_MB
---------- ---------- ------ ---------- ----------
DATA MOUNTED EXTERN 30720 30653
SQL>
col path for a35
col header_status for a12
select group_number, disk_number, name, path, header_status, state
from v$asm_disk
order by group_number, disk_number;
GROUP_NUMBER DISK_NUMBER NAME PATH HEADER_STATU STATE
------------ ----------- ---------- ----------------------------------- ------------ ----------
0 0 ORCL:RECO PROVISIONED NORMAL
0 1 ORCL:OCR_VOTE3 PROVISIONED NORMAL
0 2 ORCL:OCR_VOTE1 PROVISIONED NORMAL
0 3 ORCL:OCR_VOTE2 PROVISIONED NORMAL
1 0 DATA ORCL:DATA MEMBER NORMAL
|
정상임
DB 소프트웨어(엔진) 설치
db 설치 미디어 압축 해제
|
1
2
3
4
|
$ export ORACLE_HOME=/app/oracle/product/19c
$ export ORACLE_SID=oracle19
$ cd $ORACLE_HOME
$ unzip -q /app/media/LINUX.X64_193000_db_home.zip
|
OPatch 파일 교체
|
1
2
|
$ mv OPatch OPatchold
$ unzip -q /app/media/p6880880_190000_Linux-x86-64
|
OPatch 버전 확인
|
1
2
3
4
5
|
$ cd OPatch
$ ./opatch version -oh $ORACLE_HOME
OPatch Version: 12.2.0.1.47
OPatch succeeded.
|
runinstaller 실행
|
1
2
3
4
5
6
|
$ cd $ORACLE_HOME
$ ./runInstaller -applyRU /app/media/37952382/37957391/
Preparing the home to patch...
Applying the patch /app/media/37952382/37957391/...
Successfully applied the patch.
(자동으로 패치 적용 후 GUI 창이 나타남)
|
gui가 로딩되기까지 시간이 조금 걸림
Set Up Software Only 선택

Single instance database installation 선택

Enterprise Edition 선택

oracle base 지정

group 는 모두 dba 로 지정

설치 중 root 권한으로 스크립트 실행하는 부분에서 자동로 스크립트 실행할지 여부 지정 root 패스워드 입력

사전 요구사항 체크중

response 파일이 필요하다면 따로 저장 후 Install

db 엔진 설치중

root 계정으로 스크립트 실행할 지 물어보는 메세지 Yes

Close

db 엔진 설치 완료
OJVM 패치
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
$ cd /app/media/37952382/37847857/
$ opatch apply -oh $ORACLE_HOME
Oracle Interim Patch Installer version 12.2.0.1.47
Copyright (c) 2025, Oracle Corporation. All rights reserved.
Oracle Home : /app/oracle/product/19c
Central Inventory : /app/oraInventory
from : /app/oracle/product/19c/oraInst.loc
OPatch version : 12.2.0.1.47
OUI version : 12.2.0.7.0
Log file location : /app/oracle/product/19c/cfgtoollogs/opatch/opatch2025-12-21_15-31-46PM_1.log
Verifying environment and performing prerequisite checks...
OPatch continues with these patches: 37847857
Do you want to proceed? [y|n]
y <<-- y 입력
User Responded with: Y
All checks passed.
Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/app/oracle/product/19c')
Is the local system ready for patching? [y|n]
y <<-- y 입력
User Responded with: Y
Backing up files...
Applying interim patch '37847857' to OH '/app/oracle/product/19c'
Patching component oracle.javavm.server, 19.0.0.0.0...
Patching component oracle.javavm.server.core, 19.0.0.0.0...
Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...
Patching component oracle.rdbms, 19.0.0.0.0...
Patching component oracle.javavm.client, 19.0.0.0.0...
Patch 37847857 successfully applied.
Log file location: /app/oracle/product/19c/cfgtoollogs/opatch/opatch2025-12-21_15-31-46PM_1.log
OPatch succeeded.
|
DB 패치정보 확인
|
1
2
3
4
5
6
|
$ $ORACLE_HOME/OPatch/opatch lspatches -oh $ORACLE_HOME
37847857;OJVM RELEASE UPDATE: 19.28.0.0.250715 (37847857)
37962946;OCW RELEASE UPDATE 19.28.0.0.0 (37962946)
37960098;Database Release Update : 19.28.0.0.250715 (37960098)
OPatch succeeded.
|
정상적으로 패치됨
DB 생성
dbca 진행
|
1
2
|
# su - oracle
$ dbca
|
Create a database 선택

Advanced configuration 선택

Database Type : Single, Custom Database 선택

SID 입력

데이터 저장영역 선택 +DATA

FRA, 아카이브 사용하지 않음

리스너 선택 후 Next

componets 필요시 선택 후 Next

메모리 설정

Character sets - Choose from the list of chracter sets - KO16MSWIN949 선택

EM 체크 해제 후 Next

패스워드 입력

Yes

Create database 선택 후 Next

Finish

설치 완료됨

grid 상태 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
$ crsctl stat res -t
--------------------------------------------------------------------------------
Name Target State Server State details
--------------------------------------------------------------------------------
Local Resources
--------------------------------------------------------------------------------
ora.DATA.dg
ONLINE ONLINE ora19 STABLE
ora.LISTENER.lsnr
ONLINE ONLINE ora19 STABLE
ora.asm
ONLINE ONLINE ora19 Started,STABLE
ora.ons
OFFLINE OFFLINE ora19 STABLE
--------------------------------------------------------------------------------
Cluster Resources
--------------------------------------------------------------------------------
ora.cssd
1 ONLINE ONLINE ora19 STABLE
ora.diskmon
1 OFFLINE OFFLINE STABLE
ora.evmd
1 ONLINE ONLINE ora19 STABLE
ora.oracle19.db
1 ONLINE ONLINE ora19 Open,HOME=/app/oracl
e/product/19c,STABLE
--------------------------------------------------------------------------------
|
정상
리스너 상태 확인
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
$ lsnrctl status
LSNRCTL for Linux: Version 19.0.0.0.0 - Production on 21-DEC-2025 16:00:28
Copyright (c) 1991, 2025, Oracle. All rights reserved.
Connecting to (ADDRESS=(PROTOCOL=tcp)(HOST=)(PORT=1521))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 19.0.0.0.0 - Production
Start Date 21-DEC-2025 14:43:52
Uptime 0 days 1 hr. 16 min. 35 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /app/grid/product/19c/network/admin/listener.ora
Listener Log File /app/oracle/diag/tnslsnr/ora19/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=ora19)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "+ASM" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "+ASM_DATA" has 1 instance(s).
Instance "+ASM", status READY, has 1 handler(s) for this service...
Service "oracle19" has 1 instance(s).
Instance "oracle19", status READY, has 1 handler(s) for this service...
Service "oracle19XDB" has 1 instance(s).
Instance "oracle19", status READY, has 1 handler(s) for this service...
The command completed successfully
|
정상
db 상태 확인
|
1
2
3
4
5
6
|
$ sqlplus / as sysdba
SQL> select instance_name, version, status from v$instance;
INSTANCE_NAME VERSION STATUS
---------------- ----------------- ------------
oracle19 19.0.0.0.0 OPEN
|
정상임
결론 :
asmlib 버전3을 이용해서 오라클 restart를 설치해보았음
asmlib3 버전부터는 oracleasm createdisk 명령을 수행해도 /dev/oracleasm에 파일이 생기지 않음, 대신 /dev/disk/by-label에 생기는데 이부분을 참고해서 설치해야함
그리고 이상하게도 gridSetup gui에서는 제대로 되지 않고 silent 모드에서만 정상적으로 설치가 되었음
이부분은 버그일수도 있지만 대안이나 관련된 정확한 문서는 찾지 못해 일단 silent 모드로 진행하였음
추가로 본문 내용으로 grid 구성 후 골드 이미지를 만들어서 새 서버에 설치했더니 gui asm 디스크그룹 생성 부분에서 정상적으로 잘 넘어갔음(ORCL:*와 ORCL:DATA 선택함)
참고 : 오라클 19c grid 골드 이미지 생성 및 배포 가이드 ( https://positivemh.tistory.com/1327 )
참조 :
Bug 35578393 - Warnings During Oracle Gateway pg4appc after 19c(19.19) install on ol9 (Doc ID 35578393.8)
19c regular client installation on OL9/RHEL9 using Silent method aborted after relink error "Error in invoking target 'client_sharedlib' of makefile '$ORACLE_HOME/rdbms/lib/ins_rdbms.mk'" (Doc ID 3008635.1)
Requirements for Installing Oracle Database/Client 19c (19.22 or higher) on OL9 or RHEL9 64-bit (x86-64) (Doc ID 2982833.1)
19.x: ./runInstaller failed with " PRVF-7532 : Package "compat-libcap1" is missing on node "(HOSTNAME)" " on OL9/RHEL9 (Doc ID 3018358.1)
19c Database Installation/relink fails with :"Error in invoking target 'libasmclntsh19.ohso libasmperl19.ohso client_sharedlib' of makefile ins_rdbms.mk " (Doc ID 2760289.1)
Primary Note of Linux OS Requirements for Database Server (Doc ID 851598.1)
OL9:ORA-15186: ASMLIB Error Function = [asm_init] [io_uring not permitted for this process] (Doc ID 3108578.1)
ASM and Database Services Not Starting After 19.27 RU Patching (STANDALONE) (Doc ID 3092401.1)
https://docs.oracle.com/en/database/oracle/oracle-database/19/cwlin/supported-oracle-linux-9-distributions-for-x86-64.html
https://docs.oracle.com/en/database/oracle/oracle-database/19/ladbi/supported-oracle-linux-9-distributions-for-x86-64.html
https://yum.oracle.com/repo/OracleLinux/OL9/addons/x86_64/index.html
https://www.oracle.com/linux/downloads/linux-asmlib-v9-downloads.html
https://docs.oracle.com/en/operating-systems/oracle-linux/asmlib/
https://dataforum.io/pages/viewpage.action?pageId=5734410
https://dev.to/vahidusefzadeh/installing-oracle-grid-infrastructure-1925-on-oracle-linux-95-using-asmlib-3-4bki
https://blog.purestorage.com/purely-technical/installation-configuration-oracle-asmlib-v3-1-on-oracle-linux-9/
https://positivemh.tistory.com/765
https://positivemh.tistory.com/175
'ORACLE > Install' 카테고리의 다른 글
| Oracle Linux 9.6에 Oracle 19c RAC 설치 가이드 (0) | 2026.01.04 |
|---|---|
| 오라클 26ai 23.26 골드이미지 패치 가이드 (0) | 2025.10.15 |
| 오라클 19c opatch시 silent 옵션 (0) | 2025.09.24 |
| 오라클 설치, 패치 파일 다운로드시 wget 이용 방법 (0) | 2025.07.23 |
| 오라클 23ai 23.7 골드이미지 패치 가이드 (0) | 2025.06.27 |
