【金仓数据库征文】- 国产化迁移实战:从Oracle到KingbaseES的平滑过渡
文章目录
- 引言:国产数据库的崛起与迁移需求
- 一、兼容性架构设计与配置优化
- 1.1 Oracle兼容模式的核心实现
- 1.2 潜在语法差异的深度处理
- 1.3 环境预配置关键技术
- 1.3.1 用户与模式映射
- 1.3.2 字符集与日期格式
- 1.4 深度兼容模式配置
- 1.4.1 语法兼容开关
- 1.4.2 数据类型映射策略
- 二、迁移工具链的工程化实践
- 2.1 全量迁移:KDTS工具链实战
- 2.1.1 SCN快照技术
- 2.1.2 性能调优参数
- 2.2 增量同步:KFS实时同步方案
- 2.2.1 Redo日志解析
- 2.2.2 断点续传机制
- 三、金融级场景深度适配
- 3.1 存储过程改造案例
- 3.1.1 游标性能优化
- 3.1.2 触发器安全加固
- 3.2 性能对比测试方法论
- 3.2.1 基准测试配置
- 3.2.2 关键指标对比
- 四、迁移后运维体系构建
- 4.1 智能运维平台
- 4.2 灾备方案设计
- 结语:迁移工程的体系化思维
引言:国产数据库的崛起与迁移需求
作为人大金仓的核心产品,金仓数据库管理系统KingbaseES V9通过四级高可用架构(RTO≈0)和Oracle语法97%兼容度,在金融、政务等领域的核心系统中实现百万级TPS处理能力。
其独创的行列混存引擎支持TP与AP负载混合部署,配合KXData-S一体机可实现TPMC 233万的性能突破。
本文将结合某银行核心系统迁移案例,深度解析迁移中的关键技术细节。
一、兼容性架构设计与配置优化
1.1 Oracle兼容模式的核心实现
KingbaseES通过可插拔兼容框架,在语法、数据类型、PL/SQL对象三个层面实现与Oracle的无缝对接:
- 语法兼容:支持层次查询、DUAL伪表、FOR UPDATE子句等Oracle特有语法,减少代码修改量;
- 数据类型映射:原生支持NUMBER、VARCHAR2、DATE等类型,并对INTERVAL精度差异提供自动转换策略(如Oracle默认9位精度→KingbaseES 6位精度截断处理);
- PL/SQL兼容:覆盖90%以上的Oracle存储过程语法,包括:
- 控制流(IF-THEN-ELSE、LOOP循环);
- 集合类型(关联数组、嵌套表);
- 异常处理(预定义异常捕获与自定义RAISE逻辑)。
配置示例:
-- 初始化数据库时启用Oracle兼容模式
CREATE DATABASE finance_db
WITH COMPATIBLE_MODE = 'oracle'
ENCODING = 'UTF8';
1.2 潜在语法差异的深度处理
尽管兼容性高达90%,仍需关注以下关键差异点:
- 分页查询:Oracle的ROWNUM需替换为KingbaseES的LIMIT/OFFSET;
- 伪列差异:Oracle的SYSDATE对应KingbaseES的CURRENT_TIMESTAMP;
- 隐式类型转换:Oracle允许VARCHAR与NUMBER隐式转换,而KingbaseES需显式CAST。
1.3 环境预配置关键技术
1.3.1 用户与模式映射
- 强制同名策略:需在KingbaseES中创建与Oracle完全同名的用户、数据库和模式。若使用企业管理器创建用户,必须显式创建同名Schema(例:
CREATE SCHEMA scott AUTHORIZATION scott
),否则会导致对象归属异常。 - 大小写敏感处理:通过初始化参数
--case-insensitive
关闭大小写敏感,避免因对象名大小写差异导致的"ORA-00942: 表或视图不存在"错误:./initdb -D /data -U SYSTEM --case-insensitive
1.3.2 字符集与日期格式
- 字符集对齐:若Oracle使用ZHS16GBK,需在KingbaseES初始化时指定
-E GBK
参数。迁移后需验证特殊字符(如生僻字)存储是否异常。 - 日期格式陷阱:Oracle默认使用DD-MON-YY格式,而KingbaseES为ISO,MDY。需在kingbase.conf中添加:
datestyle = 'ISO,YMD'
1.4 深度兼容模式配置
1.4.1 语法兼容开关
通过compatible_mode
参数启用Oracle扩展语法,支持层次查询、MERGE INTO等特性:
ALTER DATABASE finance_db SET compatible_mode TO oracle;
1.4.2 数据类型映射策略
- 数值类型:Oracle NUMBER(p,s) 映射为 numeric(p,s),对于未指定精度的NUMBER默认转为numeric(38,8)
- 日期类型:DATE类型自动扩展为timestamp(6)以兼容Oracle的6位小数秒精度
- 大对象处理:BLOB字段需启用
large_object_compression
参数,减少存储空间占用
二、迁移工具链的工程化实践
2.1 全量迁移:KDTS工具链实战
2.1.1 SCN快照技术
在Oracle端获取一致性SCN号,确保迁移数据完整性:
SELECT current_scn FROM v$database; -- 输出示例:123456789
在KDTS中设置该SCN值,迁移过程中自动过滤后续变更数据,实现静态快照。
2.1.2 性能调优参数
- 并行度控制:根据CPU核数设置
parallel_max_servers=64
,提升大表迁移速度 - WAL优化:调整
wal_buffers=256MB
并启用full_page_writes=off
,减少日志写入压力 - 内存分配:设置
shared_buffers=32GB
(物理内存1/4),work_mem=256MB
2.2 增量同步:KFS实时同步方案
2.2.1 Redo日志解析
KFS通过LogMiner解析Oracle Redo日志,将变更事件转换为KingbaseES兼容的SQL语句。需确保Oracle开启补充日志:
ALTER DATABASE ADD SUPPLEMENTAL LOG DATA;
2.2.2 断点续传机制
当网络中断时,KFS通过commit_seqno
记录最后成功事务号,恢复后自动从断点同步。某政务系统迁移中,该机制将异常恢复时间从小时级降至分钟级。
三、金融级场景深度适配
3.1 存储过程改造案例
3.1.1 游标性能优化
将Oracle显式游标批量处理改写为KingbaseES的BULK COLLECT:
DECLARETYPE t_array IS TABLE OF accounts%ROWTYPE;v_data t_array;
BEGINSELECT * BULK COLLECT INTO v_data FROM accounts FOR UPDATE;FORALL i IN 1..v_data.COUNTUPDATE accounts SET balance = balance * 1.05 WHERE account_id = v_data(i).account_id;
END;
改造后某银行批量处理性能提升3倍。
3.1.2 触发器安全加固
在政务审计场景中,集成SM4国密算法加密敏感字段:
CREATE TRIGGER encrypt_id_card
BEFORE INSERT ON citizens
FOR EACH ROW EXECUTE FUNCTION
sm4_encrypt('id_card', 'key123');
3.2 性能对比测试方法论
3.2.1 基准测试配置
- 硬件环境:KXData-S一体机(128核/1TB RAM/全闪存)
- 测试工具:HammerDB配置TPC-C模型,warehouse=1000
3.2.2 关键指标对比
指标 | Oracle 19c | KingbaseES V9 | 差异分析 |
---|---|---|---|
TPM-C | 1,230,000 | 1,450,000 | 列存索引优化AP查询 |
Avg Latency | 2.8ms | 2.1ms | WAL组提交优化 |
Checkpoint | 58s | 32s | 异步持久化技术 |
Failover | 30s | <1s | 共享存储集群技术 |
四、迁移后运维体系构建
4.1 智能运维平台
- SQL审核:内置200+金融行业SQL规范,自动拦截
SELECT *
等高风险操作 - 性能洞察:通过等待事件分析(如
lock_timeout
)定位阻塞源 - 弹性扩缩容:在线添加只读节点,查询性能线性提升
4.2 灾备方案设计
采用同城双活+异地容灾架构:
- 同城中心:基于共享存储的RAC集群,实现会话级故障转移
- 异地备份:通过FlySync工具实现日志级异步复制,RPO<5s
结语:迁移工程的体系化思维
Oracle到KingbaseES的迁移绝非简单的语法转换,而是涉及兼容性设计-数据迁移-性能调优-生态适配的全链路工程。
随着KES在EAL4+安全认证、GIS空间计算等领域的持续突破,国产数据库已具备承载核心业务的能力。未来,通过AI for DB技术实现智能索引推荐、异常预测等特性,将进一步提升迁移后系统的自治能力。
相关文章:
【金仓数据库征文】- 国产化迁移实战:从Oracle到KingbaseES的平滑过渡
文章目录 引言:国产数据库的崛起与迁移需求一、兼容性架构设计与配置优化1.1 Oracle兼容模式的核心实现1.2 潜在语法差异的深度处理1.3 环境预配置关键技术1.3.1 用户与模式映射1.3.2 字符集与日期格式 1.4 深度兼容模式配置1.4.1 语法兼容开关1.4.2 数据类型映射策…...
「零配置陷阱」:现代全栈工具链的复杂度管控实践
一、工具链膨胀的「死亡螺旋」 2024年典型全栈项目的初始化噩梦: $ npm create vitelatest ✔ Project name: … demo ✔ Select a framework: › React ✔ Select a variant: › TypeScript SWC ✔ Install shadcn/ui? … Yes ✔ Add Storybook? … Yes ✔ Co…...
浅析锁的应用与场景
锁的应用与场景:从单机到分布式 摘要:在多线程和分布式系统中,“锁”是避免资源竞争、保障数据一致性的核心机制。但你真的了解锁吗?什么时候该用锁?用哪种锁?本文通过通俗的比喻和代码示例,带…...
图论---Kruskal(稀疏图)
O( m * log n )。 1,将所有边按权重从小到大排序,调用系统的sort() 2,枚举每条边的 a , b ,权重 if(a、b 不联通) 就将这条边加入集合中 // 最小生成树 —Kruskal算法(稀疏图) #include<iostream> #include<algorithm> using …...
MySQL 从入门到精通:第二篇 - 数据类型、约束与索引
1. MySQL数据类型详解 数值类型 整数类型 -- 常用整数类型及范围 CREATE TABLE integer_types (tiny_col TINYINT, -- 1字节,有符号(-128~127),无符号(0~255)small_col SMALLINT, -- 2字节,有符号(-32768~32767),无符号(0~65535)medium_col MEDIUMINT,...
基于AI技术的高速公路交通引流系统设计与应用研究
基于AI技术的高速公路交通引流系统设计与应用研究 1. 研究背景与意义 1.1 交通系统演化脉络 1.1.1 发展阶段划分 机械化时代(1950-1990):固定式信号控制信息化时代(1991-2010):SCATS/SCOOT系统智能化时代…...
n8n 中文系列教程_09. 从原始需求到精准实现:n8n节点选择指南
在自动化工作流工具n8n中,正确选择和使用节点是高效实现需求的关键。本文将从需求分析入手,逐步解析触发节点与执行节点的区别,梳理n8n的节点分类逻辑,并揭示外部服务节点的本质,帮助您精准匹配需求与实现方案。无论您…...
P19:Inception v1算法实战与解析
🍨 本文为🔗365天深度学习训练营 中的学习记录博客🍖 原作者:K同学啊 一、模型结构 Inception V1 的主要特点是在一个网络中同时使用不同大小的卷积核(1x1、3x3、5x5)和池化操作来提取多尺度特征。以下是…...
day32 学习笔记
文章目录 前言一、霍夫变换二、标准霍夫变换三、统计概率霍夫变换四、霍夫圆变换 前言 通过今天的学习,我掌握了霍夫变换的基本原本原理及其在OpenCV中的应用方法 一、霍夫变换 霍夫变换是图像处理中的常用技术,主要用于检测图像中的直线,圆…...
2025时间序列都有哪些创新点可做——总结篇
作为AI和数据科学的核心方向之一,时间序列在2025年依然保持着强劲的发展势头,稳站各大顶会顶刊投稿主题前列。 关于它的研究,目前在结合传统统计方法和深度学习的基础上,已延伸至频域等数理工具与神经网络的交叉创新。同时针对垂…...
头歌实训之索引
🌟 各位看官好,我是maomi_9526! 🌍 种一棵树最好是十年前,其次是现在! 🚀 今天来学习C语言的相关知识。 👍 如果觉得这篇文章有帮助,欢迎您一键三连,分享给更…...
通讯的基础概念:涵盖串行通信、并行通信、TCP、UDP、Socket 等关键概念和技术
一、通信基础概念 1. 串行通信与并行通信 串行通信 定义:通过一条线路逐位传输数据,每个字节包含起始位、数据位、校验位和停止位。特点: 传输稳定,但速度较慢(因逐位传输)。常用接口:RS-232、…...
Uni-App 多端电子合同开源项目介绍
项目概述 本项目是一款基于 uni-app框架开发的多端电子合同管理平台,旨在为企业及个人用户提供高效、安全、便捷的电子合同签署与管理服务。项目创新性地引入了 “证据链”与“非证据链”两种签署模式,满足不同场景下的签署需求,支持多种签署…...
一个非常快速的 Latex 入门教程【Part 1】
目录 1.LaTex简介 2.LaTex 中最基础的格式化命令 2.1加粗,斜体,下划线,添加新段落 2.2文档分节 2.3 图片 2.4 LaTeX 中列表的创建 无序列表 有序列表 2.5对数学公式的排版 2.6表格 1.LaTex简介 LaTex的主要优势是它会将文…...
用Obsidian四个插件打造小说故事关联管理系统:从模板到图谱的全流程实践
用Obsidian四个插件打造小说故事关联管理系统:从模板到图谱的全流程实践 一、前言:为什么需要故事关联管理系统 在小说创作中,复杂的人物关系、交错的情节线和多维的世界观常导致创作混乱。本文将通过 Dataview(数据查询…...
C++ 日志系统实战第三步:熟悉掌握各种设计模式
全是通俗易懂的讲解,如果你本节之前的知识都掌握清楚,那就速速来看我的项目笔记吧~ 相关技术知识补充,也是最后的补充知识了~ 下文将加入项目代码编写! 目录 设计模式 单例模式 饿汉模式 懒汉模式 工厂模式 简单…...
[ESP-IDF]:esp32-camera 使用指南 ESP32S3-OV2640 用例测试
【核知坊】:释放青春想象,码动全新视野。 我们希望使用精简的信息传达知识的骨架,启发创造者开启创造之路!!! 内容摘要:esp32-camera 组件为 ESP32 系列 SoC 提供了兼容的图…...
在统信UOS/麒麟Kylin OS中创建网页桌面快捷方式
在统信UOS/麒麟Kylin OS中创建网页桌面快捷方式 本文将详细介绍如何在统信UOS或麒麟KYLINOS中使用命令行创建一个网页桌面快捷方式,以方便构建云桌面模板及镜像模板。欢迎大家浏览、分享和转发!请关注我以获取更多技术分享。 1. 查看系统信息 首先&am…...
SQLite 是什么?
📌 一、SQLite 是什么? SQLite 是一个轻量级、嵌入式数据库,意思是它直接集成在你的 App 内部,不需要单独安装数据库服务端。 ✅ 特点: 特点说明本地使用所有数据保存在手机内部存储文件形式数据以 .db 文件形式存储…...
恒创科技「香港大带宽云」新老用户专享实例及热门配置
全球化数字浪潮下,高带宽应用正深度重构各行业运营模式——从跨境电商、流媒体与视频点播,到在线游戏与云游戏加速,涵盖所有高并发、强交互的业务场景。在此背景下,企业对高性能 IT 基础架构的需求持续升级,以此来支持…...
fpga系列 HDL:verilog latch在fpga中的作用 避免latch的常见做法
目录 Latch在FPGA中的作用Quartus中有关latch的警告⚠避免Latch的常见做法1. if-else 语句未覆盖所有条件生成Latch的代码:修复后的代码: 2. case语句未覆盖所有分支生成Latch的代码:修复后的代码: 3. 组合逻辑中缺少默认赋值生成…...
java配置
环境变量...
解决虚拟主机ping不通本地主机问题
win11 1 问题 虚拟主机和本地主机在同一网段。 2 解决方案 以win11为例: 设置 -> 网络和 Internet -> 高级网路设置 -> Windows 防火墙 -> 高级设置 -> 入站规则 -> 新建规则 需要设置:规则类型、 协议和端口、名称,其…...
Move Registry 发布,实现 Sui 的超级互操作性
Move Registry(MVR)的到来对 Sui 来说是一件大事。MVR 是一个功能齐全的链上包管理系统,提升了整个生态的可发现性、可信度和互操作性。Sui 本身就是最具互操作性的链之一,凭借 Move 语言和可编程交易区块(PTBs&#x…...
【Linux】gdb工具,Linux 下程序调试的 “透视眼”
目录 调试代码调试注意事项gdb和Cgdb调试命令汇总行号显示断点设置查看断点信息删除断点开启 / 禁用断点运行 / 调试逐过程和逐语句打印 / 追踪变量指定行号跳转强制执行函数 补充命令watchset var 替换变量值条件断点 end 调试代码 这是本次调试要用的代码 1 #include <st…...
脚本分享:快速作图对比wannier拟合能带python脚本
本脚本通过Python实现电子能带结构数据的快速作图,能够从两个不同的数据文件(BAND.dat 和 wannier90_band.dat)中提取有效数据,并在同一坐标系下绘制对比图。 准备工作:使用VASPKIT处理获得能带数据BAND.datÿ…...
解决ssh拉取服务器数据,要多次输入密码的问题
问题在于,每次循环调用 rsync 都是新开一个连接,所以每次都需要输入一次密码。为了只输入一次密码,有以下几种方式可以解决: ✅ 推荐方案:设置 SSH 免密登录 最稳最安全的方式是:配置 SSH 免密登录&#x…...
金仓数据库 KingbaseES 产品深度优化提案:迈向卓越的全面升级
文章目录 一、引言二、性能优化(一)查询性能提升1. 优化查询优化器引入基于代价的查询优化算法支持更多的查询优化提示 2. 索引优化支持更多类型的索引优化索引的创建和维护策略 (二)并发处理能力增强1. 锁机制优化采用更细粒度的…...
企业级智能合同管理解决方案升级报告:道本科技携手DeepSeek打造智能合同管理新标杆
当传统合同管理系统还在与堆积如山的纸质文档较劲时,道本科技与DeepSeek联合开发的智能合同平台已为国央企打开新视界。我们以某大型能源集团的实际应用为例,带您直观感受技术升级带来的管理变革。 一、技术升级的具象化呈现 在未接入DeepSeek技术前&a…...
C#并行编程极大提升集合处理速度,再也没人敢说你程序性能差了!
马工撰写的年入30万C#上位机项目实战必备教程(点击下方链接即可访问文章目录) 1、《C#串口通信从入门到精通》 2、《C#与PLC通信从入门到精通 》 3、《C# Modbus通信从入门到精通》 4、《C#Socket通信从入门到精通 》 5、《C# MES通信从入门到精通》 6、…...
[贪心_7] 最优除法 | 跳跃游戏 II | 加油站
目录 1.最优除法 题解 2.跳跃游戏 II 题解 3.加油站 题解 利用 单调性,可以实现 区间跳跃 1.最优除法 链接: 553. 最优除法 给定一正整数数组 nums,nums 中的相邻整数将进行浮点除法。 例如,nums [2,3,4],我…...
【Rust】Rust中的枚举与模式匹配,原理解析与应用实战
✨✨ 欢迎大家来到景天科技苑✨✨ 🎈🎈 养成好习惯,先赞后看哦~🎈🎈 🏆 作者简介:景天科技苑 🏆《头衔》:大厂架构师,华为云开发者社区专家博主,…...
【CUDA 编译 bug】ld: cannot find -lcudart
我们使用 Conda 安装 pytorch 和 CUDA 环境之后,要用 Conda 的CUDA环境进行某个库编译时,出现了bug: /mnt/data/home/xxxx/miniforge3/envs/GAGAvatar/compiler_compat/ld: cannot find -lcudart: No such file or directorycollect2: error…...
MYSQL之数据类型
数据类型分类 数值类型 在MySQL中, 整型可以指定是有符号的和无符号的, 默认是有符号的. 可以通过 UNSIGNED 来说明某个字段是无符号的. tinyint类型 以tinyint为例, 其它的整型类型都只是数据范围的区别. 数据越界 创建一个 tinyint 类型的 num 的属性, 大小为 1 字节, 不…...
Asp.Net Core 异常筛选器ExceptionFilter
文章目录 前言一、异常筛选器的核心概念用途:实现接口:执行时机: 二、使用步骤1.创建自定义异常筛选器2.注册异常筛选器全局注册(对所有 Controller 生效):局部注册(通过特性标记特定的 **Contr…...
WebUI可视化:第2章:技术基础准备
学习目标 ✅ 掌握HTML/CSS基础语法 ✅ 理解JavaScript核心功能 ✅ 了解前后端交互原理 2.1 HTML基础:网页的骨架 2.1.1 基础结构 每个HTML文件都必须包含以下基本结构: html <!DOCTYPE html> <html> <head><title>我的第一个网页</title> …...
Java基础集合 面试经典八股总结 [连载ing]
序言 八股,怎么说呢。我之前系统学习的内容,进行梳理。通过问题的方式,表达出得当的内容,这件事本身就很难。面试时心态、状态、掌握知识的情况等。关于八股文,我不想有太多死记硬背的内容,更多的是希望自我…...
大数据运维面试题
华为大数据运维面试题可能涵盖多个方面,以下是一些可能的面试问题及解析,这些问题旨在考察应聘者的技术知识、问题解决能力和对大数据运维的理解: 一、技术知识类问题 简述大数据运维的主要职责和工作内容 回答示例:大数据运维工…...
OpenBMC:BmcWeb login认证
BmcWeb在include\login_routes.hpp中实现了/login用于完成web的登录: BMCWEB_ROUTE(app, "/login").methods(boost::beast::http::verb::post)(handleLogin);inline void handleLogin(const crow::Request& req,const std::shared_ptr<bmcweb::AsyncResp>…...
Python学习之路(五)-接口API
在 Python 中结合数据库开发接口 API 通常使用 Web 框架(如 Flask 或 Django)和 ORM(对象关系映射)工具(如 SQLAlchemy 或 Django ORM)。以下是使用 Flask 和 SQLAlchemy 的详细步骤,展示如何结合数据库开发一个简单的 API。 使用 Flask 和 SQLAlchemy 开发 API 1. 安…...
数据库+Docker+SSH三合一!深度评测HexHub的全栈开发体验
作为一名技术博主,我最近一直被各种开发工具切换搞得焦头烂额。数据库要用Navicat,服务器管理得开Termius,Docker操作还得切到命令行,每天光在不同工具间切换就浪费了大量时间。直到团队里的一位架构师向我推荐了HexHub这个一体化…...
涂料油墨制造数字化转型的关键技术与挑战
涂料油墨制造行业正处于数字化转型的关键时期,这一转型是提升生产效率、增强产品质量和降低成本的重要途径。以下是该行业在数字化转型中的关键技术与面临的挑战: 关键技术: 工业互联网技术:通过在生产设备上安装传感器…...
UE5 调整字体、界面大小
文章目录 方案一 5.4 版本及以上(推荐)方案二 5.3 版本及以下(推荐)方案三 使用插件(不推荐) 方案一 5.4 版本及以上(推荐) 进入 编辑 > 编辑器偏好设置,如下图所示&…...
【OpenCV图像处理实战】从基础操作到工业级应用
目录 前言技术背景与价值当前技术痛点解决方案概述目标读者说明 一、技术原理剖析核心概念图解核心作用讲解关键技术模块说明技术选型对比 二、实战演示环境配置要求核心代码实现(6个案例)案例1:图像基本操作案例2:边缘检测案例3&…...
生成随机验证码-解析与优化
文章目录 代码功能解析潜在问题与优化建议1. 安全性问题2. 易混淆字符过滤3. 参数校验4. 性能优化 扩展功能示例1. 自定义字符集2. 批量生成验证码 完整优化代码关键总结 代码功能解析 import random import stringdef generate_code(length6):chars string.digits string.a…...
VMware 虚拟机镜像资源网站
常见的 VMware 虚拟机镜像资源网站 网站名称链接地址特点OSBoxes.orgOSBoxes - Virtual Machines for VirtualBox & VMware 提供 .vmx .vmdk,适合 VMware 和 VirtualBox,更新频率高,界面清晰LinuxVMImages.comLinux VM Images - Downlo…...
HTML5 详细学习笔记
1. HTML5 简介 HTML5 是最新的 HTML 标准,于 2014 年 10 月由 W3C 完成标准制定。它增加了许多新特性,包括语义化标签、多媒体支持、图形效果、离线存储等。 1.1 HTML5 文档基本结构 <!DOCTYPE html> <html lang"zh-CN"> <h…...
真.从“零”搞 VSCode+STM32CubeMx+C <1>构建
目录 前言 准备工作 创建STM32CubeMx项目 VSCode导入项目&配置 构建错误调试 后记 前言 去年10月开始接触单片机,一直在用树莓派的Pico,之前一直用Micropython,玩的不亦乐乎,试错阶段优势明显,很快就能鼓捣一…...
Pikachu靶场
本质是信任了不可信的客户端输入。防御核心: 永不信任客户端提交的权限参数(如 user_id, role)。强制服务端校验用户身份与操作权限。定期审计权限模型,避免业务迭代引入新漏洞。 水平越权 1,按照网站的提示要求登录 进…...
五、web自动化测试01
目录 一、HTML基础1、HTML介绍2、常用标签3、基础案例3.1 前端代码3.2 自动化测试 二、CSS定位1、css介绍2、案例3、代码优化 三、表单自动化1、案例2、元素属性定位 四、后台基础数据自动化1、登录1.1 id与class定位1.2 定位一组元素 2、商品新增 一、HTML基础 可参考学习 链…...