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 银河麒麟的安装与升级的更多相关文章

  1. ubuntukylin16.04LTS(乌班图麒麟版长期支持版,并非银河麒麟)安装体验

    最近,国产银河麒麟版在政府部门推广使用.我有幸接触了,感觉还是不错的.这次政府软件正版化整改中,也列入了windows和银河麒麟的选项.我想试安装一下,可是没找到.就近找了它的类似系统ubuntuky ...

  2. 银河麒麟V10安装ASP.NET Core并配置Supervisor让网站开机自动运行

    银河麒麟高级服务器操作系统V10是针对企业级关键业务,适应虚拟化.云计算.大数据.工业互联网时代对主机系统可靠性.安全性.性能.扩展性和实时性的需求,依据CMMI 5级标准研制的提供内生安全.云原生支 ...

  3. 银河麒麟v4_sp4安装英伟达驱动

    bios设置视频输出为auto模式 视频线插独立显卡上 先dpkg 安装两个deb包 1.禁用开源驱动:sudo vim /etc/modprobe.d/blacklist.conf,在里面添加 bl ...

  4. 银河麒麟V10安装MySQL5.7

      环境: Kylin-Server-10-SP2-Release-Build09-20210524-x86_64.isomysql-5.7.28-linux-glibc2.12-x86_64.tar ...

  5. 国产银河麒麟 安装wps 的简单方法

    前提说明 银河麒麟 是总部在天津的企业 有国防科大还有 ubuntu的母公司一起在维护 主要的产品有 优麒麟 还有 银河麒麟 优麒麟 可以看做是 国产版的ubuntu的社区版 银河麒麟 则是 面向国内 ...

  6. 国产化之虚拟ARM64-CPU安装银河麒麟操作系统

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟v4,CPU使用飞腾处理器.我本地没有这个国产的处理器,但飞腾是基于ARMv8架构的64位处理器,所以理论上基于这个CPU架构的硬件应 ...

  7. 国产化之银河麒麟安装达梦数据库DM8

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用DM8. 虽然在之前的文章中已经成功模拟国产飞腾处理器,但是运行效率不高,所以这里的银河麒麟操作系统还是运行在x64平台上 ...

  8. 国产化之银河麒麟安装.NetCore-包管理器方式

    背景 某个项目需要实现基础软件全部国产化,其中操作系统指定银河麒麟,数据库使用达梦V8,CPU平台的范围包括x64.龙芯.飞腾.鲲鹏等. 考虑到这些基础产品对.NETCore的支持,最终选择了3.1版 ...

  9. 初学银河麒麟linux笔记 第九章 QEMU安装arm虚拟机

    arm虚拟机无法用vm进行安装,因此需要安装QEMU虚拟机 参考: WIndows下使用Qemu安装Arm版Kylin系统_h1007886499的博客-CSDN博客_windows qemu arm ...

  10. 初学银河麒麟linux笔记 第一章 虚拟机、麒麟系统、QT安装与运行

    由于手头一个项目的QT软件开发需要在银河麒麟系统上运行,借此机会开始从头学习linux系统 首先下载虚拟机VMware 16和麒麟系统iso,这里参考的 https://blog.51cto.com/ ...

随机推荐

  1. 一键式调试工具—Reqable 使用指南

    简介 Reqable是一款跨平台的专业HTTP开发和调试工具,在全平台支持HTTP1.HTTP2和HTTP3(QUIC)协议,简单易用.功能强大.性能高效,助力程序开发和测试人员提高生产力!本产品需要 ...

  2. Next.js 开发指南 路由篇 | App Router

    前言 路由(routers)是应用的重要组成部分.所谓路由,有多种定义,对于应用层的单页应用程序而言,路由是一个决定 URL 如何呈现的库,在服务层实现 API 时,路由是解析请求并将请求定向到处理程 ...

  3. 如何在GitHub正确提PR(Pull Requests),给喜欢的开源项目贡献代码

    最好的中文TTS项目Bert-vits2更新了中文特化分支,但可能由于时间仓促,代码中存在不少的bug,作为普通用户,有的时候也想为自己喜欢的开源项目做一点点贡献,帮助作者修改一些简单的bug,那么该 ...

  4. 微信小程序中的数组有许多常用的方法和用法

    声明和初始化一个数组: var array = []; // 声明一个空数组 var array = [1, 2, 3]; // 声明并初始化一个有元素的数组 获取数组长度: var length = ...

  5. Spark SQL快速入门

    Spark SQL快速入门 1.概述 spark SQL是Apache用于处理结构化数据的模块.其中包含SQL.DataFrame API.DataSet API,意味着开发人员可以在不同的API之间 ...

  6. Eclipse部署虚拟项目目录

    目录 1. 问题 2. 方案 3. 参考 1. 问题 对于一些附带了大量本地资源的项目(例如,用户上传的文件,地图切片或者三维模型等),在Eclipse中部署调试是我一直头痛的问题.因为Eclipse ...

  7. 华为云PB级数据库GaussDB(for Redis)揭秘第13期:如何搞定推荐系统存储难题

    摘要:GaussDB(for Redis)轻松搞定推荐系统核心存储,为企业级应用保驾护航. 本文分享自华为云社区<GaussDB(for Redis)揭秘第13期:如何搞定推荐系统存储难题?&g ...

  8. 10年经验总结,华为fellow教你如何成为一名优秀的架构师?

    摘要:华为云首席架构师分享成为架构师必备的一些特质和能力. 本文分享自华为云社区<10年经验总结,华为fellow教你如何成为一名优秀的架构师?>,作者: 技术火炬手 . 在<云享人 ...

  9. pyinstaller打包多线程代码,运行死循环?

    描述现象 用pyinstaller打包了一个上传文件的脚本,里面有多个input在while循环内,然后启用了多线程上传,在编辑器中运行没问题,但是打包完后,就一直循环提示你input... 解决 在 ...

  10. 给科研人的 ML 开源发布工具包

    什么是开源发布工具包? 恭喜你的论文成功发表,这是一个巨大的成就!你的研究成果将为学界做出贡献. 其实除了发表论文之外,你还可以通过发布研究的其他部分,如代码.数据集.模型等,来增加研究的可见度和采用 ...