云上Oracle 数据库本地备份部署测试

news2024/11/15 11:07:21

1.说明
由于运行在云上的Oracle数据库暂无本地备份,为了保障租户业务系统的可持续性以及数据安全,特此进行数据库备份本地部署并进行测试。
2.备份策略
(1)数据库数据量
SQL> select sum(bytes)/1024/1024/1024 from dba_segments;
SUM(BYTES)/1024/1024/1024
-------------------------
           98.9221191
(2)策略内容
根据租户数据量查询统计结果以及租户的业务场景,将租户数据库的备份策略设定如下:
备份类型:逻辑备份
备份方式:采用数据泵expdp导出方式
备份时间:每日0:00
备份保留时间:30天
3.备份部署准备
(1)环境准备
创建存储挂载目录:
mkdir /backup
chown oracle:oinstall /backup
(2)挂载备份存储
mount -t nfs -o vers=3,nolock 10.216.83.205:/   /backup
(3)创建备份存储目录
cd /backup
mkdir fullbackup
(4)创建备份路径
create directory fullbackup as '/backup/fullbackup';
grant read,write on directory fullbackup to public;


4.备份脚本测试

脚本测试环境为本地Oracle测试环境。
1.创建测试用户
create user c##test identfied by test;
grant dba to c##test;
conn c##test/test;
create table test0827 as select * from dba_objects;
create directory fullbackup as ‘/backup/fullbackup’;
grant read,write on directory fullbackup to public;

2.脚本内容
[oracle@rhel fullbackup]$ more fullbackup.sh 
#!/bin/sh
#Oracle环境设置
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=ora12c1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:/u01/app/oracle/product/12.1.0/db_1/bin:$ORACLE_HOME/OPatch
DMP_FILE=fullbackup_expdp_$(date +%Y%m%d%H%M).dmp
LOG_FILE=fullbackup_expdp_$(date +%Y%m%d%H%M).log
#expdp导出数据库开始
expdp 'system/"J(oXhc6bo3"' full=y directory=fullbackup DUMPFILE=$DMP_FILE logfile=$LOG_FILE;

3.执行测试脚本
[oracle@rhel fullbackup]$ chmod +x fullbackup.sh 
[oracle@rhel fullbackup]$ ll
总用量 4
-rwxr-xr-x. 1 oracle oinstall 562 8月  27 15:51 fullbackup.sh

[oracle@rhel fullbackup]$ sh fullbackup.sh 

Export: Release 23.0.0.0.0 - Production on 星期二 8月 27 15:51:08 2024
Version 23.4.0.24.05

Copyright (c) 1982, 2024, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

警告: 连接到容器数据库的根或种子时通常不需要 Oracle Data Pump 操作。

