Oracle23免费版简易安装攻略
installation-guide
1 安装
root用户下
wget https://yum.oracle.com/repo/OracleLinux/OL8/developer/x86_64/getPackage/oracle-database-preinstall-23c-1.0-1.el8.x86_64.rpm
wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23c-1.0-1.el8.x86_64.rpmdnf -y localinstall oracle-database-preinstall-23c-1.0-1.el8.x86_64.rpm
dnf -y localinstall oracle-database-free-23c-1.0-1.el8.x86_64.rpm
2 配置建库
交互式安装
/etc/init.d/oracle-free-23c configure
结果需要记录下,库名、端口都在这里
Connect to Oracle Database using one of the connect strings:Pluggable database: VM-130-23-tencentos:1539/FREEPDB1Multitenant container database: VM-130-23-tencentos:1539
如果使用slient安装需要改配置文件/etc/sysconfig/oracle-free–23c.confd
然后再执行/etc/init.d/oracle-free-23c configure
/opt/oracle | Oracle base. This is the root of the Oracle Database Free directory tree. |
---|---|
/opt/oracle/product/23c/dbhomeFree | Oracle home. This home is where the Oracle Database Free is installed. It contains the directories of the Oracle Database Free executables and network files. |
/opt/oracle/oradata/FREE | Database files. |
/opt/oracle/diag subdirectories | Diagnostic logs. The database alert log is /opt/oracle/diag/rdbms/free/FREE/trace/alert_FREE.log |
/opt/oracle/cfgtoollogs/dbca/FREE | Database creation logs. The FREE.log file contains the results of the database creation script execution. |
/etc/sysconfig/oracle-free-23c.conf | Configuration default parameters. |
/etc/init.d/oracle-free-23c | Configuration and services script. |
3 环境变量
切到oracle用户下或root用户下配置
export ORACLE_SID=FREE
export ORAENV_ASK=NO
. /opt/oracle/product/23c/dbhomeFree/bin/oraenv
4 启停
-- oracle用户 连sys
sqlplus / as sysdba-- root用户 连sys
sqlplus sys@VM-130-23-tencentos:1539/FREEPDB1 as sysdba-- 其他用户执行
sqlplus system@VM-130-23-tencentos:1539/FREEPDB1-- 停 需要连sys
SHUTDOWN IMMEDIATE-- 启 需要连sys
STARTUP
ALTER PLUGGABLE DATABASE ALL OPEN;
native编译的一些探索(忽略)
oracle服务进程的/proc/xxxx/fd
0 -> /dev/null
1 -> /dev/null
16 -> 'socket:[1403776518]'
2 -> /dev/null
256 -> /opt/oracle/oradata/FREE/FREEPDB1/undotbs01.dbf
257 -> /opt/oracle/oradata/FREE/FREEPDB1/system01.dbf
3 -> /dev/null
4 -> /opt/oracle/product/23c/dbhomeFree/rdbms/mesg/oraus.msb
5 -> /proc/553076/fd
6 -> 'anon_inode:[eventpoll]'
7 -> /proc/553076/schedstat
创建存储过程
CREATE OR REPLACE PROCEDURE PC123 AS
i simple_integer := 0;
v_number simple_integer := 0;
BEGIN
LOOP
v_number := i + 1000;
i := i + 1;
exit when i > 1000000000;
END LOOP;
END;
/
写了257系统表。
pread64(7, "13536596324 333903 152\n", 80, 0) = 23
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=523637}, ru_stime={tv_sec=0, tv_usec=12997}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=523797}, ru_stime={tv_sec=0, tv_usec=12997}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=524096}, ru_stime={tv_sec=0, tv_usec=12997}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=526023}, ru_stime={tv_sec=0, tv_usec=12997}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=526218}, ru_stime={tv_sec=0, tv_usec=12997}, ...}) = 0
pread64(7, "13539241765 333903 164\n", 80, 0) = 23
openat(AT_FDCWD, "/opt/oracle/oradata/FREE/FREEPDB1/system01.dbf", O_RDWR|O_DSYNC) = 8
fcntl(8, F_SETFD, FD_CLOEXEC) = 0
prlimit64(0, RLIMIT_NOFILE, NULL, {rlim_cur=64*1024, rlim_max=64*1024}) = 0
fcntl(8, F_DUPFD, 256) = 257
fcntl(257, F_SETFD, FD_CLOEXEC) = 0
close(8) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=526423}, ru_stime={tv_sec=0, tv_usec=12997}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=526423}, ru_stime={tv_sec=0, tv_usec=13345}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=526423}, ru_stime={tv_sec=0, tv_usec=13418}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=526423}, ru_stime={tv_sec=0, tv_usec=13501}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=526423}, ru_stime={tv_sec=0, tv_usec=13592}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=527005}, ru_stime={tv_sec=0, tv_usec=13996}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=527076}, ru_stime={tv_sec=0, tv_usec=13996}, ...}) = 0
semop(27, [{sem_num=26, sem_op=1, sem_flg=0}], 1) = 0
pread64(7, "13541568039 333903 194\n", 80, 0) = 23
semtimedop(27, [{sem_num=55, sem_op=-1, sem_flg=0}], 1, {tv_sec=0, tv_nsec=100000000}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=527678}, ru_stime={tv_sec=0, tv_usec=13996}, ...}) = 0
pread64(7, "13541702360 333903 201\n", 80, 0) = 23
write(16, "\0\0\0\306\6\0\0\0 \0\10\6\0\212\344 \0\0\0\0\0\4\0\0\0\0\0\0\0\0\0\0"..., 198) = 198
alter session set plsql_code_type = native;
只能看到系统调度,应该就是改了个内存状态。
pread64(7, "13541846178 333903 208\n", 80, 0) = 23
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=527889}, ru_stime={tv_sec=0, tv_usec=13996}, ...}) = 0
write(16, "\0\0\0\306\6\0\0\0 \0\10\6\0\267\344 \0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0"..., 198) = 198
native编译alter procedure test_speed_14 compile;
能看出来的就是申请了共享内存,应该是编译到共享内存中了,这样别的会话也能用。
pread64(7, "13542161098 333903 217\n", 80, 0) = 23
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=527889}, ru_stime={tv_sec=0, tv_usec=14427}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=528341}, ru_stime={tv_sec=0, tv_usec=14995}, ...}) = 0
statfs("/dev/shm/", {f_type=TMPFS_MAGIC, f_bsize=4096, f_blocks=8197749, f_bfree=8192566, f_bavail=8192566, f_files=8197749, f_ffree=8197708, f_fsid={val=[0, 0]}, f_namelen=255, f_frsize=4096, f_flags=ST_VALID|ST_NOSUID|ST_NODEV}) = 0
futex(0x7fe8268ea3b0, FUTEX_WAKE_PRIVATE, 2147483647) = 0
openat(AT_FDCWD, "/dev/shm/PESLD_FREE_148021_1081aa9100000000", O_RDWR|O_CREAT|O_TRUNC|O_NOFOLLOW|O_CLOEXEC, 0700) = 8
ftruncate(8, 712) = 0
write(8, "\10", 1) = 1
mmap(NULL, 712, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_SHARED, 8, 0) = 0x7fe828ecc000
close(8) = 0
munmap(0x7fe828ecc000, 712) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=530444}, ru_stime={tv_sec=0, tv_usec=15995}, ...}) = 0
pread64(7, "13546923666 333903 241\n", 80, 0) = 23
mmap(0x7fe8228bb000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe8228bb000
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=531359}, ru_stime={tv_sec=0, tv_usec=15996}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=531479}, ru_stime={tv_sec=0, tv_usec=15997}, ...}) = 0
mmap(0x7fe8228cb000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe8228cb000
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=531479}, ru_stime={tv_sec=0, tv_usec=16958}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=531540}, ru_stime={tv_sec=0, tv_usec=16996}, ...}) = 0
pread64(7, "13549514915 333903 255\n", 80, 0) = 23
mmap(0x7fe8228db000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe8228db000
mmap(0x7fe8228eb000, 65536, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe8228eb000
openat(AT_FDCWD, "/dev/shm/PESLD_FREE_148021_1081aa9100000000", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 8
mmap(NULL, 712, PROT_READ|PROT_EXEC, MAP_PRIVATE, 8, 0) = 0x7fe828ecc000
close(8) = 0
mmap(0x7fe8226fb000, 131072, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe8226fb000
mmap(0x7fe82271b000, 196608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe82271b000
mmap(0x7fe82274b000, 196608, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe82274b000
munmap(0x7fe828ecc000, 712) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=533166}, ru_stime={tv_sec=0, tv_usec=16996}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=534144}, ru_stime={tv_sec=0, tv_usec=16996}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=535124}, ru_stime={tv_sec=0, tv_usec=16996}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=535247}, ru_stime={tv_sec=0, tv_usec=16996}, ...}) = 0
semop(27, [{sem_num=26, sem_op=1, sem_flg=0}], 1) = 0
pread64(7, "13552441594 333903 285\n", 80, 0) = 23
semtimedop(27, [{sem_num=55, sem_op=-1, sem_flg=0}], 1, {tv_sec=0, tv_nsec=100000000}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=535518}, ru_stime={tv_sec=0, tv_usec=16996}, ...}) = 0
pread64(7, "13552538646 333903 292\n", 80, 0) = 23
write(16, "\0\0\0\306\6\0\0\0 \0\10\6\0\341\344 \0\0\0\0\0\5\0\0\0\0\0\0\0\0\0\0"..., 198) = 198
运行exec PC123;
运行时不需要什么系统调用,所以只能看到调度
pread64(7, "13552679150 333903 299\n", 80, 0) = 23
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=535717}, ru_stime={tv_sec=0, tv_usec=16996}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=13, tv_usec=536940}, ru_stime={tv_sec=0, tv_usec=16996}, ...}) = 0
openat(AT_FDCWD, "/dev/shm/PESLD_FREE_148021_1081aa9100000000", O_RDONLY|O_NOFOLLOW|O_CLOEXEC) = 8
mmap(NULL, 712, PROT_READ|PROT_EXEC, MAP_PRIVATE, 8, 0) = 0x7fe828ecc000
close(8) = 0
pread64(7, "13628475958 342660 312\n", 80, 0) = 23
pread64(7, "13729415638 342660 314\n", 80, 0) = 23
pread64(7, "13830271711 342660 316\n", 80, 0) = 23
pread64(7, "13931201975 342660 318\n", 80, 0) = 23
pread64(7, "14032064432 342660 320\n", 80, 0) = 23
pread64(7, "14132997050 348150 323\n", 80, 0) = 23
pread64(7, "14233856420 360664 326\n", 80, 0) = 23
pread64(7, "14334756366 360664 328\n", 80, 0) = 23
pread64(7, "14435619012 360664 330\n", 80, 0) = 23
pread64(7, "14536513829 360664 332\n", 80, 0) = 23
pread64(7, "14637402884 360664 334\n", 80, 0) = 23
pread64(7, "14738330462 360664 336\n", 80, 0) = 23
pread64(7, "14839235880 360664 338\n", 80, 0) = 23
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=14, tv_usec=870068}, ru_stime={tv_sec=0, tv_usec=17996}, ...}) = 0
getrusage(RUSAGE_THREAD, {ru_utime={tv_sec=14, tv_usec=898632}, ru_stime={tv_sec=0, tv_usec=17997}, ...}) = 0
pread64(7, "14916731193 360664 344\n", 80, 0) = 23
mmap(0x7fe82273b000, 262144, PROT_NONE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS|MAP_NORESERVE, -1, 0x231000) = 0x7fe82273b000
write(16, "\0\0\0\306\6\0\0\0 \0\10\6\0\260\350 \0\0\0\0\0\2\0\0\0\0\0\0\0\0\0\0"..., 198) = 198
相关文章:
Oracle23免费版简易安装攻略
installation-guide 1 安装 root用户下 wget https://yum.oracle.com/repo/OracleLinux/OL8/developer/x86_64/getPackage/oracle-database-preinstall-23c-1.0-1.el8.x86_64.rpm wget https://download.oracle.com/otn-pub/otn_software/db-free/oracle-database-free-23c-1…...
《论文阅读》一种基于反事实推理的会话情绪检测无训练去偏框架 EMNLP 2023
《论文阅读》一种基于反事实推理的会话情绪检测无训练去偏框架 EMNLP 2023 前言简介相关工作模型构架Basic ClassificationBias ExtractionUnbiased Inference实验结果前言 亲身阅读感受分享,细节画图解释,再也不用担心看不懂论文啦~ 无抄袭,无复制,纯手工敲击键盘~ 今天…...

