环境准备
软件准备
Oracle VM VirtualBox 下载地址:https://www.virtualbox.org/wiki/Downloads
Oracle Linux 下载地址:https://yum.oracle.com/oracle-linux-isos.html
oracle-database-preinstall-21c 下载地址:https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm
Oracle database 下载地址:https://www.oracle.com/database/technologies/oracle-database-software-downloads.html
资源准备
服务器使用的是Windows 10 上 Oracle VM VirtualBox 虚拟机安装的 Oracle Linux
服务器的规格是: 4C8G
为了方便远程,网络采用的是桥接模式,这个按照需要来即可
采用最小化安装
修改主机名和配置hosts
oracledb21c.local 是要设置的主机名
192.168.190.128 是主机的 IP
设置主机名
hostnamectl set-hostname oracledb21c.local # 设置 hostname # 查看
配置hosts
sed -i '$a192.168.190.128 oracledb21c.local oracledb21c' /etc/hosts # 添加hosts cat /etc/hosts # 查看
如果主机名和我上面这个一致,有后缀,一定要记得增加一个去掉后缀的解析
关闭防火墙与Selinux
防火墙和selinux按照需求关闭,我这是测试环境,索性关闭
关闭 selinux
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config setenforce 0 # 输入 getenforce 返回 Permissive 则是临时关闭状态, # 重启后是 Disabled ,完全关闭状态。 getenforce sestatus
关闭防火墙
systemctl stop firewalld.service systemctl disable firewalld.service # 查看是否关闭 systemctl status firewalld.service
环境检查
检查服务器硬件和内存
1、检查服务器物理内存
grep MemTotal /proc/meminfo
2、检查交换空间大小
grep SwapTotal /proc/meminfo
3、确定 /tmp 空间的大小
df -h /tmp
4、确定系统可用的RAM和磁盘交换空间使用量
free
5、确定系统架构
uname -m
6、验证共享内存是否正确挂载
df -h /dev/shm
7、检查运行级别,要求 3 或者 5
runlevel
检查 umask
终端输入 umask 返回 0022 则是正常
如果不是请修改
umask
安装数据库
下面的安装步骤是在 root 下执行的
执行预安装
预安装会执行一下操作:
1、自动下载并安装安装 Oracle 网格基础设施和 Oracle 数据库所需的任何其他 RPM 软件包,并解析任何依赖关系
2、创建用户,并为该用户创建 oraInventory () 和 OSDBA () 组 oracle
oinstall
dba
3、根据需要,根据 Oracle 数据库预安装 RPM 程序的建议将设置、系统启动参数和驱动程序参数设置为值sysctl.conf
4、设置硬资源和软资源限制
5、根据您的内核版本设置其他推荐参数
6、在内核中为 Linux x86_64 机器设置numa=off。
执行预安装
dnf install oracle-database-preinstall-21c
安装的依赖具体内容如下:
checkpolicy-2.9-1.el8.x86_64.rpm glibc-devel-2.28-211.0.1.el8.x86_64.rpm glibc-headers-2.28-211.0.1.el8.x86_64.rpm gssproxy-0.8.0-21.el8.x86_64.rpm kernel-headers-4.18.0-425.3.1.el8.x86_64.rpm bc-1.07.1-5.el8.x86_64.rpm keyutils-1.5.10-9.el8.x86_64.rpm libpkgconf-1.4.2-1.el8.x86_64.rpm libnsl-2.28-211.0.1.el8.x86_64.rpm libxcrypt-devel-4.1.1-6.el8.x86_64.rpm make-4.2.1-11.el8.x86_64.rpm net-tools-2.0-0.52.20160912git.el8.x86_64.rpm nfs-utils-2.3.3-57.el8.x86_64.rpm pkgconf-1.4.2-1.el8.x86_64.rpm pkgconf-m4-1.4.2-1.el8.noarch.rpm pkgconf-pkg-config-1.4.2-1.el8.x86_64.rpm policycoreutils-python-utils-2.9-20.0.1.el8.noarch.rpm python3-audit-3.0.7-4.el8.x86_64.rpm python3-libsemanage-2.9-9.el8_6.x86_64.rpm lm_sensors-libs-3.4.0-23.20180522git70f7e08.el8.x86_64.rpm python3-policycoreutils-2.9-20.0.1.el8.noarch.rpm python3-setools-4.3.0-3.el8.x86_64.rpm quota-4.04-14.el8.x86_64.rpm quota-nls-4.04-14.el8.noarch.rpm rpcbind-1.2.5-10.el8.x86_64.rpm smartmontools-7.1-1.el8.x86_64.rpm unzip-6.0-46.0.1.el8.x86_64.rpm bind-libs-9.11.36-5.el8_7.2.x86_64.rpm bind-libs-lite-9.11.36-5.el8_7.2.x86_64.rpm bind-license-9.11.36-5.el8_7.2.noarch.rpm bind-utils-9.11.36-5.el8_7.2.x86_64.rpm python3-pyyaml-3.12-12.el8.x86_64.rpm compat-openssl10-1.0.2o-4.el8_6.x86_64.rpm fstrm-0.6.1-3.el8.x86_64.rpm ksh-20120801-257.0.1.el8.x86_64.rpm binutils-2.30-117.0.3.el8.x86_64.rpm libSM-1.2.3-1.el8.x86_64.rpm libICE-1.0.9-15.el8.x86_64.rpm libX11-common-1.6.8-5.el8.noarch.rpm libX11-xcb-1.6.8-5.el8.x86_64.rpm libXau-1.0.9-3.el8.x86_64.rpm libXcomposite-0.4.4-14.el8.x86_64.rpm libXext-1.3.4-1.el8.x86_64.rpm libXi-1.7.10-1.el8.x86_64.rpm libXinerama-1.1.4-1.el8.x86_64.rpm libXmu-1.1.3-1.el8.x86_64.rpm libXrandr-1.5.2-1.el8.x86_64.rpm libXrender-0.9.10-7.el8.x86_64.rpm libXt-1.1.5-12.el8.x86_64.rpm libX11-1.6.8-5.el8.x86_64.rpm libXtst-1.2.3-7.el8.x86_64.rpm libXxf86misc-1.0.4-1.el8.x86_64.rpm libXxf86vm-1.1.4-9.el8.x86_64.rpm libXv-1.0.11-7.el8.x86_64.rpm libdmx-1.1.4-3.el8.x86_64.rpm libmaxminddb-1.2.0-10.el8.x86_64.rpm libverto-libev-0.3.2-2.el8.x86_64.rpm libxcb-1.13.1-1.el8.x86_64.rpm libXxf86dga-1.1.5-1.el8.x86_64.rpm oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpm python3-bind-9.11.36-5.el8_7.2.noarch.rpm protobuf-c-1.3.0-6.el8.x86_64.rpm libev-4.24-6.el8.x86_64.rpm sysstat-11.7.3-7.0.1.el8.x86_64.rpm xorg-x11-xauth-1.0.9-12.el8.x86_64.rpm xorg-x11-utils-7.5-28.el8.x86_64.rpm
可以在 /var/log/oracle-database-preinstall-21c 目录下查看相关日志
上传安装包到安装目录
将 文件上传到 /tmp 下
上传完成后执行完整性对比
cksum oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm
安装rpm
使用安装命令 dnf localinstall
cd /tmp dnf localinstall oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm
创建和配置Oracle数据库
使用默认设置创建数据库
配置之前可以通过编辑文件来修改配置参数。/etc/sysconfig/oracledb_ORCLCDB-21c.conf
运行脚本:
/etc/init.d/oracledb_ORCLCDB-21c configure
输出:
[root@oracledb21c ~]# /etc/init.d/oracledb_ORCLCDB-21c configure Configuring Oracle Database ORCLCDB. Prepare for db operation 8% complete Copying database files 31% complete Creating and starting Oracle instance 32% complete 36% complete 40% complete 43% complete 46% complete Completing Database Creation 51% complete 54% complete Creating Pluggable Databases 58% complete 77% complete Executing Post Configuration Actions 100% complete Database creation complete. For details check the logfiles at: /opt/oracle/cfgtoollogs/dbca/ORCLCDB. Database Information: Global Database Name:ORCLCDB System Identifier(SID):ORCLCDB Look at the log file "/opt/oracle/cfgtoollogs/dbca/ORCLCDB/ORCLCDB.log" for further details. Database configuration completed successfully. The passwords were auto generated, you must change them by connecting to the database using 'sqlplus / as sysdba' as the oracle user.
安装后
设置oracle用户的环境配置
在 /home/oracle/.bash_profile 文件最后添加变量
export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1 export ORACLE_SID=ORCLCDB export PATH=$ORACLE_HOME/bin:$PATH
默认安装的SID是ORCLCDB,所以设置环境的时候要设置成ORCLCDB,否则会无法启动报错。则需要修改环境变量或者拷贝一个新的启动文件为自己设置的SID的启动文件。
刷新环境变量
source /home/oracle/.bash_profile
更新系统用户密码
sqlplus / as sysdba SQL*Plus: Release 21.0.0.0.0 - Production on Wed Dec 7 17:19:20 2022 Version 21.3.0.0.0 Copyright (c) 1982, 2021, Oracle. All rights reserved. Connected to: Oracle Database 21c Enterprise Edition Release 21.0.0.0.0 - Production Version 21.3.0.0.0 SQL> alter user system identified by ABcdeF123; User altered.
卸载基于RPM安装的Oracle数据库
1、以安装所有者登录
su - oracle
2、删除关联库
cd $ORACLE_HOME/bin ./dbca
3、删除关联侦听器
cd $ORACLE_HOME/bin ./netca
4、切换到 root,然后删除数据库
yum -y remove oracle-database-ee-21c