升级Oracle 单实例数据库19.3到19.22

需求

我的Oracle Database Vagrant Box初始版本为19.3,需要升级到最新的RU,当前为19.22。

以下操作时间为为2024年2月5日。

补丁下载

补丁下载文档参见MOS文档:Primary Note for Database Proactive Patch Program (Doc ID 888.1)。

补丁安装文档参见文档(链接在下载页面中):Patch 35943157 - Database Release Update 19.22.0.0.240116

也可以从MOS的“Patch & Updates”标签页中下载:
在这里插入图片描述
结果中的Patch 35943157即我们需要的:
在这里插入图片描述

停止数据库和监听

断开所有与数据库的连接,如应用,如管理客户端(Oracle EM, SQL Developer等)。

停止数据库:

shutdown immediate

停止监听:

lsnrctl stop

备份Oracle Home

参考MOS文档: How to Perform ORACLE_HOME Backup? (Doc ID 565017.1)

以oracle用户执行以下脚本:

# 创建备份目录
mkdir ~/backup
# 本例中的ORACLE_HOME为/opt/oracle/product/19c/dbhome_1
cd $ORACLE_HOME
# 切换到上一级目录:/opt/oracle/product/19c
cd ..
# 启动备份
tar -pcvf ~/backup/oracle_home_bkup.tar dbhome_1

备份文件约7.4G:

$ ls -l ~/backup/
total 7248532
-rw-r--r--. 1 oracle oinstall 7422494720 Feb  5 13:42 oracle_home_bkup.tar

安装最新版的OPatch

下载OPatch 12.2.0.1.41 for DB 19.0.0.0.0 (Jan 2024),约120M。

$ ls -l /vagrant/p6880880_190000_Linux-x86-64.zip
-rwxrwxrwx. 1 vagrant vagrant 127629034 Feb  5 13:58 /vagrant/p6880880_190000_Linux-x86-64.zip

升级过程参见Oracle数据库升级OPatch全过程。

升级完成后:

$ opatch version
OPatch Version: 12.2.0.1.41OPatch succeeded.

安装OJVM补丁

详见MOS 文档:Oracle Recommended Patches – “Oracle JavaVM Component Database PSU and Update” (OJVM PSU and OJVM Update) Patches (Doc ID 1929745.1)

实际下载是从MOS文档:Primary Note for Database Proactive Patch Program (Doc ID 888.1)

然后搜索OJVM即可。补丁约120M:

$ ls -l /vagrant/p35926646_190000_Linux-x86-64.zip
-rwxrwxrwx. 1 vagrant vagrant 127451050 Feb  5 14:21 /vagrant/p35926646_190000_Linux-x86-64.zip

升级文档参见Patch 35926646 - Oracle JavaVM Component Release Update 19.22.0.0.240116。

PATCHDIR=/home/oracle/patchdir
mkdir $PATCHDIR
unzip -d $PATCHDIR /vagrant/p35926646_190000_Linux-x86-64.zip
cd $PATCHDIR/35926646 
opatch prereq CheckConflictAgainstOHWithDetail -ph ./ 
# 如果上面的先决条件检测通过,则可以安装补丁
opatch apply

安装过程如下:

