Oracle19c on 银河麒麟的安装与升级
Oracle19c on 银河麒麟的安装与升级
下载内容
preinstall CentOS8
https://yum.oracle.com/repo/OracleLinux/OL8/appstream/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm
preinstall CentOS7
https://yum.oracle.com/repo/OracleLinux/OL7/latest/x86_64/getPackage/oracle-database-preinstall-19c-1.0-1.el7.x86_64.rpm
下载Oracle安装软件:
https://download.oracle.com/otn/linux/oracle19c/190000/oracle-database-ee-19c-1.0-1.x86_64.rpm
注意数据库的安装软件需要登录权限才可以.
下载补丁集合
需要注意 2023.12.29 已经到了 oracle 19.21.0.0
下载需要MOS账号, 自己注册的账号无法下载这样的补丁集合
需要说明的第二点是:
Oracle会将过往的12个月之前的补丁集合设置为密码保护, 不允许下载
如果下载需要提交 SR 但是提交SR 必须关联 MOS账号对应的购买序列号和服务的产品信息
所以基本上很难处理好.
还需要注意, 需要升级 opatch的补丁包 下载路径是:
https://updates.oracle.com/download/6880880.html
系统初始化
之前总结过 这次直接拿来用
cat > /etc/redhat-release <<EOF
CentOS Linux release 8.0
EOF
然后执行:
rpm -ivh oracle-database-preinstall-19c-1.0-1.el8.x86_64.rpm --nodeps --force
安装必备的一些软件:
yum install ksh* libnsl* -y
安装软件
time rpm -ivh oracle-database-ee-19c-1.0-1.x86_64.rpm
注意这个安装比较耗时, 我这边的时间为 接近 6min.
初始化数据库
vim /etc/init.d/oracledb_ORCLCDB-19c
# 修改部分内容如下:
export ORACLE_VERSION=19C
export ORACLE_SID=ORA19C
export TEMPLATE_NAME=General_Purpose.dbc
export CHARSET=ZHS16GBK
export PDB_NAME=ORA19CPDB
export LISTENER_NAME=LISTENER
export NUMBER_OF_PDBS=1
export CREATE_AS_CDB=true
cd /etc/sysconfig/
scp oracledb_ORCLCDB-19c.conf oracledb_ORA19C-19C.conf
创建部分目录
chown -R oracle:oinstall /opt/oracle
mkdir -p /opt/oracle/product/19c/dbhome_1
mkdir -p /opt/app/oracle/oradata/
mkdir /opt/oracle/oraInventory
touch /etc/oratab
chown oracle:oinstall /etc/oratab
初始化数据库
/etc/init.d/oracledb_ORCLCDB-19c configure
修改环境变量
cat >/etc/profile.d/oracle.sh <<EOF
export ORACLE_SID=ORA19C
export ORACLE_HOME=/opt/oracle/product/19c/dbhome_1
export PATH=$PATH:/opt/oracle/product/19c/dbhome_1/bin
export NLS_LANG="AMERICAN_AMERICA.UTF8"
EOF
部分设置
alter profile default limit FAILED_LOGIN_ATTEMPTS unlimited ;
ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED;
CREATE TRIGGER open_all_pdbs
AFTER STARTUP ON DATABASE
BEGIN
EXECUTE IMMEDIATE 'alter pluggable database all open';
END open_all_pdbs;
/
升级最新版本的补丁包
需要使用 oracle 的MOS账号 上Oracle官网下载最新补丁包
2023.12.31时最新的补丁包是
p35643107_190000_Linux-x86-64.zip
他的版本号是 19.21.0.0
需要现将文件上传上去.
并且执行解压缩
升级步骤-第一步关闭数据库
1. 关闭数据库软件
su - oracle
sqlplus / as sysdba <<EOS
shutdown immediate
EOS
lsnrctl stop
升级步骤-第二步备份应用
su - oracle
echo $ORACLE_HOME
exit
mkdir /opt/oracle19.3rpmonly
chown oracle:oinstall /opt/oracle19.3rpmonly
su - oracle
cd /opt
time tar -czvf oracle19.3rpmonly/oraclebackup.tar.gz oracle
升级步骤-第三步替换opatch目录并验证
# root用户
scp -r 35643107/* /opt/oracle/product/19c/dbhome_1/OPatch/
cd /opt/oracle/product/19c/dbhome_1
chown oracle:oinstall OPatch -R
su - oracle
cd /opt/oracle/product/19c/dbhome_1/OPatch/
./opatch lsinventory -detail -oh $ORACLE_HOME
提示: --------------------------------------------------------------------------------
OPatch succeeded.
基本上就可以了, 注意磁盘空间尽量保持20G以上.
需要注意 还需要升级 opatch的版本
可以理解为 补丁包是升级Oracle的 opatch的包是升级打补丁工具的.
下载地址就是第一部分里面讲解的:https://updates.oracle.com/download/6880880.html
需要注意这个路径很固定, 需要选择不同的版本和安装包进行使用.
升级步骤-第四步执行升级
第一部分:
应用升级
su - oracle
cd /opt/oracle/product/19c/dbhome_1/OPatch/
./opatch apply
注意升级时间可能会比较长, 需要等待.
中间会有两次要求输入选项的的步骤, 选择 y 后继续下一步的操作.
正在将临时补丁程序 '35643107' 应用于 OH '/opt/oracle/product/19c/dbhome_1'
中间会提示很多组件的信息.
注意如果是Oracle19.3 的rpm包安装的版本, 不升级OPatch的话 会报错为:
The OPatch being used has version 12.2.0.1.17 while the following patch(es) require higher versions:
Patch 35643107 requires OPatch version 12.2.0.1.37.
我这边大概耗时 7min 完成.
第二部分:
升级数据库
lsnrctl start 打开监听
sqlplus / as sysdba 链接数据库
已经可以看到数据库版本发生了变化:
SQL*Plus: Release 19.0.0.0.0 - Production on Sun Dec 31 11:01:41 2023
Version 19.21.0.0.0
startup 数据库 查看 show pdbs 都是正常状态
然后执行升级数据库的脚本
time ./datapatch -verbose
注意需要先打开数据库 再升级.
注意我这边没有任何自己创建的数据库实例, 数据14min完成升级.
升级成功后:
需要编译一下无效对象
cd $ORACLE_HOME/rdbms/admin/
sqlplus / as sysdba <<EOS
@utlrp.sql
EOS
查看一下数据库的版本升级情况:
select patch_id, action,status,action_time,description from dba_registry_sqlpatch;
29-DEC-23 06.24.48.466705 PM Database Release Update : 19.3.0.0.190416 (29517242)
31-DEC-23 11.16.38.351972 AM Database Release Update : 19.21.0.0.231017 (35643107)
可以看到我数据库的安装时间和 数据库的版本时间.
可以看到 oracle19c 其实是四年半之前的版本了 20190416
生产环境还时很建议要升级一下版本的.
最后
建议重启一下应用和数据库, 保证产品正常.
su - oracle
sqlplus / as sysdba <<EOS
shutdown immediate
EOS
lsnrctl stop
sqlplus / as sysdba <<EOS
startup
EOS
lsnrctl start
sqlplus / as sysdba <<EOS
alter system register ;
EOS
lsnrctl status
Oracle19c on 银河麒麟的安装与升级的更多相关文章
- ubuntukylin16.04LTS(乌班图麒麟版长期支持版,并非银河麒麟)安装体验
最近,国产银河麒麟版在政府部门推广使用.我有幸接触了,感觉还是不错的.这次政府软件正版化整改中,也列入了windows和银河麒麟的选项.我想试安装一下,可是没找到.就近找了它的类似系统ubuntuky ...
- 银河麒麟V10安装ASP.NET Core并配置Supervisor让网站开机自动运行
银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化.云计算.大数据.工业互联网时代对主机系统可靠性.安全性.性能.扩展性和实时性的需求,依据CMMI 5级标准研制的提供内生安全.云原生支 ...
- 银河麒麟v4_sp4安装英伟达驱动
bios设置视频输出为auto模式 视频线插独立显卡上 先dpkg 安装两个deb包 1.禁用开源驱动:sudo vim /etc/modprobe.d/blacklist.conf,在里面添加 bl ...
- 银河麒麟V10安装MySQL5.7
环境: Kylin-Server-10-SP2-Release-Build09-20210524-x86_64.isomysql-5.7.28-linux-glibc2.12-x86_64.tar ...
- 国产银河麒麟 安装wps 的简单方法
前提说明 银河麒麟 是总部在天津的企业 有国防科大还有 ubuntu的母公司一起在维护 主要的产品有 优麒麟 还有 银河麒麟 优麒麟 可以看做是 国产版的ubuntu的社区版 银河麒麟 则是 面向国内 ...
- 国产化之虚拟ARM64-CPU安装银河麒麟操作系统
背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟v4,CPU使用飞腾处理器.我本地没有这个国产的处理器,但飞腾是基于ARMv8架构的64位处理器,所以理论上基于这个CPU架构的硬件应 ...
- 国产化之银河麒麟安装达梦数据库DM8
背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用DM8. 虽然在之前的文章中已经成功模拟国产飞腾处理器,但是运行效率不高,所以这里的银河麒麟操作系统还是运行在x64平台上 ...
- 国产化之银河麒麟安装.NetCore-包管理器方式
背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等. 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版 ...
- 初学银河麒麟linux笔记 第九章 QEMU安装arm虚拟机
arm虚拟机无法用vm进行安装,因此需要安装QEMU虚拟机 参考: WIndows下使用Qemu安装Arm版Kylin系统_h1007886499的博客-CSDN博客_windows qemu arm ...
- 初学银河麒麟linux笔记 第一章 虚拟机、麒麟系统、QT安装与运行
由于手头一个项目的QT软件开发需要在银河麒麟系统上运行,借此机会开始从头学习linux系统 首先下载虚拟机VMware 16和麒麟系统iso,这里参考的 https://blog.51cto.com/ ...
随机推荐
- 从零玩转人脸识别验证-face
title: 从零玩转人脸识别验证 date: 2022-05-15 21:05:52.974 updated: 2023-05-16 00:00:11.594 url: https://www.yb ...
- MySQL篇:第六章_详解mysql视图
周末有朋友来上海没来得及更新,特此更两篇以正身 视图 含义:理解成一张虚拟的表 视图和表的区别: 使用方式 占用物理空间 视图 完全相同 不占用,仅仅保存的是sql逻辑 表 完全相同 占用 视图的好处 ...
- 第四部分_Shell脚本数组和其他变量
数组定义 ㈠ 数组分类 普通数组:只能使用整数作为数组索引(元素的下标) 关联数组:可以使用字符串作为数组索引(元素的下标) ㈡ 普通数组定义 可以切片 一次赋予一个值 #数组名[索引下标]=值 ar ...
- 1024 | 9位开发者分享生涯“最”时刻,文武状元大PK等你来
本文分享自华为云社区<1024程序员节,和华为云一起做不被定义的开发者>,作者:华为云社区精选 . 1024,祝所有开发者们节日快乐 "代码有注释,程序无bug, 需求不改动,永 ...
- 华为云GaussDB践行数字化,护航证券保险高质量发展
摘要:华为云数据库解决方案架构师章哲在由先进数通与华为联合开展的"7+1"系列银行业数字化转型实践交流活动上围绕华为云GaussDB多年来的技术探索和应用实践进行了分享. 近日,由 ...
- 开发老人笔记:Git 常用命令清单
摘要:git是目前世界上最先进的分布式版本控制系统. 多人协作 master:此分支用来发布稳定的代码,合并一般是由管理员合并 dev:此分支用于团队开发,团队成员向此分支提交代码 bug:此分支用于 ...
- 云小课 | 大数据融合分析:GaussDW(DWS)轻松导入MRS-Hive数据源
摘要:通过建立GaussDB(DWS)与MRS的连接,支持数据仓库服务SQL on Hadoop,以外表方式实现Hive数据的快捷导入,满足大数据融合分析的应用场景. 本文分享自华为云社区<[云 ...
- Preload与Prefetch的区别以及webpack项目中如何优化
preload 与prefetch 的区别 preload 是一个声明式 fetch,可以强制浏览器在不阻塞 document 的 onload 事件的情况下请求资源. preload 顾名思义就是一 ...
- JS 判断域名并跳转到指定页面
判断访问指定域名,进行页面跳转 <!DOCTYPE html> <html> <head> <title>正在玩命加载中--</title> ...
- Spring Boot Admin 自定义健康检查
添加自定义类: /** * 监控接口的健康情况 * */ @Component public class ApiHealthIndicator implements HealthIndicator { ...