适用环境:银河麒麟 V10(离线或联网均可),已重装系统,干净环境 目标:完成 Oracle XE 11.2.0.2 安装、配置、启动,并支持本地/远程登录 前提:已将 oracle-xe-11.2.0-1.0.x86_64.rpm.zip 和 libnsl.so.1 传输到服务器(如 /root/Disk1/)
1.本地镜像源下载地址:Kylin-Server-10-SP2-x86-Release-Build09-20210524
2.依赖包和oracle11g的rpm包:https://pan.quark.cn/s/4d77bdb4982b
本地镜像大小:4GB
其他大小:300MB
这是构建好过的本地镜像源,需要手动将这个iso文件上传里面包含一些基础需要的依赖环境,挂载步骤在下面
mkdir /opt/iso #创建存放iso的文件夹
mount -o loop /opt/iso/Kylin-Server-10-SP2-x86-Release-Build09-20210524.iso /opt/iso #临时挂载
vim /etc/yum.repos.d/kylin_x86_64.repo #看图一
yum clean all 清除缓存
yum makecache 生成缓存
对应的是第三步,将参数改一下,和baseurl路径改为对应的镜像文件路径
!!!此操作步骤只是临时挂载,可能过段时间就失效了,想要永久挂载还需要vim /etc/fastb中

上面的所有操作是在为安装前做准备,不然会报错
1. 系统准备
目标:关闭安全限制、创建用户组、准备安装目录
执行用户:root
| 步骤 | 命令 | 说明与注意事项 |
|---|---|---|
| 1.1 关闭 SELinux | setenforce 0 sed -i 's/^SELINUX=.*/SELINUX=disabled/' /etc/selinux/config |
避免权限问题,重启后永久生效 |
| 1.2 关闭防火墙 | systemctl stop firewalld systemctl disable firewalld |
测试环境建议关闭,生产环境需放行 1521/8081 端口 |
| 1.3 创建用户和组 | groupadd oinstall groupadd dba useradd -g oinstall -G dba oracle passwd oracle |
oracle 用户用于运行数据库 |
| 1.4 创建 ORACLE_BASE 并授权 | mkdir -p /u01/app/oracle/product/11.2.0/xe chown -R oracle:dba /u01 chmod -R 775 /u01 |
必须用 dba 组,否则 RPM 安装会失败 |
ls -ld /u01/app/oracle # 应显示 oracle dba
groups oracle # 应包含 oinstall dba
2. 添加 Swap 空间(必须)
目标:满足 RPM 预检查至少 2GB swap
执行用户:root
| 步骤 | 命令 | 说明 |
|---|---|---|
| 2.1 创建 4GB swap 文件 | dd if=/dev/zero of=/swapfile bs=1M count=4096 chmod 600 /swapfile mkswap /swapfile swapon /swapfile |
推荐 4GB,比 2GB 更稳定 |
| 2.2 永久生效 | echo '/swapfile none swap sw 0 0' >> /etc/fstab |
重启后自动挂载 |
| 2.3 验证 | free -h |
Swap 应显示 4.0Gi 或更多 |
3. 安装 Oracle XE RPM
目标:安装数据库软件包
执行用户:root
| 步骤 | 命令 | 说明 |
|---|---|---|
| 3.1 进入包目录并解压 | cd /root/Disk1 unzip oracle-xe-11.2.0-1.0.x86_64.rpm.zip |
如果已解压可跳过 |
| 3.2 强制安装 | rpm -ivh --nodeps oracle-xe-11.2.0-1.0.x86_64.rpm |
--nodeps 跳过依赖检查 |
| 3.3 验证安装 | `rpm -qa | grep oracle-xe` |
注意:如果报 ORACLE_BASE 组错误,再次执行 chown -R oracle:dba /u01/app/oracle
4. 修复 libnsl.so.1 兼容问题
目标:解决 lsnrctl 报 libnsl.so.1 缺失
执行用户:root
| 步骤 | 命令 | 说明 |
|---|---|---|
| 4.1 复制兼容库 | cp /root/Disk1/libnsl.so.1 /usr/lib64/libnsl.so.1 |
使用你从 CentOS 7 拷贝的真实文件 |
| 4.2 设置权限 | chmod 755 /usr/lib64/libnsl.so.1 |
必须可执行 |
| 4.3 刷新缓存 | ldconfig |
让系统识别新库 |
| 4.4 验证 | ls -l /usr/lib64/libnsl.so.1 `ldd /u01/app/oracle/product/11.2.0/xe/bin/lsnrctl |
grep nsl` |
验证成功标准:ldd 输出中显示 libnsl.so.1 => /usr/lib64/libnsl.so.1
5. 配置数据库
目标:创建数据库、设置密码、启动服务
执行用户:root
| 步骤 | 命令 | 说明 |
|---|---|---|
| 5.1 运行配置脚本 | /etc/init.d/oracle-xe configure |
交互式配置 |
| 5.2 推荐配置值 | HTTP 端口:8081 Listener 端口:1521 密码:设置强密码(记牢) 开机自启:y | 8081 避免冲突 |
| 5.3 验证配置 | ls -l /u01/app/oracle/product/11.2.0/xe/dbs/initXE.ora |
文件存在即成功 |
6. 设置 oracle 用户环境变量
目标:让 sqlplus、lsnrctl 等命令直接可用
执行用户:oracle
| 步骤 | 命令 | 说明 |
|---|---|---|
| 6.1 编辑配置文件 | vi ~/.bash_profile |
添加以下内容 |
| 6.2 添加内容 | 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 | 中文支持可选 |
| 6.3 立即生效 | source ~/.bash_profile |
新终端自动生效 |
7. 启动与测试
执行用户:oracle
| 步骤 | 命令 | 说明 |
|---|---|---|
| 7.1 检查监听 | lsnrctl status |
应显示 READY 和 Service "XE" |
| 7.2 启动监听(如果未启动) | lsnrctl start |
--- |
| 7.3 以 sysdba 登录 | sqlplus / as sysdba |
进入 SQL> |
| 7.4 检查状态 | SELECT instance_name, status FROM v$instance; |
应显示 OPEN |
| 7.5 测试普通连接 | sqlplus system/你的密码@XE |
进入 SQL> |
| 7.6 简单验证 | SELECT * FROM dual; |
返回 X 即成功 |
8. 远程连接设置(可选)
执行用户:root
| 步骤 | 命令 | 说明 |
|---|---|---|
| 8.1 放行端口 | firewall-cmd --permanent --add-port=1521/tcp firewall-cmd --reload |
允许远程 1521 端口 |
| 8.2 远程连接示例 | sqlplus system/密码@服务器IP/XE |
从其他电脑执行 |
| 8.3 APEX Web 访问 | http://服务器IP:8081/apex | Workspace: INTERNAL Username: ADMIN Password: SYS 密码 |
部署完成标志:
- sqlplus / as sysdba 能登录
- SELECT * FROM dual; 返回 X
- lsnrctl status 显示 READY