Oracle12c安装

Oracle12c安装

𝓓𝓸𝓷 Lv6

Oracle12c单实例安装

一、安装规划
1.介质

安装前介质准备

软件 版本 安装包
Centos 7.6 CentOS-7-x86_64-DVD-1810.iso
Oracle12c 12.2.0.1 linuxx64_12201_database.zip
Rlwrap 0.45 rlwrap-0.45.2.tar.gz
2.目录及实例
属性 备注
HostName server1
IP 192.168.1.112
Oracle Base /opt/oracle12c
Oracle Home /opt/oracle12c/product/12.2.0/db_1
CDB Orcl
PDB Testdb
二、关闭防火墙
1
2
3
4
5
6
7
8
9
systemctl status firewalld.service
systemctl stop firewalld.service
systemctl disable firewalld.service

或者单独开启端口:
firewall-cmd --zone=public --add-port=15021/tcp --permanent
firewall-cmd --reload
firewall-cmd --query-port=15021/tcp
firewall-cmd --list-port
三、关闭selinx
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
临时关闭:
setenforce 0

永久关闭(需要重启机器):
vi /etc/selinux/config

SELINUX=disabled

查看:
getenforce

命令关闭:
[root@server1 ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

[root@server1 ~]# setenforce 0
四、配置yum
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
[root@server1 ~]# mkdir /opt/yum
[root@server1 ~]# cp -r /run/media/admin/CentOS\ 7\ x86_64/* /opt/yum
[root@server1 ~]# vi /etc/yum.repos.d/CentOS-Base.repo

[base]
name=CentOS-$releasever - Base
baseurl=file:///opt/yum
gpgcheck=0
enabled=1



或者:

cat << EOF > /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-\$releasever - Base
baseurl=file:///opt/yum
gpgcheck=0
enabled=1
EOF

[root@server1 ~]# yum list
[root@server1 ~]# yum clean all
[root@server1 ~]# yum makecache all

或者挂载iso文件:
[root@server1 ~]# mkdir /opt/yum
[root@server1 ~]# mount -o loop Oracle_Linux7.6_V980739-01.iso /mnt
[root@server1 ~]# cp -r /mnt/* /opt/yum
五、禁用透明页
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
Transparent HugePages memory differs from standard HugePages memory because
the kernel khugepaged thread allocates memory dynamically during runtime. Standard
HugePages memory is pre-allocated at startup, and does not change during runtime.

Transparent HugePages memory is enabled by default with Oracle Linux 6 and later,
Red Hat Enterprise Linux 6 and later, SUSE 11 and later, kernels.

To check if Transparent HugePages is enabled, run one of the following commands as
the root user:
方法一:
Red Hat Enterprise Linux kernels:
# cat /sys/kernel/mm/redhat_transparent_hugepage/enabled
Other kernels:
# cat /sys/kernel/mm/transparent_hugepage/enabled
The following is a sample output that shows Transparent HugePages are being used
as the [always] flag is enabled.
[always] never

方法二:
[root@server1 ~]# grep AnonHugePages /proc/meminfo
AnonHugePages: 14336 kB

如果 AnonHugePages > 0 同样表示启用了透明大页

note:If Transparent HugePages is removed from the kernel, then neither /sys/
kernel/mm/transparent_hugepage nor /sys/kernel/mm/
redhat_transparent_hugepage files exist.

To disable Transparent HugePages:
1. For Oracle Linux 7 and Red Hat Enterprise Linux 7, add or modify the
transparent_hugepage=never parameter in the /etc/default/grub file:
transparent_hugepage=never
For example:
vi /etc/default/grub

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 numa=off transparent_hugepage=never"
GRUB_DISABLE_RECOVERY="true"


2. Run the grub2–mkconfig command to regenerate the grub.cfg file.
# grub2-mkconfig -o /boot/grub2/grub.cfg

3. Restart the system to make the changes permanent
# shutdown -r now

4.Verify
[root@server1 ~]# more /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
[root@server1 ~]# grep AnonHugePages /proc/meminfo
AnonHugePages: 0 kB





如果报以下错误,可能是/boot空间不足:
[root@localhost GPU]# init 3

Broadcast message from systemd-journald@localhost.localdomain (Wed 2017-09-20 11:26:40 CST):

dracut[11820]: dracut: creation of /boot/initramfs-3.10.0-693.2.2.el7.x86_64kdump.img failed

Message from syslogd@localhost at Sep 20 11:26:40 ...
dracut:dracut: creation of /boot/initramfs-3.10.0-693.2.2.el7.x86_64kdump.img failed


[root@localhost boot]# df /boot

[root@localhost boot]# rpm -qa|grep kernel

卸载老版本内核:
[root@localhost boot]# rpm -e kernel-3.10.0-514.el7.x86_64 kernel-3.10.0-514.26.2.el7.x86_64

[root@localhost boot]# yum remove kernel-3.10.0-957.el7.x86_64


六、磁盘调度
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
For best performance for Oracle ASM, Oracle recommends that you use the Deadline
I/O Scheduler.
Disk I/O schedulers reorder, delay, or merge requests for disk I/O to achieve better
throughput and lower latency. Linux has multiple disk I/O schedulers available,
including Deadline, Noop, Anticipatory, and Completely Fair Queuing (CFQ).
On each cluster node, enter the following command to verify that the Deadline disk I/O
scheduler is configured for use:
# cat /sys/block/${ASM_DISK}/queue/scheduler
noop [deadline] cfq
In this example, the default disk I/O scheduler is Deadline and ASM_DISK is the Oracle
Automatic Storage Management (Oracle ASM) disk device.
On some virtual environments (VM) and special devices such as fast storage devices,
the output of the above command may be none. The operating system or VM
bypasses the kernel I/O scheduling and submits all I/O requests directly to the device.
Do not change the I/O Scheduler settings on such environments.
If the default disk I/O scheduler is not Deadline, then set it using a rules file:
1. Using a text editor, create a UDEV rules file for the Oracle ASM devices:
# vi /etc/udev/rules.d/60-oracle-schedulers.rules
2. Add the following line to the rules file and save it:
ACTION=="add|change", KERNEL=="sd[a-z]", ATTR{queue/rotational}=="0",
ATTR{queue/scheduler}="deadline"
3. On clustered systems, copy the rules file to all other nodes on the cluster. For
example:
$ scp 60-oracle-schedulers.rules root@node2:/etc/udev/rules.d/
4. Load the rules file and restart the UDEV service. For example:
a. Oracle Linux and Red Hat Enterprise Linux
# udevadm control --reload-rules
b. SUSE Linux Enterprise Server
# /etc/init.d boot.udev restart
5. Verify that the disk I/O scheduler is set as Deadline.


七、配置SSH
1
2
3
4
5
6
7
8
9
10
11
In rare cases, Oracle Clusterware installation can fail during the "AttachHome"
operation when the remote node closes the SSH connection. To avoid this problem,
set the timeout wait to unlimited by setting the following parameter in the SSH daemon
configuration file /etc/ssh/sshd_config on all cluster nodes:
LoginGraceTime 0


#vi /etc/ssh/sshd_config

LoginGraceTime 0
UseDNS no
八、安装操作系统依赖包
1.preinstall rpm包安装方法
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
1. Obtain Oracle Linux either by ordering the Oracle Linux media pack from Oracle
Store, or by downloading disk images from the Oracle Software Delivery Cloud
website for Oracle Linux and Oracle VM.

• Oracle Store
https://shop.oracle.com

• Oracle Software Delivery Cloud website:

https://edelivery.oracle.com/linux

2. Start the Oracle Linux installation and respond to installation screens with values
appropriate for your environment.
3. Review the first software selection screen, which lists task-specific software
options. At the bottom of the screen, there is an option to customize now or
customize later. Select Customize now, and click Next.
4. On Oracle Linux, select Servers on the left of the screen and System
administration tools on the right of the screen (options may vary between
releases).
The Packages in System Tools window opens.
5. Select the Oracle Preinstallation RPM package box from the package list. For
example, for Oracle Linux 7, select a package similar to the following:

oracle-database-server-12cR2-preinstall-1.0-4.el7.x86_64.rpm


If you do not have an Oracle Preinstallation RPM package option that is current for
your Oracle Database release, because you are using an Oracle Linux installation
that is previous to your Oracle Database and Oracle Grid Infrastructure release,
then install the RPM for your release manually after completing the operating
system installation.
6. Close the optional package window and click Next.
7. Complete the other screens to finish the Oracle Linux installation.
Oracle Linux automatically creates a standard (not role-allocated) Oracle
installation owner and groups, and sets up other kernel configuration settings as
required for Oracle installations.
8. Repeat steps 2 through 6 on all other cluster member nodes.


yum install oracle-database-server-12cR2-preinstall


2.手动安装方法
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
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
Oracle Linux 7:

bc
binutils-2.23.52.0.1-12.el7 (x86_64)
compat-libcap1-1.10-3.el7 (x86_64)
compat-libstdc++-33-3.2.3-71.el7 (i686)
compat-libstdc++-33-3.2.3-71.el7 (x86_64)
glibc-2.17-36.el7 (i686)
glibc-2.17-36.el7 (x86_64)
glibc-devel-2.17-36.el7 (i686)
glibc-devel-2.17-36.el7 (x86_64)
ksh
libaio-0.3.109-9.el7 (i686)
libaio-0.3.109-9.el7 (x86_64)
libaio-devel-0.3.109-9.el7 (i686)
libaio-devel-0.3.109-9.el7 (x86_64)
libX11-1.6.0-2.1.el7 (i686)
libX11-1.6.0-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.2-1.el7 (i686)
libXi-1.7.2-1.el7 (x86_64)
libXtst-1.2.2-1.el7 (i686)
libXtst-1.2.2-1.el7 (x86_64)
libXrender (i686)
libXrender (x86_64)
libXrender-devel (i686)
libXrender-devel (x86_64)
libgcc-4.8.2-3.el7 (i686)
libgcc-4.8.2-3.el7 (x86_64)
libstdc++-4.8.2-3.el7 (i686)
libstdc++-4.8.2-3.el7 (x86_64)
libstdc++-devel-4.8.2-3.el7 (i686)
libstdc++-devel-4.8.2-3.el7 (x86_64)
libxcb-1.9-5.el7 (i686)
libxcb-1.9-5.el7 (x86_64)
make-3.82-19.el7 (x86_64)
nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS)
net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC
and Oracle Clusterware)
smartmontools-6.2-4.el7 (x86_64)
sysstat-10.1.5-1.el7 (x86_64)


