当前位置: 首页 > news >正文

Oracle DBA 高效运维指南:高频实用 SQL 大全

大家好,这里是 DBA学习之路,专注于提升数据库运维效率。

目录

  • 前言
  • Top SQL
    • 表空间使用率
    • RMAN 备份
    • DataGuard
    • 等待事件
    • 行级锁
    • 在线日志切换
    • 用户信息
    • ASM 磁盘组
    • DBLink
    • 数据文件收缩
    • AWR
  • 写在最后

前言

作为一名 Oracle DBA,在日常数据库运维工作中,我们经常需要快速获取数据库关键信息、排查性能问题或执行维护操作。经过多年实战积累,我整理了一套高频使用的 SQL 查询集合,涵盖了表空间监控、备份恢复、DataGuard 管理、性能诊断等核心场景。

这些 SQL 经过生产环境验证,能显著提升 DBA 的工作效率。现在将这些实用脚本分享给大家,希望能帮助各位同行更高效地完成数据库运维工作。

Top SQL

表空间使用率

一键查询表空间使用率 SQL:

set linesize 2222 pagesize 1000 heading on wrap on
COLUMN  tbsname                             HEADING  'Name'
COLUMN  total_gb        FORMAT 99,990.99    HEADING  'Total(GB)'
COLUMN  used_gb         FORMAT 99,990.99    HEADING  'Used(GB)'
COLUMN  left_gb         FORMAT 99,990.99    HEADING  'Left(GB)'
COLUMN  used_percent    FORMAT 990.99       HEADING  'Used(%)'
COLUMN  count_file      FORMAT 9999         HEADING  'File Count'-- 11G
SELECT d.tablespace_name tbsname,round(d.tablespace_size * (SELECT value FROM v$parameter WHERE name='db_block_size') / 1024 / 1024 / 1024,2) total_gb,round(d.used_space * (SELECT value FROM v$parameter WHERE name='db_block_size')  / 1024 / 1024 / 1024,2) used_gb,round((d.tablespace_size - d.used_space) * (SELECT value FROM v$parameter WHERE name='db_block_size')  / 1024 / 1024 / 1024,2) left_gb,round(d.used_percent,2) used_percent,(select COUNT(file_name) from dba_data_files where tablespace_name = d.tablespace_name) count_fileFROM dba_tablespace_usage_metrics dORDER BY 2 DESC;-- 12C 以上
SELECT d.tablespace_name tbsname,round(d.tablespace_size * (SELECT value FROM v$parameter WHERE name='db_block_size') / 1024 / 1024 / 1024,2) total_gb,round(d.used_space * (SELECT value FROM v$parameter WHERE name='db_block_size')  / 1024 / 1024 / 1024,2) used_gb,round((d.tablespace_size - d.used_space) * (SELECT value FROM v$parameter WHERE name='db_block_size')  / 1024 / 1024 / 1024,2) left_gb,round(d.used_percent,2) used_percent,(select COUNT(file_name) from cdb_data_files where con_id = d.con_id and tablespace_name = d.tablespace_name) count_fileFROM cdb_tablespace_usage_metrics d
WHERE d.con_id not in (1,2)ORDER BY d.con_id,2 DESC;

RMAN 备份

一键查询 RMAN 备份情况:

set linesize 2222 pagesize 1000 heading on wrap on
col status for a30
col input_type for a20
col start_time for a25
col end_time for a25
col input_bytes_display for a10
col output_bytes_display for a10 
col time_taken_display for a10SELECT input_type, status,to_char(start_time, 'yyyy-mm-dd hh24:mi:ss') as start_time,to_char(end_time, 'yyyy-mm-dd hh24:mi:ss') as end_time,input_bytes_display, output_bytes_display, time_taken_display, compression_ratio
FROM v$rman_backup_job_details
ORDER BY start_time DESC;

DataGuard

DG 日常运维高频 SQL:

