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

DM8 DSC备份还原

1、检查磁盘空间

检查服务器磁盘空间使用情况,确认磁盘有充足的空间存放物理备份。

查看磁盘空间使用情况(备份在端点0,此处检查端点0)

su - dmdba

[dmdba@centos-04 ~]$ df -h

文件系统                 容量  已用  可用 已用% 挂载点

/dev/mapper/centos-root   46G   18G   29G   38% /

devtmpfs                 1.9G     0  1.9G    0% /dev

tmpfs                    1.9G     0  1.9G    0% /dev/shm

tmpfs                    1.9G  9.3M  1.9G    1% /run

tmpfs                    1.9G     0  1.9G    0% /sys/fs/cgroup

/dev/sda1                197M  149M   49M   76% /boot

tmpfs                    380M   12K  380M    1% /run/user/42

tmpfs                    380M     0  380M    0% /run/user/0

2、检查dmap服务状态

检查数据库dmap服务运行状态,确认管道服务dmap已正常开启

1)确定dmap服务状态:

[dmdba@centos-04 ~]$ ps -ef|grep dmap|grep -v grep

dmdba      960     1  0 23:39 ?        00:00:01 /dm/dmdbms/dm8/dm8/bin/dmap

注意:未启动则执行步骤2命令手动开启

2)开启dmap服务:

su - dmdba

cd /dm/dmdbms/dm8/bin

./DmAPService start

3、检查归档状态

检查数据库归档情况,确认数据库归档已正常开启

1)检查归档是否已开启:

SQL> select * from v$dm_ini where para_name = 'ARCH_INI';

行号     PARA_NAME PARA_VALUE MIN_VALUE MAX_VALUE MPP_CHK SESS_VALUE FILE_VALUE DESCRIPTION PARA_TYPE

---------- --------- ---------- --------- --------- ------- ---------- ---------- ----------- ---------

1          ARCH_INI  1          0         1         N       1          1          dmarch.ini  SYS

2)检查归档配置信息:

SQL> select * from V$DM_ARCH_INI;

行号     ARCH_NAME       ARCH_TYPE ARCH_DEST                              ARCH_FILE_SIZE ARCH_SPACE_LIMIT ARCH_HANG_FLAG

---------- --------------- --------- -------------------------------------- -------------- ---------------- --------------

           ARCH_TIMER_NAME ARCH_IS_VALID ARCH_WAIT_APPLY ARCH_INCOMING_PATH                      ARCH_CURR_DEST                        

           --------------- ------------- --------------- --------------------------------------- --------------------------------------

1          ARCHIVE_LOCAL1  LOCAL     /dm/dmarch/cbdsc/LOCAL_ARCH_cbdsc_DSC0 512            102400           1

           NULL            Y             NULL            NULL                                    /dm/dmarch/cbdsc/LOCAL_ARCH_cbdsc_DSC0

2          ARCHIVE_REMOTE1 REMOTE    CBDSC_DSC1                             512            102400           1

           NULL            Y             NULL            /dm/dmarch/cbdsc/REMOTE_ARCH_cbdsc_DSC1 CBDSC_DSC1

3)检查归档日志文件:

SQL>select * from V$ARCHIVED_LOG;

4、做一次全备和增量备份

1)模拟备份前写数据

#disql sysdba/dameng123

CREATE TABLE TAB_FOR_RECOVER(C1 INT,create_time datetime);

BEGIN

FOR I IN 1..100 LOOP

INSERT INTO TAB_FOR_RECOVER VALUES(I,sysdate);

COMMIT;

END LOOP;

END;

/

SQL> select count(*) from TAB_FOR_RECOVER;

行号     COUNT(*)            

---------- --------------------

1          100

2)做一次全备

BACKUP DATABASE TO WEEKLY_FULL_BAK BACKUPSET

