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

news/2024/7/6 17:43:21/文章来源:https://blog.csdn.net/stevensxiao/article/details/136040285

需求

我的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.luyixian.cn/news_show_955617.aspx

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

相关文章

深兰科技陈海波出席CTDC2024第五届首席技术官领袖峰会:“民主化AI”的到来势如破竹

1月26日,CTDC 2024 第五届首席技术官领袖峰会暨出海创新峰会在上海举行。深兰科技创始人、董事长陈海波受邀出席了本届会议,并作为首个演讲嘉宾做了题为“前AGI时代的生产力革命范式”的行业分享。 作为国内顶级前瞻性技术峰会,CTDC首席技术官…

陪护系统|陪护小程序提升长者护理服务质量的关键

在如今逐渐老龄化的社会中,老年人对更好的护理服务需求不断增加。科技的进步使得陪护小程序系统源码成为提供优质服务的重要途径之一。本文将从运营角度探讨如何优化陪护小程序系统源码,提升长者护理服务的质量。 首先,我们需要对软件的设计和…

论文阅读-面向公平性的分布式系统负载均衡机制

摘要 当一组自利的用户在分布式系统中共享多个资源时,我们面临资源分配问题,即所谓的负载均衡问题。特别地,负载均衡被定义为将负载分配到分布式系统的服务器上,以便最小化作业响应时间并提高服务器的利用率。在本文中&#xff0…

MySQL篇----第十一篇

系列文章目录 文章目录 系列文章目录前言一、BLOB 和 TEXT 有什么区别?二、MySQL_fetch_array 和 MySQL_fetch_object 的区别是什么?三、MyISAM 表格将在哪里存储,并且还提供其存储格式?四、MySQL 如何优化 DISTINCT?五、如何显示前 50 行?前言 前些天发现了一个巨牛的人…

springboot集成easypoi导出多sheet页

pom文件 <dependency><groupId>cn.afterturn</groupId><artifactId>easypoi-base</artifactId><version>4.1.0</version> </dependency> 导出模板&#xff1a; 后端代码示例&#xff1a; /*** 导出加油卡进便利店大额审批列…

Java+SpringBoot:构建稳定高效的计算机基础教学平台

✍✍计算机编程指导师 ⭐⭐个人介绍&#xff1a;自己非常喜欢研究技术问题&#xff01;专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目&#xff1a;有源码或者技术上的问题欢迎在评论区一起讨论交流&#xff01; ⚡⚡ Java实战 |…

<网络安全>《15 移动安全管理系统》

1 概念 移动安全管理系统&#xff0c;MSM&#xff0c;Mobile security management,提供大而全的功能解决方案&#xff0c;覆盖了企业移动信息化中所涉及到安全沙箱、数据落地保护、威胁防护、设备管理、应用管理、文档管理、身份认证等各个维度。移动安全管理系统将设备管理和…

Python学习路线 - Python高阶技巧 - 拓展

Python学习路线 - Python高阶技巧 - 拓展 闭包闭包注意事项 装饰器装饰器的一般写法(闭包写法)装饰器的语法糖写法 设计模式单例模式工厂模式 多线程进程、线程并行执行多线程编程threading模块 网络编程Socket客户端和服务端Socket服务端编程实现服务端并结合客户端进行测试 S…

计算机毕业设计 | SpringBoot大型旅游网站 旅行后台管理系统(附源码)

1&#xff0c; 概述 1.1 项目背景 随着互联网技术的快速发展和普及&#xff0c;旅游行业逐渐转向线上&#xff0c;越来越多的游客选择在线预订旅游产品。传统的线下旅行社模式已不能满足市场需求&#xff0c;因此&#xff0c;开发一个高效、便捷的旅游网站成为行业的迫切需求…

论文阅读-Transformer-based language models for software vulnerability detection

「分享了一批文献给你&#xff0c;请您通过浏览器打开 https://www.ivysci.com/web/share/biblios/D2xqz52xQJ4RKceFXAFaDU/ 您还可以一键导入到 ivySCI 文献管理软件阅读&#xff0c;并在论文中引用 」 本文主旨&#xff1a;本文提出了一个系统的框架来利用基于Transformer的语…

