VM OS Oracle Linux 8.10 安装Oracle19C

环境信息: virtual box 7.2.4, oracle linux 8.10, Oracle19c

1. virtual box 安装ol8 Minimal 后配置windows 主机与OS共享目录

安装基础工具

sudo dnf install -y vim wget unzip net-tools bind-utils lsof tar

install Guest Additions for oracle Linux 8.10

更新系统

sudo dnf update -y

确认当前内核(一般是 UEK)

uname -r #如果输出类似:5.15.x-xxx.el8uek.x86_64 确认是 UEK

安装必要依赖(UEK 对应)

sudo dnf install -y kernel-headers-(uname -r) kernel-uek-devel-(uname -r) gcc make perl elfutils-libelf-devel

Minimal Install 安装解压工具

sudo dnf install -y bzip2 tar gzip xz

挂载 Guest Additions ISO

Devices → Insert Guest Additions CD Image

sudo mkdir -p /mnt/vbox

sudo mount /dev/cdrom /mnt/vbox

启用 UEK 对应的软件仓库

sudo dnf config-manager --enable ol8_UEKR7

安装 Guest Additions

cd /mnt/vbox

sudo sh VBoxLinuxAdditions.run

将用户加入相应组

sudo usermod -aG vboxsf $USER

sudo reboot

验证结果

lsmod | grep vbox

virtual box 设置共享目录

创建普通维护用户

1. 创建管理用户

sudo useradd -m -s /bin/bash XXX

2. 设置强密码

sudo passwd XXX

检查wheel组是否存在

getent group wheel

3. 添加到wheel组

sudo usermod -aG wheel XXX

4. 添加到vboxsf组(访问VirtualBox共享目录)

sudo usermod -aG vboxsf XXX

为 Oracle 19c 做关键准备

sudo systemctl disable --now firewalld

设置主机名解析

sudo vi /etc/hosts

装 Oracle 预安装包

检查是否已存在oracle用户

id oracle #存在则不能直接使用下面预安装命令创建相应用户,用户组和相关参数,需要如下先删除再安装

bash 复制代码
sudo dnf remove oracle-database-preinstall-19c
sudo userdel -r oracle
sudo groupdel oinstall
sudo groupdel dba
sudo groupdel oper
sudo dnf install oracle-database-preinstall-19c

#sudo dnf install oracle-database-preinstall-19c命令实际作用

预安装包会自动:

1. 创建所有必要的组

oinstall # Oracle 库存组(软件所有者)

dba # 数据库管理员组(SYSDBA)

oper # 操作员组

backupdba # 备份管理员组

dgdba # Data Guard 管理员组

kmdba # 密钥管理组

racdba #RAC 集群管理员

2. 创建 oracle 用户(UID/GID 54321)属主 oinstall,附加组 dba 等

3. 设置系统内核参数 kernel 参数(sysctl)写入 /etc/sysctl.d/99-oracle-database-preinstall-19c-sysctl.conf

4. 安装依赖包

5. 配置环境限制 配置 SELinux 用户限制(limits.conf)写入 /etc/security/limits.d/oracle-database-preinstall-19c.conf

#上面预安装程序创建的用户oracle 没有密码,不能用于SSH远程登录

sudo passwd oracle

预先安装程序判断OS没有已存在的oracle用户后才会创建,怕影响已存在用户

将oracle-database-preinstall-19c创建用户加入vboxsf 组以便其可以访问共享目录

sudo usermod -aG vboxsf oracle

手动建目录、设环境变量

创建 Oracle 目录结构

bash 复制代码
mkdir -p /u01/app/oracle/product/19.0.0/dbhome_1
mkdir -p /u01/app/oraInventory
chown -R oracle:oinstall /u01
chmod -R 775 /u01

配置 oracle 用户环境变量

bash 复制代码
su - oracle
vi ~/.bash_profile
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/19.0.0/dbhome_1
export ORACLE_SID=ORCLCDB
export PATH=$ORACLE_HOME/bin:$PATH

解压安装介质

bash 复制代码
unzip LINUX.X64_193000_db_home.zip -d $ORACLE_HOME
cd $ORACLE_HOME

确认目录结构

