引言:确保麒麟V10操作系统可以连接上互联网的情况才可以安装,如果是离线状态看我前一个教程
RPM包大小:301MB
不过官方的安装包下载需要验证oracle
考虑麻烦的话可直接在网盘里下载
rpm下载通道:夸克盘

适用环境 :银河麒麟 V10 (SP1/SP2/SP3 等版本),联网状态(可使用 yum 下载依赖),x86_64 架构。 前提要求:
- 服务器物理内存至少 2GB,建议 4GB+。
- 已下载 Oracle XE 安装包 oracle-xe-11.2.0-1.0.x86_64.rpm.zip(官网下载,约 300MB)。
- 服务器 IP 稳定(用于远程测试)。
- 执行用户:root(除指定外)。
- 注意:Oracle 11g XE 是老版本,在 V10 上有兼容问题(如 libnsl.so.1),需手动修复。生产环境建议升级到 Oracle 19c/23ai。
总体流程:准备环境 → 添加 swap → 安装依赖 → 安装 RPM → 修复兼容 → 配置数据库 → 设置环境 → 测试 → 远程连接设置。
1. 系统准备
目标 :配置安全设置、创建用户组、准备安装目录。 注意:关闭 SELinux 和防火墙减少权限问题,生产环境可放行端口代替关闭。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 1.1 更新系统 | yum update -y |
更新软件包,确保系统最新(耗时视网络)。 | yum info kernel 检查内核版本(4.19.x 正常)。 |
| 1.2 关闭 SELinux | setenforce 0 sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config |
避免权限冲突,重启后永久生效。 | getenforce 输出 Permissive 或 Disabled。 |
| 1.3 关闭防火墙 | systemctl stop firewalld systemctl disable firewalld |
测试环境关闭,生产放行 1521 (Oracle Listener) 和 8081 (APEX) 端口:firewall-cmd --add-port=1521/tcp --permanent firewall-cmd --add-port=8081/tcp --permanent firewall-cmd --reload |
systemctl status firewalld 输出 inactive (dead)。 |
| 1.4 创建用户和组 | groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle |
oracle 用户运行数据库,设置密码。 | id oracle 输出 uid... gid(oinstall) groups(dba)。 |
| 1.5 创建 ORACLE_BASE 并授权 | mkdir -p /u01/app/oracle/product/11.2.0/xe chown -R oracle:dba /u01 chmod -R 775 /u01 |
RPM 检查要求组为 dba。 | ls -ld /u01/app/oracle 输出 oracle dba。 |
2. 添加 Swap 空间
目标 :满足 RPM 预检查至少 2GB swap(即使 RAM 大,也强制要求)。 注意:推荐 4GB,安装后可保留或删除。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 2.1 创建 swap 文件 | dd if=/dev/zero of=/swapfile bs=1M count=4096 chmod 600 /swapfile mkswap /swapfile swapon /swapfile |
创建 4GB 文件(count=4096)。 | free -h Swap 显示 4.0Gi。 |
| 2.2 永久生效 | echo '/swapfile none swap sw 0 0' >> /etc/fstab |
重启后自动挂载。 | swapon -s 输出 /swapfile。 |
3. 安装系统依赖包
目标 :安装 Oracle 所需的运行库。 注意:联网使用 yum,如果离线,从联网机下载 RPM 包并传输。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 3.1 配置 yum 源 | 如果源错误,参考手册第 9 节修复。 | --- | yum repolist 显示仓库列表。 |
| 3.2 安装包 | yum install -y bc net-tools libaio ksh libgcc gcc make binutils compat-libstdc++-33 |
compat-libstdc++-33 可能叫 compat-libstdc++-296 或类似,用 yum search compat-libstdc++ 查找替换。 | `yum list installed |
4. 安装 Oracle XE RPM
目标 :安装数据库软件。 注意:包路径替换为你的(/root/Disk1/)。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 4.1 解压包 | cd /root/Disk1 unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip |
--- | ls oracle-xe-11.2.0-1.0.x86_64.rpm 存在。 |
| 4.2 安装 | rpm -ivh --nodeps oracle-xe-11.2.0-1.0.x86_64.rpm |
--nodeps 跳过依赖。 | `rpm -qa |
5. 修复 libnsl.so.1 兼容
目标 :解决 lsnrctl 报 libnsl.so.1 缺失。 注意:从 CentOS 7 拷贝真实文件(/lib64/libnsl.so.1),传输到服务器。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 5.1 复制文件 | cp /root/Disk1/libnsl.so.1 /usr/lib64/libnsl.so.1 chmod 755 /usr/lib64/libnsl.so.1 |
使用拷贝的文件。 | ls -l /usr/lib64/libnsl.so.1 显示文件。 |
| 5.2 刷新缓存 | ldconfig |
--- | `ldd /u01/app/oracle/product/11.2.0/xe/bin/lsnrctl |
| 5.3 验证符号 | `strings /usr/lib64/libnsl.so.1 | grep GLIBC_2.2.5` | 必须有输出。 |
6. 配置数据库
目标 :创建数据库实例。 注意:交互过程耗时 5-15 分钟。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 6.1 运行配置 | /etc/init.d/oracle-xe configure |
HTTP 端口: 8081 Listener: 1521 密码: 强密码 自启: y | /u01/app/oracle/product/11.2.0/xe/dbs/initXE.ora 存在。 |
7. 设置 oracle 用户环境
目标 :使命令可用。 注意:永久设置,避免每次手动 export。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 7.1 切换用户 | su - oracle |
--- | --- |
| 7.2 编辑文件 | vi ~/.bash_profile |
添加环境变量内容。 | --- |
| 7.3 添加内容 | export ORACLE_HOME=/u01/app/oracle/product/11.2.0/xe export ORACLE_SID=XE export PATH=ORACLE_HOME/bin:PATH export LD_LIBRARY_PATH=ORACLE_HOME/lib:LD_LIBRARY_PATH export NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK | --- | --- |
| 7.4 生效 | source ~/.bash_profile |
--- | echo $ORACLE_HOME 输出路径。 |
9. yum 源修复(如果依赖安装报错)
目标 :修复 yum 源问题。 注意:如果本地源失效,用外网源替换。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 9.1 备份原有源 | mkdir /etc/yum.repos.d.bak mv /etc/yum.repos.d/*.repo /etc/yum.repos.d.bak/ |
--- | --- |
| 9.2 创建外网源 | vi /etc/yum.repos.d/kylin.repo 添加内容 |
内容见手册附件。 | --- |
| 9.3 测试源 | yum clean all yum makecache yum repolist |
--- | 显示仓库列表。 |
附件:kylin.repo 内容:
[kylin-os]
name=Kylin Linux Advanced Server - Os
baseurl=http://mirrors.kylinos.cn/kylin/KYLIN-ALL/10SP3/os/$basearch/
enabled=1
gpgcheck=0
[kylin-adv-os]
name=Kylin Linux Advanced Server - Adv Os
baseurl=http://mirrors.kylinos.cn/kylin/KYLIN-ALL/10SP3/adv-os/$basearch/
enabled=1
gpgcheck=0
[kylin-updates]
name=Kylin Linux Advanced Server - Updates
baseurl=http://mirrors.kylinos.cn/kylin/KYLIN-ALL/10SP3/updates/$basearch/
enabled=1
gpgcheck=0
10. 远程连接设置
目标:允许其他电脑连接 Oracle。
| 步骤 | 命令 | 说明与注意事项 | 验证方式 |
|---|---|---|---|
| 10.1 放行端口 | firewall-cmd --permanent --add-port=1521/tcp firewall-cmd --reload |
--- | firewall-cmd --list-ports 显示 1521/tcp。 |
| 10.2 远程测试 | 从其他电脑:sqlplus system/密码@服务器IP:1521/XE |
需要 Oracle Client 工具。 | 进入 SQL>。 |