'/dm/dmback/db_fullbak_01' DEVICE TYPE DISK BACKUPINFO 'db_fullbak' MAXPIECESIZE 300 COMPRESSED LEVEL 1 PARALLEL 4;

[dmdba@centos-04 cbdsc1_config]$ ls -rlt /dm/dmback/db_fullbak_01/

总用量 260

drwxr-xr-x. 2 dmdba dinstall     61 7月  19 22:43 db_fullbak_01_0

drwxr-xr-x. 2 dmdba dinstall     61 7月  19 22:43 db_fullbak_01_2

drwxr-xr-x. 2 dmdba dinstall     61 7月  19 22:43 db_fullbak_01_1

-rw-r--r--. 1 dmdba dinstall   5632 7月  19 22:43 db_fullbak_01.bak

-rw-r--r--. 1 dmdba dinstall 256000 7月  19 22:43 db_fullbak_01.meta

3)模拟写入增量数据做增量备份

端点0:

#disql sysdba/dameng123

BEGIN

FOR I IN 101..200 LOOP

INSERT INTO TAB_FOR_RECOVER VALUES(I,sysdate);

COMMIT;

END LOOP;

END;

/

SQL> alter system switch logfile;

操作已执行

SQL> select checkpoint(100);

行号     CHECKPOINT(100)

---------- ---------------

1          0

端点1:

#disql sysdba/dameng123

BEGIN

FOR I IN 201..300 LOOP

INSERT INTO TAB_FOR_RECOVER VALUES(I,sysdate);

COMMIT;

END LOOP;

END;

/

SQL> alter system switch logfile;

操作已执行

SQL> select checkpoint(100);

行号     CHECKPOINT(100)

---------- ---------------

1          0

5、检查备份文件和归档有效性

1)检查备份文件

[dmdba@centos-04 ~]$ cd /dm/dmback/db_fullbak_01

[dmdba@centos-04 db_fullbak_01]$ ls -rlt

总用量 260

drwxr-xr-x. 2 dmdba dinstall     61 7月  19 22:43 db_fullbak_01_0

drwxr-xr-x. 2 dmdba dinstall     61 7月  19 22:43 db_fullbak_01_2

drwxr-xr-x. 2 dmdba dinstall     61 7月  19 22:43 db_fullbak_01_1

-rw-r--r--. 1 dmdba dinstall   5632 7月  19 22:43 db_fullbak_01.bak

-rw-r--r--. 1 dmdba dinstall 256000 7月  19 22:43 db_fullbak_01.meta

2)检查备份文件有效性情况:

su - dmdba

cd /dm/dmdbms/dm8/bin/

./dmrman dcr_ini=/dm/dmdbms/dm8/dsc_config/cbdsc_DSC0/dmdcr0.ini

#校验全备

RMAN> check backupset '/dm/dmback/db_fullbak_01';

check backupset '/dm/dmback/db_fullbak_01';

CMD END.CODE:[0]

check backupset successfully. #表示备份校验成功

time used: 295.941(ms)

#校验增备

RMAN> check backupset '/dm/dmback/db_increment_bak_02';

check backupset '/dm/dmback/db_increment_bak_02';

CMD END.CODE:[0]

check backupset successfully.   #表示备份校验成功

time used: 125.937(ms)

3)校验归档有效性

[dmdba@centos-04 0719_arch]$ dmrachk ARCH_PATH=/dm/dmarch/0719_arch

rachk V8

the database pmnt_magic: 1661664700

the database db_magic: 429043589

/*******************************************************************/

...

归档文件/dm/dmarch/0719_arch/ARCH_REMOTE1_0x1992AF85[1]_2023-07-19_23-54-25.log明细.

version        : 0x7006

status         : INACTIVE

enc_flag       : FALSE

n_rpkgs        : 4

pmnt_magic     : 1661664700

db_magic       : 429043589

src_db_magic   : 429043589

arch_lsn       : 149651

arch_seq       : 2848

clsn           : 154729

