达梦数据库审计相关参数

news2025/1/25 4:32:38

达梦数据库审计相关参数

基础环境
操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo)
数据库版本:DM Database Server 64 V8
架构:单实例

1 查看审计相关的参数

查看AUD相关的参数。

1.1 查看dm.ini配置文件。

在dm.ini配置文件是看到AUDIT_FILE_FULL_MODE、AUDIT_SPACE_LIMIT、AUDIT_MAX_FILE_SIZE、AUDIT_IP_STYLE 4个参数。

[dmdba@test DAMENG]$ cat dm.ini |grep AUD
                AUDIT_FILE_FULL_MODE            = 1                     #operation mode when audit file is full,1: delete old file; 2: no longer to write audit records
                AUDIT_SPACE_LIMIT               = 8192                  #audit space limit in Megabytes
                AUDIT_MAX_FILE_SIZE             = 100                   #maximum audit file size in Megabytes
                AUDIT_IP_STYLE                  = 0                     #IP style in audit record, 0: IP, 1: IP(hostname), default 0

1.2 查看数据库v$parameter视图

v$parameter视图里查到了6个参数。比dm.ini多了AUD_PATH、ENABLE_AUDIT 这2个。

SQL> select * from v$parameter where name like '%AUD%';

行号     ID          NAME                 TYPE      VALUE SYS_VALUE FILE_VALUE DESCRIPTION                                                                                     DEFAULT_VALUE ISDEFAULT  
---------- ----------- -------------------- --------- ----- --------- ---------- ----------------------------------------------------------------------------------------------- ------------- -----------
1          7           AUD_PATH             READ ONLY                            audit log path                                                                                  NULL          1
2          473         ENABLE_AUDIT         READ ONLY 0     0         0          Flag For Allowing Audit, 0: no audit 1: normal audit  2:normal audit and realtime audit         0             1
3          474         AUDIT_FILE_FULL_MODE IN FILE   1     1         1          operation mode when audit file is full, 1: delete old file; 2: no longer to write audit records 1             1
4          475         AUDIT_SPACE_LIMIT    IN FILE   8192  8192      8192       audit space limit in Megabytes                                                                  8192          1
5          476         AUDIT_MAX_FILE_SIZE  SYS       100   100       100        maximum audit file size in Megabytes                                                            100           1
6          477         AUDIT_IP_STYLE       SYS       0     0         0          IP style in audit record, 0: IP, 1: IP(hostname), default 0                                     0             1

6 rows got

已用时间: 3.660(毫秒). 执行号:905.

注:达梦数据库的参数共有3种类型。

参数类型。
READ ONLY:手动参数, 表示服务器运行过程中不可修改;
IN FILE: 静态参数, 只可修改 ini 文件;
SYS 和 SESSION: 动态参数, ini 文件和内存同时可修改。其中, SYS 为系统级参数,SESSION 为会话级参数

2 测试相关参数

2.1 参数ENABLE_AUDIT

在 DM 系统中,专门为审计设置了开关,要使用审计功能首先要打开审计开关。审计开关由过程 VOID SP_SET_ENABLE_AUDIT(param int) ;控制, 过程执行完后会立即生效, param 有三种取值:
0:关闭审计
1:打开普通审计
2:打开普通审计和实时审计
缺省值为 0。

--开启审计
[dmdba@test DAMENG]$ disql sysauditor/Dameng123

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 4.787(ms)
disql V8
SQL> select user();

行号     USER()    
---------- ----------
1          SYSAUDITOR

已用时间: 4.813(毫秒). 执行号:500.
SQL> select name,value,sys_value,file_value from v$parameter where name='ENABLE_AUDIT';

行号     NAME         VALUE SYS_VALUE FILE_VALUE
---------- ------------ ----- --------- ----------
1          ENABLE_AUDIT 0     0         0