[oracle@oracle-19c-vagrant 35926646]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 12.2.0.1.41
Copyright (c) 2024, Oracle Corporation.  All rights reserved.PREREQ sessionOracle Home       : /opt/oracle/product/19c/dbhome_1
Central Inventory : /opt/oracle/oraInventoryfrom           : /opt/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version    : 12.2.0.1.41
OUI version       : 12.2.0.7.0
Log file location : /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-02-05_14-25-44PM_1.logInvoking prereq "checkconflictagainstohwithdetail"Prereq "checkConflictAgainstOHWithDetail" passed.OPatch succeeded.
[oracle@oracle-19c-vagrant 35926646]$ opatch apply
Oracle Interim Patch Installer version 12.2.0.1.41
Copyright (c) 2024, Oracle Corporation.  All rights reserved.Oracle Home       : /opt/oracle/product/19c/dbhome_1
Central Inventory : /opt/oracle/oraInventoryfrom           : /opt/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version    : 12.2.0.1.41
OUI version       : 12.2.0.7.0
Log file location : /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-02-05_14-26-37PM_1.logVerifying environment and performing prerequisite checks...
OPatch continues with these patches:   35926646Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/opt/oracle/product/19c/dbhome_1')Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '35926646' to OH '/opt/oracle/product/19c/dbhome_1'Patching component oracle.javavm.server, 19.0.0.0.0...Patching component oracle.javavm.server.core, 19.0.0.0.0...Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...Patching component oracle.rdbms, 19.0.0.0.0...Patching component oracle.javavm.client, 19.0.0.0.0...
Patch 35926646 successfully applied.
Log file location: /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-02-05_14-26-37PM_1.logOPatch succeeded.

还有一些后续工作:

connect / as sysdba
startup
alter pluggable database all open;
quit

执行安装后脚本,datapatch 是一款新工具,可实现 RDBMS 补丁的补丁后 SQL 操作自动化:

cd $ORACLE_HOME/OPatch
./datapatch -verbose

如果都正常,则执行以下脚本:

cd $ORACLE_HOME/rdbms/admin
sqlplus /nolog
SQL> CONNECT / AS SYSDBA
SQL> @utlrp.sql

然后关闭数据库。

shutdown immediate

这个补丁安装的时间有点长。如果是新库,最好是打完补丁再建库,而非建完库再打补丁。

安装数据库补丁

因为我没有GI,所以仅升级数据库就好。

补丁约1.8G:

$ ls -l /vagrant/p35943157_190000_Linux-x86-64.zip
-rwxrwxrwx. 1 vagrant vagrant 1817908992 Feb  5 13:29 /vagrant/p35943157_190000_Linux-x86-64.zip

解压:

PATCHDIR=/home/oracle/patchdir
# 解压完大约3.6G
unzip -qd $PATCHDIR /vagrant/p35943157_190000_Linux-x86-64.zip
cd $PATCHDIR/35943157
opatch prereq CheckConflictAgainstOHWithDetail -ph ./
# 如果上面的先决条件检测通过,则可以安装补丁
opatch apply

先决条件检查确实通过了:

$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./
Oracle Interim Patch Installer version 12.2.0.1.41
Copyright (c) 2024, Oracle Corporation.  All rights reserved.PREREQ sessionOracle Home       : /opt/oracle/product/19c/dbhome_1
Central Inventory : /opt/oracle/oraInventoryfrom           : /opt/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version    : 12.2.0.1.41
OUI version       : 12.2.0.7.0
Log file location : /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-02-05_15-10-48PM_1.logInvoking prereq "checkconflictagainstohwithdetail"Prereq "checkConflictAgainstOHWithDetail" passed.OPatch succeeded.

但第一次安装却失败了,因为空间不够:

[oracle@oracle-19c-vagrant 35943157]$ time opatch apply
Oracle Interim Patch Installer version 12.2.0.1.41
Copyright (c) 2024, Oracle Corporation.  All rights reserved.Oracle Home       : /opt/oracle/product/19c/dbhome_1
Central Inventory : /opt/oracle/oraInventoryfrom           : /opt/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version    : 12.2.0.1.41
OUI version       : 12.2.0.7.0
Log file location : /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-02-05_15-12-31PM_1.logVerifying environment and performing prerequisite checks...
Prerequisite check "CheckSystemSpace" failed.
The details are:
Required amount of space(7550.384MB) is not available.
UtilSession failed:
Prerequisite check "CheckSystemSpace" failed.
Log file location: /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-02-05_15-12-31PM_1.logOPatch failed with error code 73

空间问题处理完后,再次安装:

