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;

相关推荐
曹牧2 小时前
Oracle:增加十分钟
数据库·oracle
ascarl20104 小时前
达梦与 Oracle 的关系及数据库架构差异
数据库·oracle·数据库架构
悟能不能悟4 小时前
在Oracle中,包分为包头(PACKAGE)和包体(PACKAGE BODY),存储过程的实现代码在包体中。以下是几种查找方法
数据库·oracle
好好学操作系统5 小时前
notion+excel自动创建表格| 了解了notion api
数据库·python·oracle·excel·notion
爱吃山竹的大肚肚5 小时前
达梦(DM)数据库中设置表空间
java·数据库·sql·mysql·spring·spring cloud·oracle
2301_818732065 小时前
前端一直获取不到后端的值,和数据库字段设置有关 Oracle
前端·数据库·sql·oracle
今晚务必早点睡14 小时前
微服务改数据库密码后服务仍能访问?一次“看似异常、实则常见”的生产现象全解析
数据库·微服务·oracle
dingdingfish19 小时前
Oracle数据库19c技术架构
oracle·database·architecture·19c·technical
java_python源码1 天前
springboot+vue智慧小区管理系统(源码+文档+调试+基础修改+答疑)
数据库·oracle