已用时间: 9.256(毫秒). 执行号:501.
SQL> SP_SET_ENABLE_AUDIT (2);
DMSQL 过程已成功完成
已用时间: 7.608(毫秒). 执行号:502.

--**VALUE和SYS_VALUE的值都为2,表示在会话级和系统级已开启审计**
SQL> select name,value,sys_value,file_value from v$parameter where name='ENABLE_AUDIT';

行号     NAME         VALUE SYS_VALUE FILE_VALUE
---------- ------------ ----- --------- ----------
1          ENABLE_AUDIT 2     2         0

已用时间: 4.369(毫秒). 执行号:503.

--查看审计文件。在**$DM_HOME/data/数据库名** 路径下已经生成审计文件。
[dmdba@test DAMENG]$ pwd
/dm8/data/DAMENG
[dmdba@test DAMENG]$ ls -lrt AUDIT_DMSERVER_*
-rw-r--r-- 1 dmdba dinstall 104857600 Apr  5 19:32 AUDIT_DMSERVER_CAA80D52CAA80D52C2F1D1D17841ABD7_2024-4-5-19-32-16.log
-rw-r--r-- 1 dmdba dinstall 104857600 Apr  5 19:54 AUDIT_DMSERVER_79D60ECB79D60ECB460640887841ABD7_2024-4-5-19-32-52.log
-rw-r--r-- 1 dmdba dinstall 104857600 Apr  5 19:58 AUDIT_DMSERVER_1F6DB4EA1F6DB4EA5825223C7841ABD7_2024-4-5-19-58-46.log

2.2 参数AUD_PATH

参数AUD_PATH表示审计文件的保存路径。默认值为**$DM_HOME/data/数据库名**。可以通过视图V$AUDIT_SPACE确认。V$AUDIT_SPACE动态性能视图只有审计用户可以查询。

--使用sysdba用户
[dmdba@test DAMENG]$ disql sysdba/Dameng123    

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.944(ms)
disql V8
SQL> select user();

行号     USER()
---------- ------
1          SYSDBA

已用时间: 1.634(毫秒). 执行号:600.
SQL> select * from V$AUDIT_SPACE;
select * from V$AUDIT_SPACE;
[-5504]:没有[V$AUDIT_SPACE]对象的查询权限.
已用时间: 0.366(毫秒). 执行号:0.
SQL> exit

--使用sysauditor用户
[dmdba@test DAMENG]$ disql sysauditor/Dameng123

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.196(ms)
disql V8
SQL> select user();

行号     USER()    
---------- ----------
1          SYSAUDITOR

已用时间: 1.255(毫秒). 执行号:700.
SQL> select * from V$AUDIT_SPACE;

行号     AUD_PATH         AUDIT_FILE_FULL_MODE AUDIT_MAX_FILE_SIZE AUD_SPACE_LIMIT AUD_SPACE_FREE
---------- ---------------- -------------------- ------------------- --------------- --------------
1          /dm8/data/DAMENG 1                    100                 8192            -1

已用时间: 0.276(毫秒). 执行号:701.
SQL> 

修改审计文件保存路径

--新建目录
[dmdba@test ~]$ mkdir -p /dm8/log/audit

--修改dm.ini配置文件
--新增
                AUD_PATH=/dm8/log/audit

--重启实例
[dmdba@test DAMENG]$ DmServiceDMSERVER restart
Stopping DmServiceDMSERVER:                                [ OK ]
Starting DmServiceDMSERVER:                                [ OK ]
[dmdba@test DAMENG]$ 

--确认参数
[dmdba@test DAMENG]$ disql sysauditor/Dameng123

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 5.763(ms)
disql V8
SQL> select * from V$AUDIT_SPACE;

行号     AUD_PATH       AUDIT_FILE_FULL_MODE AUDIT_MAX_FILE_SIZE AUD_SPACE_LIMIT AUD_SPACE_FREE
---------- -------------- -------------------- ------------------- --------------- --------------
1          /dm8/log/audit 1                    100                 8192            -1

