中标麒麟 NeoKylin V7 一键安装 Oracle 12CR2 单机
程小虎2025-12-31 15:10:17
✨ 前言
Oracle 一键安装脚本,演示 中标麒麟 NeoKylin V7 一键安装 Oracle 12CR2 单机过程(全程无需人工干预)。
本教程支持系统版本如下:
- NeoKylin V7
安装包下载:Oracle一键安装包
系统镜像下载:中标麒麟 NeoKylin 系统镜像
🔧 安装准备
- 系统组安装好操作系统(支持最小化安装)
- 网络组配置好主机网络,通常只需要一个公网 IP 地址
- DBA 创建软件目录:
mkdir /soft - DBA 上传 Oracle 安装介质(基础包,补丁包)到 /soft 目录下
- DBA 上传 Oracle 一键安装脚本到 /soft 目录下,授予脚本执行权限:
chmod +x OracleshellInstall - 根据脚本安装脚本以及实际情况,配置好脚本的安装参数,在 /soft 目录下执行一键安装即可。
需要上传的文件:
提示
- OracleShellInstall # Oracle 一键安装脚本
- LINUX.X64_122010_db_home.zip # Oracle 安装包
- p6880880_122010_Linux-x86-64.zip # OPatch 补丁包
- p35966787_122010_Linux-x86-64.zip # Oracle PSU/RU 补丁包
- p35926712_122010_Linux-x86-64.zip # Oracle OJVM PSU/RU 补丁包
- rlwrap-0.44.tar.gz # rlwrap 工具
📄 挂载本地 yum 源
各镜像名称:
- NeoKylin-Server7.0-Release-Build09.06-20220311-X86_64.iso
上传系统镜像 NeoKylin-Server7.0-Release-Build09.06-20220311-X86_64.iso 到 /mnt 路径下 ,然后执行下面命令
images="NeoKylin-Server7.0-Release-Build09.06-20220311-X86_64.iso"
mkdir /yum
mount -o loop /mnt/$images /yum
echo "mount -o loop /mnt/$images /yum" >> /etc/rc.local
chmod +x /etc/rc.local
mkdir /etc/yum.repos.d/bk
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bk/
cat > /etc/yum.repos.d/local.repo << EOF
[local]
name=local
baseurl=file:///yum
enabled=1
gpgcheck=0
EOF
yum clean all
yum makecache
📄 环境信息
# 主机版本
[root@neokylin ~]# cat /etc/os-release
NAME="NeoKylin Linux Advanced Server"
VERSION="V7 (Stahl)"
ID="neokylin"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="V7"
PRETTY_NAME="NeoKylin Linux Advanced Server V7 (Stahl)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:neokylin:enterprise_linux:V7:GA:server"
HOME_URL="https://www.cs2c.com.cn/"
BUG_REPORT_URL="https://bugzilla.cs2c.com.cn/"
NEOKYLIN_BUGZILLA_PRODUCT="NeoKylin Linux Advanced 7"
NEOKYLIN_BUGZILLA_PRODUCT_VERSION=V7
NEOKYLIN_SUPPORT_PRODUCT="NeoKylin Linux Advanced"
NEOKYLIN_SUPPORT_PRODUCT_VERSION="V7"
# 网络信息
[root@neokylin ~]# ip a
2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 00:0c:29:ab:fd:06 brd ff:ff:ff:ff:ff:ff
inet 192.168.80.121/24 brd 192.168.80.255 scope global noprefixroute ens33
valid_lft forever preferred_lft forever
inet6 fe80::2bf7:3b1a:4ddc:444e/64 scope link noprefixroute
valid_lft forever preferred_lft forever
# 挂载本地 ISO 镜像
[root@neokylin ~]# ll /yum
总用量 701
dr-xr-xr-x 1 root root 2048 9月 7 2023 EFI
dr-xr-xr-x 1 root root 2048 9月 7 2023 images
dr-xr-xr-x 1 root root 2048 9月 7 2023 isolinux
-r--r--r-- 1 root root 444 9月 25 2023 LICENSE
dr-xr-xr-x 1 root root 2048 9月 7 2023 LiveOS
dr-xr-xr-x 1 root root 2048 9月 7 2023 manual
dr-xr-xr-x 1 root root 700416 9月 7 2023 Packages
dr-xr-xr-x 1 root root 4096 9月 7 2023 repodata
-r--r--r-- 1 root root 2195 9月 7 2023 TRANS.TBL
# 安装包存放在 /soft 目录下
[root@neokylin soft]# ll
总用量 4754444
-rw-r--r-- 1 root root 3453696911 7月 2 06:16 LINUX.X64_122010_db_home.zip
-rw-r--r-- 1 root root 245190 7月 2 06:15 OracleShellInstall
-rw-r--r-- 1 root root 138325588 7月 2 06:15 p35926712_122010_Linux-x86-64.zip
-rw-r--r-- 1 root root 1148325873 7月 2 06:16 p35966787_122010_Linux-x86-64.zip
-rw-r--r-- 1 root root 127629034 7月 2 06:15 p6880880_122010_Linux-x86-64.zip
-rw-r--r-- 1 root root 321590 7月 2 06:15 rlwrap-0.44.tar.gz
确保安装环境准备完成后,即可执行一键安装。
🛠️ 安装命令
使用标准生产环境安装参数(安装过程若失败,脚本支持重复执行安装):
# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
chmod +x /soft/OracleShellInstall
/soft/OracleShellInstall \
-lf ens33 `# 主机网卡名称`\
-n oracle12c `# 主机名`\
-op oracle `# 主机 oracle 用户密码`\
-d /u01 `# Oracle 软件安装基础目录`\
-ord /oradata `# 数据库文件存放目录`\
-o orcl `# 数据库名称`\
-dp oracle123 `# sys/system 用户密码`\
-ds AL32UTF8 `# 数据库字符集`\
-ns AL16UTF16 `# 国家字符集`\
-opa 35966787 `# Oracle PSU/RU 补丁编号`\
-jpa 35926712 `# Oracle OJVM PSU/RU 补丁编号`\
-redo 100 `# 在线重做日志大小(M)`\
-opd Y `# 是否优化数据库`
🛠️ 安装过程
███████ ██ ████████ ██ ██ ██ ██ ██ ██ ██
██░░░░░██ ░██ ██░░░░░░ ░██ ░██ ░██░██ ░██ ░██ ░██
██ ░░██ ██████ ██████ █████ ░██ █████ ░██ ░██ █████ ░██ ░██░██ ███████ ██████ ██████ ██████ ░██ ░██
░██ ░██░░██░░█ ░░░░░░██ ██░░░██ ░██ ██░░░██░█████████░██████ ██░░░██ ░██ ░██░██░░██░░░██ ██░░░░ ░░░██░ ░░░░░░██ ░██ ░██
░██ ░██ ░██ ░ ███████ ░██ ░░ ░██░███████░░░░░░░░██░██░░░██░███████ ░██ ░██░██ ░██ ░██░░█████ ░██ ███████ ░██ ░██
░░██ ██ ░██ ██░░░░██ ░██ ██ ░██░██░░░░ ░██░██ ░██░██░░░░ ░██ ░██░██ ░██ ░██ ░░░░░██ ░██ ██░░░░██ ░██ ░██
░░███████ ░███ ░░████████░░█████ ███░░██████ ████████ ░██ ░██░░██████ ███ ███░██ ███ ░██ ██████ ░░██ ░░████████ ███ ███
░░░░░░░ ░░░ ░░░░░░░░ ░░░░░ ░░░ ░░░░░░ ░░░░░░░░ ░░ ░░ ░░░░░░ ░░░ ░░░ ░░ ░░░ ░░ ░░░░░░ ░░ ░░░░░░░░ ░░░ ░░░
注意:本脚本仅用于新服务器上实施部署数据库使用,严禁在已运行数据库的主机上执行,以免发生数据丢失或者损坏,造成不可挽回的损失!!!
请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : si
数据库安装模式: single
请选择数据库版本 [11|12|19|21|23] : 12
数据库版本: 12
!!! 免责声明:当前操作系统版本是 [ NeoKylin Linux Advanced Server V7 (Stahl) ] 不在 Oracle 官方支持列表,本脚本只负责安装,请确认是否继续安装 (Y/N): [Y]
OracleShellInstall 开始安装,详细安装过程可查看日志: tail -2000f /soft/print_shell_install_20250702061808.log
正在进行安装前检查,请稍等......
正在检测安装包 /soft/LINUX.X64_122010_db_home.zip 的 MD5 值是否正确,请稍等......
正在配置本地软件源......已完成 (耗时: 1 秒)
正在获取操作系统信息......已完成 (耗时: 2 秒)
正在安装依赖包......已完成 (耗时: 18 秒)
正在禁用防火墙......已完成 (耗时: 6 秒)
正在禁用 selinux......已完成 (耗时: 0 秒)
正在配置 nsyctl......已完成 (耗时: 1 秒)
正在配置主机名和 hosts 文件......已完成 (耗时: 1 秒)
正在创建用户和组......已完成 (耗时: 1 秒)
正在创建安装目录......已完成 (耗时: 0 秒)
正在配置 Avahi-daemon 服务......已完成 (耗时: 1 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 1 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 1 秒)
正在配置 shm 目录......已完成 (耗时: 1 秒)
正在安装 rlwrap 插件......已完成 (耗时: 5 秒)
正在配置用户环境变量......已完成 (耗时: 1 秒)
正在解压 Oracle 安装包以及补丁......已完成 (耗时: 37 秒)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 352 秒)
正在创建监听......已完成 (耗时: 2 秒)
正在创建数据库......已完成 (耗时: 309 秒)
正在优化数据库......已完成 (耗时: 3 秒)
恭喜!Oracle 一键安装执行完成 (耗时: 749 秒),现在是否重启主机:[Y/N] Y
正在重启当前节点主机......
✅ 连接测试
查看系统版本:
[root@oracle12c:/root]# cat /etc/os-release
NAME="NeoKylin Linux Advanced Server"
VERSION="V7 (Stahl)"
ID="neokylin"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="V7"
PRETTY_NAME="NeoKylin Linux Advanced Server V7 (Stahl)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:neokylin:enterprise_linux:V7:GA:server"
HOME_URL="https://www.cs2c.com.cn/"
BUG_REPORT_URL="https://bugzilla.cs2c.com.cn/"
NEOKYLIN_BUGZILLA_PRODUCT="NeoKylin Linux Advanced 7"
NEOKYLIN_BUGZILLA_PRODUCT_VERSION=V7
NEOKYLIN_SUPPORT_PRODUCT="NeoKylin Linux Advanced"
NEOKYLIN_SUPPORT_PRODUCT_VERSION="V7"
查看 Oracle 版本以及补丁:
[oracle@oracle12c:/home/oracle]$ sqlplus -v
SQL*Plus: Release 12.2.0.1.0 Production
[oracle@oracle12c:/home/oracle]$ opatch lspatches
35926712;OJVM RELEASE UPDATE 12.2.0.1.240116 (35926712)
35966787;Database Jan 2024 Release Update : 12.2.0.1.240116 (35966787)
OPatch succeeded.
检查监听:
[oracle@oracle12c:/home/oracle]$ lsnrctl stat
LSNRCTL for Linux: Version 12.2.0.1.0 - Production on 01-JUL-2025 22:37:26
Copyright (c) 1991, 2016, Oracle. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle12c)(PORT=1521)))
STATUS of the LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for Linux: Version 12.2.0.1.0 - Production
Start Date 01-JUL-2025 22:33:59
Uptime 0 days 0 hr. 3 min. 27 sec
Trace Level off
Security ON: Local OS Authentication
SNMP OFF
Listener Parameter File /u01/app/oracle/product/12.2.0/db/network/admin/listener.ora
Listener Log File /u01/app/oracle/diag/tnslsnr/oracle12c/listener/alert/log.xml
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=oracle12c)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=ipc)(KEY=EXTPROC1521)))
Services Summary...
Service "orcl" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
Service "orclXDB" has 1 instance(s).
Instance "orcl", status READY, has 1 handler(s) for this service...
The command completed successfully
连接数据库:
[oracle@oracle12c:/home/oracle]$ sas
SQL*Plus: Release 12.2.0.1.0 Production on Wed Jul 2 06:35:16 2025
Copyright (c) 1982, 2016, Oracle. All rights reserved.
Connected to:
Oracle Database 12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production
SYS@orcl SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
cdb_cluster_name string orcl
cell_offloadgroup_name string
db_file_name_convert string
db_name string orcl
db_unique_name string orcl
global_names boolean FALSE
instance_name string orcl
lock_name_space string
log_file_name_convert string
pdb_file_name_convert string
processor_group_name string
service_names string orcl
数据库连接正常。