Oracle Linux 6:

bc
binutils-2.20.51.0.2-5.36.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (i686)
e2fsprogs-1.41.12-14.el6 (x86_64)
e2fsprogs-libs-1.41.12-14.el6 (x86_64)
glibc-2.12-1.7.el6 (i686)
glibc-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (x86_64)
glibc-devel-2.12-1.7.el6 (i686)
ksh
libgcc-4.4.4-13.el6 (i686)
libgcc-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (x86_64)
libstdc++-4.4.4-13.el6 (i686)
libstdc++-devel-4.4.4-13.el6 (x86_64)
libstdc++-devel-4.4.4-13.el6 (i686)
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (i686)
libXtst-1.0.99.2 (x86_64)
libXtst-1.0.99.2 (i686)
libX11-1.5.0-4.el6 (i686)
libX11-1.5.0-4.el6 (x86_64)
libXau-1.0.6-4.el6 (i686)
libXau-1.0.6-4.el6 (x86_64)
libxcb-1.8.1-1.el6 (i686)
libxcb-1.8.1-1.el6 (x86_64)
libXi-1.3 (x86_64)
libXi-1.3 (i686)
libXrender (i686)
libXrender (x86_64)
libXrender-devel (i686)
libXrender-devel (x86_64)
make-3.81-19.el6
net-tools-1.60-110.el6_2.x86_64 (for Oracle RAC and Oracle
Clusterware)
nfs-utils-1.2.3-15.0.1 (for Oracle ACFS)
sysstat-9.0.4-11.el6 (x86_64)
smartmontools-5.43-1.el6.x86_64