启动 "SYSTEM"."SYS_EXPORT_FULL_01":  "system/********" full=y directory=fullbackup DUMPFILE=fullbackup_expdp_20240827.dmp logfile=fullbackup_expdp_20240827.log 
处理对象类型 DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/TABLE_DATA
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE_DATA
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/STATISTICS/INDEX_STATISTICS
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
处理对象类型 DATABASE_EXPORT/TABLESPACE
处理对象类型 DATABASE_EXPORT/PROFILE
处理对象类型 DATABASE_EXPORT/SCHEMA/USER
处理对象类型 DATABASE_EXPORT/RADM_FPTM
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT/RULE
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT/AQ
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT/SQL
处理对象类型 DATABASE_EXPORT/GRANT/SYSTEM_GRANT/PROC_SYSTEM_GRANT/JVM
处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
处理对象类型 DATABASE_EXPORT/SCHEMA/ON_USER_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLESPACE_QUOTA
处理对象类型 DATABASE_EXPORT/RESOURCE_COST
处理对象类型 DATABASE_EXPORT/TRUSTED_DB_LINK
处理对象类型 DATABASE_EXPORT/DIRECTORY/DIRECTORY
处理对象类型 DATABASE_EXPORT/DIRECTORY/GRANT/OWNER_GRANT/OBJECT_GRANT
处理对象类型 DATABASE_EXPORT/DIRECTORY/GRANT/CROSS_SCHEMA/OBJECT_GRANT
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM/LOGREP
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PRE_SYSTEM_ACTIONS/PROCACT_SYSTEM/RMGR
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ/RMGR
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/PROCOBJ/SCHEDULER
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM/RMGR
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM/SRVR
处理对象类型 DATABASE_EXPORT/SYSTEM_PROCOBJACT/POST_SYSTEM_ACTIONS/PROCACT_SYSTEM/SEC
处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA/LOGREP
处理对象类型 DATABASE_EXPORT/EARLY_OPTIONS/VIEWS_AS_TABLES/TABLE
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/TABLE
处理对象类型 DATABASE_EXPORT/NORMAL_OPTIONS/VIEWS_AS_TABLES/TABLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/COMMENT
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/INDEX/INDEX
处理对象类型 DATABASE_EXPORT/AUDIT_UNIFIED/AUDIT_POLICY_ENABLE
. . 导出了 "SYS"."KU$_USER_MAPPING_VIEW"                 6.1 KB      35 行
. . 导出了 "AUDSYS"."AUD$UNIFIED":"SYS_P202"            23.5 MB   13870 行
. . 导出了 "AUDSYS"."AUD$UNIFIED":"SYS_P301"            88.6 KB      71 行
. . 导出了 "AUDSYS"."AUD$UNIFIED":"SYS_P387"            67.9 KB      26 行
. . 导出了 "SYS"."SQL_LOG$"                                0 KB       0 行
. . 导出了 "WMSYS"."WM$CONSTRAINTS_TABLE$"                 0 KB       0 行
. . 导出了 "WMSYS"."WM$LOCKROWS_INFO$"                     0 KB       0 行
. . 导出了 "WMSYS"."WM$UDTRIG_INFO$"                       0 KB       0 行
. . 导出了 "SYS"."AUD$"                                    0 KB       0 行
. . 导出了 "SYSTEM"."REDO_DB"                           27.2 KB       1 行
. . 导出了 "WMSYS"."WM$WORKSPACES_TABLE$"               12.5 KB       1 行
. . 导出了 "WMSYS"."WM$HINT_TABLE$"                     10.1 KB      97 行
. . 导出了 "LBACSYS"."OLS$INSTALLATIONS"                 7.1 KB       2 行
. . 导出了 "WMSYS"."WM$WORKSPACE_PRIV_TABLE$"            7.2 KB      11 行
. . 导出了 "SYS"."DAM_CONFIG_PARAM$"                     6.6 KB      13 行
. . 导出了 "SYS"."TSDP_SUBPOL$"                          6.4 KB       1 行
. . 导出了 "WMSYS"."WM$NEXTVER_TABLE$"                   6.5 KB       1 行
. . 导出了 "LBACSYS"."OLS$PROPS"                         6.2 KB       3 行
. . 导出了 "WMSYS"."WM$ENV_VARS$"                        6.1 KB       3 行
. . 导出了 "SYS"."TSDP_PARAMETER$"                         6 KB       1 行
. . 导出了 "SYS"."TSDP_POLICY$"                            6 KB       1 行
. . 导出了 "WMSYS"."WM$VERSION_HIERARCHY_TABLE$"         6.1 KB       1 行
. . 导出了 "WMSYS"."WM$EVENTS_INFO$"                     5.9 KB      12 行
. . 导出了 "LBACSYS"."OLS$AUDIT_ACTIONS"                 5.8 KB       8 行
. . 导出了 "LBACSYS"."OLS$DIP_EVENTS"                    5.6 KB       2 行
. . 导出了 "AUDSYS"."AUD$UNIFIED":"AUD_UNIFIED_P0"         0 KB       0 行
. . 导出了 "LBACSYS"."OLS$AUDIT"                           0 KB       0 行
. . 导出了 "LBACSYS"."OLS$COMPARTMENTS"                    0 KB       0 行
. . 导出了 "LBACSYS"."OLS$DIP_DEBUG"                       0 KB       0 行
. . 导出了 "LBACSYS"."OLS$GROUPS"                          0 KB       0 行
. . 导出了 "LBACSYS"."OLS$LAB"                             0 KB       0 行
. . 导出了 "LBACSYS"."OLS$LEVELS"                          0 KB       0 行
. . 导出了 "LBACSYS"."OLS$POL"                             0 KB       0 行
. . 导出了 "LBACSYS"."OLS$POLICY_ADMIN"                    0 KB       0 行
. . 导出了 "LBACSYS"."OLS$POLS"                            0 KB       0 行
. . 导出了 "LBACSYS"."OLS$POLT"                            0 KB       0 行
. . 导出了 "LBACSYS"."OLS$PROFILE"                         0 KB       0 行
. . 导出了 "LBACSYS"."OLS$PROFILES"                        0 KB       0 行
. . 导出了 "LBACSYS"."OLS$PROG"                            0 KB       0 行
. . 导出了 "LBACSYS"."OLS$SESSINFO"                        0 KB       0 行
. . 导出了 "LBACSYS"."OLS$USER"                            0 KB       0 行
. . 导出了 "LBACSYS"."OLS$USER_COMPARTMENTS"               0 KB       0 行
. . 导出了 "LBACSYS"."OLS$USER_GROUPS"                     0 KB       0 行
. . 导出了 "LBACSYS"."OLS$USER_LEVELS"                     0 KB       0 行
. . 导出了 "SYS"."DAM_CLEANUP_EVENTS$"                     0 KB       0 行
. . 导出了 "SYS"."DAM_CLEANUP_JOBS$"                       0 KB       0 行
. . 导出了 "SYS"."FW_ALLOW_LIST$"                          0 KB       0 行
. . 导出了 "SYS"."FW_ALLOW_LIST_CONTEXT$"                  0 KB       0 行
. . 导出了 "SYS"."FW_ALLOW_LIST_SQL$"                      0 KB       0 行
. . 导出了 "SYS"."FW_CAPTURE$"                             0 KB       0 行
. . 导出了 "SYS"."TSDP_ASSOCIATION$"                       0 KB       0 行
. . 导出了 "SYS"."TSDP_CONDITION$"                         0 KB       0 行
. . 导出了 "SYS"."TSDP_FEATURE_POLICY$"                    0 KB       0 行
. . 导出了 "SYS"."TSDP_PROTECTION$"                        0 KB       0 行
. . 导出了 "SYS"."TSDP_SENSITIVE_DATA$"                    0 KB       0 行
. . 导出了 "SYS"."TSDP_SENSITIVE_TYPE$"                    0 KB       0 行
. . 导出了 "SYS"."TSDP_SOURCE$"                            0 KB       0 行
. . 导出了 "SYSTEM"."REDO_LOG"                             0 KB       0 行
. . 导出了 "WMSYS"."WM$BATCH_COMPRESSIBLE_TABLES$"         0 KB       0 行
. . 导出了 "WMSYS"."WM$CONS_COLUMNS$"                      0 KB       0 行
. . 导出了 "WMSYS"."WM$MODIFIED_TABLES$"                   0 KB       0 行
. . 导出了 "WMSYS"."WM$MP_GRAPH_WORKSPACES_TABLE$"         0 KB       0 行
. . 导出了 "WMSYS"."WM$MP_PARENT_WORKSPACES_TABLE$"        0 KB       0 行
. . 导出了 "WMSYS"."WM$NESTED_COLUMNS_TABLE$"              0 KB       0 行
. . 导出了 "WMSYS"."WM$RESOLVE_WORKSPACES_TABLE$"          0 KB       0 行
. . 导出了 "WMSYS"."WM$RIC_LOCKING_TABLE$"                 0 KB       0 行
. . 导出了 "WMSYS"."WM$RIC_TABLE$"                         0 KB       0 行
. . 导出了 "WMSYS"."WM$RIC_TRIGGERS_TABLE$"                0 KB       0 行
. . 导出了 "WMSYS"."WM$UDTRIG_DISPATCH_PROCS$"             0 KB       0 行
. . 导出了 "WMSYS"."WM$VERSION_TABLE$"                     0 KB       0 行
. . 导出了 "WMSYS"."WM$VT_ERRORS_TABLE$"                   0 KB       0 行
. . 导出了 "WMSYS"."WM$WORKSPACE_SAVEPOINTS_TABLE$"        0 KB       0 行
. . 导出了 "SYS"."GV_$UNIFIED_AUDIT_TRAIL"              88.5 KB      73 行
. . 导出了 "SYS"."FGA_LOG$FOR_EXPORT"                      0 KB       0 行
. . 导出了 "SYS"."SQL$TEXT_DATAPUMP"                       0 KB       0 行
. . 导出了 "SYS"."SQLOBJ$AUXDATA_DATAPUMP"                 0 KB       0 行
. . 导出了 "SYS"."SQLOBJ$DATA_DATAPUMP"                    0 KB       0 行
. . 导出了 "SYS"."SQL$_DATAPUMP"                           0 KB       0 行
. . 导出了 "SYS"."SQLOBJ$PLAN_DATAPUMP"                    0 KB       0 行
. . 导出了 "SYS"."SQLOBJ$_DATAPUMP"                        0 KB       0 行
. . 导出了 "SYSTEM"."SCHEDULER_JOB_ARGS"                   0 KB       0 行
. . 导出了 "SYSTEM"."SCHEDULER_PROGRAM_ARGS"               0 KB       0 行
. . 导出了 "WMSYS"."WM$EXP_MAP"                          7.9 KB       3 行
. . 导出了 "WMSYS"."WM$METADATA_MAP"                       0 KB       0 行
. . 导出了 "MDSYS"."RDF_PARAM$"                          6.6 KB       3 行
. . 导出了 "SYS"."AUDTAB$TBS$FOR_EXPORT"                   6 KB       2 行
. . 导出了 "SYS"."DBA_SENSITIVE_DATA"                      0 KB       0 行
. . 导出了 "SYS"."DBA_TSDP_POLICY_PROTECTION"              0 KB       0 行
. . 导出了 "SYS"."NACL$_ACE_EXP"                           0 KB       0 行
. . 导出了 "SYS"."NACL$_HOST_EXP"                        7.5 KB       1 行
. . 导出了 "SYS"."NACL$_WALLET_EXP"                        0 KB       0 行
. . 导出了 "C##TEST"."TEST0827"                         10.4 MB   70819 行
已成功加载/卸载了主表 "SYSTEM"."SYS_EXPORT_FULL_01" 
******************************************************************************
SYSTEM.SYS_EXPORT_FULL_01 的转储文件集为:
  /backup/fullbackup/fullbackup_expdp_20240827.dmp
