RMAN备份与恢复

news2024/10/6 12:30:09

文章目录

  • 一、RMAN介绍
  • 二、全量备份
  • 三、增量备份
    • 0级备份
    • 1级增量备份
    • 累积性差量备份
    • 总结
  • 四、压缩备份
    • 压缩备份介绍
    • 压缩备份操作
    • 压缩备份优缺点
  • 五、异常恢复
    • 1、恢复前的准备
    • 2、恢复数据库
  • 六、RMAN相关参数

在这里插入图片描述

一、RMAN介绍

RMAN(Recovery Manager)是Oracle数据库的一个备份和恢复管理工具,它提供了一种集中管理和自动化备份和恢复任务的方式。RMAN可以与Oracle数据库一起使用,以提供基于磁盘和磁带的备份,可以在遇到数据丢失或数据库故障时快速恢复数据。

RMAN具有以下特点和功能:

  1. 集中管理:RMAN可以集中管理所有的备份和恢复任务,包括备份的创建、管理和恢复的操作。它提供了一种统一的接口来执行这些任务,可以通过命令行界面或图形化界面来操作。

  2. 自动化备份和恢复:RMAN支持自动化备份和恢复任务,可以设置定期备份计划,并自动执行备份任务。它还提供了一种灵活的恢复策略,可以根据需求选择恢复到某一个时间点或某一个备份集。

  3. 增量备份:RMAN支持增量备份,可以只备份数据库中发生变化的数据块,大大减少备份时间和存储空间的需求。增量备份还可以与全备份和归档日志一起使用,提供了一种完整的备份和恢复解决方案。

  4. 数据库复制和恢复:RMAN支持数据库复制和恢复,可以将一个数据库的备份还原到另一个数据库上。这种功能可以用于数据库迁移、测试和开发环境的创建等场景。

  5. 数据库压缩:RMAN支持对备份集和归档日志进行压缩,可以减少备份和恢复所需的存储空间。同时,RMAN还支持数据压缩选项,可以在备份过程中对数据进行压缩,减少备份时间和存储成本。

RMAN是Oracle数据库备份和恢复的重要工具,它提供了一种集中管理和自动化执行备份和恢复任务的方式,可以帮助用户保护数据,并在遇到数据丢失或数据库故障时快速恢复数据。RMAN(Recovery Manager)是Oracle数据库的一个备份和恢复管理工具,它提供了一种集中管理和自动化备份和恢复任务的方式。RMAN可以与Oracle数据库一起使用,以提供基于磁盘和磁带的备份,可以在遇到数据丢失或数据库故障时快速恢复数据。

RMAN具有以下特点和功能:

  1. 集中管理:RMAN可以集中管理所有的备份和恢复任务,包括备份的创建、管理和恢复的操作。它提供了一种统一的接口来执行这些任务,可以通过命令行界面或图形化界面来操作。

  2. 自动化备份和恢复:RMAN支持自动化备份和恢复任务,可以设置定期备份计划,并自动执行备份任务。它还提供了一种灵活的恢复策略,可以根据需求选择恢复到某一个时间点或某一个备份集。

  3. 增量备份:RMAN支持增量备份,可以只备份数据库中发生变化的数据块,大大减少备份时间和存储空间的需求。增量备份还可以与全备份和归档日志一起使用,提供了一种完整的备份和恢复解决方案。

  4. 数据库复制和恢复:RMAN支持数据库复制和恢复,可以将一个数据库的备份还原到另一个数据库上。这种功能可以用于数据库迁移、测试和开发环境的创建等场景。

  5. 数据库压缩:RMAN支持对备份集和归档日志进行压缩,可以减少备份和恢复所需的存储空间。同时,RMAN还支持数据压缩选项,可以在备份过程中对数据进行压缩,减少备份时间和存储成本。

RMAN是Oracle数据库备份和恢复的重要工具,它提供了一种集中管理和自动化执行备份和恢复任务的方式,可以帮助用户保护数据,并在遇到数据丢失或数据库故障时快速恢复数据。

二、全量备份

这里我所使用的机器是RAC集群

先提前创建好备份目录,并且授权

su - oracle
mkdir /u01/app/oracle/backup

chown -R oracle:oinstall /u01/app/oracle/backup/
chmod -R 770 /u01/app/oracle/backup/