next_seq       : 2851

g_next_seq     : 2851

file len       : 521728

file free      : 521728

dsc seqno      : 1

dsc node       : 2

create time    : 2023-07-19 23:50:26.638211

close time     : 2023-07-19 23:54:56.021349

/*******************************************************************/

概要(节点[1]):

总计: 11 个文件

正确: 11 个文件

错误: 0 个文件

重复: 0 个文件

the rachk tool running cost 122.962 ms

#检查未出现错误或归档不连续问题

6、关闭数据库

su - dmdba

cd /dm/dmdbms/dm8/bin

#登录监视器关闭数据库服务

[dmdba@centos-04 bin]$ dmcssm

ep stop GRP_DSC

#检查数据库服务状态

ps –ef|grep dmserver

7、还原备份

su - dmdba

cd /dm/dmdbms/dm8/bin

./dmrman dcr_ini=/dm/dmdbms/dm8/dsc_config/cbdsc_DSC0/dmdcr0.ini

#直接restore增量备份会自动去找全备还原

RMAN> restore database '/dm/dmdbms/dm8/dsc_config/cbdsc_DSC0/dm.ini' from backupset '/dm/dmback/db_increment_bak_02' TASK THREAD 2;

restore database '/dm/dmdbms/dm8/dsc_config/cbdsc_DSC0/dm.ini' from backupset '/dm/dmback/db_increment_bak_02' TASK THREAD 2;

file dm.key not found, use default license!

Read ini warning, default backup path [/dm/dmback/cbdsc_DSC0] does not exist.

checking if the DSC database under system path [+DMDATA/data/cbdsc_DSC] is running with vote disk....

EP [0] is checking....

EP [1] is checking....

RESTORE DATABASE CHECK......

RESTORE DATABASE,dbf collect......

RESTORE DATABASE,dbf refresh ......

RESTORE BACKUPSET [/dm/dmback/db_fullbak_01/db_fullbak_01_0] START......

total 1 packages processed...

RESTORE BACKUPSET [/dm/dmback/db_fullbak_01/db_fullbak_01_2] START......

total 1 packages processed...

RESTORE BACKUPSET [/dm/dmback/db_fullbak_01/db_fullbak_01_1] START......

total 1 packages processed...

total 11 packages processed...

RESTORE BACKUPSET [/dm/dmback/db_increment_bak_02] START......

total 19 packages processed...

total 20 packages processed...

RESTORE DATABASE,UPDATE ctl file......

RESTORE DATABASE,REBUILD key file......

RESTORE DATABASE,CHECK db info......

RESTORE DATABASE,UPDATE db info......

total 20 packages processed...

total 20 packages processed!

CMD END.CODE:[0]

restore successfully.

time used: 00:00:08.764

将端点0和端点1增量备份之后的归档都拷贝端点0的/dm/dmarch/0719_arch目录

#应用增量备份之后的归档日志

[dmdba@centos-04 0719_arch]$

RMAN> recover database '/dm/dmdbms/dm8/dsc_config/cbdsc_DSC0/dm.ini' with archivedir '/dm/dmarch/0719_arch';

recover database '/dm/dmdbms/dm8/dsc_config/cbdsc_DSC0/dm.ini' with archivedir '/dm/dmarch/0719_arch';

file dm.key not found, use default license!

Read ini warning, default backup path [/dm/dmback/cbdsc_DSC0] does not exist.

checking if the DSC database under system path [+DMDATA/data/cbdsc_DSC] is running with vote disk....

EP [0] is checking....

EP [1] is checking....

Database mode = 0, oguid = 0

EP[0]'s cur_lsn[147407]

EP[1]'s cur_lsn[147407]

EP[0] adjust cur_lsn from [147407] to [147407]

EP:1 total 1 pkgs applied, percent: 11%

EP:1 total 2 pkgs applied, percent: 22%

EP:0 total 22 pkgs applied, percent: 10%