RedHat Linux 7:

bc
binutils-2.23.52.0.1-12.el7 (x86_64)
compat-libcap1-1.10-3.el7 (x86_64)
compat-libstdc++-33-3.2.3-71.el7 (i686)
compat-libstdc++-33-3.2.3-71.el7 (x86_64)
glibc-2.17-36.el7 (i686)
glibc-2.17-36.el7 (x86_64)
glibc-devel-2.17-36.el7 (i686)
glibc-devel-2.17-36.el7 (x86_64)
ksh
libaio-0.3.109-9.el7 (i686)
libaio-0.3.109-9.el7 (x86_64)
libaio-devel-0.3.109-9.el7 (i686)
libaio-devel-0.3.109-9.el7 (x86_64)
libgcc-4.8.2-3.el7 (i686)
libgcc-4.8.2-3.el7 (x86_64)
libstdc++-4.8.2-3.el7 (i686)
libstdc++-4.8.2-3.el7 (x86_64)
libstdc++-devel-4.8.2-3.el7 (i686)
libstdc++-devel-4.8.2-3.el7 (x86_64)
libxcb-1.9-5.el7 (i686)
libxcb-1.9-5.el7 (x86_64)
libX11-1.6.0-2.1.el7 (i686)
libX11-1.6.0-2.1.el7 (x86_64)
libXau-1.0.8-2.1.el7 (i686)
libXau-1.0.8-2.1.el7 (x86_64)
libXi-1.7.2-1.el7 (i686)
libXi-1.7.2-1.el7 (x86_64)
libXtst-1.2.2-1.el7 (i686)
libXtst-1.2.2-1.el7 (x86_64)
libXrender (i686)
libXrender (x86_64)
libXrender-devel (i686)
libXrender-devel (x86_64)
make-3.82-19.el7 (x86_64)
net-tools-2.0-0.17.20131004git.el7 (x86_64) (for Oracle RAC
and Oracle Clusterware)
nfs-utils-1.3.0-0.21.el7.x86_64 (for Oracle ACFS)
smartmontools-6.2-4.el7 (x86_64)
sysstat-10.1.5-1.el7 (x86_64)