【编译lombok问题】已解决:编译突然找不到符号问题-get/set找不到符号
一、场景:编译突然找不到符号 报错信息: 找不到符号 符号:方法getName() 二、原因: 没有使用lombok支持的编译器 三、解决方法: 打开File-Settings,按以下步骤进行设置; 修改:-Djp…...

第四篇:3.3 无效流量(Invalid traffic) - IAB/MRC及《增强现实广告效果测量指南1.0》
翻译计划 第一篇概述—IAB与MRC及《增强现实广告效果测量指南》之目录、适用范围及术语第二篇广告效果测量定义和其他矩阵之- 3.1 广告印象(AD Impression)第三篇广告效果测量定义和其他矩阵之- 3.2 可见性 (Viewability)第四篇广…...
PyTorch示例——使用Transformer写古诗
文章目录 PyTorch示例——使用Transformer写古诗1. 前言2. 版本信息3. 导包4. 数据与预处理数据下载先看一下原始数据开始处理数据,过滤掉异常数据定义 词典编码器 Tokenizer定义数据集类 MyDataset测试一下MyDataset、Tokenizer、DataLoader 5. 构建模型位置编码器…...

vue 视频添加水印
1.需求背景 其实腾讯云点播的api也支持视频水印,但是只有单个水印,大概效果是这样子的,不满足我们的需求,我们的需求是需要视频中都是水印。 腾讯云点播水印 项目需求的水印(主要是防录屏,最后的实现效果是这样&…...

Web Animations API 动画
Element.animate() dom.animate动画可以避免污染dom原有的css动画 参考资料 Element.animate() - Web API 接口参考 | MDN Element: getAnimations() method - Web APIs | MDN .tunnel{width:200px;height:200px;background-color:#38f;}<div class"tunnel" …...

【大数据存储】实验五:Mapreduce
实验Mapreduce实例——排序(补充程序) 实验环境 Linux Ubuntu 16.04 jdk-8u191-linux-x64 hadoop-3.0.0 hadoop-eclipse-plugin-2.7.3.jar eclipse-java-juno-SR2-linux-gtk-x86_64 实验内容 在电商网站上,当我们进入某电商页面里浏览…...

日志服务 HarmonyOS NEXT 日志采集最佳实践
作者:高玉龙(元泊) 背景信息 随着数字化新时代的全面展开以及 5G 与物联网(IoT)技术的迅速普及,操作系统正面临前所未有的变革需求。在这个背景下,华为公司自主研发的鸿蒙操作系统(…...
Educational Codeforces Round 133 (Rated for Div. 2) (C dp D前缀和优化倍数关系dp)
A:能用3肯定用三,然后分类讨论即可 #include<bits/stdc.h> using namespace std; const int N 2e510,M2*N,mod998244353; #define int long long typedef long long LL; typedef pair<int, int> PII; typedef unsigned long long ULL; usi…...

【讲解下如何Stable Diffusion本地部署】
🎥博主:程序员不想YY啊 💫CSDN优质创作者,CSDN实力新星,CSDN博客专家 🤗点赞🎈收藏⭐再看💫养成习惯 ✨希望本文对您有所裨益,如有不足之处,欢迎在评论区提出…...

wps斜线表头并分别打字教程
wps斜线表头怎么做并分别打字: 1、首先选中我们想要设置的表头。 2、接着右键选中它,点击“设置单元格格式” 3、然后点击上方“边框”选项卡。 4、随后选择图示的斜线,点击“确定” 5、设置完成后,我们只要在其中打字就可以在斜…...

2024第八届全国青少年无人机大赛暨中国航空航天科普展览会
2024第八届全国青少年无人机大赛暨中国航空航天科普展览会 邀请函 主办单位: 中国航空学会 重庆市南岸区人民政府 招商执行单位: 重庆港华展览有限公司 为更好的培养空航天产业人才,汇聚航空教育产业创新科技,丰富和完善航…...

fastadmin学习08-查询数据渲染到前端
index.php查询,这个是前台的index.php public function index() {$slideImgs Db::name("slideimg")->where("status",,normal)->limit(5)->order(sort,desc)->select();$productList Db::name("product")->where(…...

实验报告答案
基本任务(必做) 先用普通用户(自己的姓名拼音)登录再操作 编程有代码截图和执行过程结果截图 代写获取: https://laowangall.oss-cn-beijing.aliyuncs.com/studentall.pdf 1. Linux的Shell编程 (1&am…...

PDF编辑和格式转换工具 Cisdem PDFMaster for Mac
Cisdem PDFMaster for Mac是一款功能强大的PDF编辑和格式转换工具。它为用户提供了直观且易于使用的界面,使常用功能触手可及,从而帮助用户轻松管理、编辑和转换PDF文件。 软件下载:Cisdem PDFMaster for Mac v6.0.0激活版下载 作为一款完整的…...

E-魔法猫咪(遇到过的题,做个笔记)
题解: 来自学长们思路: 其中一种正解是写单调队列。限制队列内的数单调递增,方法为每当新来的数据比当前队尾数据小时队 尾出列,直到能够插入当前值,这保证了队头永远是最小值。因此总体思路是队尾不断插入新值的同时 …...

keil创建工程 芯源半导体CW32F003E4P7
提前下载keil 安装步骤 1、下载CW32F003固件库 芯源半导体官网下载固件库 下载好后右键解压 CW32F003_StandardPeripheralLib_V1.5\IdeSupport\MDK 进入MDK文件夹 双击WHXY.CW32F003_DFP.1.0.4.pack安装固件库 点击next然后finish安装结束 keil创建工程 点击new uVision P…...

学习鸿蒙基础(12)
目录 一、网络json-server配置 (1)然后输入: (2)显示下载成功。但是输入json-server -v的时候。报错。 (3)此时卸载默认的json-server (4)安装和nodejs匹配版本的js…...

测试微信模版消息推送
进入“开发接口管理”--“公众平台测试账号”,无需申请公众账号、可在测试账号中体验并测试微信公众平台所有高级接口。 获取access_token: 自定义模版消息: 关注测试号:扫二维码关注测试号。 发送模版消息: import requests da…...
[2025CVPR]DeepVideo-R1:基于难度感知回归GRPO的视频强化微调框架详解
突破视频大语言模型推理瓶颈,在多个视频基准上实现SOTA性能 一、核心问题与创新亮点 1.1 GRPO在视频任务中的两大挑战 安全措施依赖问题 GRPO使用min和clip函数限制策略更新幅度,导致: 梯度抑制:当新旧策略差异过大时梯度消失收敛困难:策略无法充分优化# 传统GRPO的梯…...

如何在看板中体现优先级变化
在看板中有效体现优先级变化的关键措施包括:采用颜色或标签标识优先级、设置任务排序规则、使用独立的优先级列或泳道、结合自动化规则同步优先级变化、建立定期的优先级审查流程。其中,设置任务排序规则尤其重要,因为它让看板视觉上直观地体…...
Python爬虫(二):爬虫完整流程
爬虫完整流程详解(7大核心步骤实战技巧) 一、爬虫完整工作流程 以下是爬虫开发的完整流程,我将结合具体技术点和实战经验展开说明: 1. 目标分析与前期准备 网站技术分析: 使用浏览器开发者工具(F12&…...
【碎碎念】宝可梦 Mesh GO : 基于MESH网络的口袋妖怪 宝可梦GO游戏自组网系统
目录 游戏说明《宝可梦 Mesh GO》 —— 局域宝可梦探索Pokmon GO 类游戏核心理念应用场景Mesh 特性 宝可梦玩法融合设计游戏构想要素1. 地图探索(基于物理空间 广播范围)2. 野生宝可梦生成与广播3. 对战系统4. 道具与通信5. 延伸玩法 安全性设计 技术选…...
Fabric V2.5 通用溯源系统——增加图片上传与下载功能
fabric-trace项目在发布一年后,部署量已突破1000次,为支持更多场景,现新增支持图片信息上链,本文对图片上传、下载功能代码进行梳理,包含智能合约、后端、前端部分。 一、智能合约修改 为了增加图片信息上链溯源,需要对底层数据结构进行修改,在此对智能合约中的农产品数…...

保姆级教程:在无网络无显卡的Windows电脑的vscode本地部署deepseek
文章目录 1 前言2 部署流程2.1 准备工作2.2 Ollama2.2.1 使用有网络的电脑下载Ollama2.2.2 安装Ollama(有网络的电脑)2.2.3 安装Ollama(无网络的电脑)2.2.4 安装验证2.2.5 修改大模型安装位置2.2.6 下载Deepseek模型 2.3 将deepse…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...
第7篇:中间件全链路监控与 SQL 性能分析实践
7.1 章节导读 在构建数据库中间件的过程中,可观测性 和 性能分析 是保障系统稳定性与可维护性的核心能力。 特别是在复杂分布式场景中,必须做到: 🔍 追踪每一条 SQL 的生命周期(从入口到数据库执行)&#…...
PostgreSQL——环境搭建
一、Linux # 安装 PostgreSQL 15 仓库 sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-$(rpm -E %{rhel})-x86_64/pgdg-redhat-repo-latest.noarch.rpm# 安装之前先确认是否已经存在PostgreSQL rpm -qa | grep postgres# 如果存在࿰…...