dm8 备份与恢复
dm8 备份与恢复
基础环境
操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo)
数据库版本:DM Database Server 64 V8
架构:单实例
1 设置bak_path路径
--创建备份文件存放目录
su - dmdba
mkdir -p /dm8/backup--修改dm.ini 文件
BAK_PATH = /dm8/backup #backup file path[dmdba@test1 dm8]$ disql sysdba/Dameng123@localhost:5237服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.937(ms)
disql V8
SQL> select name,value,sys_value,file_value from v$parameter where name='BAK_PATH';行号 NAME VALUE SYS_VALUE FILE_VALUE
---------- -------- ------------------ ------------------ -----------
1 BAK_PATH /dm8/data/PROD/bak /dm8/data/PROD/bak /dm8/backup已用时间: 4.748(毫秒). 执行号:1000.
SQL> exit--重启实例
[root@test1 arch]# systemctl restart DmServiceTEST.service [dmdba@test1 dm8]$ disql sysdba/Dameng123@localhost:5237服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.611(ms)
disql V8
SQL> select name,value,sys_value,file_value from v$parameter where name='BAK_PATH';行号 NAME VALUE SYS_VALUE FILE_VALUE
---------- -------- ----------- ----------- -----------
1 BAK_PATH /dm8/backup /dm8/backup /dm8/backup已用时间: 5.328(毫秒). 执行号:500.
SQL>
2 全库备份
2.1 文本方式
[dmdba@test1 ~]$ disql sysdba/Dameng123@localhost:5237服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.724(ms)
disql V8
SQL> backup database full to "20230729_bak" backupset '20230729_bak';
操作已执行
已用时间: 00:00:03.084. 执行号:600.
SQL> select backup_name,backup_path from v$backupset;行号 BACKUP_NAME BACKUP_PATH
---------- ------------ ------------------------
1 20230729_bak /dm8/backup/20230729_bak已用时间: 16.554(毫秒). 执行号:601.
2.2 图形界面
[dmdba@test1 ~]$ manager
3 数据文件恢复
3.1 模拟报错
模拟报错
2023-07-28 19:04:38.204 [INFO] database P0000074443 T0000000000000074443 hlog_sys_destroy, n_logs[1], adjust_sta[0]
2023-07-28 19:04:38.206 [INFO] database P0000074443 T0000000000000074443 file lsn: 43705
2023-07-28 19:04:38.206 [INFO] database P0000074443 T0000000000000074443 ndct_load_ex_idcls_map load 0 ex_idcls.
2023-07-28 19:04:38.207 [INFO] database P0000074443 T0000000000000074443 ndct db load finished
2023-07-28 19:04:38.211 [ERROR] database P0000074443 T0000000000000074443 os_file_open_low_real error! desc: No such file or directory, path: /dm8/data/PROD/TBS01.dbf, code: 2
2023-07-28 19:04:38.211 [ERROR] database P0000074443 T0000000000000074443 os_file_open_low_real error! desc: No such file or directory, path: /dm8/data/PROD/TBS01.dbf, code: 2
2023-07-28 19:04:38.211 [INFO] database P0000074443 T0000000000000074443 ndct second level fill fast pool finished
2023-07-28 19:04:38.211 [INFO] database P0000074443 T0000000000000074443 ndct third level fill fast pool finished
2023-07-28 19:04:38.227 [INFO] database P0000074443 T0000000000000074443 ndct second level fill fast pool finished
2023-07-28 19:04:38.227 [INFO] database P0000074443 T0000000000000074443 ndct third level fill fast pool finished
2023-07-28 19:04:38.227 [INFO] database P0000074443 T0000000000000074443 ndct fill fast pool finished
2023-07-28 19:04:38.228 [ERROR] database P0000074443 T0000000000000074443 os_file_open_low_real error! desc: No such file or directory, path: /dm8/data/PROD/TBS01.dbf, code: 2
2023-07-28 19:04:38.228 [ERROR] database P0000074443 T0000000000000074443 os_file_open_low_real error! desc: No such file or directory, path: /dm8/data/PROD/TBS01.dbf, code: 2
2023-07-28 19:04:38.229 [INFO] database P0000074443 T0000000000000074443 sess4 aux tsksys init success
2023-07-28 19:04:38.238 [WARNING] database P0000074443 T0000000000000074443 fail to load libgssapi_krb5.so, libgssapi_krb5.so: cannot open shared object file: No such file or directory
2023-07-28 19:04:38.247 [INFO] database P0000074443 T0000000000000074443 nsvr_startup end.
2023-07-28 19:04:38.349 [INFO] database P0000074443 T0000000000000074443 aud sys init success.
2023-07-28 19:04:38.349 [INFO] database P0000074443 T0000000000000074443 aud rt sys init success.
2023-07-28 19:04:38.350 [INFO] database P0000074443 T0000000000000074443 systables desc init success.
2023-07-28 19:04:38.350 [INFO] database P0000074443 T0000000000000074443 ndct_db_load_info success.
2023-07-28 19:04:38.351 [INFO] database P0000074443 T0000000000000074516 nsvr_lsnr_thread successfully created.
2023-07-28 19:04:38.351 [INFO] database P0000074443 T0000000000000074443 backup control file /dm8/data/PROD/dm.ctl to file /dm8/data/PROD/dm_20230728190438_351399.ctl
2023-07-28 19:04:38.353 [INFO] database P0000074443 T0000000000000074443 backup control file /dm8/data/PROD/dm.ctl to file /dm8/data/PROD/ctl_bak/dm_20230728190438_352275.ctl succeed
2023-07-28 19:04:38.353 [INFO] database P0000074443 T0000000000000074443 local instance name is TEST, mode is NORMAL, status is MOUNT.
2023-07-28 19:04:38.353 [INFO] database P0000074443 T0000000000000074443 SYSTEM IS READY.
2023-07-28 19:04:38.353 [INFO] database P0000074443 T0000000000000074443 set g_dw_stat from UNDEFINED to NONE success, g_dw_recover_stop is 0
2023-07-28 19:04:39.351 [INFO] database P0000074443 T0000000000000074479 iid_set_new_next_trxid_if_necessary, next_trxid: 11035
3.2 恢复
3.2.1 文本方式
--关闭实例
[root@test1 arch]# systemctl stop DmServiceTEST.service --恢复
[dmdba@test1 PROD]$ dmrman
dmrman V8
RMAN> check backupset '/dm8/backup/20230729_bak';
check backupset '/dm8/backup/20230729_bak';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
check backupset successfully.
time used: 136.189(ms)
RMAN> RESTORE DATABASE '/dm8/data/PROD/dm.ini' tablespace "TBS" FROM BACKUPSET '/dm8/backup/20230729_bak' DEVICE TYPE disk;
RESTORE DATABASE '/dm8/data/PROD/dm.ini' tablespace "TBS" FROM BACKUPSET '/dm8/backup/20230729_bak' DEVICE TYPE disk;
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
begin redo pwr log collect, last ckpt lsn: 43705 ...
redo pwr log collect finished
EP[0]'s cur_lsn[43705], file_lsn[43705]
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.418
RMAN> RECOVER DATABASE '/dm8/data/PROD/dm.ini' TABLESPACE TBS WITH ARCHIVEDIR '/dm8/arch';
RECOVER DATABASE '/dm8/data/PROD/dm.ini' TABLESPACE TBS WITH ARCHIVEDIR '/dm8/arch';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
begin redo pwr log collect, last ckpt lsn: 43705 ...
redo pwr log collect finished
EP[0]'s cur_lsn[43705], file_lsn[43705]
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]
recover successfully.
time used: 428.573(ms)--开启实例
[root@test1 arch]# systemctl start DmServiceTEST.service [dmdba@test1 PROD]$ disql sysdba/Dameng123@localhost:5237服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.691(ms)
disql V8
SQL> select status$ from v$instance;行号 STATUS$
---------- -------
1 OPEN已用时间: 1.736(毫秒). 执行号:500.
3.2.2 图形界面
[dmdba@test1 ~]$ console
[dmdba@test1 PROD]$ DmServiceTEST start
Starting DmServiceTEST: [ OK ]
[dmdba@test1 PROD]$ disql sysdba/Dameng123@localhost:5237服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.502(ms)
disql V8
SQL> select status$ from v$instance;行号 STATUS$
---------- -------
1 OPEN已用时间: 9.941(毫秒). 执行号:500.
SQL> select file_name from dba_data_files;行号 FILE_NAME
---------- -------------------------
1 /dm8/data/PROD/SYSTEM.DBF
2 /dm8/data/PROD/TBS02.dbf
3 /dm8/data/PROD/TBS01.dbf
4 /dm8/data/PROD/MAIN.DBF
5 /dm8/data/PROD/TEMP.DBF
6 /dm8/data/PROD/ROLL.DBF6 rows got已用时间: 18.857(毫秒). 执行号:501.
SQL>
4 数据库全库恢复
4.1 模拟报错
2023-07-31 05:34:41.856 [INFO] database P0000026050 T0000000000000026050 INI parameter DPC_2PC changed, the original value 1, new value 0
2023-07-31 05:34:41.863 [INFO] database P0000026050 T0000000000000026050 version info: develop
2023-07-31 05:34:41.864 [INFO] database P0000026050 T0000000000000026050 os_sema2_create_low, create and inc sema success, key:151595369, sem_id:65539, sem_value:1!
2023-07-31 05:34:41.864 [ERROR] database P0000026050 T0000000000000026050 /dm8/data/PROD/SYSTEM.DBF not exist[dmdba@test1 PROD]$ DmServiceTEST start
Starting DmServiceTEST: [ FAILED ]
4.2 恢复
4.2.1 文本方式
[dmdba@test1 dm8]$ dmrman
dmrman V8
RMAN> check backupset '/dm8/backup/20230801_bak';
check backupset '/dm8/backup/20230801_bak';
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
check backupset successfully.
time used: 138.700(ms)
RMAN> RESTORE DATABASE '/dm8/data/PROD/dm.ini' FROM BACKUPSET '/dm8/backup/20230801_bak' DEVICE TYPE disk;
RESTORE DATABASE '/dm8/data/PROD/dm.ini' FROM BACKUPSET '/dm8/backup/20230801_bak' DEVICE TYPE disk;
file dm.key not found, use default license!
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:02][Remaining:00:00:00]
restore successfully.
time used: 00:00:02.403
RMAN> RECOVER DATABASE '/dm8/data/PROD/dm.ini' WITH ARCHIVEDIR '/dm8/arch';
RECOVER DATABASE '/dm8/data/PROD/dm.ini' WITH ARCHIVEDIR '/dm8/arch';
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[44962], file_lsn[44962]
[Percent:100.00%][Speed:0.00PKG/s][Cost:00:00:00][Remaining:00:00:00]
recover successfully!
time used: 410.957(ms)
RMAN> recover database '/dm8/data/PROD/dm.ini' update db_magic;
recover database '/dm8/data/PROD/dm.ini' update db_magic;
Database mode = 0, oguid = 0
Normal of FAST
Normal of DEFAULT
Normal of RECYCLE
Normal of KEEP
Normal of ROLL
EP[0]'s cur_lsn[46614], file_lsn[46614]
recover successfully!
time used: 00:00:01.001
RMAN>确认
[dmdba@test1 PROD]$ DmServiceTEST start
Starting DmServiceTEST: [ OK ]
[dmdba@test1 PROD]$ disql sysdba/Dameng123@localhost:5237服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.070(ms)
disql V8
SQL> select status$ from v$instance;行号 STATUS$
---------- -------
1 OPEN已用时间: 1.994(毫秒). 执行号:500.
SQL> select file_name from dba_data_files;行号 FILE_NAME
---------- -------------------------
1 /dm8/data/PROD/SYSTEM.DBF
2 /dm8/data/PROD/TBS02.dbf
3 /dm8/data/PROD/TBS01.dbf
4 /dm8/data/PROD/MAIN.DBF
5 /dm8/data/PROD/TEMP.DBF
6 /dm8/data/PROD/ROLL.DBF6 rows got已用时间: 7.471(毫秒). 执行号:501.
SQL>
4.2.2 图形界面
[dmdba@test1 ~]$ console
[dmdba@test1 PROD]$ DmServiceTEST start
Starting DmServiceTEST: [ OK ]
[dmdba@test1 PROD]$ disql sysdba/Dameng123@localhost:5237服务器[localhost:5237]:处于普通打开状态
登录使用时间 : 3.766(ms)
disql V8
SQL> select status$ from v$instance;行号 STATUS$
---------- -------
1 OPEN已用时间: 2.323(毫秒). 执行号:500.
SQL> select file_name from dba_data_files;行号 FILE_NAME
---------- -------------------------
1 /dm8/data/PROD/SYSTEM.DBF
2 /dm8/data/PROD/TBS02.dbf
3 /dm8/data/PROD/TBS01.dbf
4 /dm8/data/PROD/MAIN.DBF
5 /dm8/data/PROD/TEMP.DBF
6 /dm8/data/PROD/ROLL.DBF6 rows got已用时间: 9.022(毫秒). 执行号:501.
SQL>
5 归档日志备份与恢复
5.1 归档日志备份
5.1.1 文本方式
[dmdba@test1 backup]$ disql sysdba/Dameng123@localhost:5239Server[localhost:5239]:mode is normal, state is open
login used time : 2.420(ms)
disql V8
SQL> backup archivelog all not backed up to "ARCH_20230806" backupset 'ARCH_20230806';
executed successfully
used time: 00:00:03.536. Execute id is 900.
SQL> select backup_name,backup_path,object_name from v$backupset;LINEID BACKUP_NAME BACKUP_PATH OBJECT_NAME
---------- ------------- --------------------- -----------
1 DB_BAK /backup/DB_BAK PROD
2 ARCH_20230806 /backup/ARCH_20230806 ARCHIVEused time: 17.186(ms). Execute id is 901.
SQL>
5.1.2 图形界面
5.2 恢复
5.2.1 文本方式
[dmdba@test1 arch]$ dmrman
dmrman V8
RMAN> restore archive log from backupset '/backup/ARCH_20230806' TO archivedir '/dm/arch' overwrite 2;
restore archive log from backupset '/backup/ARCH_20230806' TO archivedir '/dm/arch' overwrite 2;
[Percent:100.00%][Speed:0.00M/s][Cost:00:00:00][Remaining:00:00:00]
restore successfully.
time used: 150.999(ms)
5.2.2 图形界面
[dmdba@test1 tool]$
谨记:心存敬畏,行有所止。
相关文章:

