​​​​Linux Shell 实现一键部署Oracle21 rpm包方式

news/2023/11/30 21:35:48

 

oracle前言

Oracle开发的关系数据库产品因性能卓越而闻名,Oracle数据库产品为财富排行榜上的前1000家公司所采用,许多大型网站也选用了Oracle系统,是世界最好的数据库产品。此外,Oracle公司还开发其他应用程序和软件。同时,Oracle在英语里还是“神谕”的意思,意为“替神说话的”,寓指Oracle公司的发展目标和决心地位。

以下环境适用于Redhat 8 系列及复刻Redhat 8系列系统

download Oracle

oracle 21c 需要oralce 账号哦oracle 百度云下载地址文档
downloaddownload参考

Linux 各系统下载使用参考

Red HatRocky Linux Oracle Linux

AlmaLinux 

ubuntususelinuxesxiRHEL标准安装系统安装参考YUM参考

MobaXterm 远程连接工具

Red Hat Enterprise 9.0 文档Kickstart 生成器
downloaddownloaddownloaddownloaddownloaddownloaddownload参考参考配置参考download参考Kickstart 
版本兼容性

oracle 一键自动化部署

  • root模式下执行安装,预计耗时50分钟
  • Linux系统创建的oracle用户名密码oracle/oracle@123
  • oracle 数据库登录密码 Ciasm123
  • /u01/app/oracle 数据库安装目录
  •  ~/.bash_profile 环境变量信息,目录
  • oracle_SID: orcl #数据库名称
  • /opt/oracle/product/21c/dbhome_1 #oracle解压安装目录
  • /u01/app/oraInventory 指定存放库存文件的位置
  • /opt/oracle/product/21c/dbhome_1/runInstaller --help 获取安装参数的支持,版本不同参数不同
  • root下切换oracle用户不需要输入密码,因为root是老大
  • 监听端口 1521,监听文件位置/etc/sysconfig/oracledb_orcl-21c.conf
  • /etc/init.d/oracledb_ORCLCDB-21c #oracle 配置文件,可更改名称和em,字符集
  • 重启验证是否开机自启动oracle,开机稍微等待3分钟左右oralce 监听,库,em都会启动
  • netstat -lntp 查看端口是否全部启动,1521,5500
  • em https管理数据库https://YOU_IP:5500/em {用户名密码sys/Ciasm123}
  • oracle_database 下载地址,以下是我自己内网的下载,官网下载需要oralce 账号,文档前有官方和百度云地址更改此处即可 http://192.168.12.252:9999/ISO/oracle/oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm
  • HFSHTTP 文件服务器,拉取发布软件到程序即可 dowload