作业 "SYSTEM"."SYS_EXPORT_FULL_01" 已于 星期二 8月 27 15:58:30 2024 elapsed 0 00:06:52 成功完成

根据日志信息显示,执行备份脚本成功,数据库导出备份成功,无报错。

4.备份文件导入测试
    删除测试用户及数据:
drop user c##test cascade;
SQL> drop user c##test cascade;
用户已删除。
查看备份文件:
fullbackup_expdp_20240827.dmp
fullbackup_expdp_20240827.log

使用备份文件进行数据导入:
[oracle@rhel fullbackup]$ impdp 'system/"J(oXhc6bo3"' schemas=c##test directory=fullbackup DUMPFILE=fullbackup_expdp_20240827.dmp logfile=fullbackup_impdp_20240827.log

Import: Release 23.0.0.0.0 - Production on 星期二 8月 27 16:10:55 2024
Version 23.4.0.24.05

Copyright (c) 1982, 2024, Oracle and/or its affiliates.  All rights reserved.

连接到: Oracle Database 23ai Free Release 23.0.0.0.0 - Develop, Learn, and Run for Free

警告: 连接到容器数据库的根或种子时通常不需要 Oracle Data Pump 操作。

已成功加载/卸载了主表 "SYSTEM"."SYS_IMPORT_SCHEMA_01" 
启动 "SYSTEM"."SYS_IMPORT_SCHEMA_01":  "system/********" schemas=c##test directory=fullbackup DUMPFILE=fullbackup_expdp_20240827.dmp logfile=fullbackup_impdp_20240827.log 
处理对象类型 DATABASE_EXPORT/SCHEMA/USER
处理对象类型 DATABASE_EXPORT/SCHEMA/GRANT/SYSTEM_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/ROLE_GRANT
处理对象类型 DATABASE_EXPORT/SCHEMA/DEFAULT_ROLE
处理对象类型 DATABASE_EXPORT/SCHEMA/PROCACT_SCHEMA/LOGREP
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/TABLE_DATA
. . 导入了 "C##TEST"."TEST0827"                         10.4 MB   70819 行
处理对象类型 DATABASE_EXPORT/SCHEMA/TABLE/STATISTICS/TABLE_STATISTICS
作业 "SYSTEM"."SYS_IMPORT_SCHEMA_01" 已于 星期二 8月 27 16:12:16 2024 elapsed 0 00:00:50 成功完成

    根据导入日志信息提示,备份文件导入成功,c##用户数据导入成功。