dm8 备份与恢复
dm8 备份与恢复 基础环境 操作系统:Red Hat Enterprise Linux Server release 7.9 (Maipo) 数据库版本:DM Database Server 64 V8 架构:单实例1 设置bak_path路径 --创建备份文件存放目录 su - dmdba mkdir -p /dm8/backup--修改dm.ini 文件…...

Vue项目中引入html页面(vue.js中引入echarts数据大屏html [静态非数据传递!] )
在项目原有vue(例如首页)基础上引入html页面 1、存放位置 vue3原有public文件夹下 我这边是新建一个static文件夹 专门存放要用到的html文件 复制拖拽过来 index为html的首页 2、更改路径引入到vue中 这里用到的是 iframe 方法 不同于vue的 component…...
ASTM C1186-22 纤维水泥平板
以无石棉类无机矿物纤维、有机合成纤维或纤维素纤维,单独或混合作为增强材料,以普通硅酸盐水泥或水泥中添加硅质、钙质材料代替部分水泥为胶凝材料,经制浆、成型、蒸汽或高压蒸汽养护制成的板材,俗称水泥压力板。 ASTM C1186-22纤…...

NoSQL概述
NoSQL概述 目录 一、为什么用NoSQL 二、什么是NoSQL 三、经典应用分析 四、N o S Q L 数 据 模 型 简 介 五、NoSQL四大分类 六、CAP BASE 一、为什么用NoSQL 1、单机MySQL的美好年代 在90年代,一个网站的访问量一般不大,用单个数据库完全可以轻松应…...