在这里插入图片描述

rman target sys/oracle@p19c0 nocatalog

在这里插入图片描述

backup database format '/u01/app/oracle/backup/md_%U';

在这里插入图片描述

查看备份记录

 list backup;

在这里插入图片描述
在这里插入图片描述

三、增量备份

0级备份

run {
	allocate channel c1 type disk;
	backup incremental level 0 database format '/u01/app/oracle/backup/l0_%u';
}

在这里插入图片描述

1级增量备份

run {
	allocate channel c1 type disk;
	backup incremental level 1 database format '/u01/app/oracle/backup/l1_%u';
}

在这里插入图片描述
在这里插入图片描述
2级备份以此类推

累积性差量备份

累积性需要在级别后边加cumulative

run {
	allocate channel c1 type disk;
	backup incremental level 1 cumulative database format '/u01/app/oracle/backup/l1c_%u';
}

在这里插入图片描述

总结

备份类型:

  • 完全备份包含所有使用的数据文件块。
  • 0 级增量备份等同于标记为 0 级的 完全备份。 累积 1 级增量备份只包含自上次 0 级增量备份以来修改过的块。
  • 差异 1 级增量备份只包含自上次增量备份以来修改过的块。(默认1级备份就是差异备份)
  • 2级累积增量备份上次任意级别备份至今的增量(任意一次备份至今)
    在这里插入图片描述

四、压缩备份

压缩备份介绍

RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以通过压缩备份来减少备份数据的存储空间消耗。下面是关于RMAN压缩备份的详细介绍。

  1. RMAN压缩备份的优势:

    • 减少备份数据的存储空间消耗:RMAN压缩备份可以通过对备份数据进行压缩,减少备份数据的存储空间消耗。
    • 提高备份和恢复性能:由于备份数据变小,RMAN压缩备份可以提高备份和恢复的性能,减少备份和恢复的时间。
    • 降低存储成本:通过减少备份数据的存储空间消耗,RMAN压缩备份可以降低存储成本。
  2. RMAN压缩备份的压缩级别:

    • 无压缩:RMAN备份数据不进行任何压缩。
    • 压缩:RMAN备份数据进行基于块的压缩,可以达到一定的压缩比。
    • 高压缩:RMAN备份数据进行更高级别的压缩(例如Huffman压缩算法),可以进一步减少备份数据的存储空间消耗。
  3. RMAN压缩备份的设置和使用:

    • 在执行备份命令时,可以通过设置压缩级别来启用RMAN压缩备份。例如,使用BACKUP AS COMPRESSED BACKUPSET命令来进行备份,并将备份数据进行压缩。
    • 在RMAN的配置文件(通常为rman.rcv)中,可以设置默认的压缩级别,以便在执行备份时自动启用压缩备份。
  4. RMAN压缩备份的限制:

    • 压缩备份可能会增加CPU的使用量,因为压缩和解压缩备份数据需要消耗一定的计算资源。
    • 高压缩级别可能会导致备份和恢复的性能降低,因为解压缩备份数据可能需要更多的时间和计算资源。
    • 高压缩级别可能会增加备份和恢复的时间,因为压缩和解压缩备份数据需要消耗更多的时间。

总之,RMAN压缩备份是一种减少备份数据存储空间消耗、提高备份和恢复性能、降低存储成本的方法。但需要注意压缩备份可能增加CPU使用量、降低备份和恢复的性能,以及增加备份和恢复的时间。因此,在使用RMAN压缩备份时需要根据具体情况权衡利弊,并合理设置压缩级别。RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以通过压缩备份来减少备份数据的存储空间消耗。下面是关于RMAN压缩备份的详细介绍。

  1. RMAN压缩备份的优势:

    • 减少备份数据的存储空间消耗:RMAN压缩备份可以通过对备份数据进行压缩,减少备份数据的存储空间消耗。
    • 提高备份和恢复性能:由于备份数据变小,RMAN压缩备份可以提高备份和恢复的性能,减少备份和恢复的时间。
    • 降低存储成本:通过减少备份数据的存储空间消耗,RMAN压缩备份可以降低存储成本。
  2. RMAN压缩备份的压缩级别:

    • 无压缩:RMAN备份数据不进行任何压缩。
    • 压缩:RMAN备份数据进行基于块的压缩,可以达到一定的压缩比。
    • 高压缩:RMAN备份数据进行更高级别的压缩(例如Huffman压缩算法),可以进一步减少备份数据的存储空间消耗。
  3. RMAN压缩备份的设置和使用:

    • 在执行备份命令时,可以通过设置压缩级别来启用RMAN压缩备份。例如,使用BACKUP AS COMPRESSED BACKUPSET命令来进行备份,并将备份数据进行压缩。
    • 在RMAN的配置文件(通常为rman.rcv)中,可以设置默认的压缩级别,以便在执行备份时自动启用压缩备份。
  4. RMAN压缩备份的限制:

    • 压缩备份可能会增加CPU的使用量,因为压缩和解压缩备份数据需要消耗一定的计算资源。
    • 高压缩级别可能会导致备份和恢复的性能降低,因为解压缩备份数据可能需要更多的时间和计算资源。
    • 高压缩级别可能会增加备份和恢复的时间,因为压缩和解压缩备份数据需要消耗更多的时间。