RedHat Linux 6:

bc
binutils-2.20.51.0.2-5.36.el6 (x86_64)
compat-libcap1-1.10-1 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (x86_64)
compat-libstdc++-33-3.2.3-69.el6 (i686)
e2fsprogs-1.41.12-14.el6 (x86_64)
e2fsprogs-libs-1.41.12-14.el6 (x86_64)
glibc-2.12-1.107.el6 (i686)
glibc-2.12-1.107.el6 (x86_64)
glibc-devel-2.12-1.107.el6 (i686)
glibc-devel-2.12-1.107.el6 (x86_64)
ksh
libaio-0.3.107-10.el6 (x86_64)
libaio-0.3.107-10.el6 (i686)
libaio-devel-0.3.107-10.el6 (x86_64)
libaio-devel-0.3.107-10.el6 (i686)
libX11-1.5.0-4.el6 (i686)
libX11-1.5.0-4.el6 (x86_64)
libXau-1.0.6-4.el6 (i686)
libXau-1.0.6-4.el6 (x86_64)
libXi-1.6.1-3.el6 (i686)
libXi-1.6.1-3.el6 (x86_64)
libXtst-1.2.1-2.el6 (i686)
libXtst-1.2.1-2.el6 (x86_64)
libgcc-4.4.7-3.el6 (i686)
libgcc-4.4.7-3.el6 (x86_64)
libstdc++-4.4.7-3.el6 (i686)
libstdc++-4.4.7-3.el6 (x86_64)
libstdc++-devel-4.4.7-3.el6 (i686)
libstdc++-devel-4.4.7-3.el6 (x86_64)
libxcb-1.8.1-1.el6 (i686)
libxcb-1.8.1-1.el6 (x86_64)
libXrender (i686)
libXrender (x86_64)
libXrender-devel (i686)
libXrender-devel (x86_64)
make-3.81-20.el6 (x86_64)
net-tools-1.60-110.el6_2 (x86_64) (for Oracle RAC and Oracle
Clusterware)
nfs-utils-1.2.3-36.el6 (x86_64) (for Oracle ACFS)
smartmontools-5.43-1.el6 (x86_64)
sysstat-9.0.4-20.el6 (x86_64)


