RMAN备份与恢复

文章目录

  • 一、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",可以配置为其他格式。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Oracle:一条SQL在Oracle中的执行过程流程

一条SQL在Oracle中执行过程流程如下图:

QT-Day1

思维导图 作业 自由发挥登录窗口的应用场景,实现一个登录窗口界面。 #include "widget.h"Widget::Widget(QWidget *parent): QWidget(parent) {//窗口this->setWindowTitle("QQ");this->setWindowIcon(QIcon("D:\\study\\hqyj\\co…

【PX4-AutoPilot教程-TIPS】PX4控制无人机在Gazebo中飞行时由于视角跟随无人机在画面中心导致视角乱晃的解决方法

PX4控制无人机在Gazebo中飞行时由于视角跟随无人机在画面中心导致视角乱晃的解决方法 问题描述解决方法 问题描述 无人机在Gazebo中飞行时,无人机始终处于画面中央,会带着视角乱晃,在Gazebo中进行任何操作视角都无法固定。 观察Gazebo左侧Wo…

【JavaEE】_ajax构造HTTP请求

目录 1. ajax简述 2. ajax构造HTTP请求 2.1 jquery库的引入 2.2 ajax构造HTTP请求格式 3. ajax构造GET请求实例 4. ajax构造POST请求实例 本专栏关于form表单构造HTTP请求一文中已经提到:form表单构造法只支持GET和POST,且会触发页面跳转。 原文详…

线上线下同时开店管理混乱?EasyBoss ERP升级线下零售订单功能帮你轻松搞定

许多做东南亚本土电商的卖家,会将线下店铺作为业绩增长的一个重要渠道,但是在运营过程中会出现:需要使用多个系统、库存不同步、数据混乱等问题,为了帮助卖家解决这些问题,EasyBoss此前已开发线下零售订单功能&#xf…

【Linux】再谈进程地址空间

目录 一、引入 二、物理内存和外设空间的交互 三、解决页表过大问题 一、引入 我们在往期的博客中有讲解过进程地址空间:【Linux】进程地址空间 但是在上述博客中我们只是对进程地址空间的左边部分详细进行了讲解,下面我们就来谈谈右边的部分&#…

支付功能设计及实现思路

支付功能设计 主要包括:订单表,订单日志表,订单队列,定时任务。 主要考虑:事务性、幂等性、安全性。 表结构设计 订单表: 订单表,最主要的就是订单号、支付状态。 CREATE TABLE t_order (…

十大基础排序算法

排序算法分类 排序:将一组对象按照某种逻辑顺序重新排列的过程。 按照待排序数据的规模分为: 内部排序:数据量不大,全部存在内存中;外部排序:数据量很大,无法一次性全部存在内存中,…

Backtrader 文档学习- 整体架构功能分析理解

Backtrader 文档学习- 架构功能分析理解 1. 概述 backtrader是一个用于开发和执行交易策略的Python框架。它提供了一套完整的工具和功能,使得用户可以方便地进行策略回测、实盘交易以及数据分析。 backtrader的入口为Cerebro类,该类将所有输入(Data F…

基于Jenkins实现的CI/CD方案

基于Jenkins实现的CI/CD方案 前言 最近基于Jenkins的基座,搭建了一套适用于我们项目小组的持续集成环境。现在把流程整理分享出来,希望可以给大家提供一些帮助和思路。 使用到的组件和版本 组件名称组件版本作用Harbor2.7.3镜像仓库Jenkins2.319.2持…

C++ Primer 笔记(总结,摘要,概括)——第5章 语句

目录 5.1 简单语句 5.2 语句作用域 5.3 条件语句 5.3.1 if语句 5.3.2 switch语句 5.4 迭代语句 5.4.1 while语句 5.4.2 传统的for语句 5.4.3 范围for语句 5.4.4 do while语句 5.5 跳转语句 5.5.1 break语句 5.5.2 continue语句 5.5.3 goto语句 5.6 try语句块和异常处理 5…

http和https的区别(简述)

HTTP(HyperText Transfer Protocol)和HTTPS(HTTP Secure)都是用于在客户端和服务器之间传输数据的协议,但它们在安全性方面有重要的区别。 1.HTTP: 概述: HTTP是一种用于传输超文本的协议(超文…

前端基础自学整理|DOM树

DOM,文档对象模型(Document Object Model),简单的说,DOM是一种理念,一种思想,一个与系统平台和编程语言无关的接口,一种方法, 使 Web开发人员可以访问HTML元素!不是具体方…

D6208——双向马达驱动电路芯片,噪声低 内设马达驱动功率晶体管,工作电源电压范围宽用 TTL 逻辑信号直接控制

D6208 是一块单片双向马达驱动电路,它使用TTL电平的逻辑信号就能控制卡式录音机和其它电子设备中的双向马达。该电路由一个逻辑部分和一个功率输出部分组成。逻辑部分控制马达正、反转向及制动,功率输出部分根据逻辑控制能提供100mA(典型值&a…

【python】 脚本检查文本里是否包含特殊字符

【python】 脚本检查文本里是否包含特殊字符 完整代码: # 代码片段功能: 检查文本里是否包含特殊字符 # 将utf-8格式文本,先转为16进制格式 # 检查完成,再将16进制格式转为utf-8格式。 import re# 包含特殊字符的字符串 sample "I arg…

当别人在用AI一分钟画几十张图,你还在埋头苦苦设计?AI时代一定要学会和AI共存!

AI绘画即指人工智能绘画,是一种计算机生成绘画的方式。是AIGC应用领域内的一大分支。 AI绘画主要分为两个部分,一个是对图像的分析与判断,即“学习”,一个是对图像的处理和还原,即“输出”。 人工智能通过对数以万计…

数据分析(二)自动生成分析报告

1. 报告生成思路概述 怎么快速一份简单的数据分析报告,注意这个报告的特点: --网页版,可以支持在线观看或者分享HTML文件 --标题,动图,原始数据应有尽有 --支持交互,比如plotly交互画面,数据…

Windows安装PHP及在VScode中配置插件,使用PHP输出HelloWorld

安装PHP PHP官网下载地址(8.3版本):PHP For Windows:二进制文件和源代码发布 点击下载.zip格式压缩包: 历史版本在Old archives中下载。推荐在Documentation download中下载官方文档,方便学习。 下载完成后在一个顺眼的地方解压压…

net反射

1.1 查找dll文件 Load需要把dll放到程序当前路径加载,也可以读取字符串形式。LoadFrom需要写全路径,如果test1.dll引用了test2.dll,同时也会加载test2.dll进来。LoadFile不会加载test2.dll。 Assembly assembly1 Assembly.Load("DllTe…

互联网加竞赛 大数据疫情分析及可视化系统

文章目录 0 前言2 开发简介3 数据集4 实现技术4.1 系统架构4.2 开发环境4.3 疫情地图4.3.1 填充图(Choropleth maps)4.3.2 气泡图 4.4 全国疫情实时追踪4.6 其他页面 5 关键代码最后 0 前言 🔥 优质竞赛项目系列,今天要分享的是 🚩 大数据疫…