$ time opatch apply
Oracle Interim Patch Installer version 12.2.0.1.41
Copyright (c) 2024, Oracle Corporation.  All rights reserved.Oracle Home       : /opt/oracle/product/19c/dbhome_1
Central Inventory : /opt/oracle/oraInventoryfrom           : /opt/oracle/product/19c/dbhome_1/oraInst.loc
OPatch version    : 12.2.0.1.41
OUI version       : 12.2.0.7.0
Log file location : /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-02-05_15-41-25PM_1.logVerifying environment and performing prerequisite checks...
OPatch continues with these patches:   35943157Do you want to proceed? [y|n]
y
User Responded with: Y
All checks passed.Please shutdown Oracle instances running out of this ORACLE_HOME on the local system.
(Oracle Home = '/opt/oracle/product/19c/dbhome_1')Is the local system ready for patching? [y|n]
y
User Responded with: Y
Backing up files...
Applying interim patch '35943157' to OH '/opt/oracle/product/19c/dbhome_1'
ApplySession: Optional component(s) [ oracle.network.gsm, 19.0.0.0.0 ] , [ oracle.crypto.rsf, 19.0.0.0.0 ] , [ oracle.pg4mq, 19.0.0.0.0 ] , [ oracle.precomp.companion, 19.0.0.0.0 ] , [ oracle.rdbms.ic, 19.0.0.0.0 ] , [ oracle.rdbms.tg4db2, 19.0.0.0.0 ] , [ oracle.tfa, 19.0.0.0.0 ] , [ oracle.rdbms.tg4tera, 19.0.0.0.0 ] , [ oracle.network.cman, 19.0.0.0.0 ] , [ oracle.options.olap, 19.0.0.0.0 ] , [ oracle.oid.client, 19.0.0.0.0 ] , [ oracle.xdk.companion, 19.0.0.0.0 ] , [ oracle.options.olap.api, 19.0.0.0.0 ] , [ oracle.rdbms.tg4ifmx, 19.0.0.0.0 ] , [ oracle.rdbms.tg4sybs, 19.0.0.0.0 ] , [ oracle.rdbms.tg4msql, 19.0.0.0.0 ] , [ oracle.ons.eons.bwcompat, 19.0.0.0.0 ] , [ oracle.ons.cclient, 19.0.0.0.0 ] , [ oracle.sdo.companion, 19.0.0.0.0 ] , [ oracle.net.cman, 19.0.0.0.0 ] , [ oracle.pg4appc, 19.0.0.0.0 ] , [ oracle.jdk, 1.8.0.191.0 ]  not present in the Oracle Home or a higher version is found.Patching component oracle.rdbms, 19.0.0.0.0...Patching component oracle.rdbms.util, 19.0.0.0.0...Patching component oracle.rdbms.rsf, 19.0.0.0.0...Patching component oracle.assistants.acf, 19.0.0.0.0...Patching component oracle.assistants.deconfig, 19.0.0.0.0...Patching component oracle.assistants.server, 19.0.0.0.0...Patching component oracle.blaslapack, 19.0.0.0.0...Patching component oracle.buildtools.rsf, 19.0.0.0.0...Patching component oracle.ctx, 19.0.0.0.0...Patching component oracle.dbdev, 19.0.0.0.0...Patching component oracle.dbjava.ic, 19.0.0.0.0...Patching component oracle.dbjava.jdbc, 19.0.0.0.0...Patching component oracle.dbjava.ucp, 19.0.0.0.0...Patching component oracle.duma, 19.0.0.0.0...Patching component oracle.javavm.client, 19.0.0.0.0...Patching component oracle.ldap.owm, 19.0.0.0.0...Patching component oracle.ldap.rsf, 19.0.0.0.0...Patching component oracle.ldap.security.osdt, 19.0.0.0.0...Patching component oracle.marvel, 19.0.0.0.0...Patching component oracle.network.rsf, 19.0.0.0.0...Patching component oracle.odbc.ic, 19.0.0.0.0...Patching component oracle.ons, 19.0.0.0.0...Patching component oracle.ons.ic, 19.0.0.0.0...Patching component oracle.oracore.rsf, 19.0.0.0.0...Patching component oracle.perlint, 5.28.1.0.0...Patching component oracle.precomp.common.core, 19.0.0.0.0...Patching component oracle.precomp.rsf, 19.0.0.0.0...Patching component oracle.rdbms.crs, 19.0.0.0.0...Patching component oracle.rdbms.dbscripts, 19.0.0.0.0...Patching component oracle.rdbms.deconfig, 19.0.0.0.0...Patching component oracle.rdbms.oci, 19.0.0.0.0...Patching component oracle.rdbms.rsf.ic, 19.0.0.0.0...Patching component oracle.rdbms.scheduler, 19.0.0.0.0...Patching component oracle.rhp.db, 19.0.0.0.0...Patching component oracle.sdo, 19.0.0.0.0...Patching component oracle.sdo.locator.jrf, 19.0.0.0.0...Patching component oracle.sqlplus, 19.0.0.0.0...Patching component oracle.sqlplus.ic, 19.0.0.0.0...Patching component oracle.wwg.plsql, 19.0.0.0.0...Patching component oracle.xdk.rsf, 19.0.0.0.0...Patching component oracle.install.deinstalltool, 19.0.0.0.0...Patching component oracle.sdo.locator, 19.0.0.0.0...Patching component oracle.rdbms.install.plugins, 19.0.0.0.0...Patching component oracle.dbtoolslistener, 19.0.0.0.0...Patching component oracle.xdk, 19.0.0.0.0...Patching component oracle.rdbms.drdaas, 19.0.0.0.0...Patching component oracle.xdk.xquery, 19.0.0.0.0...Patching component oracle.rdbms.rman, 19.0.0.0.0...Patching component oracle.network.client, 19.0.0.0.0...Patching component oracle.rdbms.hs_common, 19.0.0.0.0...Patching component oracle.nlsrtl.rsf.lbuilder, 19.0.0.0.0...Patching component oracle.oraolap.dbscripts, 19.0.0.0.0...Patching component oracle.mgw.common, 19.0.0.0.0...Patching component oracle.rdbms.dv, 19.0.0.0.0...Patching component oracle.ldap.ssl, 19.0.0.0.0...Patching component oracle.xdk.parser.java, 19.0.0.0.0...Patching component oracle.ctx.rsf, 19.0.0.0.0...Patching component oracle.rdbms.lbac, 19.0.0.0.0...Patching component oracle.rdbms.hsodbc, 19.0.0.0.0...Patching component oracle.ctx.atg, 19.0.0.0.0...Patching component oracle.oraolap, 19.0.0.0.0...Patching component oracle.oraolap.api, 19.0.0.0.0...Patching component oracle.odbc, 19.0.0.0.0...Patching component oracle.ldap.client, 19.0.0.0.0...Patching component oracle.nlsrtl.rsf, 19.0.0.0.0...Patching component oracle.rdbms.install.common, 19.0.0.0.0...Patching component oracle.ovm, 19.0.0.0.0...Patching component oracle.network.listener, 19.0.0.0.0...Patching component oracle.ldap.rsf.ic, 19.0.0.0.0...Patching component oracle.javavm.server, 19.0.0.0.0...Patching component oracle.precomp.lang, 19.0.0.0.0...Patching component oracle.precomp.common, 19.0.0.0.0...Patching component oracle.jdk, 1.8.0.201.0...
Patch 35943157 successfully applied.
Sub-set patch [29517242] has become inactive due to the application of a super-set patch [35943157].
Please refer to Doc ID 2161861.1 for any possible further required actions.
Log file location: /opt/oracle/product/19c/dbhome_1/cfgtoollogs/opatch/opatch2024-02-05_15-41-25PM_1.logOPatch succeeded.real    36m32.647s
user    20m16.850s
sys     9m43.814s