VSTO打包Word插件WPS也支持

启动AdvancedInstallerPortable.exe打包软件 选择“加载项” 选择“office加载项”之后点“创建项目” 四、输入自已的插件名和公司名 任选一种包类型 五、选择包的保存位置 勾选“vsto office加载项” 六、选择要打包的项目debug文件夹 选择相应版本 配置相应环境 选择语言 添…

uniapp设置不显示顶部返回按钮

一、pages文件中&#xff0c;在相应的页面中设置 "titleNView": {"autoBackButton": false} 二、对应的页面文件设置隐藏元素 document.querySelector(.uni-page-head-hd).style.display none

Linux内核与驱动面试经典“小”问题集锦(4)

接前一篇文章&#xff1a;Linux内核与驱动面试经典“小”问题集锦&#xff08;3&#xff09; 问题5 问&#xff1a;Linux内核中内存分配都有哪些方式&#xff1f;它们之间的使用场景都是什么&#xff1f; 备注&#xff1a;这个问题是笔者近期参加蔚来面试时遇到的一个问题。这…

redis大数据统计之hyperloglog,GEO,Bitmap

目录 一、亿级系统常见的四中统计 1、聚合统计 2、排序统计 3、二值统计 4、基数统计 二、hyperloglog 去重的方式有哪些&#xff1f; hyperloglog实战演示 1、技术选型 2、代码演示 三、GEO GEO实战演示 四、Bitmap 一、亿级系统常见的四中统计 1、聚合统计 聚…

MacOS - 时间如何显示读秒?

mac 上的时间比较精确&#xff0c;所以打算把秒也显示出来&#xff0c;网上搜的大部分都是通过设置来设置的&#xff0c;但是一般会找不到设置&#xff0c;反正我就这里推荐使用命令来设置 在设置中进行设置 Tips&#xff1a;如果没有在设置中找到对应设置可以用以下方案 设置时…

7.0 Zookeeper 客户端基础命令使用

zookeeper 命令用于在 zookeeper 服务上执行操作。 首先执行命令&#xff0c;打开新的 session 会话&#xff0c;进入终端。 $ sh zkCli.sh 下面开始讲解基本常用命令使用&#xff0c;其中 acl 权限内容在后面章节详细阐述。 ls 命令 ls 命令用于查看某个路径下目录列表。…

【RK3288 Android6 T8, 突然无声音问题排查】

文章目录 【RK3288 Android6 T8&#xff0c; 突然无声音问题排查】问题描述问题调查patch 【RK3288 Android6 T8&#xff0c; 突然无声音问题排查】 问题描述 页面上方突然出现音量进度条&#xff0c;小铃铛图标显示静音状态&#xff0c;不再播报语音 手动去安卓设置内查看&a…

【人工智能】神奇的Embedding:文本变向量,大语言模型智慧密码解析(10)

什么是嵌入&#xff1f; OpenAI 的文本嵌入衡量文本字符串的相关性。嵌入通常用于&#xff1a; Search 搜索&#xff08;结果按与查询字符串的相关性排序&#xff09;Clustering 聚类&#xff08;文本字符串按相似性分组&#xff09;Recommendations 推荐&#xff08;推荐具有…

Android.mk 语法详解

一.Android.mk简介 Android.mk 是Android 提供的一种makefile 文件,注意用来编译生成&#xff08;exe&#xff0c;so&#xff0c;a&#xff0c;jar&#xff0c;apk&#xff09;等文件。 二.Android.mk编写 分析一个最简单的Android.mk LOCAL_PATH : $(call my-dir) //定义了…

深入探究:JSONCPP库的使用与原理解析

君子不器 &#x1f680;JsonCPP开源项目直达链接 文章目录 简介Json示例小结 JsoncppJson::Value序列化Json::Writer 类Json::FastWriter 类Json::StyledWriter 类Json::StreamWriter 类Json::StreamWriterBuilder 类示例 反序列化Json::Reader 类Json::CharReader 类Json::Ch…