已用时间: 2.053(毫秒). 执行号:500.
SQL> 

--新路径下已经生成审计文件
[dmdba@test audit]$ pwd
/dm8/log/audit
[dmdba@test audit]$ ll
total 102400
-rw-r--r-- 1 dmdba dinstall 104857600 Apr  5 20:16 AUDIT_DMSERVER_7416B3257416B325D6B6A7A17841ABD7_2024-4-5-20-16-51.log

2.3 参数AUDIT_SPACE_LIMIT

参数AUDIT_SPACE_LIMIT表示审计空间的限制大小。默认值为8192,单位为MB。

SQL> select * from v$parameter where name = 'AUDIT_SPACE_LIMIT';

行号     ID          NAME              TYPE    VALUE SYS_VALUE FILE_VALUE DESCRIPTION                    DEFAULT_VALUE ISDEFAULT  
---------- ----------- ----------------- ------- ----- --------- ---------- ------------------------------ ------------- -----------
1          475         AUDIT_SPACE_LIMIT IN FILE 8192  8192      8192       audit space limit in Megabytes 8192          1

通过dm.ini配置文件来修改。例如改为1024。

--修改dm.ini配置文件
AUDIT_SPACE_LIMIT=1024

--重启实例
[dmdba@test DAMENG]$ DmServiceDMSERVER restart 
Stopping DmServiceDMSERVER:                                [ OK ]
Starting DmServiceDMSERVER:                                [ OK ]
[dmdba@test DAMENG]$ disql sysauditor/Dameng123

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 4.095(ms)
disql V8
SQL> select name,value,sys_value,file_value from v$parameter where name='AUDIT_SPACE_LIMIT';

行号     NAME              VALUE SYS_VALUE FILE_VALUE
---------- ----------------- ----- --------- ----------
1          AUDIT_SPACE_LIMIT 1024  1024      1024

已用时间: 5.451(毫秒). 执行号:500.

但是经过测试,发现AUDIT_SPACE_LIMIT参数没生效。


--AUD_SPACE_LIMIT参数已经设置为300,按官方文档解释应该只能使用300M的空间。但实际已经使用了900M的空间。
[dmdba@test DAMENG]$ disql sysauditor/Dameng123

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 4.457(ms)
disql V8
SQL> select * from V$AUDIT_SPACE;

行号     AUD_PATH       AUDIT_FILE_FULL_MODE AUDIT_MAX_FILE_SIZE AUD_SPACE_LIMIT AUD_SPACE_FREE
---------- -------------- -------------------- ------------------- --------------- --------------
1          /dm8/log/audit 1                    100                 300             299

已用时间: 2.139(毫秒). 执行号:500.
SQL> 

[dmdba@test log]$ pwd
/dm8/log
[dmdba@test log]$ du -sm audit/
901     audit/
[dmdba@test log]$ cd audit/
[dmdba@test audit]$ du -sm *
100     AUDIT_DMSERVER_67FABDDF67FABDDF33B703827841ABD7_2024-4-5-20-43-29.log
100     AUDIT_DMSERVER_7416B3257416B325D6B6A7A17841ABD7_2024-4-5-20-16-51.log
100     AUDIT_DMSERVER_B32DE179B32DE179B5D42C9E7841ABD7_2024-4-5-20-52-47.log
100     AUDIT_DMSERVER_CE635524CE635524067158ED7841ABD7_2024-4-5-20-51-57.log
100     AUDIT_DMSERVER_D599F4C0D599F4C010D5DFC47841ABD7_2024-4-5-20-37-47.log
100     AUDIT_DMSERVER_DD082677DD082677A124D68B7841ABD7_2024-4-5-20-27-15.log
100     AUDIT_DMSERVER_E0610456E061045639EF823C7841ABD7_2024-4-5-20-39-18.log
100     AUDIT_DMSERVER_E3FCFBABE3FCFBABC68AE5F47841ABD7_2024-4-5-20-40-21.log
100     AUDIT_DMSERVER_F8CB1556F8CB1556961BD7327841ABD7_2024-4-5-20-41-54.log
[dmdba@test audit]$ 