总之,RMAN压缩备份是一种减少备份数据存储空间消耗、提高备份和恢复性能、降低存储成本的方法。但需要注意压缩备份可能增加CPU使用量、降低备份和恢复的性能,以及增加备份和恢复的时间。因此,在使用RMAN压缩备份时需要根据具体情况权衡利弊,并合理设置压缩级别。RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以通过压缩备份来减少备份数据的存储空间消耗。下面是关于RMAN压缩备份的详细介绍。

  1. RMAN压缩备份的优势:

    • 减少备份数据的存储空间消耗:RMAN压缩备份可以通过对备份数据进行压缩,减少备份数据的存储空间消耗。
    • 提高备份和恢复性能:由于备份数据变小,RMAN压缩备份可以提高备份和恢复的性能,减少备份和恢复的时间。
    • 降低存储成本:通过减少备份数据的存储空间消耗,RMAN压缩备份可以降低存储成本。
  2. RMAN压缩备份的压缩级别:

    • 无压缩:RMAN备份数据不进行任何压缩。
    • 压缩:RMAN备份数据进行基于块的压缩,可以达到一定的压缩比。
    • 高压缩:RMAN备份数据进行更高级别的压缩(例如Huffman压缩算法),可以进一步减少备份数据的存储空间消耗。
  3. RMAN压缩备份的设置和使用:

    • 在执行备份命令时,可以通过设置压缩级别来启用RMAN压缩备份。例如,使用BACKUP AS COMPRESSED BACKUPSET命令来进行备份,并将备份数据进行压缩。
    • 在RMAN的配置文件(通常为rman.rcv)中,可以设置默认的压缩级别,以便在执行备份时自动启用压缩备份。
  4. RMAN压缩备份的限制:

    • 压缩备份可能会增加CPU的使用量,因为压缩和解压缩备份数据需要消耗一定的计算资源。
    • 高压缩级别可能会导致备份和恢复的性能降低,因为解压缩备份数据可能需要更多的时间和计算资源。
    • 高压缩级别可能会增加备份和恢复的时间,因为压缩和解压缩备份数据需要消耗更多的时间。

总之,RMAN压缩备份是一种减少备份数据存储空间消耗、提高备份和恢复性能、降低存储成本的方法。但需要注意压缩备份可能增加CPU使用量、降低备份和恢复的性能,以及增加备份和恢复的时间。因此,在使用RMAN压缩备份时需要根据具体情况权衡利弊,并合理设置压缩级别。

压缩备份操作

run{
	allocate channel c1 type disk;
    backup as compressed backupset database format '/u01/app/oracle/backup/full_compressd_%U.dbf';
}

在这里插入图片描述
在这里插入图片描述

压缩备份优缺点

RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具,它可以用于压缩备份数据以节省存储空间。下面是RMAN压缩备份的优缺点介绍:

优点:

  1. 存储空间节省:RMAN压缩备份可以显著减小备份数据的存储空间占用。通过压缩备份,可以节省磁盘空间,并且可以存储更多的备份数据。

  2. 备份速度提高:压缩备份可以减小备份数据的体积,从而能够降低备份所需的时间。因为备份的数据量减小了,所以备份过程会更快速。

  3. 网络传输效率提高:如果将备份数据传输到远程备份存储位置,使用压缩备份可以减少数据传输所需的时间和网络带宽。