成功,耗时半小时。

以上安装是交互式的,中间有两处需要用户输入Y或N。可以指定-silent选项以静默运行。

补丁安装后的操作:

connect / as sysdba
startup
alter pluggable database all open;
quit

执行脚本:

cd $ORACLE_HOME/OPatch
./datapatch -verbose

输出如下:

$ time ./datapatch -verbose
SQL Patching tool version 19.22.0.0.0 Production on Mon Feb  5 21:09:00 2024
Copyright (c) 2012, 2024, Oracle.  All rights reserved.Log file for this invocation: /opt/oracle/cfgtoollogs/sqlpatch/sqlpatch_5704_2024_02_05_21_09_00/sqlpatch_invocation.logConnecting to database...OK
Gathering database info...doneNote:  Datapatch will only apply or rollback SQL fixes for PDBsthat are in an open state, no patches will be applied to closed PDBs.Please refer to Note: Datapatch: Database 12c Post Patch SQL Automation(Doc ID 1585822.1)Bootstrapping registry and package to current versions...done
Determining current state...doneCurrent state of interim SQL patches:
Interim patch 35926646 (OJVM RELEASE UPDATE: 19.22.0.0.240116 (35926646)):Binary registry: InstalledPDB CDB$ROOT: Applied successfully on 05-FEB-24 02.55.32.207669 PMPDB ORCLPDB1: Applied successfully on 05-FEB-24 02.55.33.974523 PMPDB PDB$SEED: Applied successfully on 05-FEB-24 02.55.33.368845 PMCurrent state of release update SQL patches:Binary registry:19.22.0.0.0 Release_Update 240104023954: InstalledPDB CDB$ROOT:Applied 19.3.0.0.0 Release_Update 190410122720 successfully on 11-JAN-24 04.17.24.530288 PMPDB ORCLPDB1:Applied 19.3.0.0.0 Release_Update 190410122720 successfully on 11-JAN-24 04.24.22.690150 PMPDB PDB$SEED:Applied 19.3.0.0.0 Release_Update 190410122720 successfully on 11-JAN-24 04.24.22.690150 PMAdding patches to installation queue and performing prereq checks...done
Installation queue:For the following PDBs: CDB$ROOT PDB$SEED ORCLPDB1No interim patches need to be rolled backPatch 35943157 (Database Release Update : 19.22.0.0.240116 (35943157)):Apply from 19.3.0.0.0 Release_Update 190410122720 to 19.22.0.0.0 Release_Update 240104023954No interim patches need to be appliedInstalling patches...
Patch installation complete.  Total patches installed: 3Validating logfiles...done
Patch 35943157 apply (pdb CDB$ROOT): SUCCESSlogfile: /opt/oracle/cfgtoollogs/sqlpatch/35943157/25527362/35943157_apply_ORCLCDB_CDBROOT_2024Feb05_21_09_27.log (no errors)
Patch 35943157 apply (pdb PDB$SEED): SUCCESSlogfile: /opt/oracle/cfgtoollogs/sqlpatch/35943157/25527362/35943157_apply_ORCLCDB_PDBSEED_2024Feb05_21_16_01.log (no errors)
Patch 35943157 apply (pdb ORCLPDB1): SUCCESSlogfile: /opt/oracle/cfgtoollogs/sqlpatch/35943157/25527362/35943157_apply_ORCLCDB_ORCLPDB1_2024Feb05_21_16_01.log (no errors)
SQL Patching tool complete on Mon Feb  5 21:27:20 2024real    18m19.684s
user    0m33.220s
sys     0m3.595s