vim /oracle21C_install_rpm.sh
#!/bin/bash
# -*- coding: utf-8 -*-
# Author: CIASM
# update 2023/05/29
# Install oracle using rpmORACLE_ORACLEHOME_CHECK=/opt/oracleinstall_oracle (){if [ ! -d $ORACLE_ORACLEHOME_CHECK ];thenif [ $? -eq 0 ];then#User name and password for logging in to the oracle database in Linux
oracle_user=oracle
oracle_user_password=oracle@123echo "Create user and groups for Oracle Database service"
i=54321; for group in oinstall dba oper backupdba dgdba kmdba asmdba asmoper asmadmin racdba; do
groupadd -g $i $group; i=$(expr $i + 1)
doneuseradd -u 54321 -g oinstall -G dba,oper,backupdba,dgdba,kmdba,asmdba,racdba -d /opt/oracle $oracle_userecho "Add oracle users to users and user groups"
echo "$oracle_user_password" | passwd --stdin $oracle_userecho "create oracle directory"
mkdir -p /u01/app/oracle
chown -R oracle:oinstall /u01/app
chmod -R 755 /u01echo "Dependent environment installation"
yum install -y https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-21c-1.0-1.el8.x86_64.rpmecho "Firewall port development"
setenforce 0
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
firewall-cmd --zone=public --add-port=80/tcp --add-port=443/tcp --add-port=1521/tcp --add-port=5500/tcp --permanent && firewall-cmd --reloadecho "install oracle"
yum install -y http://192.168.11.252:9999/ISO/oracle/oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm#download oracle and install oracle on the local yum
#yum localinstall /root/oracle-database-ee-21c-1.0-1.ol8.x86_64.rpm -yecho "create listening port for Listener"
cat >>/etc/sysconfig/oracledb_orcl-21c.conf<<EOF
# change default settings if you need
# listening port for Listener
LISTENER_PORT=1521# data location
ORACLE_DATA_LOCATION=/u01/app/oracle# EM_EXPRESS_PORT: Oracle EM Express listener
# listening port for Enterprise Manager
EM_EXPRESS_PORT=5500
EOFecho "create sample Database orcl"
sed -i 's#ORACLE_SID=ORCLCDB#ORACLE_SID=ORCL#' /etc/init.d/oracledb_ORCLCDB-21c
/etc/init.d/oracledb_ORCLCDB-21c configuresu - oracle << EOF
echo 'umask 022' >> ~/.bash_profile
echo 'export ORACLE_SID=ORCL' >> ~/.bash_profile
echo 'export ORACLE_BASE=/u01/app/oracle' >> ~/.bash_profile
echo 'export ORACLE_HOME=/opt/oracle/product/21c/dbhome_1' >> ~/.bash_profile
echo 'export PATH=PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/opt/oracle/product/21c/dbhome_1/bin' >> ~/.bash_profile
echo 'export CV_ASSUME_DISTID=RHEL8.0'  >> ~/.bash_profile
echo 'export ORA_INVENTORY=/u01/app/oraInventory' >> ~/.bash_profile
echo 'export LD_LIBRARY_PATH=/opt/oracle/product/21c/dbhome_1/lib:/usr/lib' >> ~/.bash_profile
echo 'export DISPLAY=":0.0"' >> ~/.bash_profile
source ~/.bash_profile 
EOFecho "create sys system scott password"
su - oracle << EOF
sqlplus / as sysdba
alter user system identified by Ciasm123;
alter user sys identified by Ciasm123;
alter user scott account Ciasm123; 
CREATE TRIGGER open_all_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
EOFecho "Set this parameter in root mode"
sed -i "s#ORCL:/opt/oracle/product/21c/dbhome_1:N#ORCL:/opt/oracle/product/21c/dbhome_1:Y#" /etc/oratabecho "oracle Boot script"
cat >>/usr/lib/systemd/system/ORCL@oracledb.service<<EOF
# this is an example, modify for free
[Unit]
Description=Oracle Database service
After=network.target[Service]
User=oracle
Type=forking
Environment=ORACLE_BASE=/u01/app/oracle
Environment=ORACLE_HOME=/opt/oracle/product/21c/dbhome_1
Environment=ORACLE_SID=ORCL
ExecStart=/opt/oracle/product/21c/dbhome_1/bin/dbstart /opt/oracle/product/21c/dbhome_1
ExecStart=/opt/oracle/product/21c/dbhome_1/dbstart /opt/oracle/product/21c/dbhome_1
Restart=always[Install]
WantedBy=multi-user.target
EOFecho "The startup setting is set after startup"
systemctl daemon-reload && systemctl enable ORCL@oracledbecho -e "\033[32mThe oralce Install Success...\033[0m" elseecho -e "\033[31mThe oracle Install Failed...\033[0m" exit 1fielseecho -e "\033[33mThe oracle Install already...\033[0m"fi
}main (){install_oracle
}main

 执行Oracle21c 一键安装,预计50分钟

  • sh /oracle21C_install_rpm.sh 2>&1 | tee /var/log/oracle_install.log #日志输出参考
sh /oracle21C_install_rpm.sh

 em 管理系统打开

  • https://(servers hostname or IP address):5500/em
  • sys/Ciasm123 em登录管理用户名密码

这是Enterprise Manager管理控制台

重启验证是否开机自启动oracle 数据库,监听,em

reboot netstat -lntp


http://www.ppmy.cn/news/103612.html

相关文章

深度学习笔记之循环神经网络(八)LSTM的轻量级变体——门控循环单元(GRU)

