记录oracle安装工具
Oracle 数据库一键安装脚本
https://www.yuque.com/luciferliu/oracleshellinstall
具体分支看这里
阿里龙蜥 Anolis 8.8 一键安装 Oracle 11GR2 单机
https://www.yuque.com/luciferliu/oracleshellinstall/f801a267364b918380a0b54cdd3383a1
前置准备
● 1、安装好操作系统,建议安装图形化
● 2、配置好网络
● 3、挂载本地 ISO 镜像源
● 4、上传软件安装包(安装基础包,补丁包)
● 5、上传一键安装脚本:OracleShellInstall
环境信息
# 主机版本
[root@oracle:/root]# cat /etc/os-release
NAME="Anolis OS"
VERSION="8.4"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.4"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.4"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"
# 网络信息
[root@oracle:/root]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
valid_lft forever preferred_lft forever
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
link/ether 00:16:3e:01:07:72 brd ff:ff:ff:ff:ff:ff
inet 10.24.68.120/23 brd 10.24.69.255 scope global dynamic noprefixroute eth0
valid_lft 315186396sec preferred_lft 315186396sec
inet6 fe80::216:3eff:fe01:772/64 scope link
valid_lft forever preferred_lft forever
# 挂载本地 ISO 镜像
先从一下地址下载安装系统的对应镜像文件
https://mirrors.openanolis.cn/anolis/8.4/isos/GA/x86_64/AnolisOS-8.4-x86_64-dvd.iso
上传到服务器上的/usr/local/AnolisOS-8.4-x86_64-dvd.iso
[root@oracle:/root]# mount -o loop /usr/local/AnolisOS-8.4-x86_64-dvd.iso /mnt
#配置本地yum源
[root@oracle:/root]# cd /etc/yum.repos.d
[root@oracle:/root]# mv *.repo bak/
[root@oracle:/root]# cat /etc/yum.repos.d/bak/AnolisOS-AppStream.repo
[AppStream]
name=AnolisOS-$releasever - AppStream
baseurl=file:///mnt/AppStream
enabled=1
gpgcheck=0
[root@oracle:/root]# cat /etc/yum.repos.d/bak/AnolisOS-BaseOS.repo
[BaseOS]
name=AnolisOS-$releasever - BaseOS
baseurl=file:///mnt/BaseOS
enabled=1
gpgcheck=0
##重建yum源缓存
[root@oracle:/root]# yum clean all
[root@oracle:/root]# yum makecache
##开机自动挂载
[root@oracle:/root]# vim /etc/fstab
/usr/local/AnolisOS-8.4-x86_64-dvd.iso /mnt iso9660 defaults 0 0
保存退出,
[root@oracle:/root]# mount -a
[root@oracle:/root]# mount | grep iso9660 | grep -v "/run/media"
/usr/local/AnolisOS-8.4-x86_64-dvd.iso on /mnt type iso9660 (ro,relatime,nojoliet,check=s,map=n,blocksize=2048)
[root@oracle:/root]# df -h | grep /mnt
/dev/loop0 8.7G 8.7G 0 100% /mnt
# 安装包存放在 /soft 目录下
[root@oracle:/root]# ll /soft/
total 3246524
-rwxr-xr-x 1 oracle oinstall 244816 Feb 12 12:32 OracleShellInstall
-rw-r--r-- 1 oracle oinstall 1395582860 Feb 12 11:57 p13390677_112040_Linux-x86-64_1of7.zip
-rw-r--r-- 1 oracle oinstall 1151304589 Feb 12 11:54 p13390677_112040_Linux-x86-64_2of7.zip
-rw-r--r-- 1 oracle oinstall 8684 Feb 12 11:54 p33991024_11204220118_Generic.zip
-rw-r--r-- 1 oracle oinstall 562188912 Feb 12 12:02 p35574075_112040_Linux-x86-64.zip
-rw-r--r-- 1 oracle oinstall 86183099 Feb 12 12:00 p35685663_112040_Linux-x86-64.zip
-rw-r--r-- 1 oracle oinstall 128433424 Feb 12 09:41 p6880880_112000_Linux-x86-64.zip
-rw-r--r-- 1 oracle oinstall 321590 Feb 12 12:00 rlwrap-0.44.tar.gz
确保安装环境准备完成后,即可执行一键安装。
安装命令
# 根据脚本 README 或者 -h 命令提示,编辑好一键安装命令,进入 /soft 目录执行安装:
./OracleShellInstall -lf ens33 `# local ip ifname`\
-n anolis8 `# hostname`\
-op oracle `# oracle password`\
-d /u01 `# software base dir`\
-ord /oradata `# data dir`\
-o lucifer `# dbname`\
-dp oracle `# sys/system password`\
-ds AL32UTF8 `# database character`\
-ns AL16UTF16 `# national character`\
-redo 100 `# redo size`\
-opa 35574075 `# oracle PSU/RU`\
-jpa 35685663 `# OJVM PSU/RU`\
-opd Y `# optimize db`
去除原有 -iso 参数,新增参数:
-lrp 配置本地软件源,需要挂载本地 ISO 镜像源,默认值:[Y]
-nrp 配置网络软件源,需要连接外网,默认值:[N]
安装脚本默认参数值:
-lrp=Y:配置本地源
-nrp=N:不配置网络源
脚本传参逻辑设计如下,可选以下 3 种传参方式:
脚本执行不管这两个参数,默认配置本地源,需要检查 ISO 是否挂载,挂载则配置本地源,否则退出脚本;
只传参 -nrp Y,配置网络源,脚本自动将 -lrp 参数值设置为 N,需要检查网络,网络通则配置网路源,否则退出脚本;
只传参 -lrp N,默认不需要脚本配置软件源;
不建议这么配置:-lrp 参数传参值都为 Y,直接忽略 -lrp 参数赋值,默认值即为 Y;
不建议这么配置:-nrp 参数传参值都为 N,直接忽略 -nrp 参数赋值,默认值即为 N;
目前脚本只支持配置网络源的系统,遇到以下系统自动配置网络源:
fedora
euleros
debian
ubuntu
Deepin
arch
其他系统必须配置本地软件源。
./OracleShellInstall -lf eth0 -n oracle -op oracle -d /oracle/app/oracle -ord /oracle/app/oradata -o orcl -dp oracle -ds AL32UTF8 -ns AL16UTF16 -redo 100 -opa 35574075 -jpa 35685663 -opd Y
安装过程
请选择安装模式 [单机(si)/单机ASM(sa)/集群(rac)] : si
数据库安装模式: single
请选择数据库版本 [11/12/19/21] : 11
数据库版本: 11
OracleShellInstall 开始安装(安装过程可查看日志:/soft/print_ora_install_20240422141125.log)
正在检查操作系统是否符合安装条件......已完成 (耗时: 0 秒)
正在去除密码复杂度配置......已完成 (耗时: 0 秒)
正在配置 YUM 源......已完成 (耗时: 1 秒)
正在获取操作系统信息......已完成 (耗时: 1 秒)
正在配置 Swap......已完成 (耗时: 0 秒)
正在配置防火墙......已完成 (耗时: 2 秒)
正在配置 selinux......已完成 (耗时: 1 秒)
正在配置 nsyctl......已完成 (耗时: 1 秒)
正在安装依赖包......已完成 (耗时: 181 秒)
正在配置主机名和 hosts 文件......已完成 (耗时: 0 秒)
正在创建用户和组......已完成 (耗时: 7 秒)
正在创建安装目录......已完成 (耗时: 1 秒)
正在配置 Avahi-daemon 服务......已完成 (耗时: 2 秒)
正在配置透明大页 && NUMA && 磁盘 IO 调度器......已完成 (耗时: 2 秒)
正在配置操作系统参数 sysctl......已完成 (耗时: 1 秒)
正在配置 RemoveIPC......已完成 (耗时: 1 秒)
正在配置用户限制 limit......已完成 (耗时: 1 秒)
正在配置 shm 目录......已完成 (耗时: 1 秒)
正在安装 rlwrap 插件......已完成 (耗时: 13 秒)
正在配置用户环境变量......已完成 (耗时: 1 秒)
正在解压 Oracle 安装包以及补丁......已完成 (耗时: 72 秒)
正在安装 Oracle 软件以及补丁......已完成 (耗时: 1619 秒)
正在创建监听......已完成 (耗时: 16 秒)
正在创建数据库......已完成 (耗时: 741 秒)
正在优化数据库......已完成 (耗时: 44 秒)
恭喜!Oracle 单机安装成功 (耗时: 2709 秒),现在是否重启主机:[Y/N] Y
正在重启主机......
连接测试
查看系统版本:
[root@oracle:/root]# cat /etc/os-release
NAME="Anolis OS"
VERSION="8.4"
ID="anolis"
ID_LIKE="rhel fedora centos"
VERSION_ID="8.4"
PLATFORM_ID="platform:an8"
PRETTY_NAME="Anolis OS 8.4"
ANSI_COLOR="0;31"
HOME_URL="https://openanolis.cn/"
查看 Oracle 版本以及补丁:
[root@oracle:/home/oracle]# source .bash_profile
[root@oracle:/home/oracle]$ sqlplus -v
SQL*Plus: Release 11.2.0.4.0 Production
[root@oracle:/home/oracle]$ opatch lspatches
The user is root. OPatch cannot continue if the user is root.
OPatch failed with error code 255
[root@oracle:/home/oracle]$ su oracle
[root@oracle:/home/oracle]$ opatch lspatches
35685663;OJVM PATCH SET UPDATE 11.2.0.4.231017
35574075;Database Patch Set Update : 11.2.0.4.231017 (35574075)
OPatch succeeded.
连接数据库:
[root@oracle:/home/oracle]$ source .bash_profile
[oracle@oracle:/home/oracle]$ sas
SQL*Plus: Release 11.2.0.4.0 Production on Fri Feb 14 16:01:40 2025
Copyright (c) 1982, 2013, Oracle. All rights reserved.
Connected to:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
SYS@orcl SQL> show parameter name
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
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
processor_group_name string
service_names string orcl
SYS@orcl SQL>
oracle数据库备份恢复
先创建备份目录 mkdir -p /home/oracle/oracle_bak
给权限:chown -R x.x /home/oracle/oracle_bak
sqlplus "/as sysdba" --以操作系统权限认证的oracle sys管理员登陆
SQL>
创建用户
CREATE USER han20250220 IDENTIFIED BY abcABC81;
给权限
GRANT CONNECT, RESOURCE, DBA TO han20250220;
在oracle里创建data_dir
create directory data_dir as '/home/oracle/oracle_bak';
给 data_dir 配置用户及权限
GRANT READ, WRITE ON DIRECTORY data_dir TO han20250220;
备份数据库
expdp han20250220/abcABC81@orcl schemas=esc666 dumpfile=expdp.dmp directory=data_dir logfile=expdp.log
恢复数据
impdp han20250220/abcABC81 schemas=esc666 directory=data_dir dumpfile=expdp.dmp logfile=impdp.log;