爬虫实战一、Scrapy开发环境(Win10+Anaconda3)搭建
#前言 在这儿推荐使用Anaconda进行安装,并不推荐大家用pythonpip安装,因为pythonpip的坑实在是太多了。 #一、环境中准备: Win10(企业版)Anaconda3-5.0.1-Windows-x86_64,下载地址,如果打不开…...

llama.cpp运行qwen0.5B
编译llama.cp 参考 下载模型 05b模型下载 转化模型 创建虚拟环境 conda create --prefixD:\miniconda3\envs\llamacpp python3.10 conda activate D:\miniconda3\envs\llamacpp安装所需要的包 cd G:\Cpp\llama.cpp-master pip install -r requirements.txt python conver…...
【接口】HTTP(3) |GET和POST两种基本请求方法有什么区别
在我面试时,在我招人面试别人时,10次能遇到7次这个问题,我听过我也说回答过: Get: 一般对于从服务器取数据的请求可以设置为get方式 Get方式在传递参数的时候,一般都会把参数直接拼接在url上 Get请求方法…...

金陵科技学院软件工程学院软件工程专业
感兴趣的小伙伴可以私信我哦~~ 是笔者写的各种高质量作业和实验哦~~ 感兴趣的小伙伴可以私信我哦~~ 是笔者写的各种高质量作业和实验哦~~ 感兴趣的小伙伴可以私信我哦~~ 是笔者写的各种高质量作业和实验哦~~ 感兴趣的小伙伴可以私信我哦~~ 是笔者写的各种高质量作业和实验哦…...