深度学习笔记之LSTM轻量级变体——门控循环单元[GRU] 引言回顾&#xff1a; LSTM \text{LSTM} LSTM的前馈计算过程 LSTM \text{LSTM} LSTM的问题 GRU \text{GRU} GRU的前馈计算过程 GRU \text{GRU} GRU的优势 引言 上一节介绍了从反向传播过程的角度认识 LSTM \text{LSTM} LST…

将文件base64解码后输出

Map taxPdf alService.getFile();//得到文件 String filestr String.valueOf(taxPdf.get("data")); if (taxPdf ! null) {BASE64Decoder decoder new BASE64Decoder();byte[] fileBytes decoder.decodeBuffer(filestr);HttpServletResponse response getRespons…

30分钟开发微信小程序并部署

30分钟开发微信小程序并部署 首先&#xff0c;今天我们会使用到腾讯为我们提供的云平台来协助我们小程序的开发和部署。 环境准备&#xff1a; 微信开发者账号&#xff08;自己在微信公众号平台注册一个账号&#xff09;&#xff1a;https://mp.weixin.qq.com/&#xff0c;同时…

[GUET-CTF2019]number_game[数独]

目录 题目 学到的知识点&#xff1a; 题目 在buu上看到了一道数独题&#xff0c;没见过&#xff0c;记录一下 下载附件&#xff0c;查壳&#xff0c;无壳&#xff0c;在IDA中打开&#xff0c;直接找到主函数 unsigned __int64 __fastcall main(int a1, char **a2, char **a3…

CH341的SPI接口编程说明

CH341的SPI接口特性&#xff1a; 1、提供3个片选信号&#xff0c;SCS0~SCS2&#xff1b; 2、SPI 默认工作模式0&#xff0c;不支持修改&#xff1b; 3、SPI Clock速率固定&#xff0c;小于2MHz&#xff1b; 4、支持MSB/LSB传输&#xff1b; 引脚序号功能说明15~17SCS0~SCS…

在网络安全领域,这些都是比较牛的中国黑客!

1994年前后&#xff0c;国内出现最早一批黑客&#xff0c;其中以龚蔚、天山等顶级黑客为代表&#xff1b;2000年左右&#xff0c;第二代黑客出现&#xff0c;他们的技术特点与前辈相仿&#xff0c;深入研究网络安全技术&#xff0c;有自己的理论和产品&#xff1b;而后第三代黑…

记录两个Windows和Mac上部署阿里Canal无法启动的神坑

目录 一、问题列表 二、解决方案 三、参考资料 四、配置详解 五、数据库相关操作 一、问题列表 1、问题一&#xff1a;点击 startup.bat 窗口出现后立马闪退的问题。 2、问题二&#xff1a;启动后日志文件报错&#xff1a; ERROR com.alibaba.otter.canal.deployer.Cana…

全球化企业应如何统筹规划财务共享中心?

中冶国际携手用友构建海外财务共享体系 中冶国际工程集团有限公司&#xff08;简称&#xff1a;中冶国际&#xff09;成立于2006年&#xff0c;是中国冶金科工股份有限公司&#xff08;简称&#xff1a;中国中冶&#xff09;的全资子公司&#xff0c;也是中国五矿集团和中国中…

C++中的函数组合:用std::function实现编程艺术

C中的函数组合&#xff1a;用std::function实现编程艺术 1. 引言1.1 C中的函数式编程 (Functional Programming in C)1.2 函数组合的概念和价值 (Concept and Value of Function Composition)1.3 std::function概述 (Overview of std::function) 2. 如何在C中实现函数组合 (Imp…

DOM事件、冒泡和捕获、事件代理

DOM是用来呈现以及与任意 HTML 或 XML 文档交互的 API。DOM 是载入到浏览器中的文档模型&#xff0c;以节点树的形式来表现文档&#xff0c;每个节点代表文档的构成部分 DOM事件流有3个阶段&#xff1a;捕获阶段&#xff0c;目标阶段&#xff0c;冒泡阶段&#xff1b; 三个阶段…