EP:0 total 44 pkgs applied, percent: 20%

EP:0 total 66 pkgs applied, percent: 30%

EP:0 total 88 pkgs applied, percent: 40%

EP:0 total 110 pkgs applied, percent: 50%

EP:1 total 3 pkgs applied, percent: 33%

EP:1 total 4 pkgs applied, percent: 44%

EP:1 total 5 pkgs applied, percent: 55%

EP:0 total 132 pkgs applied, percent: 60%

EP:0 total 154 pkgs applied, percent: 70%

EP:0 total 176 pkgs applied, percent: 80%

EP:0 total 198 pkgs applied, percent: 90%

EP:0 total 218 pkgs applied, percent: 100%

EP:1 total 6 pkgs applied, percent: 66%

EP:1 total 7 pkgs applied, percent: 77%

EP:1 total 8 pkgs applied, percent: 88%

EP:1 total 9 pkgs applied, percent: 100%

Recover from archive log finished, time used:6.845s.

EP(0) slot ctl page(1, 0, 16) trxid[35534], pseg_state[0]

EP(1) slot ctl page(1, 0, 17) trxid[35111], pseg_state[0]

EP[0]'s apply_lsn[154729] >= end_lsn[147408]

EP[1]'s apply_lsn[154729] >= end_lsn[147407]

recover successfully!

time used: 00:00:13.314

#更新db_magic

RMAN> recover database '/dm/dmdbms/dm8/dsc_config/cbdsc_DSC0/dm.ini' update db_magic;

recover database '/dm/dmdbms/dm8/dsc_config/cbdsc_DSC0/dm.ini' update db_magic;

Read ini warning, default backup path [/dm/dmback/cbdsc_DSC0] does not exist.

checking if the DSC database under system path [+DMDATA/data/cbdsc_DSC] is running with vote disk....

EP [0] is checking....

EP [1] is checking....

Database mode = 0, oguid = 0

EP[0]'s cur_lsn[154729]

EP[1]'s cur_lsn[154729]

EP[0] adjust cur_lsn from [154729] to [154729]

EP[0]'s apply_lsn[154729] >= end_lsn[147408]

EP[1]'s apply_lsn[154729] >= end_lsn[147407]

EP(0) slot ctl page(1, 0, 16) trxid[35534], pseg_state[0]

EP(1) slot ctl page(1, 0, 17) trxid[35111], pseg_state[0]

recover successfully!

time used: 00:00:07.153

8、启动数据库

su - dmdba

cd /dm/dmdbms/dm8/bin

#进入监视器启动数据库服务

./dmcssm

ep startup GRP_DSC

#查看集群和数据库相关状态

show

[monitor]         2023-07-20 00:17:31: Wait CSS Control Node choosed succeed.

monitor current time:2023-07-20 00:17:31, n_group:3

=================== group[name = GRP_CSS, seq = 0, type = CSS, Control Node = 0] ========================================

[CSS0] global info:

[ASM0] auto restart = TRUE

[cbdsc_DSC0] auto restart = FALSE

[CSS1] global info:

[ASM1] auto restart = TRUE

[cbdsc_DSC1] auto restart = FALSE

ep:     css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              

        2023-07-20 00:17:30    CSS0          0         1286    Control Node OPEN               WORKING      OK           TRUE         923599632         923601713       

        2023-07-20 00:17:30    CSS1          1         1286    Normal Node  OPEN               WORKING      OK           TRUE         923601282         923603361       

=================== group[name = GRP_ASM, seq = 1, type = ASM, Control Node = 0] ========================================

n_ok_ep = 2

ok_ep_arr(index, seqno):

(0, 0)

(1, 1)

sta = OPEN, sub_sta = STARTUP

break ep = NULL

recover ep = NULL

crash process over flag is TRUE