SUSE Linux Enterprise Server 15:

binutils-2.31-6.3.1.x86_64
gcc-7-1.563.x86_64
glibc-2.26-13.8.1.x86_64
glibc-32bit-2.26-13.8.1.x86_64
glibc-devel-2.26-13.8.1.x86_64
libaio-devel-0.3.109-1.25.x86_64
libaio1-0.3.109-1.25.x86_64
libcap1-1.97-1.15.x86_64
libstdc++6-devel-gcc7-7.4.0+r266845-4.3.4.x86_64
libstdc++6-8.2.1+r264010-1.3.7.x86_64
libgcc_s1-8.2.1+r264010-1.3.7.x86_64
libgcc_s1-32bit-8.2.1+r264010-1.3.7.x86_64
make-4.2.1-7.3.2.x86_64
mksh-56c-1.10.x86_64
sysstat-12.0.2-3.3.1.x86_64
xorg-x11-fonts-core-7.6-3.9.noarch
xorg-x11-server-extra-1.19.6-8.6.1.x86_64
xorg-x11-Xvnc-1.8.0-13.8.5.x86_64
xorg-x11-server-1.19.6-8.6.1.x86_64
xorg-x11-libs-7.6.1-1.16.noarch
xorg-x11-essentials-7.6_1-1.22.noarch
xorg-x11-fonts-7.6-3.9.noarch
xorg-x11-7.6_1-1.22.noarch
xorg-x11-driver-video-7.6_1-2.30.x86_64

SUSE Linux Enterprise Server 12:



Centos7.6安装包:

[root@server1 ~]# yum install bc binutils compat-libcap1 compat-libstdc++ glibc glibc-devel ksh libaio libaio-devel libgcc libstdc++ libstdc++-devel libxcb libX11 libXau libXi libXtst libXrender libXrender-devel make gcc gcc-c++ smartmontools sysstat

查询依赖包:
[root@server1 ~]# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' \
bc \
binutils \
compat-libcap1 \
compat-libstdc++ \
glibc \
glibc-devel \
ksh \
libaio \
libaio-devel \
libgcc \
libstdc++ libstdc++-devel \
libxcb libX11 \
libXau \
libXi \
libXtst \
libXrender \
libXrender-devel \
make gcc gcc-c++ smartmontools sysstat |grep 'not installed'

解决compat-libstdc++没有安装的问题:
package compat-libstdc++ is not installed

[root@server1 ~]# rpm -q --qf '%{NAME}-%{VERSION}-%{RELEASE} (%{ARCH})\n' compat-libstdc++-33

[root@server1 ~]# wget http://mirror.centos.org/centos/7/os/x86_64/Packages/compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

[root@server1 ~]# yum install compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm

九、创建用户组和Oracle安装目录
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
如果没有使用到ASM,则不需要创建asmdba,asmoper
/usr/sbin/groupadd -g 54327 asmdba
/usr/sbin/groupadd -g 54328 asmoper

创建组:
/usr/sbin/groupadd -g 54321 oinstall
/usr/sbin/groupadd -g 54322 dba
/usr/sbin/groupadd -g 54323 oper
/usr/sbin/groupadd -g 54324 backupdba
/usr/sbin/groupadd -g 54325 dgdba
/usr/sbin/groupadd -g 54326 kmdba
/usr/sbin/groupadd -g 54330 racdba