Redis(六)主从模式与哨兵机制

文章目录 一、主从模式配置一主二从集群 二、哨兵机制哨兵模式演示&#xff1a;哨兵如何监控节点「主观下线」与[客观下线]哨兵如何选新主节点由哪个哨兵进行转移如何通知客户端新主节点的信息? 一、主从模式 配置一主二从集群 开启三个linux&#xff0c;并安装redis info …

【Python笔记(1) ——Python基础知识】

文章目录 1. 标识符2. 关键字3. 引号4. 编码5. 输入输出6. 缩进7. 多行8. 注释9. 数据类型10. 运算符10.1 常用运算符10.2 运算符优先级 1. 标识符 在 Python 中标识符是用来标识变量、函数、类等用户自定义对象的命名。标识符的命名规则是&#xff1a; 可以是字母、数字、下…

水处理施工方案合集

编制说明及工程简介 (一) 编制说明 本施工组织设计是依据建设单位提供的招标文件、施工图、同类工程施工资料和国家有关施工规范及验收标准进行编制的。本施工组织设计针对本工程施工中的关键点、难点及其处理措施&#xff0c;主要施工方法&#xff0c;施工组织部署&#xff…

JavaScript实现背景图像切换3D动画效果

&#x1f431; 个人主页&#xff1a;不叫猫先生 &#x1f64b;‍♂️ 作者简介&#xff1a;2022年度博客之星前端领域TOP 2&#xff0c;前端领域优质作者、阿里云专家博主&#xff0c;专注于前端各领域技术&#xff0c;共同学习共同进步&#xff0c;一起加油呀&#xff01; &am…

Django从Models 10分钟定制一个Admin后台

简介 Django自带一个Admin后台, 支持用户创建,权限配置和所有模型的增删改查功能, 只需要一些简单的配置就可快速得到一个开箱可用的后台管理系统 操作步骤 1. 更改设置,使用中文/亚洲时区 修改项目下django_shop目录下的settings.py文件 修改以下三行 LANGUAGE_CODE zh-h…

虚拟机配置

配置虚拟机网络 创建虚拟机 20G 4G内存 初始化用户名和密码 zhao 123456 克隆拷贝2个虚拟机 配置内存为2G 修改主机名和固定IP hostnamectl set-hostname node1 hostnamectl set-hostname node2 vim /etc/sysconfig/network-scripts/ifcfg-ens33 systemctl stop network s…

vue中实现任意组件间通信(全局事件总线、消息订阅与发布)

1.全局事件总线&#xff0c;顾名思义&#xff0c;可以适用于任意组件间通信&#xff0c;我们需要通过$bus这个中间傀儡来实现&#xff0c;我们可以把$bus安装到Vue身上&#xff0c;这样可以让所有组件都能看到它&#xff0c; 1.1安装全局事件总线&#xff1a;我们可以在new Vu…

【机器学习】Kullback-Leibler (KL) divergence(KL 散度)

KL 散度是衡量两个概率分布之间差异的方法&#xff0c;我们首先考虑衡量两个概率分布之间差异的意义是什么: 模型评估与选择&#xff1a;在机器学习中&#xff0c;我们需要训练模型来拟合数据的概率分布。衡量预测分布与真实分布之间的差异可以帮助我们评估模型的性能&#xff…

09:mysql---事务

目录 1:事务简介 2:事务操作 3:事务四大特性 4:并发事务问题 5:事务隔离级别 1:事务简介 事务 是一组操作的集合&#xff0c;它是一个不可分割的工作单位&#xff0c;事务会把所有的操作作为一个整体一起向系统提交或撤销操作请求&#xff0c;即这些操作要么同时成功&…

如何使用Axios发送异步请求?

首先&#xff0c;让我们来介绍一下Axios。Axios是一个基于Promise的HTTP客户端&#xff0c;它可以帮助我们轻松地发送异步请求。它支持所有现代浏览器&#xff08;包括IE8&#xff09;&#xff0c;并且还提供了Node.js的版本。 那么&#xff0c;如何使用Axios发送异步请求呢&a…
最新文章