导入信息验证:
select count(*) from c##test.test0827;
SQL> select count(*) from c##test.test0827;

  COUNT(*)
----------
     70819

SQL> 

导入数据验证成功。

5.正式部署
    创建备份脚本:
cd /backup/fullbakcup
vi fullbackup.sh
脚本内容如下:
#!/bin/sh
#Oracle环境设置
export ORACLE_BASE=/u01/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.1.0/db_1
export ORACLE_SID=ora12c1
export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK
export PATH=$PATH:/u01/app/oracle/product/12.1.0/db_1/bin:$ORACLE_HOME/OPatch

DMP_FILE=fullbackup_expdp_$(date +%Y%m%d%H%M).dmp
LOG_FILE=fullbackup_expdp_$(date +%Y%m%d%H%M).log
#expdp导出数据库开始
expdp 'system/"J(oXhc6bo3"' full=y directory=fullbackup DUMPFILE=$DMP_FILE logfile=$LOG_FILE;
Oracle用户下设置定时任务:

6.注意事项
(1)注意备份时间需要设置为业务空闲时段,避免由于备份引起IO资源占用,导致业务受影响。
(2)定期进行备份任务查看,确认备份结果是否成功,出现报错及时进行处理。
(3)定期进行备份文件维护,避免过多的备份文件占用存储空间,减少不必要的空间浪费。

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

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