这里有一个小插曲,第一次执行datapatch 时非常慢,我强行中断了。

然后回家又做了一遍,这次快些了,只用了18分钟。

执行datapatch时,解压的数据库补丁我已经删除了,说明其不需要了。

其他

RMAN catalog如果有,也需要升级。我没有,此处略。
还有一些可能需要升级的,详见文档。

验证升级成功

SQL> select banner_full from v$version;BANNER_FULL
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production
Version 19.22.0.0.0SQL> select banner_legacy from v$version;BANNER_LEGACY
--------------------------------------------------------------------------------
Oracle Database 19c Enterprise Edition Release 19.0.0.0.0 - Production

清理

# 删除备份的Oracle Home
rm ~/backup/oracle_home_bkup.tar
# 删除解压的补丁包
PATCHDIR=/home/oracle/patchdir
rm -fr $PATCHDIR

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/253509.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RTE2023第九届实时互联网大会:揭秘未来互联网趋势,PPT分享引领行业新思考

随着互联网的不断发展,实时互动技术正逐渐成为新时代的核心驱动力。 在这样的背景下,RTE2023第九届实时互联网大会如期而至,为业界人士提供了一个探讨实时互联网技术、交流创新理念的绝佳平台。 本文将从大会内容、PPT分享价值等方面&#…