创建用户:
# /usr/sbin/useradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,racdba oracle

修改用户属主:
# /usr/sbin/usermod -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba[,oper] oracle


[root@server1 ~]# echo "oracle" |passwd --stdin oracle
Changing password for user oracle.
passwd: all authentication tokens updated successfully.
十、创建目录
1
2
3
4
5
6
7
8
mkdir -p /opt/oracle12c/product/12.2.0/db_1
chown -R oracle.oinstall /opt/oracle12c
chmod -R 755 /opt/oracle12c


mkdir -p /u01/app/oracle/product/12.2.0/db_1
chown -R oracle.oinstall /u01/app/oracle
chmod -R 775 /u01/app/oracle
十一、配置Oracle环境变量
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
[root@server1 ~]# su - oracle

[oracle@server1 ~]$ vi .bash_profile

export TEMP=/tmp
export TMPDIR=/tmp

export ORACLE_BASE=/opt/oracle12c
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH


umask 022




export TEMP=/tmp
export TMPDIR=/tmp

export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/db_1
export ORACLE_SID=orcl
export LD_LIBRARY_PATH=$ORACLE_HOME/lib
export PATH=$ORACLE_HOME/bin:$PATH


umask 022


[root@server1 ~]# source .bash_profile


如果不是全新安装,则需要unset环境变量:
unset ORACLE_BASE
unset ORACLE_HOME
unset ORACLE_SID
unset ORA_CRS_HOME
unset ORA_NLS10
unset TNS_ADMIN
移除环境变量PATH中$ORACLE_HOME/bin
十二、配置资源限制
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
[root@server1 ~]#  vi /etc/security/limits.conf

注意: centos7.6添加路径为/etc/security/limits.d/,级别优先/etc/security/

[root@server1 ~]# vi /etc/security/limits.d/20-nproc.conf

oracle soft nofile 1024
oracle hard nofile 65536
oracle soft nproc 2047
oracle hard nproc 16384
oracle soft stack 10240
oracle hard stack 32768
oracle hard memlock 134217728
oracle soft memlock 134217728

oracle soft memlock (使用HugePage:90%Mem,单位KB.不使用HuagePages:3145728 (3G),maximum of 128GB on x86_64 or 3GB on x86 OR 90 % of RAM)
oracle hard memlock (使用HugePage:90%Mem,单位KB.不使用HuagePages:3145728 (3G),maximum of 128GB on x86_64 or 3GB on x86 OR 90 % of RAM)





要使 limits.conf 文件配置生效,必须要确保 pam_limits.so 文件被加入到启动文件中(Oracle19c没有要求):

[root@server1 ~]# locate pam_limits.so
/usr/lib64/security/pam_limits.so

[root@server1 ~]# vi /etc/pam.d/login
session required pam_limits.so


验证:
1. Log in as an installation owner.
2. Check the soft and hard limits for the file descriptor setting. Ensure that the result
is in the recommended range. For example:

[root@server1 ~]# su - oracle

[oracle@server1 ~]$ ulimit -Sn
1024
[oracle@server1 ~]$ ulimit -Hn
65536
3. Check the soft and hard limits for the number of processes available to a user.
Ensure that the result is in the recommended range. For example:
[oracle@server1 ~]$ ulimit -Su
2047
[oracle@server1 ~]$ ulimit -Hu
16384
4. Check the soft limit for the stack setting. Ensure that the result is in the
recommended range. For example:
[oracle@server1 ~]$ ulimit -Ss
10240
[oracle@server1 ~]$ ulimit -Hs
32768






提高用户shell限制(不做此步):

/etc/profile

if [ $USER = "oracle" ]; then

if [ $SHELL = "/bin/ksh" ]; then

ulimit -p 16384

ulimit -n 65536

else

ulimit -u 16384 -n 65536