相关文章

自建电商网站整合Refersion教程

前言:   先介绍一下Refersion有啥用,如果你有一个自己的跨境电商独立站点,想找一些网红帮忙推广销售自己的商品,然后按照转化订单比例给网红支付佣金,这件事情对双方来说透明性和实时性很重要,Refersion就…

《多模态大规模语言模型基准》综述

论文链接:https://arxiv.org/pdf/2408.08632 MLLM:Multimodal Large Language Models 评估多模态大型语言模型(MLLMs)的重要性体现在以下几个方面: 1. 理解模型能力:通过评估,研究人员和开发…

攀高行为检测识别摄像机

攀高行为检测识别摄像机 是一种结合了图像识别技术和智能算法的设备,旨在监测和识别人员在高空作业中的攀高行为,及时发现潜在的安全隐患并提供预警。这种摄像机可以有效提高工作场所的安全管理水平,减少高空作业事故的发生。 攀高行为检测识…

微软CEO谈AI平台范式转移、AI发展趋势及资本市场动态

为大家整理编辑了近期微软CEO萨提亚纳德拉 (Satya Nadella)著名科技KOLBen Thompson播客采访的精华内容。 在采访中,萨提亚纳德拉 (Satya Nadella)畅谈了人工智能平台范式转移、与Open AI等合作伙伴的关系、AI未来五年的发展方向、以及资本市场的趋势。 萨提亚纳德…

VUE3生命周期钩子

生命周期 vue2的生命周期钩子 beforeCreate:开始初始化事件和生命周期,但还没有data、methods、computed、watch属性,也就是vue实例的挂载元素$el和数据对象data都为undefined,还未初始化。 created:实完成数据挂载、…

PowerBi 柱形图,数据标签无法显示在端外

如图 即使设置了“数据标签”显示“端外“,仍然不作用。 原因其实是因为Y轴的数据范围设置不当,如图,当前Y轴范围是0到自动 只需要修改为最大和最小值都是自动即可,选中0 按backspace键删除,然后,鼠标在任意…

Parade Series - 3D Modeling

FBX FBX(Filmbox)文件格式是一种广泛使用的三维模型和动画文件格式,由Autodesk开发和维护。 FBX格式支持多种3D数据类型,包括几何、材质、纹理、动画、骨骼、灯光和摄像机等;OBJ MTL OBJ文件格式是一种用于表示三维几何形状的标…

OpenAI 神秘模型「草莓」预计今秋推出,ChatGPT 将迎重大升级|TodayAI

有外媒报道指出,OpenAI 内部代号为「Strawberry(草莓)」的 AI 模型即将在今年秋季面世。这一消息引发了业内广泛关注,被认为可能会为 ChatGPT 带来今年最重要的升级。 「草莓」模型的强大能力与应用潜力 据《The Information》报…