队列---数据结构

定义 队列(Queue)简称队,也是一种操作受限的线性表,只允许在表的一端进行插入,而在表的另一端进行删除。向队列中插入元素称为入队或进队;删除元素称为出队或离队。 队头(Front)&a…

【蓝桥杯冲冲冲】Invasion of the Milkweed G

【蓝桥杯冲冲冲】Invasion of the Milkweed G 蓝桥杯备赛 | 洛谷做题打卡day30 文章目录 蓝桥杯备赛 | 洛谷做题打卡day30[USACO09OCT] Invasion of the Milkweed G题目描述输入格式输出格式样例 #1样例输入 #1样例输出 #1 题解代码我的一些话 [USACO09OCT] Invasion of the Mi…

前端JavaScript篇之addEventListener()方法的参数和使用

目录 addEventListener()方法的参数和使用参数和使用typelisteneroptionsuseCapturewantsUntrusted addEventListener()方法的参数和使用 addEventListener() 是 JavaScript 中用于向指定元素添加事件监听器的方法。这个方法通常用于处理用户交互,比如点击、鼠标悬…

Unity类银河恶魔城学习记录4-1,4-2 Attack Logic,Collider‘s collision excepetion源代码 P54 p55

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释,可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Entity.cs using System.Collections; using System.Collections.Generic; u…

统计数字出现次数的数位动态规划解法-数位统计DP

在处理数字问题时,我们经常遇到需要统计一定范围内各个数字出现次数的情况。这类问题虽然看起来简单,但当数字范围较大时,直接遍历统计的方法就变得不再高效。本文将介绍一种利用数位动态规划(DP)的方法来解决这一问题,具体来说,是统计两个整数a和b之间(包含a和b)所有…

JavaScript中call、apply、bind方法的应用与区别

在JavaScript中,call、apply和bind是函数的三个重要方法,它们虽然功能不同,但都可以用来改变函数的执行上下文或者传递参数。本文将分别介绍call、apply和bind方法的应用和区别,并附带示例代码。 一、call方法 call方法的作用是…

Java注解之@PathVariable,一文掌握@PathVariable注解知识(1)

🏆作者简介,普修罗双战士,一直追求不断学习和成长,在技术的道路上持续探索和实践。 🏆多年互联网行业从业经验,历任核心研发工程师,项目技术负责人。 🎉欢迎 👍点赞✍评论…

【漏洞复现】多语言药房管理系统MPMS文件上传漏洞

Nx01 产品简介 多语言药房管理系统 (MPMS) 是用 PHP 和 MySQL 开发的, 该软件的主要目的是在药房和客户之间提供一套接口,客户是该软件的主要用户。该软件有助于为药房业务创建一个综合数据库,并根据到期、产品等各种参数提供各种报告。 Nx02 漏洞描述 …