那会不会是默认值的8192生效呢? 发现aud文件增长到了8801M还未停止。 目前不确认该参数的限制,后续再补充。

[dmdba@test log]$ pwd
/dm8/log
[dmdba@test log]$ du -sm audit/
8801    audit/
[dmdba@test log]$ 

2.4 参数AUDIT_FILE_FULL_MODE

参数AUDIT_FILE_FULL_MODE表示剩余空间不足时的处理方式。

在V$AUDIT_SPACE视图中的解释为:
在这里插入图片描述

在v$parameter视图中的解释为:

行号     ID          NAME                 TYPE    VALUE SYS_VALUE FILE_VALUE DESCRIPTION                                                                                     DEFAULT_VALUE ISDEFAULT  
---------- ----------- -------------------- ------- ----- --------- ---------- ----------------------------------------------------------------------------------------------- ------------- -----------
1          474         AUDIT_FILE_FULL_MODE IN FILE 1     1         1          operation mode when audit file is full, 1: delete old file; 2: no longer to write audit records 1             1

两者对参数 AUDIT_FILE_FULL_MODE=1 的解释不一样。

下面做测试:
–本次单独挂载一块5G的盘作为审议文件的保存目录。看5G空间用完后,数据库会做什么操作?

[root@test ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.9G     0  3.9G   0% /dev/shm
tmpfs           3.9G   13M  3.8G   1% /run
tmpfs           3.9G     0  3.9G   0% /sys/fs/cgroup
/dev/sda3        72G   34G   39G  47% /
/dev/sda1       297M  138M  159M  47% /boot
tmpfs           781M  8.0K  781M   1% /run/user/42
tmpfs           781M     0  781M   0% /run/user/0
/dev/sdb1       4.8G   20M  4.6G   1% /dm8/log/audit
[dmdba@test arch]$ df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sdb1       4.8G  4.5G  119M  98% /dm8/log/audit
2024-04-06 11:49:23.403 [WARNING] database P0000026077 T0000000000000026077  Disk space is almost overflow for AUDIT.
2024-04-06 11:49:23.403 [ERROR] database P0000026077 T0000000000000026077  Disk space overflow, aud_fil_create_low[/dm8/log/audit/AUDIT_DMSERVER_2A7DD3302A7DD330DB464E677841ABD7_2024-4-6-11-49-23.log] failed.
2024-04-06 11:49:23.404 [WARNING] database P0000026077 T0000000000000026077  Audit file /dm8/log/audit/AUDIT_DMSERVER_91DCFBCD91DCFBCDC3BA815A7841ABD7_2024-4-6-10-20-11.log is overwritten
2024-04-06 11:49:23.404 [WARNING] database P0000026077 T0000000000000026077  Disk space is almost overflow for AUDIT.
2024-04-06 11:49:23.407 [INFO] database P0000026077 T0000000000000026125  nsvr_lsnr_thread successfully created.
2024-04-06 11:49:23.407 [INFO] database P0000026077 T0000000000000026100  total 0 active crash trx, pseg_crash_trx_rollbacksys_only(0) begin ...
2024-04-06 11:49:23.407 [INFO] database P0000026077 T0000000000000026100  pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.
2024-04-06 11:49:23.407 [INFO] database P0000026077 T0000000000000026100  pseg_crash_trx_rollback end
2024-04-06 11

–开始看到 [WARNING] database P0000025576 T0000000000000025576 Disk space is almost overflow for AUDIT. 此时审计目录使用率98%。且AUDIT_DMSERVER_91DCFBCD91DCFBCDC3BA815A7841ABD7_2024-4-6-10-20-11.log号审计日志被覆盖。说明AUDIT_FILE_FULL_MODE=1是数据库会删除旧的归档日志。

2024-04-06 11:58:21.097 [INFO] database P0000027063 T0000000000000027063  nsvr_process_before_open begin.
2024-04-06 11:58:21.115 [INFO] database P0000027063 T0000000000000027063  nsvr_process_before_open success.
2024-04-06 11:58:21.115 [WARNING] database P0000027063 T0000000000000027063  Disk space is almost overflow for AUDIT.
2024-04-06 11:58:21.115 [ERROR] database P0000027063 T0000000000000027063  Disk space overflow, aud_fil_create_low[/dm8/log/audit/AUDIT_DMSERVER_C978F64DC978F64DAA0784967841ABD7_2024-4-6-11-58-21.log] failed.
2024-04-06 11:58:21.115 [INFO] database P0000027063 T0000000000000027085  total 0 active crash trx, pseg_crash_trx_rollbacksys_only(0) begin ...
2024-04-06 11:58:21.115 [INFO] database P0000027063 T0000000000000027111  nsvr_lsnr_thread successfully created.
2024-04-06 11:58:21.115 [INFO] database P0000027063 T0000000000000027085  pseg_crash_trx_rollback end, total 0 active crash trx, include 0 empty_trxs, 0 empty_pages which only need to delete mgr recs.

当AUDIT_FILE_FULL_MODE=2时,空间不足情况下则不生成审计日志,但不影响数据库运行。

2.5 参数AUDIT_MAX_FILE_SIZE

参数AUDIT_MAX_FILE_SIZE表示单个审计文件的大小,默认值为100,单位MB。

SQL> select * from v$parameter where name = 'AUDIT_MAX_FILE_SIZE';

行号     ID          NAME                TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION                          DEFAULT_VALUE ISDEFAULT  
---------- ----------- ------------------- ---- ----- --------- ---------- ------------------------------------ ------------- -----------
1          476         AUDIT_MAX_FILE_SIZE SYS  100   100       100        maximum audit file size in Megabytes 100           1

已用时间: 4.718(毫秒). 执行号:502.

尝试修改参数AUDIT_MAX_FILE_SIZE 为10,要使用SYSDBA用户修改。

[dmdba@test DAMENG]$ disql sysdba/Dameng123    

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 3.691(ms)
disql V8
SQL> select user();

行号     USER()
---------- ------
1          SYSDBA

已用时间: 1.832(毫秒). 执行号:600.
SQL> alter system set 'AUDIT_MAX_FILE_SIZE'=10 both;
DMSQL 过程已成功完成
已用时间: 5.006(毫秒). 执行号:603.
SQL>  select * from v$parameter where name = 'AUDIT_MAX_FILE_SIZE';

行号     ID          NAME                TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION                          DEFAULT_VALUE ISDEFAULT  
---------- ----------- ------------------- ---- ----- --------- ---------- ------------------------------------ ------------- -----------
1          476         AUDIT_MAX_FILE_SIZE SYS  10    10        10         maximum audit file size in Megabytes 100           0

已用时间: 4.113(毫秒). 执行号:604.
SQL> 

最新的审计文件已经变为10MB大小。
在这里插入图片描述

2.6 参数AUDIT_IP_STYLE

参数AUDIT_IP_STYLE表示审计文件中是否记录主机名。
将其修改为1,再通过analyzer工具查看审计文件,发现IP地址列已经带上主机名。

[dmdba@test DAMENG]$ disql sysdba/Dameng123

服务器[LOCALHOST:5236]:处于普通打开状态
登录使用时间 : 2.586(ms)
disql V8
SQL> alter system set 'AUDIT_IP_STYLE'=1 both;
DMSQL 过程已成功完成
已用时间: 6.273(毫秒). 执行号:1300.
SQL> select * from v$parameter where name = 'AUDIT_IP_STYLE';

行号     ID          NAME           TYPE VALUE SYS_VALUE FILE_VALUE DESCRIPTION                                                 DEFAULT_VALUE ISDEFAULT  
---------- ----------- -------------- ---- ----- --------- ---------- ----------------------------------------------------------- ------------- -----------
1          477         AUDIT_IP_STYLE SYS  1     1         1          IP style in audit record, 0: IP, 1: IP(hostname), default 0 0             0

已用时间: 5.769(毫秒). 执行号:1301.

在这里插入图片描述

谨记:心存敬畏,行有所止。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1582968.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

gurobi不同版本切换

每年年底,gurobi都会推出新版本。新版本是大的迭代更新,求解问题的效率和精度都会提升。官方人员一般会建议我们安装最新的版本,此外,写论文审稿专家也会建议我们使用较新的版本。 从我们现装的版本切换到新版本。我以往的做法是…

【CVE-2023-38831】进行钓鱼攻击的研究

本文仅仅是对相关漏洞利用的学习记录,请各位合法合规食用! WinRAR是一款文件压缩器,该产品支持RAR、ZIP等格式文件的压缩和解压等。WinRAR在处理压缩包内同名的文件与文件夹时代码执行漏洞,攻击者构建由恶意文件与非恶意文件构成的特制压缩包文件,诱导受…

【负载均衡——一致性哈希算法】

1.一致性哈希是什么 一致性哈希算法就很好地解决了分布式系统在扩容或者缩容时,发生过多的数据迁移的问题。 一致哈希算法也用了取模运算,但与哈希算法不同的是,哈希算法是对节点的数量进行取模运算,而一致哈希算法是对 2^32 进…

吴恩达机器学习理论基础—决策树模型

吴恩达机器学习理论基础—决策树模型 决策树模型(Decision Trees) 采用猫狗分类的数据集,同时拥有三个基本的特征(输入)作为模型建立时使用的数据集。 将构造出来的决策树,分为了决策结点和叶子节点&#…

【C++入门】内联函数、auto与基于范围的for循环

💞💞 前言 hello hello~ ,这里是大耳朵土土垚~💖💖 ,欢迎大家点赞🥳🥳关注💥💥收藏🌹🌹🌹 💥个人主页&#x…

2024-04-08

作业要求: 1> 思维导图 2>使用手动连接,将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中,在自定义的槽函数中调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否…

【日常记录】【JS】一道解构面试题

文章目录 1、描述2、分析与实现3、参考链接 1、描述 让这一段代码可以执行,并且正确输出 let [name, age] {name: 呆呆狗,age: 20}console.log(name, age);2、分析与实现 在浏览器上执行这段代码会报错 翻译以下:不是可迭代对象 可迭代对象(…

Go——面向对象

一. 匿名字段 go支持只提供类型而不写字段名的方式,也就是匿名字段,也称为嵌入字段。 同名字段的情况 所以自定义类型和内置类型都可以作为匿名字段使用 指针类型匿名字段 二.接口 接口定义了一个对象的行为规范,但是定义规范不实现&#xff…

MT3022 召唤神龙

思路&#xff1a;二分答案 。check():检查组p套卡是否成立&#xff0c;即检查r卡是否足够组成p套卡。 &#xff08;易错点&#xff1a;check的思路&#xff0c;开long long&#xff09; #include <bits/stdc.h> using namespace std; long long int n, m; long long int…

JavaScript逆向爬取实战——使用Python实现列表页内容爬取

JavaScript逆向爬取—使用Python实现列表页内容爬取 1. 案例介绍 案例网址&#xff1a;https://spa6.scrape.center/&#xff0c; 如图所示&#xff1a; 点击任意一步电影&#xff0c;观察一下URL的变化&#xff0c;如图所示&#xff1a; 看到详情页URL包含了一个长字符串&am…

力扣HOT100 - 189. 轮转数组

解题思路&#xff1a; 三次反转。 先反转一次&#xff0c;再根据 k 拆分成两部分各反转一次。 class Solution {public void rotate(int[] nums, int k) {k % nums.length;reverse(nums, 0, nums.length - 1);reverse(nums, 0, k - 1);reverse(nums, k, nums.length - 1);}pu…

使用Docker中构建Java jar包,并且实现开启自启

文章目录 1.创建Dockerfile2.构建Docker镜像3.运行Docker容器4.后台运行并且可以开机自启4.1 在后台运行Docker容器4.2 设置开机自启动容器4.3 在Docker守护程序启动时自动启动容器 Docker中构建Java JAR包 要在Docker容器中构建Java应用程序的JAR包&#xff0c;你可以遵循以下…

RISC-V GNU Toolchain 工具链安装问题解决(stdio.h 问题解决,pk fence.i 问题解决)

我的安装过程主要参照 riscv-collab/riscv-gnu-toolchain 的官方 Readme 和这位佬的博客&#xff1a;RSIC-V工具链介绍及其安装教程 - 风正豪 &#xff08;大佬的博客写的非常详细&#xff0c;唯一不足就是 sudo make linux -jxx 是全部小写。&#xff09; 工具链前前后后我装了…

Docker容器嵌入式开发:在Ubuntu上配置Postman和flatpak

在 Ubuntu 上配置 Postman 可以通过 Snap 命令完成&#xff0c;以下是所有命令的总结&#xff1a; sudo snap install postmansudo snap install flatpak在 Ubuntu 上配置 Postman 和 Flatpak 非常简单。以下是一些简单的步骤&#xff1a; 配置 Flatpak 安装 Flatpak&#x…

【Redis】底层跳表实现

先巩固Redis的数据类型以及底层的数据结构&#xff1a; ZSet&#xff08;有序集合&#xff09;可以使用两种不同的内部数据结构来表示&#xff1a;压缩列表&#xff08;ziplist&#xff09;和跳跃表&#xff08;skiplist&#xff09;。 跳表是redis底层SortedSet(ZSet)的数据…

PostgreSQL入门到实战-第九弹

PostgreSQL入门到实战 PostgreSQL数据过滤(二)官网地址PostgreSQL概述PostgreSQL中and操作理论PostgreSQL中and操作实操更新计划 PostgreSQL数据过滤(二) 了解PostgreSQL AND逻辑运算符以及如何使用它来组合多个布尔表达式。 官网地址 声明: 由于操作系统, 版本更新等原因, …

uniapp中页面滚动锚点位置及滚动到对应高度显示对应按钮

可以把页面代码和组件代码放自己项目里跑一下 页面代码 <template><view class"Tracing-detail"><view class"title" v-for"i in 30">顶部信息</view><!-- tab按钮 --><Tab v-model"activeIndex" …

Golang | Leetcode Golang题解之第13题罗马数字转整数

题目&#xff1a; 题解&#xff1a; var symbolValues map[byte]int{I: 1, V: 5, X: 10, L: 50, C: 100, D: 500, M: 1000}func romanToInt(s string) (ans int) {n : len(s)for i : range s {value : symbolValues[s[i]]if i < n-1 && value < symbolValues[s…

信息流推广如何操作,需要从哪些方面入手?

信息流推广确实是一个涉及多方面细节的工作&#xff0c;需要我们从多个角度进行深入分析和操作。以下是我对信息流推广的一些理解和建议&#xff1a; 首先&#xff0c;明确投放平台是推广的起点。我们需要根据产品或服务的特点&#xff0c;选择适合的投放渠道&#xff0c;如短视…

利用DataX工具,实现MySQL与OceanBase的数据同步实践

数据迁移是经常遇到的需求&#xff0c;市面上为此提供了众多同步工具。这里将为大家简要介绍DataX的使用。DataX 是阿里云 DataWorks数据集成 的开源版本&#xff0c;它作为离线数据同步的工具/平台&#xff0c;在阿里巴巴集团内部被广泛应用。DataX 能够实现多种异构数据源之间…