Oracle Database 23ai 中的DBMS_HCHECK
在 Oracle 23ai 中,DBMS_HCHECK 包允许我们检查数据库中已知的数据字典问题。
几年前,Oracle 发布了 hcheck.sql 脚本(文档 ID 136697.1)来检查数据库中已知的数据字典问题。 DBMS_HCHECK 包意味着我们不再需要下载 hcheck.sql 脚本来执行此操作。需要 hcheck.sql 脚本可以留言。
存储过程中的参数,FULL 程序进行详尽的检查,而 CRITICAL 选项仅专注于最基本的检查,使其执行速度更快。这些过程最有价值的方面之一是它们不仅能够识别问题,而且还能够修复问题(如果您设置了 Repair= TRUE 参数)。
关于结果的说明
执行结果报告如下:
- CRITICAL:需要立即关注并修复。
- FAIL:需要解决的高优先级问题。
- WARN:不紧急但值得解决。
- PASS:未检测到问题。
注意:在 Oracle 23c 中,此包称为 DBMS_HCHECK,而在早期版本(如 Oracle 23.3ai)中,它称为 DBMS_DICTIONARY_CHECK。
以下实验环境为Oracle 23ai,采用的DBMS_DICTIONARY_CHECK。
一、使用脚本检查数据字典
1.1 检查cdb
SQL> spool hcheck.log
SQL> @hcheck
HCheck Version 04AUG23 on 19-DEC-2024 16:20:29
----------------------------------------------
Catalog Version 23.0.0.0.0 (2300000000)
db_name: FREE
Is CDB?: YES CON_ID: 1 Container: CDB$ROOTCatalog Fixed
Procedure Name Version Vs Release Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- LobNotInObj ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- MissingOIDOnObjCol ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- SourceNotInObj ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- OversizedFiles ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- PoorDefaultStorage ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- PoorStorage ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- TabPartCountMismatch ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- OrphanedTabComPart ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- MissingSum$ ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- MissingDir$ ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- DuplicateDataobj ... 2300000000 <= *All Rel* 12/19 16:20:29 PASS
.- ObjSynMissing ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- ObjSeqMissing ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedUndo ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedIndex ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedIndexPartition ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedIndexSubPartition ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedTable ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedTablePartition ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedTableSubPartition ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- MissingPartCol ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedSeg$ ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedIndPartObj# ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- DuplicateBlockUse ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- FetUet ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- Uet0Check ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- SeglessUET ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- BadInd$ ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- BadTab$ ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- BadIcolDepCnt ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- ObjIndDobj ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- TrgAfterUpgrade ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- ObjType0 ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- BadOwner ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- StmtAuditOnCommit ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- BadPublicObjects ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- BadSegFreelist ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- BadDepends ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- CheckDual ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- ObjectNames ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- ChkIotTs ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- NoSegmentIndex ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- BadNextObject ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- DroppedROTS ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- FilBlkZero ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- DbmsSchemaCopy ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanedIdnseqObj ... 2300000000 > 1201000000 12/19 16:20:30 PASS
.- OrphanedIdnseqSeq ... 2300000000 > 1201000000 12/19 16:20:30 PASS
.- OrphanedObjError ... 2300000000 > 1102000000 12/19 16:20:30 PASS
.- ObjNotLob ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- MaxControlfSeq ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- SegNotInDeferredStg ... 2300000000 > 1102000000 12/19 16:20:30 PASS
.- SystemNotRfile1 ... 2300000000 > 902000000 12/19 16:20:30 PASS
.- DictOwnNonDefaultSYSTEM ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- OrphanTrigger ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
.- ObjNotTrigger ... 2300000000 <= *All Rel* 12/19 16:20:30 PASS
---------------------------------------
19-DEC-2024 16:20:30 Elapsed: 1 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
Note that hcheck has been run on CDB$ROOT, consider to run it in each PDBPL/SQL procedure successfully completed.Statement processed.Complete output is in trace file:
/opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_11626_HCHECK.trcSQL> spool off
1.2 检查pdb
conn sys/oracle@pdb1 as sysdbaspool hcheck.log@hcheck
HCheck Version 04AUG23 on 19-DEC-2024 16:23:01
----------------------------------------------
Catalog Version 23.0.0.0.0 (2300000000)
db_name: FREE
Is CDB?: YES CON_ID: 3 Container: FREEPDB1Catalog Fixed
Procedure Name Version Vs Release Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- LobNotInObj ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- MissingOIDOnObjCol ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- SourceNotInObj ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OversizedFiles ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- PoorDefaultStorage ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- PoorStorage ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- TabPartCountMismatch ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedTabComPart ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- MissingSum$ ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- MissingDir$ ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- DuplicateDataobj ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- ObjSynMissing ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- ObjSeqMissing ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedUndo ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedIndex ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedIndexPartition ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedIndexSubPartition ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedTable ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedTablePartition ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedTableSubPartition ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- MissingPartCol ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedSeg$ ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedIndPartObj# ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- DuplicateBlockUse ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- FetUet ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- Uet0Check ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- SeglessUET ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- BadInd$ ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- BadTab$ ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- BadIcolDepCnt ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- ObjIndDobj ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- TrgAfterUpgrade ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- ObjType0 ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- BadOwner ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- StmtAuditOnCommit ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- BadPublicObjects ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- BadSegFreelist ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- BadDepends ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- CheckDual ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- ObjectNames ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- ChkIotTs ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- NoSegmentIndex ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- BadNextObject ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- DroppedROTS ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- FilBlkZero ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- DbmsSchemaCopy ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- OrphanedIdnseqObj ... 2300000000 > 1201000000 12/19 16:23:02 PASS
.- OrphanedIdnseqSeq ... 2300000000 > 1201000000 12/19 16:23:02 PASS
.- OrphanedObjError ... 2300000000 > 1102000000 12/19 16:23:02 PASS
.- ObjNotLob ... 2300000000 <= *All Rel* 12/19 16:23:02 PASS
.- MaxControlfSeq ... 2300000000 <= *All Rel* 12/19 16:23:02 PASS
.- SegNotInDeferredStg ... 2300000000 > 1102000000 12/19 16:23:02 PASS
.- SystemNotRfile1 ... 2300000000 > 902000000 12/19 16:23:02 PASS
.- DictOwnNonDefaultSYSTEM ... 2300000000 <= *All Rel* 12/19 16:23:02 PASS
.- OrphanTrigger ... 2300000000 <= *All Rel* 12/19 16:23:02 PASS
.- ObjNotTrigger ... 2300000000 <= *All Rel* 12/19 16:23:02 PASS
---------------------------------------
19-DEC-2024 16:23:02 Elapsed: 1 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)PL/SQL procedure successfully completed.Statement processed.Complete output is in trace file:
/opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_11647_HCHECK.trcspool off
二、DBMS_DICTIONARY_CHECK.FULL
FULL 过程执行所有检查并在屏幕上显示输出,并将其写入跟踪文件。我们可以针对根容器或可插拨数据库运行它。
以pdb1为示例
conn sys/oracle@pdb1 as sysdbaspool hcheck.logexec dbms_dictionary_check.full
HCheck Version 04AUG23 on 19-DEC-2024 16:23:01
----------------------------------------------
Catalog Version 23.0.0.0.0 (2300000000)
db_name: FREE
Is CDB?: YES CON_ID: 3 Container: FREEPDB1Catalog Fixed
Procedure Name Version Vs Release Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- LobNotInObj ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- MissingOIDOnObjCol ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
.- SourceNotInObj ... 2300000000 <= *All Rel* 12/19 16:23:01 PASS
。。省略
---------------------------------------
19-DEC-2024 16:23:02 Elapsed: 1 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)PL/SQL procedure successfully completed.Statement processed.Complete output is in trace file:
/opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_11647_HCHECK.trcspool off
三、DBMS_DICTIONARY_CHECK.CRITICAL
CRITICAL 过程仅执行关键检查并在屏幕上显示输出,并将其写入跟踪文件。我们可以针对根容器或可插拨数据库运行它。
以pdb1为示例
conn sys/oracle@pdb1 as sysdbaSQL> set serveroutput on size unlimited
SQL> exec DBMS_DICTIONARY_CHECK.CRITICAL;
dbms_dictionary_check on 19-DEC-2024 16:38:52
----------------------------------------------
Catalog Version 23.0.0.0.0 (2300000000)
db_name: FREE
Is CDB?: YES CON_ID: 3 Container: FREEPDB1
Trace File: /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_11647_DICTCHECK.trcCatalog Fixed
Procedure Name Version Vs Release Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- UndoSeg ... 2300000000 <= *All Rel* 12/19 16:38:52 PASS
.- MaxControlfSeq ... 2300000000 <= *All Rel* 12/19 16:38:52 PASS
.- InvalidTSMaxSCN ... 2300000000 > 1202000000 12/19 16:38:52 PASS
.- SysSequences ... 2300000000 <= *All Rel* 12/19 16:38:52 PASS
---------------------------------------
19-DEC-2024 16:38:52 Elapsed: 0 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
Trace File: /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_11647_DICTCHECK.trcPL/SQL procedure successfully completed.
SQL>
四、DBMS_DICTIONARY_CHECK.FULL(REPAIR=TRUE)
下面介绍了如何修复数据字典的问题或不一致。
EXECUTE dbms_dictionary_check.full(repair=>TRUE)
dbms_dictionary_check on 19-DEC-2024 16:40:01
----------------------------------------------
Catalog Version 23.0.0.0.0 (2300000000)
db_name: FREE
Is CDB?: YES CON_ID: 3 Container: FREEPDB1
Trace File: /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_11647_DICTCHECK.trcCatalog Fixed
Procedure Name Version Vs Release Timestamp
Result
------------------------------ ... ---------- -- ---------- --------------
------
.- OIDOnObjCol ... 2300000000 <= *All Rel* 12/19 16:40:01 PASS
.- LobNotInObj ... 2300000000 <= *All Rel* 12/19 16:40:01 PASS
。。省略
.- ObjLogicalConstraints ... 2300000000 <= *All Rel* 12/19 16:40:01 PASS
.- SysSequences ... 2300000000 <= *All Rel* 12/19 16:40:01 PASS
.- ValidateFile ... 2300000000 <= *All Rel* 12/19 16:40:01 PASS
---------------------------------------
19-DEC-2024 16:40:01 Elapsed: 0 secs
---------------------------------------
Found 0 potential problem(s) and 0 warning(s)
Trace File: /opt/oracle/diag/rdbms/free/FREE/trace/FREE_ora_11647_DICTCHECK.trcPL/SQL procedure successfully completed.
相关文章:
Oracle Database 23ai 中的DBMS_HCHECK
在 Oracle 23ai 中,DBMS_HCHECK 包允许我们检查数据库中已知的数据字典问题。 几年前,Oracle 发布了 hcheck.sql 脚本(文档 ID 136697.1)来检查数据库中已知的数据字典问题。 DBMS_HCHECK 包意味着我们不再需要下载 hcheck.sql…...
如何利用AWS监听存储桶并上传到tg bot
业务描述: 需要监听aws的存储中的最新消息,发送新的消息推送到指定tg的频道。 主要流程: 1.上传消息到s3存储桶(不做具体描述) 2.通过aws的lambda监听s3存储桶的最新消息(txt文件) 3.将txt文件…...
STM32 SPI读取SD卡
七个响应类型: R1 Response (Normal Response): R1响应是最基本的响应,包含一个字节的状态位,用于指示命令是否成功执行。常用。最高位为0。最低位为1表示是空闲状态。其他位是各种错误提示。 R1b Response (Normal with Busy): 类似于R1&a…...
TANGO与LabVIEW控制系统集成
TANGO 是一个开源的设备控制和数据采集框架,主要用于管理实验室设备、自动化系统和工业设备。它为不同类型的硬件提供统一的控制接口,并支持设备之间的通信,广泛应用于粒子加速器、同步辐射光源、实验室自动化和工业控制等领域。 1. TANGO的核…...
eth_type_trans 函数
eth_type_trans 是 Linux 内核网络子系统中的一个函数,它主要用于确定接收到的以太网数据包(Ethernet frame)的协议类型,并设置相应的 sk_buff 结构体的协议字段。以下是关于 eth_type_trans 的详细解释: 功能 eth_type_trans 函数的主要功能是根据以太网数据包的目的 M…...
派克汉尼汾推出新的快换接头产品系列,扩展热管理解决方案
近期,运动与控制技术领域的先行者——派克汉尼汾宣布推出四个具有开创性的热管理解决方案——NSAC、NSEC和NSIC系列盲插式快换接头以及NSSC螺纹连接快换接头。这些创新产品旨在满足电子冷却、电池制造、信息技术、能源管理、工程机械和运输等行业复杂的热管理需求。…...
uniapp 前端解决精度丢失的问题 (后端返回分布式id)
原因: 后端使用分布式id, id为19位数,导致精度丢失 ,前端解决方法 这个是通过浏览器请求回来的数据,这个时候id 数据已经丢失了,在数据库查询不到,在调获详情接口的时候会有问题 实际的: 解决…...
C语言:指针4(常量指针和指针常量及动态内存分配)
常量指针与指针常量 常量:分为字面量和只读常量,字面量就是我们平时直接操作的量: printf("%d\n",12);/printf("%s\n","hello");只读常量使用关键字 const 修饰,凡是被这个关键字修饰 的变量&…...
Win11提示fveapi.dll丢失是什么原因?fveapi.dll丢失怎么办?
一、fveapi.dll丢失的成因与影响 成因: 系统更新不完整:Win11系统在更新过程中,如果某个环节出现问题,可能会导致fveapi.dll等系统文件未能正确更新或安装。软件冲突:某些第三方软件可能与系统文件发生冲突ÿ…...
台球助教平台系统开发APP和小程序信息收藏功能需求解析(第十二章)
以下是开发台球助教系统客户端(APP,小程序,H5)几端的信息收藏功能的详细需求和功能说明,内容比较详细,可以说是一个教科书式的详细说明了,这套需求说明不仅仅用在我们的台球助教系统程序上&…...
如何设计 Vue 3 组件库:高效的组件化开发方法
如何设计 Vue 3 组件库:高效的组件化开发方法 📖 前言 随着前端技术的不断发展,Vue.js 已成为现代化 Web 应用开发的主流框架之一。Vue 3 引入了诸多改进,尤其是组合式 API,使得 Vue 在开发大型项目时,能够…...
第八节、Bresenham直线插补运动【51单片机-L298N-步进电机教程】
摘要:前面章节主要介绍单个电机控制,本节内容介绍两个电机完成直线插补运动 一、 Bresenham直线算法介绍 Bresenham直线算法由Jack Elton Bresenham于1962年在IBM开发,最初用于计算机显示直线,它确定应该选择的n维光栅的点&#…...
一个从oracle使用spool导出数据到kadb的脚本
1. dump_data.sh调用sql_dump.sh导出数据 2. load_data.sh将导出的数据加载至KADB 1. dump_data.sh #!/bin/bash begin_time$(date %Y%m%d -d -1 day) end_time$(date %Y%m%d) echo "数据导出日期:"$begin_time echo "数据导出日期:"$begin_time >>…...
【STM32】GPIO口以及EXTI外部中断
个人主页~ 有关结构体的知识在这~ 有关枚举的知识在这~ GPIO口以及EXTI外部中断 GPIO一、简介二、基本结构三、输入输出模式1、输入模式(1)上拉输入(2)下拉输入(3)浮空输入(4)模拟输…...
Confluent Cloud Kafka 可观测性最佳实践
Confluent Cloud 介绍 Confluent Cloud 是一个完全托管的 Apache Kafka 服务,提供高可用性和可扩展性,旨在简化数据流处理和实时数据集成。用户可以轻松创建和管理 Kafka 集群,而无需担心基础设施的维护和管理。Confluent Cloud 支持多种数据…...
【LeetCode每日一题】——415.字符串相加
文章目录 一【题目类别】二【题目难度】三【题目编号】四【题目描述】五【题目示例】六【题目提示】七【解题思路】八【时空频度】九【代码实现】十【提交结果】 一【题目类别】 字符串 二【题目难度】 简单 三【题目编号】 415.字符串相加 四【题目描述】 给定两个字符…...
linux---使用定时任务同步时间
首先,确保你的系统上安装了ntpdate工具,它用于从NTP服务器获取并设置系统时间。如果你的系统上没有安装,你可以通过包管理器进行安装 安装ntpdate yum install -y ntpdate设置定时任务 crontab -e在文件中添加下面内容 #每5分钟同步一次时间 …...
Windows、CentOS环境下搭建自己的版本管理资料库:GitBlit
可以搭建属于公司内部或者个人的Git服务器,方便程序代码及文档版本管理。 官网:http://www.gitblit.com/ Windows环境下安装 提前已经安装好了JDK。 官网下载Windows版的GitBlit。 将zip包解压到自己想要放置的文件夹下。 建立版本库路径,…...
KNN分类算法 HNUST【数据分析技术】(2025)
1.理论知识 KNN(K-Nearest Neighbor)算法是机器学习算法中最基础、最简单的算法之一。它既能用于分类,也能用于回归。KNN通过测量不同特征值之间的距离来进行分类。 KNN算法的思想: 对于任意n维输入向量,分别对应于特征…...
AI Agent开源框架汇总(持续更新)
文章目录 AI Agent开源框架汇总什么是AI Agent为什么需要智能体(Agent)Web3 AI Agent使用场景框架分类低代码(No-Code/Low-Code)框架基础框架代码框架Multi-Agent 框架 / 架构热门开源框架PhidataRigai16z的AI Agent框架ElizaLangChain和phidata对比OpenAI SwarmAI Agent开…...
SciencePlots——绘制论文中的图片
文章目录 安装一、风格二、1 资源 安装 # 安装最新版 pip install githttps://github.com/garrettj403/SciencePlots.git# 安装稳定版 pip install SciencePlots一、风格 简单好用的深度学习论文绘图专用工具包–Science Plot 二、 1 资源 论文绘图神器来了:一行…...
3.3.1_1 检错编码(奇偶校验码)
从这节课开始,我们会探讨数据链路层的差错控制功能,差错控制功能的主要目标是要发现并且解决一个帧内部的位错误,我们需要使用特殊的编码技术去发现帧内部的位错误,当我们发现位错误之后,通常来说有两种解决方案。第一…...
Swift 协议扩展精进之路:解决 CoreData 托管实体子类的类型不匹配问题(下)
概述 在 Swift 开发语言中,各位秃头小码农们可以充分利用语法本身所带来的便利去劈荆斩棘。我们还可以恣意利用泛型、协议关联类型和协议扩展来进一步简化和优化我们复杂的代码需求。 不过,在涉及到多个子类派生于基类进行多态模拟的场景下,…...
智能在线客服平台:数字化时代企业连接用户的 AI 中枢
随着互联网技术的飞速发展,消费者期望能够随时随地与企业进行交流。在线客服平台作为连接企业与客户的重要桥梁,不仅优化了客户体验,还提升了企业的服务效率和市场竞争力。本文将探讨在线客服平台的重要性、技术进展、实际应用,并…...
postgresql|数据库|只读用户的创建和删除(备忘)
CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...
Cinnamon修改面板小工具图标
Cinnamon开始菜单-CSDN博客 设置模块都是做好的,比GNOME简单得多! 在 applet.js 里增加 const Settings imports.ui.settings;this.settings new Settings.AppletSettings(this, HTYMenusonichy, instance_id); this.settings.bind(menu-icon, menu…...
ardupilot 开发环境eclipse 中import 缺少C++
目录 文章目录 目录摘要1.修复过程摘要 本节主要解决ardupilot 开发环境eclipse 中import 缺少C++,无法导入ardupilot代码,会引起查看不方便的问题。如下图所示 1.修复过程 0.安装ubuntu 软件中自带的eclipse 1.打开eclipse—Help—install new software 2.在 Work with中…...
有限自动机到正规文法转换器v1.0
1 项目简介 这是一个功能强大的有限自动机(Finite Automaton, FA)到正规文法(Regular Grammar)转换器,它配备了一个直观且完整的图形用户界面,使用户能够轻松地进行操作和观察。该程序基于编译原理中的经典…...
服务器--宝塔命令
一、宝塔面板安装命令 ⚠️ 必须使用 root 用户 或 sudo 权限执行! sudo su - 1. CentOS 系统: yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh2. Ubuntu / Debian 系统…...
Linux离线(zip方式)安装docker
目录 基础信息操作系统信息docker信息 安装实例安装步骤示例 遇到的问题问题1:修改默认工作路径启动失败问题2 找不到对应组 基础信息 操作系统信息 OS版本:CentOS 7 64位 内核版本:3.10.0 相关命令: uname -rcat /etc/os-rele…...