缺点:

  1. CPU负载增加:RMAN压缩备份需要进行数据压缩和解压缩的操作,这会增加CPU的负载。如果压缩备份过程中CPU负载过高,可能会影响其他数据库操作的性能。

  2. 备份恢复时间延长:压缩备份需要进行压缩和解压缩的过程,这会增加备份恢复所需的时间。如果备份恢复速度是关键考虑因素,那么压缩备份可能不是一个理想的选择。

  3. 备份恢复操作复杂性增加:压缩备份需要在备份和恢复操作中使用RMAN工具,并设置相应的参数和选项。这增加了备份和恢复操作的复杂性,并可能需要更多的技术知识和经验。

总的来说,RMAN压缩备份在存储空间节省和备份速度等方面有明显的优势,但它可能会增加CPU负载,延长备份恢复时间,并增加操作复杂性。因此,在选择是否使用RMAN压缩备份时,需要综合考虑数据库的需求和限制。

五、异常恢复

1、恢复前的准备

  • 进入rman
rman target sys/oracle@p19c0 nocatalog

在这里插入图片描述

  • 备份整个数据库
backup database format '/u01/app/oracle/backup/wb_%U';

在这里插入图片描述

  • 做0级备份
backup incremental level 0 database plus archivelog delete all input format '/u01/app/oracle/backup/all_%U';

在这里插入图片描述
在这里插入图片描述

  • 创建一个表t4
    然后在打开一个窗口进入sqlplus中
sqlplus / as sysdba
CREATE TABLE t4(
    ID NUMBER,
    NAME VARCHAR2(50)
);

在这里插入图片描述
插入数据

insert into t4 values(0, 'jack');
insert into t4 values(1, 'henry');

查询表空间数据

select * from t4;

提交数据

commit;

在这里插入图片描述
我们在做一下归档切换

alter system checkpoint;
alter system switch logfile;

在这里插入图片描述

  • 做1级增量备份
backup incremental level 1 database plus archivelog delete all input format '/u01/app/oracle/backup/all_%U';

在这里插入图片描述

增量备份完成

  • 最后一步环境准备
    退出RNAM
quit

在这里插入图片描述
进入sqlplus关闭数据库
首先查看数据文件位置

col name format a50;
select file#,name from v$datafile;

在这里插入图片描述
这里注意保存一下

停止数据库

su - oracle
## 停止集群数据库,接触ASM磁盘占用的情况,方便后边删除,人工制造异常
srvctl stop database -d p19c0

oracle用户下查看集群数据库是否完全关闭,如果没有完全关闭后序删除asm磁盘数据会报错

srvctl status database -d p19c0

在这里插入图片描述

  • 连接到asm实例,删除所有数据文件
su - grid

asmcmd
ls +DATA/P19C0/DATAFILE/

在这里插入图片描述