fi

fi
十三、配置内核参数
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
[root@server1 ~]# vi /etc/sysctl.d/97-oracle-database-sysctl.conf

net.ipv4.neigh.default.base_reachable_time_ms = 600000
net.ipv4.neigh.default.mcast_solicit = 20
net.ipv4.neigh.default.retrans_time_ms = 250
net.ipv4.conf.eth0.rp_filter=0
net.ipv4.conf.eth1.rp_filter=0
net.core.default_qdisc=fq
net.ipv4.tcp_congestion_control=bbr
net.ipv4.tcp_fastopen=3
net.core.default_qdisc = fq
net.ipv4.tcp_congestion_control = bbr




fs.file-max = 6815744
kernel.sem = 250 32000 100 128
kernel.shmmni = 4096
kernel.shmall = 1073741824
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




执行以下命令使用内核生效:

[root@server1 ~]# /sbin/sysctl --system
[root@server1 ~]# /sbin/sysctl -a


net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
十四、针对隐藏文件配置错误输出
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
如果安装RAC或Grid需要配置:
During an Oracle Grid Infrastructure installation, OUI uses SSH to run commands and
copy files to the other nodes. During the installation, hidden files on the system (for
example, .bashrc or .cshrc) can cause makefile and other installation errors if they
contain terminal output commands.
To avoid this problem, you must modify hidden files in each Oracle installation owner
user home directory to suppress all output on STDOUT or STDERR (for example, stty,
xtitle, and other such commands) as in the following examples:

Bourne, Bash, or Korn shell:

if [ -t 0 ]; then
stty intr ^C
fi

C shell:

test -t 0
if ($status == 0) then
stty intr ^C
endif


note:If the remote shell can load hidden files that contain stty commands, then
OUI indicates an error and stops the installation.




[oracle@server1 ~]$ vi .bash_profile

if [ -t 0 ]; then
stty intr ^C
fi

[oracle@server1 ~]$ source .bash_profile
十五、安装Oracle12c数据库
1
2
3
4
5
6
7
8
9
10
11
12
13
14
[root@server1 soft]# unzip linuxx64_12201_database.zip
[root@server1 soft]# chown -R oracle.oinstall database/
[root@server1 soft]# chmod -R 755 database/
[root@server1 soft]# su - oracle

[oracle@server1 ~]$ cd /opt/soft/database/
[oracle@server1 database]$ export DISPLAY=192.168.1.27:0.0
[oracle@server1 database]$ ./runInstaller
Starting Oracle Universal Installer...

Checking Temp space: must be greater than 500 MB. Actual 36867 MB Passed
Checking swap space: must be greater than 150 MB. Actual 8191 MB Passed
Checking monitor: must be configured to display at least 256 colors. Actual 16777216 Passed
Preparing to launch Oracle Universal Installer from /tmp/OraInstall2020-03-29_07-03-48PM. Please wait ...

image-20210617090840036

image-20210616183459001

image-20210616183408535

image-20210616183308690

image-20210616183208519

image-20210616183128669

image-20210616183925440

image-20210616184022229

image-20210616184151494

image-20210616184554283

root用户执行如下脚本:

/home/oracle/oraInventory/orainstRoot.sh
/opt/oracle12c/product/12.2.0/db_1/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
36
[root@server1 ~]# /home/oracle/oraInventory/orainstRoot.sh
Changing permissions of /home/oracle/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.

Changing groupname of /home/oracle/oraInventory to oinstall.
The execution of the script is complete.

[root@server1 ~]# /opt/oracle12c/product/12.2.0/db_1/root.sh
Performing root user operation.

The following environment variables are set as:
ORACLE_OWNER= oracle
ORACLE_HOME= /opt/oracle12c/product/12.2.0/db_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.
Do you want to setup Oracle Trace File Analyzer (TFA) now ? yes|[no] :
no
Oracle Trace File Analyzer (TFA - User Mode) is available at :
/opt/oracle12c/product/12.2.0/db_1/suptools/tfa/release/tfa_home/bin/tfactl