ep:     css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              

        2023-07-20 00:17:30    ASM0          0         1276    Control Node OPEN               WORKING      OK           TRUE         923630562         923632562       

        2023-07-20 00:17:30    ASM1          1         1277    Normal Node  OPEN               WORKING      OK           TRUE         923631817         923633813       

=================== group[name = GRP_DSC, seq = 2, type = DB, Control Node = 0] ========================================

n_ok_ep = 2

ok_ep_arr(index, seqno):

(0, 0)

(1, 1)

sta = OPEN, sub_sta = STARTUP

break ep = NULL

recover ep = NULL

crash process over flag is TRUE

ep:     css_time               inst_name     seqno     port    mode         inst_status        vtd_status   is_ok        active       guid              ts              

        2023-07-20 00:17:30    cbdsc_DSC0    0         1236    Control Node OPEN               WORKING      OK           TRUE         406094557         406096517       

        2023-07-20 00:17:30    cbdsc_DSC1    1         1236    Normal Node  OPEN               WORKING      OK           TRUE         406095657         406097612       

==================================================================================================================

#检查数据库服务状态:

ps –ef|grep dmserver

#登录数据库验证连接正常:

SQL> select status$ from v$instance;

行号     STATUS$

---------- -------

1          OPEN

达梦在线服务平台:https://eco.dameng.com

相关文章:

DM8 DSC备份还原

1、检查磁盘空间 检查服务器磁盘空间使用情况,确认磁盘有充足的空间存放物理备份。 查看磁盘空间使用情况(备份在端点0,此处检查端点0) su - dmdba [dmdbacentos-04 ~]$ df -h 文件系统 容量 已用 可用 已用% …...

【Docker--harbor私有仓库部署与管理】

目录 一、Harbor 部署1. 部署 Docker-Compose 服务2. 部署 Harbor 服务(1)下载或上传 Harbor 安装程序(2)修改harbor安装的配置文件 3. 启动 Harbor4. 查看 Harbor 启动镜像5. 创建一个新项目1、在虚拟上进行登录 Harbor2、下载镜…...

基于量子同态加密的安全多方凸包协议

摘要安全多方计算几何(SMCG)是安全多方计算的一个分支。该协议是为SMCG中安全的多方凸包计算而设计的。首先,提出了一种基于量子同态加密的安全双方值比较协议。由于量子同态加密的性质,该协议可以很好地保护量子电路执行过程中数据的安全性和各方之间的…...

MySQL案例——多表查询以及嵌套查询

系列文章目录 MySQL笔记——表的修改查询相关的命令操作 MySQL笔记——MySQL数据库介绍以及在Linux里面安装MySQL数据库,对MySQL数据库的简单操作,MySQL的外接应用程序使用说明 文章目录 系列文章目录 前言 一 创建数据库 1.1 创建一个部门表 1.…...

AI 视频清晰化CodeFormer-Deepfacelab

CodeFormer 概述 (a) 我们首先学习一个离散码本和一个解码器,通过自重建学习来存储人脸图像的高质量视觉部分。(b) 使用固定的码本和解码器,我们引入了一个用于代码序列预测的 Transformer 模块,对低质量输入的全局人脸组成进行建模。此外&a…...

TCP协议如何实现可靠传输

TCP最主要的特点 TCP是面向连接的运输层协议,在无连接的、不可靠的IP网络服务基础之上提供可靠交付的服务。为此,在IP的数据报服务基础之上,增加了保证可靠性的一系列措施。 TCP最主要的特点: TCP是面向连接的输出层协议 每一条…...

万恶的Eclipse的使用