EPLAN中绘制黑盒的具体方法

EPLAN中绘制黑盒的具体方法 对于某些电气元件没有EDZ部件库时,可以自己绘制黑盒来解决,具体方法可参考以下内容: 如下图所示,打开EPLAN软件,在项目中新建一页多线原理图, 如下图所示,点击插入----盒子/连接点/安装板--------黑盒, 设置所需的参数和属性,然后放置在图框绘制…

算法入门-深度优先搜索1

第六部分:深度优先搜索 144.二叉树的前序遍历(简单) 题目:给你二叉树的根节点 root ,返回它节点值的 前序 遍历。 示例 1: 输入:root [1,null,2,3] 输出:[1,2,3] 第一种思路&am…

AtCoder Beginner Contest 366(D~E题解)

闲来无事去vp了一下之前放假没打的比赛,感觉需要总结的也就这两题吧,a,c都是水题,b只不过是实现有一点难,并不是很难写,d是一个需要自己推的三维前缀和,e也是一种前缀和,我当时没想到…

WEB渗透Win提权篇-白名单提权

提权工具合集包(免费分享): 夸克网盘分享 往期文章 WEB渗透Win提权篇-提权工具合集-CSDN博客 WEB渗透Win提权篇-RDP&Firewall-CSDN博客 WEB渗透Win提权篇-MSSQL-CSDN博客 WEB渗透Win提权篇-MYSQL-udf-CSDN博客 WEB渗透Win提权篇-Acc…

什么是代码审查(Code Review)?它有什么好处?

代码审查(Code Review)是软件开发过程中一个至关重要的环节,它指的是团队成员之间相互检查、评估代码的过程。这一过程不仅涉及对代码质量的把控,更是提升团队整体编程能力、确保软件安全性的重要手段。在本文中,我们将…

CSRF 概念及防护机制

概述 CSRF(Cross-Site Request Forgery),即跨站请求伪造,是一种网络攻击方式。在这种攻击中,恶意用户诱导受害者在不知情的情况下执行某些操作,通常是利用受害者已经登录的身份,向受害者信任的…

我是如何在一分钟之内,不用多次交互AI,就完成了指定任务

本文背景 为什么我的AI不听话? 为什么我用AI写知乎文、视频文案、豆瓣影评、工作日报、论文、商业策划案、标书、代码都一直得不到想要的效果? 为什么我的AI生成的都是没有价值的口水文? 大象经过大量的AI实战经验,给出了这些问题…

ESP32-C3在MQTT访问时出现“Last error code reported from esp-tls: 0x8001”和问题的分析(3)

接前一篇文章:ESP32-C3在MQTT访问时出现“Last error code reported from esp-tls: 0x8001”和问题的分析(2) 上一回讲解了所遇问题log中的“esp-tls: couldnt get hostname for :iot-emqx-pre.nanshe-tech.com: getaddrinfo() returns 202, addrinfo=0x0”,再来回顾一下。…

USB:物理接口

USB:物理接口 物理接口 从高级概述角度来看,USB 的物理接口具有两个组件:线缆和连接器。这些连接器将设备连接到主机上。 一个 USB 线缆包含由一个绝缘套保护的多个组件。该绝缘套下面是一个包含了一个带有铜面的外部扩展板。 外部扩展板内包…

为什么现在人工智能大部分都用python而不是其他软件呢?

大部分人都选择使用Python而不是其他软件,主要是因为Python具有多方面的优势,这些优势使其在众多编程语言中脱颖而出,成为许多领域,特别是IT和人工智能领域的首选。以下是几个主要原因: 1. 简单易学 Python的语法简洁…

PMP备考3A的心得分享

首先,每一位报考的都会收到一份学习计划表,一定要仔细阅读这张表,并与自己的时间结合起来,看是否会有很大的冲突,如果有,那么可以找老师帮忙解决。一般来说,学习计划表的时间安排是非常恰当的&a…

下载淘宝的短视频(通过第三方插件)

目录: 1、通过插件插件下载短视频 1)获取“Microsoft Edge扩展” 2)搜索“aix智能下载器” 3)将插件钉在浏览器上 4)嗅控并下载视频 2、从其他来源安装插件 1、通过插件插件下载短视频 1)获取“M…