-- 主库查询 DataGuard 同步状态
set linesize 2222 heading on wrap on
column dest_name format a20
column status format a8
column database_mode format a15
column recovery_mode format a35
column protection_mode format a25
column destination format a15
column archived_seq# format 999999999
column applied_seq# format 999999999
column error format a10
column srl format a5
column db_unique_name format a15
column gap_status format a10SELECT inst_id, dest_name, status, database_mode, protection_mode,recovery_mode, gap_status, archived_seq#, applied_seq#, srl,db_unique_name, destination, error
FROM gv$archive_dest_status
WHERE status <> 'INACTIVE'
AND type = 'PHYSICAL';-- 主库查看当前归档日志
set line2222 pages1000
SELECT thread#,MAX(sequence#) "Last Primary Seq Generated"FROM v$archived_log val,v$database     vdbWHERE val.resetlogs_change# = vdb.resetlogs_change#GROUP BY thread#ORDER BY 1;-- 备库查看当前归档日志
set line2222 pages1000
SELECT thread#,MAX(sequence#) "Last Standby Seq Received"FROM v$archived_log val,v$database     vdbWHERE val.resetlogs_change# = vdb.resetlogs_change#GROUP BY thread#ORDER BY 1;set line2222 pages1000
SELECT thread#,MAX(sequence#) "Last Standby Seq Applied"FROM v$archived_log val,v$database     vdbWHERE val.resetlogs_change# = vdb.resetlogs_change#AND val.applied IN ('YES','IN-MEMORY')GROUP BY thread#ORDER BY 1;-- 备库查询 DataGuard 进程同步状态
set line2222 pages1000
select inst_id,pid,process,thread#,sequence#,status,delay_mins from gv$managed_standby;-- 备库查询未应用的归档日志
select inst_id,count(*) from gv$archived_log where applied='NO' group by inst_id order by inst_id;-- 检查是否存在 GAP
select * from gv$archive_gap;-- 备库查看闪回情况
set linesize 2222 heading on wrap on
column check_date format a19
column flashback_to format a19
column interval_day format 99999.99
SELECT to_char(SYSDATE, 'yyyy-mm-dd hh24:mi:ss') AS check_date,to_char(oldest_flashback_time, 'yyyy-mm-dd hh24:mi:ss') AS flashback_to,round(SYSDATE - oldest_flashback_time, 2) AS interval_day,retention_target,round(flashback_size / 1024 / 1024, 2) AS flashback_mb,round(estimated_flashback_size / 1024 / 1024, 2) AS estimated_flashback_mb
FROM v$flashback_database_log;

等待事件

一键获取当前数据库 Top 等待事件:

-- 查看当前 top event 的源头
set line2222 pages1000
column serial# format 999999
column object_name format a30
column sql_text format a50
col session_detail format a30SELECT rpad('+',LEVEL,'-') || sid || ' ' || sess.module session_detail,sid,serial#,'alter system kill session ''' || sid || ',' || serial# || ',@' || sess.inst_id || ''' immediate;' AS kill_sql,blocker_sid,sess.inst_id,wait_event_text,object_name,rpad(' ',LEVEL) || sql_text sql_textFROM v$wait_chains cLEFT OUTER JOIN dba_objects oON (row_wait_obj# = object_id)JOIN gv$session sessUSING (sid)LEFT OUTER JOIN v$sql SQLON (sql.sql_id = sess.sql_id AND sql.child_number = sess.sql_child_number)
CONNECT BY PRIOR sid = blocker_sidAND PRIOR sess_serial# = blocker_sess_serial#AND PRIOR instance = blocker_instanceSTART WITH blocker_is_valid = 'FALSE';

行级锁

一键获取当前数据库行级锁 SQL:

-- 查看当前数据库节点是否存在锁
set line2222 pages1000
col OS_USER_NAME for a10
col owner for a20
col object_name for a40
col object_type for a30
select a.OS_USER_NAME, c.owner, c.object_name,c.object_type, b.sid, b.serial#, logon_time from v$locked_object a, v$session b, dba_objects c where a.session_id = b.sid and a.object_id = c.object_id order by b.logon_time;-- 查看锁的 sql
select sql_text from v$sql where hash_value in (select sql_hash_value from v$session where sid in (select session_id from v$locked_object));
select 'kill -9 '||spid from v$process where addr in (select paddr from v$session where sid in ( select session_id from v$locked_object));-- 系统层面 kill 会话
set line2222 pages10000
select 'kill -9 ' || a.spidfrom v$process a, v$session bwhere a.addr = b.paddrand a.background is nulland b.sid = 2721and b.serial# = 4317;## 关闭连接当前数据库的监听进程
ps -ef|grep -v grep|grep LOCAL=NO|awk '{print $2}'|xargs kill -9

在线日志切换

一键查询在线日志切换频率:

SELECTSUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5) DAY, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'00',1,0)) H00, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'01',1,0)) H01, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'02',1,0)) H02, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'03',1,0)) H03, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'04',1,0)) H04, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'05',1,0)) H05, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'06',1,0)) H06, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'07',1,0)) H07, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'08',1,0)) H08, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'09',1,0)) H09, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'10',1,0)) H10, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'11',1,0)) H11, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'12',1,0)) H12, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'13',1,0)) H13, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'14',1,0)) H14, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'15',1,0)) H15, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'16',1,0)) H16, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'17',1,0)) H17, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'18',1,0)) H18, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'19',1,0)) H19, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'20',1,0)) H20, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'21',1,0)) H21, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'22',1,0)) H22, SUM(DECODE(SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH24:MI:SS'),10,2),'23',1,0)) H23, COUNT(*)                                                                      TOTAL
FROMgv$log_history  a where SYSDATE - first_time < 7
GROUP BY SUBSTR(TO_CHAR(first_time, 'MM/DD/RR HH:MI:SS'),1,5) order by 1;

用户信息

一键查询非系统用户信息:

-- 11G
set lines222 pages1000 
col username for a25 
col account_status for a20 
col default_tablespace for a20 
col temporary_tablespace for a20 
col profile for a20
SELECT username,account_status,default_tablespace,temporary_tablespace,created,profileFROM dba_usersWHERE account_status = 'OPEN'ORDER BY created;-- 12C 以上
set lines222 pages1000 
col username for a25 
col account_status for a20 
col default_tablespace for a20 
col temporary_tablespace for a20 
col profile for a20
SELECT a.username,b.account_status,b.default_tablespace,b.temporary_tablespace,b.created,b.profileFROM all_users a,dba_users bWHERE a.user_id = b.user_idAND a.oracle_maintained = 'N'AND b.account_status = 'OPEN';

ASM 磁盘组

一键查询 ASM 磁盘组相关信息:

-- asm 磁盘组信息
set lines2222 pages10000                                                                                                                                         
select name,round(usable_file_mb/1024,2) usable_file_gb,round((total_mb - free_mb)/total_mb * 100,2) usedfrom v$asm_diskgroup;-- asm 磁盘信息
set line2222 pages1000                                                                                                                                           
col path for a60                                                                                                                                               
col FAILGROUP for a12                                                                                                                                                                                                                                                                                    
col header_status for a16
select path,MOUNT_STATUS,HEADER_STATUS,MODE_STATUS,STATE,TOTAL_MB from v$asm_disk order by 2,3,4,5;-- asm 磁盘组明细信息
set lines2222 pages10000                                                                                                                                         
col path for a40                                                                                                                                              
col FAILGROUP for a12                                                                                                                                          
col diskgroup_name for a30
col disk_name for a30
col HEADER_STATUS for a10
col state for a10
Col MOUNT_STATUS for a7
col MODE_STATUS for a10
select b.name diskgroup_name,a.path,a.FAILGROUP,a.name as disk_name,a.STATE,a.MODE_STATUS,a.HEADER_STATUS,a.MOUNT_STATUS,a.REPAIR_TIMER
from v$asm_disk a,v$asm_diskgroup b where a.GROUP_NUMBER = b.GROUP_NUMBER
order by a.FAILGROUp;-- 查看 ASM 磁盘重平衡
set line2222 pages10000
col error_code for a20
select * from gv$asm_operation;

DBLink

一键获取 DBLink 创建 SQL:

set line2222 pages1000
col text for a150
SELECT 'CREATE '||DECODE(U.NAME,'PUBLIC','public ')||'DATABASE LINK '|| DECODE(U.NAME,'PUBLIC',Null, 'SYS','',U.NAME||'.')|| L.NAME||'CONNECT TO ' || L.USERID || ' IDENTIFIED BY "'||L.PASSWORD||'" USING '''||L.HOST ||';' TEXT
FROM SYS.LINK$ L, SYS.USER$ U
WHERE L.OWNER# = U.USER#;

数据文件收缩

一键收缩数据文件 SQL:

set line222 pagesize1000
col tablespace_name for a30
col sql for a100
SELECT a.tablespace_name,
'alter database datafile ''' || file_name || ''' resize ' ||(ceil((nvl(hwm,1) * c.value) / 1024 / 1024) + 50) || 'M;' sqlFROM dba_data_files a,(SELECT file_id,MAX(block_id + blocks - 1) hwmFROM dba_extentsGROUP BY file_id) b,(SELECT VALUEFROM v$parameterWHERE NAME = 'db_block_size') cWHERE a.file_id = b.file_id(+)AND a.status != 'INVALID'AND a.online_status != 'OFFLINE'AND a.tablespace_name NOT IN ('UNDOTBS1','UNDOTBS2','SYSTEM','SYSAUX','USERS')ORDER BY 1 DESC;

AWR

一键生成 AWR 性能报告:

-- 生成单实例 AWR 报告:
@$ORACLE_HOME/rdbms/admin/awrrpt.sql--生成 Oracle RAC AWR 报告
@$ORACLE_HOME/rdbms/admin/awrgrpt.sql-- 生成 RAC 环境中特定数据库实例的 AWR 报告
@$ORACLE_HOME/rdbms/admin/awrrpti.sql-- 生成 Oracle RAC 环境中多个数据库实例的 AWR 报告的方法
@$ORACLE_HOME/rdbms/admin/awrgrpti.sql-- 生成 SQL 语句的 AWR 报告
@$ORACLE_HOME/rdbms/admin/awrsqrpt.sql-- 生成特定数据库实例上某个 SQL 语句的 AWR 报告
@$ORACLE_HOME/rdbms/admin/awrsqrpi.sql

写在最后

数据库运维是一门需要不断积累和实践的艺术。本文分享的 SQL 脚本只是 DBA 工具箱中的一部分基础工具,真正的专业能力在于理解这些查询背后的原理,并能够根据实际场景灵活运用。

建议各位 DBA 同行在日常工作中持续积累自己的 SQL 脚本库,并定期整理优化。如果您有更好的 SQL 脚本或使用技巧,欢迎在评论区分享交流。让我们共同提升 Oracle 数据库的运维效率,打造更稳定高效的数据库环境!

温馨提示:在生产环境执行任何管理操作前,请务必先在测试环境验证,并确保有完整的备份方案。

相关文章:

Oracle DBA 高效运维指南:高频实用 SQL 大全

大家好&#xff0c;这里是 DBA学习之路&#xff0c;专注于提升数据库运维效率。 目录 前言Top SQL表空间使用率RMAN 备份DataGuard等待事件行级锁在线日志切换用户信息ASM 磁盘组DBLink数据文件收缩AWR 写在最后 前言 作为一名 Oracle DBA&#xff0c;在日常数据库运维工作中&…...

SpringBoot原生实现分布式MapReduce计算

一、架构设计调整 核心组件替换方案&#xff1a; 1、注册中心 → 数据库注册表 2、任务队列 → 数据库任务表 3、分布式锁 → 数据库行级锁 4、节点通信 → HTTP REST接口 二、数据库表结构设计 节点注册表 CREATETABLE compute_nodes (node_id VARCHAR(36)PRIMARYKEY,last_…...

可吸收聚合物:医疗科技与绿色未来的交汇点

可吸收聚合物&#xff08;Biodegradable Polymers&#xff09;作为生物医学工程的核心材料&#xff0c;正引领一场从“金属/塑料植入物”到“智能降解材料”的范式转移。根据QYResearch&#xff08;恒州博智&#xff09;预测&#xff0c;2031年全球可吸收聚合物市场销售额将突破…...

Java从入门到“放弃”(精通)之旅——抽象类和接口⑨

Java从入门到“放弃”&#xff08;精通&#xff09;之旅&#x1f680;——抽象类和接口⑨ 引言 在Java面向对象编程中&#xff0c;抽象类和接口是两个非常重要的概念。它们为代码提供了更高层次的抽象能力&#xff0c;是设计灵活、可扩展系统的关键工具。 &#x1f7e6;一、抽…...

游戏引擎学习第239天:通过 OpenGL 渲染游戏

回顾并为今天的内容做准备 今天&#xff0c;我想继续完成这部分内容&#xff0c;因为实际上我们已经完成了大部分工作&#xff0c;剩下的部分并不复杂。我计划今天完成这部分实现&#xff0c;至少是那些不涉及纹理的部分。正如昨天所说&#xff0c;纹理部分才是唯一比较复杂的…...

基于Python的多光谱遥感数据处理与分类技术实践—以农作物分类与NDVI评估为例

多光谱遥感数据包含可见光至红外波段的光谱信息&#xff0c;Python凭借其丰富的科学计算库&#xff08;如rasterio、scikit-learn、GDAL&#xff09;&#xff0c;已成为处理此类数据的核心工具。本文以Landsat-8数据为例&#xff0c;演示‌辐射校正→特征提取→监督分类→精度评…...

数字空间与VR有什么关系?什么是数字空间?

数字空间与VR的关系 数字空间与虚拟现实&#xff08;VR&#xff09;之间存在着紧密而复杂的关系&#xff0c;它们相互影响、共同促进发展。为了深入理解这一关系&#xff0c;我们需要明确数字空间的基本概念及其与VR技术的相互作用。 数字空间的概念 数字空间&#xff0c;通常…...

navicat导入sql文件 所有问题解决方法集合

问题一&#xff1a;mysql导入大批量数据出现MySQL server has gone away的解决方法 方法一&#xff1a; 查看mysql max_allowed_packet的值 show global variables like max_allowed_packet;可以看到是64M(67108864/1024/1024) 调整为所需大小 例如我们需要调整为1024M(102…...

3、有Bluetooth,LCD,USB,SD卡,PSRAM,FLASH、TP等软硬件驱动开发经验优先考虑

首先&#xff0c;Bluetooth驱动开发经验。蓝牙是一种无线通信技术&#xff0c;广泛应用于设备之间的数据传输&#xff0c;比如耳机、键盘、智能家居设备等。驱动开发可能涉及底层协议的实现、与硬件的交互&#xff0c;以及确保兼容性和稳定性。需要了解蓝牙协议栈&#xff0c;如…...

【k8s】PV,PVC的回收策略——return、recycle、delete

PV 和 PVC 的回收策略主要用于管理存储资源的生命周期&#xff0c;特别是当 PVC 被删除时&#xff0c;PV 的处理方式。回收策略决定了 PV 在 PVC 被删除后的行为。 回收策略的类型 Kubernetes 提供了三种主要的回收策略&#xff0c;用于管理 PV 的生命周期&#xff1a; Reta…...

K8S探针的应用

目录&#xff1a; 1、探针的简介2、启用探针2.1、启用就绪探针2.2、启用存活探针2.3、启用启动探针&#xff08;可选&#xff09; 1、探针的简介 在Kubernetes中&#xff0c;探针&#xff08;Probes&#xff09;是用来检查容器健康状况的工具&#xff0c;它们帮助Kubernetes了…...

c++STL——stack、queue、priority_queue的模拟实现

文章目录 stack、queue、priority_queue的模拟实现使用部分模拟实现容器适配器deque的介绍原理真实结构deque的迭代器deque的操作deque的优缺点 stack的模拟实现按需实例化queue的模拟实现priority_queue的模拟实现为何引入仿函数代码实现 stack、queue、priority_queue的模拟实…...

【Redis】字符串类型List 常用命令详解

文章目录 1. 添加1.1 lpush - 从左或Rpush - 从右添加元素1.2 linsert - 插入新值到某个值前后 2. 获取2.1 lrange - 根据区间获取值2.2 lindex - 根据下标获取值2.3 llen - 获取列表的长度 3. 删除3.1 lpop - 移除最左或rpop - 最右的元素3.2 lrem - 移除指定的值3.3 rpoplpus…...

.NET仓储层在 using 块中创建 SqlSugarClient 的风险

如题&#xff0c;先看代码示例 using 块的使用 public ISugarQueryable<T> GetSet(Expression<Func<T, bool>> whereExpression null) {using (SqlSugarClient dbClient SqlSugarInstance.GetInstance()){var query dbClient.Queryable<T>();if (w…...

PowerQuery逆透视将二维表转换为一维表

PowerQuery逆透视将二维表转换为一维表 原因&#xff1a;为什么要转成一维表&#xff1f; 实例&#xff1a; 1.例如如果用二维表做占比图&#xff0c;我们需要将所有的指标列添加到值上&#xff0c;如图&#xff1a; 2.如果用一维表&#xff0c;我们只需要添加一个指标列和一…...

谐振模态图

t0时刻&#xff0c;原边Q6、Q7导通副边Q1、Q4导通 T1时刻&#xff0c;原边谐振回路电流&#xff0c;由负变正&#xff0c;过零点&#xff0c;副边绕组电流小于负载电流&#xff0c;输出电容放电 T2时刻&#xff0c;副边绕组电流等于负载电流&#xff0c;输出电容不充不放 T3时…...

Idea 配置 Git

1、下载Git 下载地址&#xff1a; Git - Downloading Package 2、win 打开 git bash &#xff0c;配置邮箱和用户名 //配置邮箱 git config --global user.email "710419844qq.com" //配置全局用户名 git config --global user.name "smelodys" 3、ide…...

B + 树与 B 树的深度剖析

在数据库领域&#xff0c;B 树和 B 树是两种极为关键的数据结构&#xff0c;它们对于数据的存储、查询以及索引的构建等方面都有着深远的影响。深刻理解这两种树的原理、特性以及它们之间的差异&#xff0c;对于数据库的性能优化、数据组织和管理等工作具有不可替代的重要作用…...

MongoDB索引

一、索引核心价值 MongoDB索引通过构建高效查询路径&#xff0c;从根本上改变数据检索方式。当未建立索引时&#xff0c;数据库引擎被迫执行全集合扫描&#xff08;COLLSCAN&#xff09;&#xff0c;如同在无序的书架上逐本查找目标书籍。通过建立索引&#xff0c;查询复杂度从…...

Docker--Docker网络原理

虚拟网卡 虚拟网卡&#xff08;Virtual Network Interface&#xff0c;简称vNIC&#xff09; 是一种在软件层面模拟的网卡设备&#xff0c;不依赖于物理硬件&#xff0c;而是通过操作系统或虚拟化技术实现网络通信功能。它允许计算机在虚拟环境中模拟物理网卡的行为&#xff0…...

Java 性能优化:如何在资源受限的环境下实现高效运行?

Java 性能优化&#xff1a;如何在资源受限的环境下实现高效运行&#xff1f; 在计算机系统中&#xff0c;性能优化是一项至关重要的任务&#xff0c;尤其是在资源受限的环境下&#xff0c;如何让 Java 程序高效运行是许多开发者面临的挑战。本文将深入探讨 Java 性能优化的策略…...

Spring之我见 - Spring MVC重要组件和基本流程

核心组件详解 前端控制器 - DispatcherServlet 作用&#xff1a;所有请求的入口&#xff0c;负责请求分发和协调组件。 public class DispatcherServlet extends HttpServlet {// 核心服务方法protected void doService(HttpServletRequest request, HttpServletResponse re…...

MongoDB常用命令

数据库操作 显示所有数据库 show dbs 切换/创建数据库 (如果数据库不存在则创建) use <database_name> 删除当前数据库 db.dropDatabase() 查看当前数据库 db 查看数据库状态 db.stats() 集合操作 显示当前数据库中的所有集合 show collections 创建集合 d…...

Java Set/List 知识点 Java面试 基础面试题

Java Set/List 知识点 Set与List区别 List 有序、值可重复,内部数据结构 Obejct[ ] 数组Set 无序、值不重复,内部数据结构 HashMap keyobject value固定new Object() ArrayList 有序存储元素允许元素重复&#xff0c;允许存储 null 值支持动态扩容非线程安全 HashSet、LinkedHa…...

C#委托介绍

委托可以将方法作为参数传递&#xff0c;同时委托也可以自己作为参数传递 委托可分为自定义委托delegate 无返回值的Action 与有返回值的Func委托 也有匿名委托与Lamada 委托支持多播是事件的基础 用处如在分线程调用主线程的UI invoke public delegate string Say(stri…...

三网通电玩城平台系统结构与源码工程详解(三):控制台与银商权限模块设计

本篇聚焦于三网通电玩城系统中的控制台管理系统及银商权限逻辑。通过深入解构后台系统的角色分权、账目明细管理、发卡接口与日志追踪机制&#xff0c;本文将提供完整的权限划分方案和部分关键实现代码&#xff0c;为平台运维与数据安全提供坚实基础。 一、控制台整体结构概览 …...

audio 核心服务AudioPolicyService 和AudioFlinger启动流程

目录 1、audioserver启动 2、AudioPolicyService启动 3、AudioFlinger启动 audio的核心服务有两个&#xff0c;AudioPolicyService 和AudioFlinger他们到在audioserver一个进程中 1、audioserver启动 设备开机&#xff0c;系统启动时将执行 /system/etc/init/audioserver.rc…...

Android自动化功能-使用Appium获取android页面节点元素信息

一、appium安装和使用 官方网站&#xff1a;https://appium.io/docs/en/latest/ github地址&#xff1a;https://github.com/appium/appium 安装步骤&#xff1a; 首先需要安装node.js 安装好node.js之后使用npm安装 appium npm install -g appium appium -v # 检查安装版本…...

springboot项目配置springMVC

为什么需要配置springMVC 在Spring Boot中配置Spring MVC&#xff0c;实际上是为了更好地集成和使用Spring框架提供的Web开发功能。 Spring Boot本身是为了简化Spring应用的配置和部署&#xff0c;它内置了一些默认的配置和组件&#xff0c;帮助开发者快速启动应用&#xff0c…...

解决 MongoDB 查询中的 `InvalidMongoDbApiUsageException` 错误

您在使用 Spring Data MongoDB 时遇到了 InvalidMongoDbApiUsageException 异常&#xff0c;错误信息如下&#xff1a; “由于 com.mongodb.BasicDocument 的限制&#xff0c;您无法添加第二个 ‘null’ 条件。查询已经包含 ‘{ “KaTeX parse error: Expected }, got EOF at e…...

多模态知识图谱:重构大模型RAG效能新边界

当前企业级RAG&#xff08;Retrieval-Augmented Generation&#xff09;系统在非结构化数据处理中面临四大核心问题&#xff1a; 数据孤岛效应&#xff1a;异构数据源&#xff08;文档/表格/图像/视频&#xff09;独立存储&#xff0c;缺乏跨模态语义关联&#xff0c;导致知识检…...

基于大模型的贲门失弛缓症手术全流程风险预测与治疗方案研究

目录 一、引言 1.1 研究背景与意义 1.2 研究目的与创新点 1.3 研究方法与技术路线 二、贲门失弛缓症概述 2.1 定义与发病机制 2.2 临床表现与诊断标准 2.3 治疗现状与挑战 三、大模型预测原理与数据基础 3.1 大模型介绍与选择依据 3.2 数据收集与预处理 3.3 模型训…...

C语言内存函数

1.memcpy函数 1.1:memcpy函数的介绍 1.2:模拟实现memcpy函数 我实现的memcpy函数无法处理两块重叠的内存的数据的拷贝 #include<assert.h> void* my_memcpy(void* dest, const void* src,size_t num) {assert(dest ! NULL && src ! NULL);//从src指向的内存位…...

Uniapp:navigator(页面跳转)

目录 一、基本概述二、属性说明三、具体使用 一、基本概述 页面跳转。该组件类似HTML中的<a>组件&#xff0c;但只能跳转本地页面。目标页面必须在pages.json中注册。 二、属性说明 属性名类型默认值说明平台差异说明urlString应用内的跳转链接&#xff0c;值为相对路…...

建造者模式详解及其在自动驾驶场景的应用举例(以C++代码实现)

模式定义 建造者模式&#xff08;Builder Pattern&#xff09;是一种创建型设计模式&#xff0c;用于分步构造复杂对象。该模式将对象构建过程与其表示分离&#xff0c;支持通过相同构建过程生成不同表现形式&#xff0c;特别适合需要灵活配置的自动驾驶车辆系统搭建场景。 自…...

2025年数字媒体设计与文化交流国际会议 (DMACE 2025)

2025 International Conference on Digital Media Art and Cultural Exchange 【一】、大会信息 会议简称&#xff1a;DMACE 2025 大会地点&#xff1a;中国烟台 收录检索&#xff1a;提交Ei Compendex,CPCI,CNKI,Google Scholar等 【二】会议…...

【MCP Node.js SDK 全栈进阶指南】利用TypeScript-SDK打造高效MCP应用

前言 在MCP(模型上下文协议)的世界中,SDK(软件开发工具包)是开发者构建应用的重要工具。作为MCP生态中最活跃的SDK之一,TypeScript-SDK提供了简洁而强大的接口,帮助开发者快速构建高效的MCP应用。本文将带你深入了解MCP的TypeScript-SDK,掌握其核心概念和使用方法,让…...

LangChain4j 搭配 Kotlin:以协程、流式交互赋能语言模型开发

Kotlin 支持 | LangChain4j Kotlin 是一种面向 JVM&#xff08;及其他平台&#xff09;的静态类型语言&#xff0c;能够实现简洁优雅的代码&#xff0c;并与 Java 库无缝互操作。 LangChain4j 利用 Kotlin 扩展和类型安全构建器来增强 Java API&#xff0c;为其增添特定于 Ko…...

搜索引擎的高级语法

文章目录 精确搜索&#xff1a;双引号站内搜索&#xff1a;site通配符搜索&#xff1a;*减号缩小范围&#xff1a;-文档搜索&#xff1a;filetypeURL搜索&#xff1a; inurl标题搜索&#xff1a;intitle正文搜索&#xff1a;intext参考链接 精确搜索&#xff1a;双引号 “ ” …...

探秘 SenseGlove Nova 2力反馈手套,解锁 VR 键盘交互新方式

在虚拟现实&#xff08;VR&#xff09;技术不断发展的现今&#xff0c;键盘交互体验的优化成为众多科研人员关注的重点。今天&#xff0c;让我们一同走进 Heilbronn 大学与 SenseGlove 的合作项目&#xff0c;探寻 SenseGlove Nova 2 力反馈手套为 VR 环境中的键盘交互带来的新…...

品牌如何通过朝日新闻出海日本?——某企业日本媒体发稿实战

文 | 言同数字亚太传播实验室 一、日本市场的隐形门槛&#xff1a;中国品牌的三大痛点 案例背景&#xff1a; 某中国灵芝保健品企业&#xff08;代号"ForestLife"&#xff09;&#xff0c;产品虽获中国/欧盟有机认证&#xff0c;但在日本市场面临&#xff1a; 认知…...

安全文件共享实际上是什么样的呢?

通过即时通讯应用共享敏感信息的安全漏洞由来已久&#xff0c;且令人担忧。很少有事件像最近曝光的美国高级政客通过热门即时通讯应用 Signal 泄露军事攻击计划那样引起公众关注。 此类备受瞩目的漏洞凸显了全球各组织迫切需要重新评估其安全交换机密数据的方法。对于许多机密…...

深入探索Spark-Streaming:从基础到核心编程

在大数据实时处理领域&#xff0c;Spark-Streaming凭借其强大功能脱颖而出。它是Spark生态系统中处理流式数据的利器&#xff0c;支持Kafka、Flume等多种数据输入源&#xff0c;能利用Spark的map、reduce等原语处理数据&#xff0c;处理结果可存储于HDFS、数据库等。 Spark-Str…...

深度学习3.6 softmax回归的从零开始实现

本章节引入3.5的数据集 import torch from IPython import display from d2l import torch as d2lbatch_size 256 #迭代器批量 train_iter, test_iter d2l.load_data_fashion_mnist(batch_size)3.6.1 初始化模型参数 num_inputs 784 # 权重矩阵长度 num_outputs 10 # 类别…...

使用Spark-TTS-0.5B模型,文本合成语音

文章目录 背景模型介绍拉取开源代码conda下载与使用项目环境配置修改部分代码文件进阶玩法小结背景 ~~~~ 由于本博主遇到了需要文本转语音的相关需求,经过多方面的调研和研究,市面上的实现这个需求的方法有很多,可以直接通过调取api的方式实现,文本转语音。也可以…...

08前端项目----升序/降序

升序/降序 vue实现升序/降序服务器处理 vue实现升序/降序 用vue实现升序/降序&#xff0c;以及css绘制三角形 <div class"sui-navbar"><div class"navbar-inner filter"><ul class"sui-nav"><li class"active"&g…...

Dataway在Spring Boot中的引入以及使用教程

Dataway是Hasor生态中的接口配置工具&#xff0c;能帮助开发者快速配置数据接口。它支持DataQL和SQL两种语言模式&#xff0c;可将SQL转换为DataQL执行&#xff0c;简化数据查询与交互&#xff0c;无需编写大量代码。接口配置完成后&#xff0c;可进行自测、冒烟测试&#xff0…...

百度搜索 API 相比于爬虫的效率提升、价格及如何注册使用

使用百度搜索 API 进行数据查询&#xff0c;相比于爬虫&#xff08;selenium&#xff09;速度提升的幅度取决于几个因素&#xff1a; 1. 摆脱页面渲染&#xff08;Selenium&#xff09; Selenium 通过控制浏览器来模拟用户行为&#xff0c;加载网页并渲染页面。每次请求都需要…...

Docker 中运行 JAR 文件

文章目录 步骤 1&#xff1a;准备文件结构步骤 2&#xff1a;编写 Dockerfile步骤 3&#xff1a;构建 Docker 镜像步骤 4&#xff1a;运行容器常见问题解决Q1&#xff1a;容器启动后立即退出Q2&#xff1a;时区不一致Q3&#xff1a;依赖外部服务&#xff08;如MySQL&#xff09…...

MacOS 10.15上能跑大语言模型吗?

MacOS 10.15上能跑大语言模型吗&#xff1f; 下载安装Ollama运行大语言模型引申出的问题 MacOS 10.15.7&#xff08;发布于2020年9月&#xff09;作为已经发布了将近5年的系统版本能够运行当今流行的大语言模型吗&#xff1f;这篇文章简要介绍了在MacOS 10.15上通过Ollama运行d…...