在Linux8.5环境下Oracle 21C单实例详细安装部署文档
本文档详细介绍在Linux8.5环境下,Oracle 21C数据库单实例的详细安装和部署。
文中物理环境为VMware workstation Pro 16.1。
目录
1.前言1
2.软件准备1
3.部署规划2
4.创建虚拟机3
5.安装操作系统17
6.系统配置26
6.1配置hosts文件26
6.2配置安全环境26
修改config文件26
禁用防火墙27
6.3用户和目录配置27
6.4配置sysctl.conf文件28
6.5配置limits.conf文件29
6.6配置login文件29
6.7创建YUM云30
6.8安装依赖包31
6.9配置环境变量32
6.10准备安装32
7.安装数据库软件35
8.创建数据库48
9.连通性测试66
1.前言
本文档所面对的学习对象如下:
具有Linux系统简单理解的初学者;
具有Oracle数据库简单理解的初学者。
本文档全部原创,实际操作完成次数超过五次以上,读者可放心按照顺序进行操作。
本文档的实际操作系统平台为Oracle Linux系统,同样适用于Redhat、CentOS的对应版本Linux系统(需对部分系统识别配置进行简单更改即可)。
Oracle Database 21C目前对操作系统最好的支持是Oracle Linux/Redhat/CentOS等Linux 8.2及以上版本。
Oracle Database 21C官方文档请访问:https://docs.oracle.com/en/database/oracle/oracle-database/21/ladbi/index.html
请尊重原创。
2.软件准备
虚拟化软件,VMware workstations Pro 16.1
数据库软件:Oracle Database 21C
操作系统:Oracle Linux 8.5
连接工具:MobaXterm_Personal_20.5
3.部署规划
类型 |
信息 |
主机 |
oracle21c oracle21c.com |
主机类型 |
VMware虚拟机 |
主机配置 |
CPU 4C/内存8G/磁盘40G/网络接口1个 |
操作系统 |
Oracle Linux 8.5 64bit |
数据库 |
Oracle database 21c |
用户配置 |
root |
用户密码 |
xaosky2108 |
安全配置 |
防火墙禁用 Selinux禁用 |
192.168.31.101/24 |
|
网关 |
192.168.31.1 |
实例名 |
orcl |
监听端口 |
1521 |
DB基本目录 |
/u01/app/oracle |
DB安装目录 |
/u01/app/oracle/21c/db_1 |
信息目录 |
/u01/app/oraInventory |
数据目录 |
/u01/app/oracle/oradata |
字符集 |
AL32UTF8 |
EM管理 |
https://192.168.31.101:5500/em |
用户名 |
oracle |
密码 |
xaosky2108 |
4.创建虚拟机
运行虚拟化软件,选择创建新的虚拟机。
CPU:4C /内存:8G /硬盘:20G /网络桥接,并选择加载相应的操作系统ISO文件。
创建虚拟机的最后一个窗口,点击“自定义硬件”,移除声卡和打印机。
然后关闭窗口,完成虚拟机的创建,并启动虚拟机。
5.安装操作系统
虚拟机创建完成之后,启动虚拟机,从我们选择光盘镜像进行启动,开始安装Linux系统。
如下图,选择你喜欢的语言,建议默认英语。
进入安装信息配置界面,下面我们一一进行配置。
键盘配置默认即可。
语言支持建议增加简体中文。
时间配置,选择我们所在时区,然后调整时间和日期。
安装源是光盘镜像,所以这里可以忽略。
软件选择界面,建议选择最小化安装即可。
进入安装目标(磁盘)的配置,我们选择“custom”然后点击“done”。
如下图,在这里我们可以对系统磁盘进行配置。
如下图,对系统磁盘划分了启动卷、根目录卷和swap卷三个部分。
如下图,建议关闭kdump。
关闭系统安全策略,如果有需要可以在后期打开使用。
创建root用户密码,这和先前版本系统,在安装过程中创建密码的方式略有不同。
所有配置完成,点击“begin installation”开始操作系统的安装。
如下图,操作系统的安装过程。
完成操作系统的安装,然后重启系统。
重启之后,我们进行系统和网络的简单验证。
6.系统配置
6.1配置hosts文件
[root@oracle21c ~]# vi /etc/hosts
[root@oracle21c ~]# cat /etc/hosts
[root@oracle21c ~]#
或者,直接用一条命令代替:
echo "192.168.31.101 oracle21c oracle21c.com" >> /etc/hosts
6.2配置安全环境
修改config文件
[root@oracle21c ~]# vi /etc/selinux/config
[root@oracle21c ~]# cat /etc/selinux/config
[root@oracle21c ~]#
或者,直接用一条命令代替:
sed 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
禁用防火墙
[root@oracle21c ~]# systemctl stop firewalld
[root@oracle21c ~]# systemctl disable firewalld
[root@oracle21c ~]# systemctl status firewalld
6.3用户和目录配置
创建用户和组
groupadd -g 200 oinstall
groupadd -g 201 dba
groupadd -g 202 oper
useradd -u 440 -g oinstall -G dba,oper oracle
为新创建用户配置密码
echo xaosky2108 | passwd --stdin oracle
创建目录
mkdir -p /u01/app/oracle
mkdir -p /u01/app/oracle/21c/db_1
mkdir -p /u01/app/oraInventory
为目录赋予权限
chown -R oracle:oinstall /u01/app/oracle
chown -R oracle:oinstall /u01/app/oraInventory/
chmod -R 755 /u01/app/oracle
chmod -R 755 /u01/app/oraInventory/
6.4配置sysctl.conf文件
[root@oracle21c ~]# vi /etc/sysctl.conf
[root@oracle21c ~]# cat /etc/sysctl.conf
[root@oracle21c ~]#
或者,直接用命令代替:
echo "kernel.msgmnb = 65536" >> /etc/sysctl.conf
echo "kernel.msgmax = 65536" >> /etc/sysctl.conf
echo "fs.aio-max-nr = 1048576" >> /etc/sysctl.conf
echo "fs.file-max = 6815744" >> /etc/sysctl.conf
echo "kernel.shmall = 2097152" >> /etc/sysctl.conf
echo "kernel.shmmax =6871947673" >> /etc/sysctl.conf
echo "kernel.shmmni = 4096" >> /etc/sysctl.conf
echo "kernel.sem = 250 32000 100 128" >> /etc/sysctl.conf
echo "net.ipv4.ip_local_port_range = 9000 65500" >> /etc/sysctl.conf
echo "net.core.rmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.rmem_max = 4194304" >> /etc/sysctl.conf
echo "net.core.wmem_default = 262144" >> /etc/sysctl.conf
echo "net.core.wmem_max = 1048586" >> /etc/sysctl.conf
配置完成之后,使配置生效:
[root@oracle21c ~]# sysctl -p
注意,本部分kernel.shmmax的数值为实际内存8*1024*1024*1024*0.8所得。
6.5配置limits.conf文件
该文件主要用于设置用户使用的资源
[root@oracle21c ~]# vi /etc/security/limits.conf
[root@oracle21c ~]# cat /etc/security/limits.conf
[root@oracle21c ~]#
或者,直接用命令代替:
echo "oracle soft nproc 2047" >> /etc/security/limits.conf
echo "oracle hard nproc 16384" >> /etc/security/limits.conf
echo "oracle soft nofile 1024" >> /etc/security/limits.conf
echo "oracle hard nofile 65536" >> /etc/security/limits.conf
echo "oracle soft stack 10240" >> /etc/security/limits.conf
echo "oracle hard stack 10240" >> /etc/security/limits.conf
6.6配置login文件
[root@oracle21c ~]# vi /etc/pam.d/login
[root@oracle21c ~]# cat /etc/pam.d/login
本部分其他内容略.
[root@oracle21c ~]#
或者,直接用命令代替:
echo "session required /lib64/security/pam_limits.so">>/etc/pam.d/login
echo "session required pam_limits.so" >> /etc/pam.d/login
6.7创建YUM源
确认操作系统的安装镜像文件被虚拟机所加载。
[root@oracle21c ~]# mkdir /mount
[root@oracle21c ~]# mount /dev/sr0 /mount
[root@oracle21c ~]# cd /mount
[root@oracle21c mount]# ls
[root@oracle21c mount]#
[root@oracle21c mount]# mkdir /etc/yum.repos.d/backup
[root@oracle21c mount]# mv /etc/yum.repos.d/*.* /etc/yum.repos.d/backup/
[root@oracle21c mount]# vi /etc/yum.repos.d/base-yum.repo
[root@oracle21c mount]# cat /etc/yum.repos.d/base-yum.repo
[root@oracle21c mount]#
[root@oracle21c mount]# yum clean all
[root@oracle21c mount]# yum makecache
[root@oracle21c mount]#
或者,直接用命令代替:
mkdir /etc/yum.repos.d/backup
mv /etc/yum.repos.d/*.* /etc/yum.repos.d/backup/
echo "[base]" >> /etc/yum.repos.d/base-yum.repo
echo "name=oel85-yum" >> /etc/yum.repos.d/base-yum.repo
echo "baseurl=file:///mount/BaseOS" >> /etc/yum.repos.d/base-yum.repo
echo "gpgcheck=1" >> /etc/yum.repos.d/base-yum.repo
echo "enabled=1" >> /etc/yum.repos.d/base-yum.repo
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle" >> /etc/yum.repos.d/base-yum.repo
echo "[Appstream]" >> /etc/yum.repos.d/base-yum.repo
echo "name=oel85-yum-app" >> /etc/yum.repos.d/base-yum.repo
echo "baseurl= file:///mount/AppStream" >> /etc/yum.repos.d/base-yum.repo
echo "gpgcheck=1" >> /etc/yum.repos.d/base-yum.repo
echo "enabled=1" >> /etc/yum.repos.d/base-yum.repo
echo "gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-oracle" >> /etc/yum.repos.d/base-yum.repo
yum clean all
yum makecache
注意:Redhat/CentOS/Oracle等各个版本的LINUX系统,版本8和之前版本的YUM配置细节差别较大,请注意根据实际情况进行配置。
6.8安装依赖包
[root@oracle21c Packages]# yum install -y chrony oracle-database-preinstall-* java-1.8.0-openjdk gcc gcc-c++ device-mapper-multipath sos gdisk libaio-devel ksh
[root@oracle21c Packages]#
6.9配置环境变量
[root@oracle21c Packages]# su - oracle
[oracle@oracle21c ~]$ ls -a
[oracle@oracle21c ~]$ vi .bash_profile
[oracle@oracle21c ~]$ cat .bash_profile
[oracle@oracle21c ~]$ source .bash_profile
[oracle@oracle21c ~]$
6.10准备安装
上传oracle 21C安装文件到 /u01/app/oracle/21c/db_1目录下。
[oracle@oracle21c db_1]$ cd $ORACLE_HOME
[oracle@oracle21c db_1]$ unzip 21CR3-DB-LINUX.zip
解压缩完成之后,进行文件查看,确保权限没有问题。
[oracle@oracle21c db_1]$ ll
total 3036412
-rw-r--r--. 1 root root 3109225519 Feb 13 18:39 21CR3-DB-LINUX.zip
drwxr-xr-x. 2 oracle oinstall 102 Jul 28 2021 addnode
drwxr-xr-x. 9 oracle oinstall 93 Jul 28 2021 assistants
drwxr-xr-x. 2 oracle oinstall 8192 Jul 28 2021 bin
drwxr-xr-x. 4 oracle oinstall 87 Jul 28 2021 clone
drwxr-xr-x. 7 oracle oinstall 69 Jul 28 2021 crs
drwxr-xr-x. 3 oracle oinstall 18 Jul 28 2021 css
drwxr-xr-x. 11 oracle oinstall 119 Jul 28 2021 ctx
drwxr-xr-x. 7 oracle oinstall 71 Jul 28 2021 cv
drwxr-xr-x. 3 oracle oinstall 20 Jul 28 2021 data
drwxr-xr-x. 2 oracle oinstall 22 Jul 28 2021 dbs
drwxr-xr-x. 5 oracle oinstall 173 Jul 28 2021 deinstall
drwxr-xr-x. 3 oracle oinstall 20 Jul 28 2021 demo
drwxr-xr-x. 3 oracle oinstall 20 Jul 28 2021 diagnostics
drwxr-xr-x. 3 oracle oinstall 19 Jul 28 2021 dv
-rw-r--r--. 1 oracle oinstall 852 Aug 18 2015 env.ora
drwxr-xr-x. 4 oracle oinstall 32 Jul 28 2021 has
drwxr-xr-x. 5 oracle oinstall 41 Jul 28 2021 hs
drwxrwxr-x. 11 oracle oinstall 260 Jul 28 2021 install
drwxr-xr-x. 2 oracle oinstall 29 Jul 28 2021 instantclient
drwxr-x---. 11 oracle oinstall 192 Jul 28 2021 inventory
drwxr-xr-x. 8 oracle oinstall 82 Jul 28 2021 javavm
drwxr-xr-x. 3 oracle oinstall 17 Jul 28 2021 jdbc
drwxr-xr-x. 7 oracle oinstall 247 Jul 28 2021 jdk
drwxr-xr-x. 2 oracle oinstall 4096 Jul 28 2021 jlib
drwxr-xr-x. 10 oracle oinstall 112 Jul 28 2021 ldap
drwxr-xr-x. 4 oracle oinstall 12288 Jul 28 2021 lib
drwxr-xr-x. 8 oracle oinstall 76 Jul 28 2021 md
drwxr-xr-x. 4 oracle oinstall 31 Jul 28 2021 mgw
drwxr-xr-x. 10 oracle oinstall 106 Jul 28 2021 network
drwxr-xr-x. 5 oracle oinstall 46 Jul 28 2021 nls
drwxr-xr-x. 8 oracle oinstall 101 Jul 28 2021 odbc
drwxr-xr-x. 5 oracle oinstall 42 Jul 28 2021 olap
drwxr-xr-x. 4 oracle oinstall 35 Jul 28 2021 oml4py
drwxr-xr-x. 13 oracle oinstall 4096 Jul 28 2021 OPatch
drwxr-xr-x. 7 oracle oinstall 65 Jul 28 2021 opmn
drwxr-xr-x. 4 oracle oinstall 34 Jul 28 2021 oracore
drwxr-xr-x. 6 oracle oinstall 52 Jul 28 2021 ord
drwxr-xr-x. 2 oracle oinstall 23 Jul 28 2021 ords
drwxr-xr-x. 3 oracle oinstall 19 Jul 28 2021 oss
drwxr-xr-x. 8 oracle oinstall 226 Jul 28 2021 oui
drwxr-xr-x. 4 oracle oinstall 33 Jul 28 2021 owm
drwxr-xr-x. 5 oracle oinstall 39 Jul 28 2021 perl
drwxr-xr-x. 6 oracle oinstall 78 Jul 28 2021 plsql
drwxr-xr-x. 7 oracle oinstall 67 Jul 28 2021 precomp
drwxr-xr-x. 4 oracle oinstall 28 Jul 28 2021 python
drwxr-xr-x. 2 oracle oinstall 26 Jul 28 2021 QOpatch
drwxr-xr-x. 5 oracle oinstall 52 Jul 28 2021 R
drwxr-xr-x. 4 oracle oinstall 29 Jul 28 2021 racg
drwxr-xr-x. 13 oracle oinstall 140 Jul 28 2021 rdbms
drwxr-xr-x. 3 oracle oinstall 21 Jul 28 2021 relnotes
-rwx------. 1 oracle oinstall 695 Jul 28 2021 root.sh
-rwxr-x---. 1 oracle oinstall 1783 Mar 9 2017 runInstaller
-rw-r--r--. 1 oracle oinstall 2927 Jul 20 2020 schagent.conf
drwxr-xr-x. 5 oracle oinstall 119 Jul 28 2021 sdk
drwxr-xr-x. 3 oracle oinstall 18 Jul 28 2021 slax
drwxr-xr-x. 4 oracle oinstall 41 Jul 28 2021 sqldeveloper
drwxr-xr-x. 3 oracle oinstall 17 Jul 28 2021 sqlj
drwxr-xr-x. 3 oracle oinstall 220 Jul 28 2021 sqlpatch
drwxr-xr-x. 6 oracle oinstall 53 Jul 28 2021 sqlplus
drwxr-xr-x. 6 oracle oinstall 54 Jul 28 2021 srvm
drwxr-xr-x. 4 oracle oinstall 31 Jul 28 2021 suptools
drwxr-xr-x. 3 oracle oinstall 17 Jul 28 2021 ucp
drwxr-xr-x. 4 oracle oinstall 31 Jul 28 2021 usm
drwxr-xr-x. 2 oracle oinstall 33 Jul 28 2021 utl
drwxr-x---. 7 oracle oinstall 69 Jul 28 2021 xdk
[oracle@oracle21c db_1]$
[oracle@oracle21c db_1]$ export DISPLAY=192.168.31.219:0
7.安装数据库软件
[oracle@oracle21c db_1]$ pwd
/u01/app/oracle/21c/db_1
[oracle@oracle21c db_1]$ ./runInstaller
开始部署oracle数据库软件,这里选择仅部署软件,稍后再建库。
由于是单机部署,选择单实例数据库的安装
选择企业版的数据库进行安装。
选择数据库软件的安装目录,默认从我们配置的环境变量中获取目录。
创建inventory目录。
进行组配置,默认即可。
自己手动安装,所以在这里不用做出选择。
开始验证Oracle数据库的部署环境。
如下图所示,软件包没有缺失。
swap空间太小的问题影响不大,可以忽略,不过如果是在生产环境的情况,如果磁盘空间足够,建议swap空间应该充足配置。
Oracle数据库软件的安装配置信息。
开始安装Oracle数据库软件。
在安装过程中会出现要求执行配置文件的对话框,我们按照要求进行执行即可。
[root@oracle21c /]# ./u01/app/oraInventory/orainstRoot.sh
[root@oracle21c /]#
[root@oracle21c /]# ./u01/app/oracle/21c/db_1/root.sh
[root@oracle21c /]#
如下图,完成Oracle数据库软件的安装。
8.创建数据库
[oracle@oracle21c db_1]$ dbca
如下图,开始创建数据库。
如下图,我们选择高级配置模式进行数据库的创建。
如下图,根据实际情况选择所创建数据库的模板。
如下图,配置数据库标识SID,很重要,千万谨慎配置。
注意,在21C数据库当中,必须创建PDB,在这里我们选择创建一个空的CDB。
如下图,配置数据库文件的存放方式和位置。
如下图,配置FRA。
如下图,配置一个监听程序。
如下图,如果要使用database vault和label security,可以在这里打开,后面也可以再配置。
如下图,所有的类型都有,建议使用第一种。
如下图,选择进程数量,根据实际需求进行配置。
如下图,在这里进行字符集的配置,建议根据实际情况进行选择。
如下图,选择数据库的连接方式。
如下图,配置EM管理信息。
如下图,配置数据库用户的密码。
如下图,选择创建数据库,其他根据需要进行配置。
配置完成,显示创建数据库的配置信息。
开始创建数据库。
完成数据库的创建。
9.连通性测试
查看监听程序的运行状态。
如下图,连接数据库正常,实例已启动。
..............................
其他相关文档导航:
如需转载,请保留版权信息.