恨啊!公司用eclipse,这种千年老古董又被翻出来了,我的idea,我的宝,我想你! 下面是总结的各种eclipse的使用技巧: 让eclipse像idea一样使用 .sout eclipse设置自动保存代码(图文&…...

文件上传--题目

之前有在技能树中学过文件上传,正好借这次进行一个整合: 技能树中所包含的题目类型有 无限制绕过 1.上传一句话木马 2.链接中国蚁剑 前端验证 1.会发现这个网站不让提交php,改后缀为jpg格式,再用burp抓包 2.在用中国蚁剑连接 .…...

小程序创建

1,下载HBuilder X ;(3.8.7) HBuilderX-高效极客技巧 2,下载模板(不选云服务的); 3,运行-运行到小程序模拟器; 4,安装小程序开发工具; 5,选择稳定版-windows64版&…...

stable diffusion如何确保每张图的面部一致?

可以使用roop插件,确定好脸部图片后,使用roop固定,然后生成的所有图片都使用同一张脸。 这款插件的功能简单粗暴:一键换脸。 如图所示: 任意上传一张脸部清晰的图片,点击启用。 在其他提示词不变的情况下…...

保存Windows锁屏壁纸

原链接 1. 点击爱心 我保存过了,所以没有爱心了. 2. 打开本地文件夹 用户改成自己的 C:\Users\86186\AppData\Local\Packages\Microsoft.Windows.ContentDeliveryManager_cw5n1h2txyewy\LocalState\Assets 3. 复制这些文件到其他目录 我这个不知道咋的,操作完文件夹过1会就被…...

面向对象编程:深入理解内部类与抽象类的使用

文章目录 一、内部类使用:1.1 成员内部类:1.1.1 成员内部类的主要特点是: 1.2 局部内部类:1.2.1 局部内部类的主要特点是:1.2.2 局部内部类通常用于以下情况: 1.3 静态内部类:1.3.1 静态内部类的…...

linux安装oracle

oracle安装 基于linux系统安装 Linux安装oracle12C Centos7.6 内存8GB 硬盘:50GB 可视化图形界面 yum groupinstall "GNOME Desktop" -y 可视化后续安装命令 1、软件环境包安装 yum -y install binutils compat-libcap1 compat-libstdc-33 gcc-c glib…...

切面 基于Aspect注解自动切面, 省下注解判断逻辑 handler

父文章 spring aop 切面配置_aop 切面设置.**_个人渣记录仅为自己搜索用的博客-CSDN博客 【Spring AOP】Aspect结合案例详解(一): Pointcut使用annotation 五种通知Advice注解(已附源码)_pointcut annotation_天罡gg的博客-CSDN博…...

golang,gin框架的请求参数(一)--推荐

golang,gin框架的请求参数(一) gin框架的重要性不过多的强调,重点就gin使用中的参数传递,获取进行梳理文件,满足使用需求。 获取前端请求参数的几种方法: 一、获取参数【浏览器地址获取参数】…...

ardupilot 遥控的输入控制模式

目录 本节主要记录自己整理ardupilot的遥控器的输入控制模式:正常模式、简单模式、超简单模式的理解。 1.正常模式(有头模式) 在不用简单和超简单的模式的情况下,无人机操作员操作的控制输入是对应着不断旋转着的飞行器进行操作的。如上方图所示举例,当无人机操作员进行…...

Unity UGUI的StandaloneInputModule (标准输入模块)组件的介绍及使用

Unity UGUI的StandaloneInputModule (标准输入模块)组件的介绍及使用 1. 什么是StandaloneInputModule组件? StandaloneInputModule是Unity UGUI系统中的一个标准输入模块组件,用于处理鼠标和键盘的输入事件。它可以将鼠标和键盘的输入转化为UGUI系统中…...

惠普HP Color Laser 150a开机红色感叹号闪烁不打印故障解决方法

故障描述: 惠普HP Color Laser 150a开机红色感叹号闪烁,不能打印,电脑提示C3-6140。 检测分析: 在解决C3-6140错误代码之前,我们需要先检查打印机是否连接正常。如果打印机连接不正常,也可能会出现这个错误…...

CVE-2023-1454注入分析复现

简介 JeecgBoot的代码生成器是一种可以帮助开发者快速构建企业级应用的工具&#xff0c;它可以通过一键生成前后端代码&#xff0c;无需写任何代码&#xff0c;让开发者更多关注业务逻辑。 影响版本 Jeecg-Boot<3.5.1 环境搭建 idea 后端源码&#xff1a; https://git…...

MFC使用png做背景图片

在MFC中使用png图片作为背景&#xff0c;你需要使用GDI库。以下是一个简单的示例&#xff1a; 首先&#xff0c;你需要在你的项目中包含GDI头文件和库。在你的stdafx.h&#xff08;或者你的项目预编译头文件&#xff09;中添加以下代码&#xff1a; #include <GdiPlus.h&g…...

CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型

CVPR 2025 | MIMO&#xff1a;支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题&#xff1a;MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者&#xff1a;Yanyuan Chen, Dexuan Xu, Yu Hu…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

Aspose.PDF 限制绕过方案:Java 字节码技术实战分享(仅供学习)

Aspose.PDF 限制绕过方案&#xff1a;Java 字节码技术实战分享&#xff08;仅供学习&#xff09; 一、Aspose.PDF 简介二、说明&#xff08;⚠️仅供学习与研究使用&#xff09;三、技术流程总览四、准备工作1. 下载 Jar 包2. Maven 项目依赖配置 五、字节码修改实现代码&#…...

招商蛇口 | 执笔CID,启幕低密生活新境

作为中国城市生长的力量&#xff0c;招商蛇口以“美好生活承载者”为使命&#xff0c;深耕全球111座城市&#xff0c;以央企担当匠造时代理想人居。从深圳湾的开拓基因到西安高新CID的战略落子&#xff0c;招商蛇口始终与城市发展同频共振&#xff0c;以建筑诠释对土地与生活的…...

JavaScript 数据类型详解

JavaScript 数据类型详解 JavaScript 数据类型分为 原始类型&#xff08;Primitive&#xff09; 和 对象类型&#xff08;Object&#xff09; 两大类&#xff0c;共 8 种&#xff08;ES11&#xff09;&#xff1a; 一、原始类型&#xff08;7种&#xff09; 1. undefined 定…...

【学习笔记】erase 删除顺序迭代器后迭代器失效的解决方案

目录 使用 erase 返回值继续迭代使用索引进行遍历 我们知道类似 vector 的顺序迭代器被删除后&#xff0c;迭代器会失效&#xff0c;因为顺序迭代器在内存中是连续存储的&#xff0c;元素删除后&#xff0c;后续元素会前移。 但一些场景中&#xff0c;我们又需要在执行删除操作…...

uniapp 小程序 学习(一)

利用Hbuilder 创建项目 运行到内置浏览器看效果 下载微信小程序 安装到Hbuilder 下载地址 &#xff1a;开发者工具默认安装 设置服务端口号 在Hbuilder中设置微信小程序 配置 找到运行设置&#xff0c;将微信开发者工具放入到Hbuilder中&#xff0c; 打开后出现 如下 bug 解…...

对象回调初步研究

_OBJECT_TYPE结构分析 在介绍什么是对象回调前&#xff0c;首先要熟悉下结构 以我们上篇线程回调介绍过的导出的PsProcessType 结构为例&#xff0c;用_OBJECT_TYPE这个结构来解析它&#xff0c;0x80处就是今天要介绍的回调链表&#xff0c;但是先不着急&#xff0c;先把目光…...

负载均衡器》》LVS、Nginx、HAproxy 区别

虚拟主机 先4&#xff0c;后7...

Redis上篇--知识点总结

Redis上篇–解析 本文大部分知识整理自网上&#xff0c;在正文结束后都会附上参考地址。如果想要深入或者详细学习可以通过文末链接跳转学习。 1. 基本介绍 Redis 是一个开源的、高性能的 内存键值数据库&#xff0c;Redis 的键值对中的 key 就是字符串对象&#xff0c;而 val…...