Android 关于apk反编译d2j-dex2jar classes.dex失败的几种方法
目录 确认路径正确直接定位到指定目录确定目录正确,按如下路径修改下面是未找到相关文件正确操作 确认路径正确 ,即d2j-dex2jar和classes.dex是否都在一个文件夹里(大部分的情况都是路径不正确) 直接定位到指定目录 路径正确的…...

Django--admin 后台管理站点
Django最大的优点之一,就是体贴的提供了一个基于项目model创建的一个后台管理站点admin。这个界面只给站点管理员使用,并不对大众开放。虽然admin的界面可能不是那么美观,功能不是那么强大,内容不一定符合你的要求,但是…...

JavaScript(六)---【回调、异步、promise、Async】
零.前言 JavaScript(一)---【js的两种导入方式、全局作用域、函数作用域、块作用域】-CSDN博客 JavaScript(二)---【js数组、js对象、this指针】-CSDN博客 JavaScript(三)---【this指针,函数定义、Call、Apply、函数绑定、闭包】-CSDN博客 JavaScript(四)---【执…...

vue2+elementUi的两个el-date-picker日期组件进行联动
vue2elementUi的两个el-date-picker日期组件进行联动 <template><el-form><el-form-item label"起始日期"><el-date-picker v-model"form.startTime" change"startTimeChange" :picker-options"startTimePickerOption…...
GIN实例讲解
第一个gin程序 package mainimport ("github.com/gin-gonic/gin" )func main() {// 创建一个 Gin 引擎实例r : gin.Default()// 定义一个 GET 请求的路由,当访问 /hello 路径时执行匿名函数r.GET("/hello", func(c *gin.Context) {// 获取查询…...
开源充电桩设备监控系统技术解决方案
开源 | 慧哥充电桩平台V2.5.2(支持 汽车 电动自行车 云快充1.5、云快充1.6 微服务 ) SpringBoot设备监控系统解决方案 一、引言 1.项目背景 随着物联网技术的快速发展,设备的智能化和网络化程度日益提高。在现代工业和信息化的背景下&#x…...

环形链表--极致的简便
一、要求 给你一个链表的头节点 head ,判断链表中是否有环。 如果链表中有某个节点,可以通过连续跟踪 next 指针再次到达,则链表中存在环。 为了表示给定链表中的环,评测系统内部使用整数 pos 来表示链表尾连接到链表中的位置&a…...
WPF中TextWrapping
在 WPF(Windows Presentation Foundation)中,TextWrapping 是一个与文本布局相关的属性,用于控制文本在遇到容器边界时是否自动换行。这个属性常用于文本展示控件,如 TextBlock、TextBox、Label 等,以确保文…...

Win10 下 git error unable to create file Invalid argument 踩坑实录
原始解决方案参看:https://stackoverflow.com/questions/26097568/git-pull-error-unable-to-create-file-invalid-argument 本问题解决于 2024-02-18,使用 git 版本 2.28.0.windows.1 解决方案 看 Git 抛出的出错的具体信息,比如如下都来自…...

简化备案域名查询的最新API接口
随着互联网的发展,越来越多的网站和域名被注册和备案。备案域名查询是一个非常重要的功能,可以帮助用户在特定时间段内查询已备案的域名信息。现在,我将介绍一个简化备案域名查询的最新API接口,该接口可以帮助用户快速查询备案域名…...

基于SpringBoot和Vue的校园周边美食探索以及分享系统
今天要和大家聊的是基于SpringBoot和Vue的校园周边美食探索以及分享系统 !!! 有需要的小伙伴可以通过文章末尾名片咨询我哦!!! 💕💕作者:李同学 💕…...

TiDB单机版安装和连接访问
TiDB单机版安装和连接访问 1、下载 $wget http://download.pingcap.org/tidb-latest-linux-amd64.tar.gz 2、解压缩 $tar -zxvf tidb-latest-linux-amd64.tar.gz 3、启动TiDB 启动PD $./bin/pd-server --data-dirpd --log-filepd.log 启动tikv $./bin/tikv-server --pd…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄
文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
相机Camera日志分析之三十一:高通Camx HAL十种流程基础分析关键字汇总(后续持续更新中)
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了:有对最普通的场景进行各个日志注释讲解,但相机场景太多,日志差异也巨大。后面将展示各种场景下的日志。 通过notepad++打开场景下的日志,通过下列分类关键字搜索,即可清晰的分析不同场景的相机运行流程差异…...

【LeetCode】算法详解#6 ---除自身以外数组的乘积
1.题目介绍 给定一个整数数组 nums,返回 数组 answer ,其中 answer[i] 等于 nums 中除 nums[i] 之外其余各元素的乘积 。 题目数据 保证 数组 nums之中任意元素的全部前缀元素和后缀的乘积都在 32 位 整数范围内。 请 不要使用除法,且在 O…...
SpringAI实战:ChatModel智能对话全解
一、引言:Spring AI 与 Chat Model 的核心价值 🚀 在 Java 生态中集成大模型能力,Spring AI 提供了高效的解决方案 🤖。其中 Chat Model 作为核心交互组件,通过标准化接口简化了与大语言模型(LLM࿰…...

Neko虚拟浏览器远程协作方案:Docker+内网穿透技术部署实践
前言:本文将向开发者介绍一款创新性协作工具——Neko虚拟浏览器。在数字化协作场景中,跨地域的团队常需面对实时共享屏幕、协同编辑文档等需求。通过本指南,你将掌握在Ubuntu系统中使用容器化技术部署该工具的具体方案,并结合内网…...

实战设计模式之模板方法模式
概述 模板方法模式定义了一个操作中的算法骨架,并将某些步骤延迟到子类中实现。模板方法使得子类可以在不改变算法结构的前提下,重新定义算法中的某些步骤。简单来说,就是在一个方法中定义了要执行的步骤顺序或算法框架,但允许子类…...
【Kafka】Kafka从入门到实战:构建高吞吐量分布式消息系统
Kafka从入门到实战:构建高吞吐量分布式消息系统 一、Kafka概述 Apache Kafka是一个分布式流处理平台,最初由LinkedIn开发,后成为Apache顶级项目。它被设计用于高吞吐量、低延迟的消息处理,能够处理来自多个生产者的海量数据,并将这些数据实时传递给消费者。 Kafka核心特…...
JS红宝书笔记 - 3.3 变量
要定义变量,可以使用var操作符,后跟变量名 ES实现变量初始化,因此可以同时定义变量并设置它的值 使用var操作符定义的变量会成为包含它的函数的局部变量。 在函数内定义变量时省略var操作符,可以创建一个全局变量 如果需要定义…...

Linux-进程间的通信
1、IPC: Inter Process Communication(进程间通信): 由于每个进程在操作系统中有独立的地址空间,它们不能像线程那样直接访问彼此的内存,所以必须通过某种方式进行通信。 常见的 IPC 方式包括&#…...