一、安装前的准备工作 1.1 创建RAID5磁盘阵列
使用mdadm命令创建磁盘阵列
[root@orcl180 ~]# mdadm -Cv /dev/md0 -n 4 -l 5 /dev/sd[b-e]
使用mdadm -Q和mdadm -D命令查看磁盘信息
[root@orcl180 ~]# mdadm -Q /dev/md0
/dev/md0: 59.95GiB raid5 4 devices, 0 spares. Use mdadm --detail for more detail.
[root@orcl180 ~]# mdadm -D /dev/md0
/dev/md0:
Version : 1.2
Creation Time : Fri May 17 10:30:15 2024
Raid Level : raid5
Array Size : 62862336 (59.95 GiB 64.37 GB)
Used Dev Size : 20954112 (19.98 GiB 21.46 GB)
Raid Devices : 4
Total Devices : 4
Persistence : Superblock is persistent
Update Time : Thu May 23 09:42:34 2024
State : clean
Active Devices : 4
Working Devices : 4
Failed Devices : 0
Spare Devices : 0
Layout : left-symmetric
Chunk Size : 512K
Consistency Policy : resync
Name : orcl180:0 (local to host orcl180)
UUID : 174e985b:af7dc4a8:3198b291:11909b38
Events : 30
Number Major Minor RaidDevice State
0 259 3 0 active sync /dev/nvme0n2
1 259 4 1 active sync /dev/nvme0n3
2 259 5 2 active sync /dev/nvme0n4
4 259 6 3 active sync /dev/nvme0n5
格式化磁盘阵列
[root@orcl180 ~]# mkfs.ext4 /dev/md0
[root@orcl180 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sr0 11:0 1 8.8G 0 rom /media/iso
nvme0n1 259:0 0 60G 0 disk
├─nvme0n1p1 259:1 0 1G 0 part /boot
└─nvme0n1p2 259:2 0 59G 0 part
├─rhel-root 253:0 0 33.6G 0 lvm /
├─rhel-swap 253:1 0 8G 0 lvm [SWAP]
└─rhel-home 253:2 0 17.4G 0 lvm /home
nvme0n2 259:3 0 20G 0 disk
└─md0 9:0 0 60G 0 raid5 /u01
nvme0n3 259:4 0 20G 0 disk
└─md0 9:0 0 60G 0 raid5 /u01
nvme0n4 259:5 0 20G 0 disk
└─md0 9:0 0 60G 0 raid5 /u01
nvme0n5 259:6 0 20G 0 disk
└─md0 9:0 0 60G 0 raid5 /u01
在“/”目录下创建u01目录,并将md0挂载到/u01,保持开机自动挂载。
[root@orcl180 ~]# mkdir /u01
[root@orcl180 ~]# mount /dev/md0 /u01
[root@orcl180 ~]# echo "/dev/md0 /u01 ext4 defaults 0 0" >> /etc/fstab
[root@orcl180 ~]#
1.2 配置YUM源仓库 创建iso文件并挂载本地镜像盘,保持开机自动启动
[root@orcl180 ~]# mkdir -p /media/iso
[root@orcl180 ~]# mount /dev/sr0 /media/iso/
mount: /media/iso: WARNING: device write-protected, mounted read-only.
[root@orcl180 ~]# echo "/dev/sr0 /media/iso iso9660 defaults 0 0" >> /etc/fstab
[root@orcl180 ~]#
配置yum仓库
[root@orcl180 ~]# cd /etc/yum.repos.d/
[root@orcl180 yum.repos.d]# vim rhel8.repo
[BaseOS]
name=BaseOS
baseurl=file:///media/iso/BaseOS
enabled=1
gpgcheck=0
[AppStream]
name=AppStream
baseurl=file:///media/iso/AppStream
enabled=1
gpgcheck=0
[root@orcl180 yum.repos.d]#
测试yum仓库配置是否成功,安装java软件。
[root@orcl180 yum.repos.d]# cd
[root@orcl180 ~]# dnf install java -y
1.3 安装ORACLE数据库相关依赖包
使用dnf install命令安装相关依赖包
[root@orcl180 ~]# dnf install -y gcc gcc-c++ glibc-devel ksh libaio-devel libstdc++-devel make sysstat elfutils-libelf-devel fontconfig-devel libXrender-devel
compat-libcap1和compat-libstdc++-33无法使用yum仓库安装,从网上下载rpm软件包,上传至服务器/home/milk/soft目录下,使用rpm命令进行安装。
[root@orcl180 ~]# mkdir -p /home/milk/soft
[root@orcl180 ~]# cd /home/milk/soft/
[root@orcl180 soft]# rpm -ivh compat-libcap1-1.10-7.el7.x86_64.rpm compat-libstdc++-33-3.2.3-72.el7.x86_64.rpm
-
4 安装xclock软件包,以便于oracle图形化安装 使用dnf install命令安装xterm
[root@orcl180 ~]# dnf install -y xterm
[root@orcl180 ~]#
使用rpm命令安装xorg-x11-xbitmaps-1.1.1-6.el7.noarch.rpm和xorg-x11-apps-7.7-21.el8.x86_64.rpm
[root@orcl180 soft]# rpm -ivh xorg-x11-xbitmaps-1.1.1-13.el8.noarch.rpm xorg-x11-apps-7.7-21.el8.x86_64.rpm
[root@orcl180 soft]#
使用dnf命令安装libnsl包
[root@orcl180 soft]# dnf install -y libnsl
二、 创建oracle用户和组 2.1 创建ORACLE用户和组
[root@orcl180 soft]# groupadd oinstall
[root@orcl180 soft]# groupadd dba
[root@orcl180 soft]# groupadd asmdba
[root@orcl180 soft]# groupadd backupdba
[root@orcl180 soft]# groupadd dgdba
[root@orcl180 soft]# groupadd kmdba
[root@orcl180 soft]# groupadd racdba
[root@orcl180 soft]# groupadd oper
[root@orcl180 soft]# useradd -g oinstall -G dba,asmdba,backupdba,dgdba,kmdba,racdba,oper -m oracle
2.2 设置ORACLE用户密码
[root@orcl180 soft]# passwd oracle
三、配置文件和禁用服务 3.1 配置域名解析文件
[root@orcl180 soft]# vim /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.100.253 orcl180
~
# 关闭selinux
[root@orcl180 soft]# vim /etc/selinux/config
SELINUX=disabled
# 禁用防火墙
[root@orcl180 soft]# systemctl stop firewalld.service
[root@orcl180 soft]# systemctl disable firewalld.service
四、 配置系统内核参数和用户环境变量 4.1 配置系统内核参数
[root@orcl180 soft]# vim /etc/sysctl.conf
# sysctl settings are defined through files in
# /usr/lib/sysctl.d/, /run/sysctl.d/, and /etc/sysctl.d/.
#
# Vendors settings live in /usr/lib/sysctl.d/.
# To override a whole file, create a new file with the same in
# /etc/sysctl.d/ and put new settings there. To override
# only specific settings, add a file with a lexically later
# name in /etc/sysctl.d/ and put new settings there.
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@orcl180 soft]# sysctl -p
fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 16451328
kernel.shmmax = 33692319744
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_default = 262144
net.core.rmem_max = 4194304
net.core.wmem_default = 262144
net.core.wmem_max = 1048576
[root@orcl180 soft]#
4.2 配置用户环境变量
[root@orcl180 soft]# su - oracle
[oracle@orcl180 ~]$ pwd
/home/oracle
[oracle@orcl180 ~]$ vim .bash_profile
# User specific environment and startup programs
ORACLE_SID=orcl180;export ORACLE_SID
ORACLE_UNQNAME=orcl180;export ORACLE_UNQNAME
ORACLE_BASE=/u01/app/oracle; export ORACLE_BASE
ORACLE_HOME=$ORACLE_BASE/product/19.2.0/db_1; export ORACLE_HOME
NLS_DATE_FORMAT="YYYY:MM:DDHH24:MI:SS"; export NLS_DATE_FORMAT
NLS_LANG=american_america.ZHS16GBK; export NLS_LANG
TNS_ADMIN=$ORACLE_HOME/network/admin; export TNS_ADMIN
ORA_NLS11=$ORACLE_HOME/nls/data; export ORA_NLS11
PATH=.:${JAVA_HOME}/bin:${PATH}:$HOME/bin:$ORACLE_HOME/bin:$ORA_CRS_HOME/bin
PATH=${PATH}:/usr/bin:/bin:/usr/bin/X11:/usr/local/bin
export PATH
LD_LIBRARY_PATH=$ORACLE_HOME/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:$ORACLE_HOME/oracm/lib
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/lib:/usr/lib:/usr/local/lib
export LD_LIBRARY_PATH
CLASSPATH=$ORACLE_HOME/JRE
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/rdbms/jlib
CLASSPATH=${CLASSPATH}:$ORACLE_HOME/network/jlib
export CLASSPATH
THREADS_FLAG=native; export THREADS_FLAG
export TEMP=/tmp
export TMPDIR=/tmp
umask 022
4.3 创建工作目录并赋予相应的权限
[root@orcl180 ~]# mkdir -p /u01/app/oracle/product/19.2.0/db_1
[root@orcl180 ~]# chown -R oracle:oinstall /u01/
[root@orcl180 ~]# chmod -R 775 /u01/
[root@orcl180 ~]#
五、安装ORACLE19C 5.1 在oracle用户下解压“LINUX.X64_193000_db_home”
[oracle@orcl180 database]$ unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
/u01/app/oracle/product/19.2.0/db_1/lib/libclntsh.so.10.1 -> libclntsh.so
/u01/app/oracle/product/19.2.0/db_1/lib/libclntsh.so.11.1 -> libclntsh.so
/u01/app/oracle/product/19.2.0/db_1/lib/libclntsh.so.12.1 -> libclntsh.so
/u01/app/oracle/product/19.2.0/db_1/lib/libclntsh.so.18.1 -> libclntsh.so
/u01/app/oracle/product/19.2.0/db_1/precomp/public/SQLCA.H -> sqlca.h
/u01/app/oracle/product/19.2.0/db_1/precomp/public/SQLDA.H -> sqlda.h
/u01/app/oracle/product/19.2.0/db_1/precomp/public/ORACA.H -> oraca.h
/u01/app/oracle/product/19.2.0/db_1/precomp/public/SQLCA.COB -> sqlca.cob
/u01/app/oracle/product/19.2.0/db_1/precomp/public/ORACA.COB -> oraca.cob
/u01/app/oracle/product/19.2.0/db_1/javavm/admin/classes.bin -> ../../javavm/jdk/jdk8/admin/classes.bin
/u01/app/oracle/product/19.2.0/db_1/javavm/admin/libjtcjt.so -> ../../javavm/jdk/jdk8/admin/libjtcjt.so
/u01/app/oracle/product/19.2.0/db_1/jdk/jre/bin/ControlPanel -> jcontrol
/u01/app/oracle/product/19.2.0/db_1/javavm/admin/lfclasses.bin -> ../../javavm/jdk/jdk8/admin/lfclasses.bin
/u01/app/oracle/product/19.2.0/db_1/javavm/lib/security/cacerts -> ../../../javavm/jdk/jdk8/lib/security/cacerts
/u01/app/oracle/product/19.2.0/db_1/javavm/lib/sunjce_provider.jar -> ../../javavm/jdk/jdk8/lib/sunjce_provider.jar
/u01/app/oracle/product/19.2.0/db_1/javavm/lib/security/README.txt -> ../../../javavm/jdk/jdk8/lib/security/README.txt
/u01/app/oracle/product/19.2.0/db_1/javavm/lib/security/java.security -> ../../../javavm/jdk/jdk8/lib/security/java.security
/u01/app/oracle/product/19.2.0/db_1/jdk/jre/lib/amd64/server/libjsig.so -> ../libjsig.so
[oracle@orcl180 database]$
5.2 启动./runInstaller报错“INS-0810”和X11报错
# 报错信息
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.
# 设置显示窗口 root用户
export DISPLAY=:0.0
echo $DISPLAY
xhost +
# 切换oracle用户
su - oracle
# oracle用户下
export DISPLAY=:0.0
echo $DISPLAY
xhost +
[oracle@orcl180 ~]$ cd $ORACLE_HOME
[oracle@orcl180 db_1]$ ./runInstaller
ERROR: Unable to verify the graphical display setup. This application requires X display. Make sure that xdpyinfo exist under PATH variable.
# 报错为INS-08101
在ORACLE用户环境下执行“export CV_ASSUME_DISTID=RHEL8.3”命令
5.3 开始图形安装
[oracle@orcl180 db_1]$ ./runInstaller
选择“进设置软件”,点击下一步。
选择“单实例数据库安装”,下一步
选择“企业版”,下一步
安装路径默认,下一步
默认“产品清单目录”,下一步
默认“已授权的操作系统组”,下一步
不要勾选“自动运行配置脚本”,下一步
默认下一步
默认下一步
默认下一步
Root用户下执行,两个脚本
[root@orcl180 ~]# /u01/app/oraInventory/orainstRoot.sh
Changing permissions of /u01/app/oraInventory.
Adding read,write permissions for group.
Removing read,write,execute permissions for world.
Changing groupname of /u01/app/oraInventory to oinstall.
The execution of the script is complete.
[root@orcl180 ~]# /u01/app/oracle/product/19.3.0/db_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/db_1
Enter the full pathname of the local bin directory: [/usr/local/bin]: /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
执行完后,点击确定,下一步。
点击“关闭”,完成oracle数据库软件的安装。
[oracle@orcl180 db_1]$ ./runInstaller
Launching Oracle Database Setup Wizard...
The response file for this session can be found at:
/u01/app/oracle/product/19.3.0/db_1/install/response/db_2024-05-22_11-20-43AM.rsp
You can find the log of this install session at:
/tmp/InstallActions2024-05-22_11-20-43AM/installActions2024-05-22_11-20-43AM.log
Moved the install session logs to:
/u01/app/oraInventory/logs/InstallActions2024-05-22_11-20-43AM
六、配置监听 oracle用户执行netca
[oracle@orcl180 db_1]$ netca
选择“监听程序配置”,下一步
“添加”,下一步
监听程序名默认,下一步
默认,下一步
使用默认端口,下一步
选择“否”,下一步
点击“完成”,监听程序配置完成。
七、创建数据库 oracle用户执行dbca
[oracle@orcl180 db_1]$ dbca
选择“创建数据库”,下一步
选择“高级配置”,下一步
默认,下一步
给“全局数据库名”和“SID”命名为“orcl180”,根据自己的需要选择是否创建成容器数据库。不需要的话就取消,下一步
默认,下一步。
根据实际需要开启归档和闪回区,下一步
默认,下一步
默认,下一步
设置内存大小,选择“字符集”标签
字符集字符设置,下一步
默认,下一步
设置用户密码,此处选择“所有账户使用同一管理口令”,下一步
默认,下一步
下一步
创建数据库过程,等待。
至此,ORACLE数据库全部安装完成。
八、测试ORACLE数据库 使用火狐浏览器访问https://localhost:5500/em/login,如下图
使用sqlplus命令登录数据库