bash 复制代码
tree -L 2 /u01/app/oracle/product/19.0.0/dbhome_1/ 2>/dev/null || find /u01/app/oracle/product/19.0.0/dbhome_1/ -type f | head -20
执行非GUI静默安装

#下面为贴近生产的命令行方式安装19c

  1. 准备 response file
bash 复制代码
cd $ORACLE_HOME/install/response
cp db_install.rsp ~/db_install.rsp

修改以下关键项

bash 复制代码
oracle.install.option=INSTALL_DB_SWONLY # 仅安装数据库软件
# Oracle Base / Home
ORACLE_BASE=/u01/app/oracle
ORACLE_HOME=/u01/app/oracle/product/19.0.0/dbhome_1
# OS 组
UNIX_GROUP_NAME=oinstall
INVENTORY_LOCATION=/u01/app/oraInventory # 清单目录
oracle.install.db.InstallEdition=EE # 企业版
# OS 组 数据库类型和配置
oracle.install.db.OSDBA_GROUP=dba
oracle.install.db.OSOPER_GROUP=oper
oracle.install.db.OSBACKUPDBA_GROUP=dba
oracle.install.db.OSDGDBA_GROUP=dba
oracle.install.db.OSKMDBA_GROUP=dba
oracle.install.db.OSRACDBA_GROUP=dba
oracle.install.db.rootconfig.executeRootScript=false # Root 脚本执行方式

执行静默安装

cd $ORACLE_HOME
#提前设置安装检查不能识别的OS版本,否则系统得装 OL 8.6 或 8.7

bash 复制代码
export CV_ASSUME_DISTID=OL8U10
./runInstaller -silent -responseFile /home/oracle/db_install.rsp -ignorePrereqFailure

#执行 root 脚本
sudo /u01/app/oraInventory/orainstRoot.sh #执行 oraInventory 初始化脚本

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.

/u01/app/oraInventory 权限已设置,保证了 Oracle 软件可以正确注册到中央 inventory

  1. 所属组改为 oinstall

  2. 组有读写权限,其他用户无权限
    sudo /u01/app/oracle/product/19.0.0/dbhome_1/root.sh #执行 ORACLE_HOME 初始化脚本

设置 ORACLE_HOME 下文件和目录权限

创建必要的用户组和符号链接

注册软件信息到 central inventory

建库并设置开机自启

静默建库(CDB + PDB)

bash 复制代码
dbca -silent -createDatabase \
 -templateName General_Purpose.dbc \
 -gdbname ORCLCDB \
 -sid ORCLCDB \
 -createAsContainerDatabase true \
 -numberOfPDBs 1 \
 -pdbName ORCLPDB1 \
 -characterSet AL32UTF8 \
 -sysPassword Oracle123 \
 -systemPassword Oracle123 \
 -pdbAdminPassword Oracle123 \
 -datafileDestination /u01/app/oracle/oradata \
 -storageType FS \
 -totalMemory 2048 \
 -emConfiguration NONE

设置开机自启

vi /etc/oratab

测试 sqlplus:

$ORACLE_HOME/bin/sqlplus /nolog

SQL> exit;

相关推荐
ClouGence10 天前
Oracle 数据同步为什么会出现数据不一致?长事务是常被忽略的原因
数据库·后端·oracle
ClouGence16 天前
Oracle CDC 架构优化:从主库直连到 DataGuard 备库同步
数据库·后端·oracle
曹牧16 天前
Oracle EXPLAIN PLAN
数据库·oracle
贤时间16 天前
codex 助力oracle ebs 开发
数据库·oracle
秉承初心16 天前
PostgreSQL 数据性能瓶颈突破实战
数据库·postgresql·oracle
Curvatureflight17 天前
MySQL 深分页越来越慢?从 LIMIT OFFSET 改成游标分页
数据库·oracle
XZ-07000117 天前
MySQL事务
数据库·mysql·oracle
tiancaijiben17 天前
阿里云函数计算FC如何实现网站的定时任务与自动化
数据库·oracle·dba
xfhuangfu17 天前
Oracle 19c 多租户体系架构介绍
数据库·oracle·架构
杨云龙UP17 天前
Spotlight 接入 Oracle 数据库监控操作指南 2026-06-16
数据库·oracle·性能监控·预警·阈值·spotlight·瓶颈分析