OR

Oracle Trace File Analyzer (TFA - Daemon Mode) can be installed by running this script :
/opt/oracle12c/product/12.2.0/db_1/suptools/tfa/release/tfa_home/install/roottfa.sh

image-20210616184853460

image-20210616184933181

image-20210616185006164

十六、DBCA建库
1
[oracle@server1 database]$ dbca

image-20210616185520890

image-20210616185713040

image-20210616185855137

image-20210616190447752

image-20210616191332665

image-20210616191735166

image-20210616191928343

image-20210616201043402

image-20210616195058320

image-20210616192344756

image-20210616195127296

image-20210616195536751

image-20210616200131254

image-20210616200332219

image-20210616202436052

image-20210616203042014

十七、配置Listener及tnsnames
1.配置Listener
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
[oracle@server1 ~]$ cd $ORACLE_HOME/network/admin/
[oracle@server1 admin]$ vi listener.ora

SID_LIST_ORCL =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = ORCL)
(SID_NAME = orcl)
(ORACLE_HOME = /opt/oracle12c/product/12.2.0/db_1)
)
(SID_DESC =
(GLOBAL_DBNAME = TESTDB)
(SID_NAME = orcl)
(ORACLE_HOME = /opt/oracle12c/product/12.2.0/db_1)
)
)


ORCL =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.165)(PORT = 15021))
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC15021))
)
)


[oracle@server1 admin]$ lsnrctl start ORCL

2.配置tnsnames
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
[oracle@server1 admin]$ vi tnsnames.ora

TESTDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.165)(PORT = 15021))
)
(CONNECT_DATA =
(SERVICE_NAME = testdb)
)
)




ORCL_CDB =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.165)(PORT = 15021))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)

十八、查看数据库
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
[oracle@server1 database]$ sqlplus / as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Wed Jun 16 20:34:03 2021

Copyright (c) 1982, 2016, Oracle. All rights reserved.


Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 TESTDB READ WRITE NO




[oracle@server1 admin]$ sqlplus sys@testdb as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Jun 17 09:30:40 2021

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL>


[oracle@server1 admin]$ sqlplus sys@orcl_cdb as sysdba

SQL*Plus: Release 12.2.0.1.0 Production on Thu Jun 17 09:31:11 2021

Copyright (c) 1982, 2016, Oracle. All rights reserved.

Enter password:

Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production

SQL> show pdbs

CON_ID CON_NAME OPEN MODE RESTRICTED
---------- ------------------------------ ---------- ----------
2 PDB$SEED READ ONLY NO
3 TESTDB READ WRITE NO

十九、安装rlwrap
1.安装相关依赖包
1
[root@server01 ~]# yum install -y readline readline-devel
2.安装rlwrap
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[root@server1 soft]# tar xvf rlwrap-0.45.2.tar.gz -C /usr/local/
[root@server1 soft]# cd /usr/local/
[root@server1 local]# ln -s rlwrap-0.45.2 rlwrap
[root@server1 local]# cd rlwrap
[root@server1 rlwrap]# ./configure -q
Will rlwrap find command's working directory under /proc/<commands pid>/cwd? let's see...



Now do:
make (or gmake) to build rlwrap
make check for instructions how to test it
make install to install it

[root@server1 rlwrap]# make && make install

3.配置环境变量
1
2
3
4
5
6
7
[oracle@server1 ~]$ vi .bashrc

alias sqlplus="rlwrap sqlplus"
alias rman="rlwrap rman"
alias ggsci="cd $OGG_HOME;ggsci

[oracle@server1 ~]$ source .bashrc[o"
  • Title: Oracle12c安装
  • Author: 𝓓𝓸𝓷
  • Created at : 2024-07-12 13:50:45
  • Updated at : 2024-07-20 05:15:41
  • Link: https://www.zhangdong.me/oracle12c-installation.html
  • License: This work is licensed under CC BY-NC-SA 4.0.
评论