【动态规划】【前缀和】【C++算法】LCP 57. 打地鼠

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 C算法:前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LCP 57. 打地鼠 勇者面前有一个大小为3*3 的打地鼠游戏机,地鼠将随机出现在各个位置,moles[i] [t,x,y] 表…

JDK版本如何在IDEA中切换

JDK版本在IDEA中切换 一、项目结构设置 1.Platform——Settings 项目结构---SDKS 2.Project——SDK 3.Modules——SDK——Sources 4.Modules——SDK——Dependencies 二、设置--编译--字节码版本 Settings——Build,——Java Compiler

scikit-learn 1.3.X 版本 bug - F1 分数计算错误

如果您正在使用 scikit-learn 1.3.X 版本,在使用 f1_score() 或 classification_report() 函数时,如果参数设置为 zero_division1.0 或 zero_divisionnp.nan,那么函数的输出结果可能会出错。错误的范围可能高达 100%,具体取决于数…

通过docker-compose部署NGINX服务,并使该服务开机自启

要在通过docker-compose部署的NGINX服务实现开机自启,你需要确保Docker守护进程在系统启动时自动运行,并配置docker-compose.yml文件以在容器中运行NGINX服务。以下是步骤: 确保Docker守护进程开机启动: 在Ubuntu/Debian上&#x…

龙测科技荣获2023年度技术生态构建奖

本月,由极客传媒举办的“有被Q到”2024 InfoQ 极客传媒合作伙伴年会顺利举办,龙测科技喜获2023年度技术生态构建奖。 InfoQ是首批将Node.js、HTML5、Docker等技术全面引入中国的技术媒体之一,秉承“扎根社区、服务社区、引领社区”的理念&…

Oracle篇—logminer日志挖掘恢复误操作数据

☘️博主介绍☘️: ✨又是一天没白过,我是奈斯,DBA一名✨ ✌✌️擅长Oracle、MySQL、SQLserver、Linux,也在积极的扩展IT方向的其他知识面✌✌️ ❣️❣️❣️大佬们都喜欢静静的看文章,并且也会默默的点赞收藏加关注❣…

第三篇:跨平台QT开发-正则表达式和文件处理

正则表达式 正则表达式即一个文本匹配字符串的一种模式,Qt 中 QRegExp 类实现使用正则表达式 进行模式匹配,且完全支持 Unicode,主要应用:字符串验证、搜索、查找替换、分割。 正则表达式中字符及字符集 元素含义 c 匹配字符本…

beep蜂鸣器驱动实验-蜂鸣器驱动代码框架测试

一. 简介 上一篇文章学习了编译蜂鸣器驱动框架代码,并进行了编译。文章地址如下: beep蜂鸣器驱动实验-蜂鸣器驱动框架代码实现-CSDN博客 本文对上一篇所实现的蜂鸣器框架代码进行测试。 二. 蜂鸣器驱动代码框架测试 1. 拷贝驱动程序 注意&#xf…

Android开发--实时监测系统+部署故障诊断算法

0.项目整体思路介绍: 搭建无人装备模拟实验平台,使用采集器对数据进行采集,通过网络通信Udp协议发送到安卓端,安卓端作界面显示,算法使用matlab仿真后,用C语言实现。将采集器采集到的数据经过处理后训练&a…

css1文本属性

一.颜色(color)(一般用16进制) 二.对齐(text-align) 三.装饰(text-decoration) 四.缩进(text-indent)(一般用2em)(有单位)…

网络协议梳理

1 引言 在计算机网络中要做到有条不紊地交换数据,就必须遵守一些事先约定好的规则。这些规则明确规定了所交换的数据的格式以及有关的同步问题。这里所说的同步不是狭义的(即同频或同频同相)而是广义的,即在一定的条件下应当发生什…