cd +DATA/P19C0/DATAFILE/
rm +DATA/P19C0/DATAFILE/*

在这里插入图片描述
现在我们的准备工作就完成啦
此时数据库的数据全部丢失

2、恢复数据库

tip:首先要完成基础操作1

将数据库启动到启动到mount
状态

srvctl start database -d p19c0 -o mount
## 查看数据库状态
srvctl status database -d p19c0

在这里插入图片描述

  • 连接RMAN
su - oracle
rman target sys/oracle@p19c0 nocatalog

在这里插入图片描述

提示数据库没有打开

  • 开始恢复
restore database;

RMAN选择合适的备份集开始恢复,我们发现在有全备和0级增量备份的时候,RMAN优先选择了0级增量备份进行恢复
在这里插入图片描述

recover database;

在这里插入图片描述
在这里插入图片描述
数据库恢复完成
打开数据库

alter database open;

在这里插入图片描述
再次进入sqlplus查询我们之前的数据

sqlplus / as sysdba
select * from t4;

在这里插入图片描述
发现可以查到说明数据库已经打开了,并且数据正常
我们也可以再次进入ASM磁盘查看数据文件是否找回来

su - grid

asmcmd
ls +DATA/P19C0/DATAFILE/

在这里插入图片描述
恢复成功
异常恢复完成

六、RMAN相关参数

RMAN(Recovery Manager)是Oracle数据库的备份和恢复工具。它可以帮助管理员进行全量备份、增量备份、增量合并备份、数据文件备份、控制文件备份、归档日志备份等操作,并提供了一些参数供管理员配置备份和恢复策略。

下面是一些常用的RMAN参数的详细介绍:

  1. CONFIGURE RETENTION POLICY:配置备份保留策略,默认是RECOVERY WINDOW,即根据恢复窗口来决定保留多少备份;可以配置为REDUNDANCY,即根据备份的冗余数量来决定保留多少备份。

  2. CONFIGURE CONTROLFILE AUTOBACKUP:配置是否自动备份控制文件,默认是OFF,可以设置为ON来开启控制文件自动备份。

  3. CONFIGURE CHANNELS:配置备份通道的数量和类型,默认的通道类型是DISK,可以配置为SBT_TAPE来备份到磁带库。

  4. CONFIGURE DEVICE TYPE:配置备份设备的类型,默认是DISK,可以配置为SBT_TAPE来指定备份到磁带库。

  5. CONFIGURE ENCRYPTION:配置备份数据的加密选项,默认是OFF,可以设置为ON来开启备份数据的加密。

  6. CONFIGURE DEFAULT DEVICE TYPE:配置默认的备份设备类型,默认是DISK,可以配置为SBT_TAPE来指定备份到磁带库。

  7. CONFIGURE ARCHIVELOG DELETION POLICY:配置归档日志的删除策略,默认是NONE,即不删除归档日志;可以配置为APPLIED ON STANDBY,即在备库应用后删除归档日志。

  8. CONFIGURE BACKUP OPTIMIZATION:配置是否开启备份优化,默认是OFF,可以设置为ON来开启备份优化。

  9. CONFIGURE AUXILIARY DESTINATION:配置辅助实例的位置,默认是一个目录,也可以配置为一个实例。

  10. CONFIGURE CONTROLFILE AUTOBACKUP FORMAT:配置自动备份控制文件的格式,默认是"%F",可以配置为其他格式。

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

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

相关文章

啤酒:精酿啤酒与炸鸡的香脆搭配

炸鸡与啤酒,这对美食界的黄金搭档,早已成为了人们心目中的经典。而当Fendi Club啤酒遇上炸鸡,一场味觉的狂欢就此展开。 Fendi Club啤酒,以其醇厚的口感和淡淡的麦芽香气而著称。这款啤酒在酿造过程中采用了特别的工艺&#xff0c…

Android加载富文本

直接用webview加载: package com.example.testcsdnproject;import androidx.appcompat.app.AppCompatActivity;import android.annotation.SuppressLint; import android.graphics.Color; import android.os.Bundle; import android.util.Log; import android.webk…

模型转换案例学习:等效替换不支持算子

文章介绍 Qualcomm Neural Processing SDK (以下简称SNPE)支持Caffe、ONNX、PyTorch和TensorFlow等不同ML框架的算子。对于某些特定的不支持的算子,我们介绍一种算子等效替换的方法来完成模型转换。本案例来源于https://github.com/quic/qidk…

js谐音梗创意小游戏《望子成龙》

🌻 前言 龙年到来,祥瑞满天。愿您如龙般矫健,事业腾飞;如龙鳞闪耀,生活美满。祝您龙年大吉,万事如意! 龙年伊始,我给各位设计了一款原创的小游戏,话不多说,直…

D5020——外围元件少,内含压缩器和扩展器静噪电路,可应用在1.5V立体声耳机上,响应时间可调

D5020是一块增益可调 的压缩、扩展电路。它有两个通道组成,一个通道作扩展用,另一个通道能作压缩或扩展用。电路内部含有小信号全波整流、检测信号的大小,用于调节输入或反馈通道的增益大小。含有温度特性较好的带隙精密基准源,静…

Leetcode 11.盛水最多的容器

题目 给定一个长度为 n 的整数数组 height 。有 n 条垂线,第 i 条线的两个端点是 (i, 0) 和 (i, height[i]) 。 找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。 返回容器可以储存的最大水量。 说明:你不能倾斜容器。…

浏览器---浏览器/http相关面试题

1.localStorage和sessionStorage 共同点:二者都是以key-value的键值对方式存储在浏览器端,大小大概在5M。 区别: (1)数据有效期不同:sessionStorage仅在当前浏览器窗口关闭之前有效;localStorag…

C语言第二十八弹---整数在内存中的存储

✨个人主页: 熬夜学编程的小林 💗系列专栏: 【C语言详解】 【数据结构详解】 目录 1、整数在内存中的存储 2、大小端字节序和字节序 2.1、什么是大小端? 2.2、为什么有大小端? 2.3、练习 2.3.1、练习1 2.3.2、练习2 2.…

安装SSH连接工具

连接Linux 1). 打开finalShell 2). 建立连接 Linux目录结构 在Linux系统中,也是存在目录的概念的,但是Linux的目录结构和Windows的目录结构是存在比较多的差异的 在Windows目录下,是一个一个的盘符(C盘、D盘、E盘),目…

使用python构建Android,探索跨平台应用开发Kivy框架

使用python构建Android,探索跨平台应用开发Kivy框架 1. 介绍Kivy框架 Kivy是什么? Kivy是一个开源的Python跨平台应用程序开发框架,旨在帮助开发者快速构建创新的、可扩展的移动应用和多点触控应用。Kivy采用MIT许可证,允许开发…

java数据结构与算法刷题-----LeetCode102. 二叉树的层序遍历

java数据结构与算法刷题目录(剑指Offer、LeetCode、ACM)-----主目录-----持续更新(进不去说明我没写完):https://blog.csdn.net/grd_java/article/details/123063846 1. 法一:广度优先遍历(队列) 解题思路…

嵌入式Qt 计算器核心算法_2

一.中缀表达式转后缀表达式 中缀表达式是最常用的算术表达式形式——运算符在运算数中间。但运算时需要考虑运算符优先级。 ​后缀表达式是计算机容易运算的表达式,运算符在运算数后面,从左到右进行运算,无需考虑优先级,运算呈线性结构。 1 2 * 3// …

django自定义后端过滤

​ DRF自带的过滤 第一个 DjangoFilterBackend 是需要安装三方库见[搜索:多字段筛选]两外两个是安装注册了rest_framework就有。 如上图,只要配置了三个箭头所指的方向,就能使用。 第一个单字段过滤 用户视图集中加上filterset_fields …

HarmonyOS—添加/删除Module

Module是应用/服务的基本功能单元,包含了源代码、资源文件、第三方库及应用/服务配置文件,每一个Module都可以独立进行编译和运行。一个HarmonyOS应用/服务通常会包含一个或多个Module,因此,可以在工程中创建多个Module&#xff0…

C++模板从入门到入土

1. 泛型编程 如果我们需要实现一个不同类型的交换函数,如果是学的C语言,你要交换哪些类型,不同的类型就需要重新写一个来实现,所以这是很麻烦的,虽然可以cv一下,有了模板就可以减轻负担。 下面写一个适…

Windows下搭建EFK实例

资源下载 elasticSearch :下载最新版本的就行 kibana filebeat:注意选择压缩包下载 更新elasticsearch.yml,默认端口9200: # Elasticsearch Configuration # # NOTE: Elasticsearch comes with reasonable defaults for most …

CSB ---> (XXE)XML基础

本来今天想更一下CSbeacon上线多层的内网机器的,但是刚好今天是年后的第一节课,讲的是XXE的基础,那就来先盘一下基础!! 1.XXE XXE全称是XML External Entity即xml外部实体注入攻击!其后果会导致用户…

UE C++ 设置碰撞前 后事件 碰撞中事件

一.在Actor中声明碰撞BOX组件 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category "MySceneComponent")class UBoxComponent* MyBox; 在Actor以这样的形式实现代理绑定,在BeginPlay()里。 MyBox->OnComponentBeginOverlap.AddDynamic(); 转到…

《游戏引擎架构》--学习3

内存管理 优化动态内存分配 维持最低限度的堆分配,并且永不在紧凑循环中使用堆分配 容器 迭代器 Unicode

(C++) 详解内存地址空间

详解内存空间 0. 概述 一个C/C 程序,编译之后,形成的程序,在执行期间,内存中不仅存在一块区域用于存放代码,还有一些其他的区域用于使用,本节会详解C/C内部所使用的内存地址空间,关于各内存的…