- 浏览: 1031920 次
- 性别:
- 来自: 北京
-
文章分类
- 全部博客 (529)
- 服务器 (8)
- jsp (1)
- java (6)
- AIX (1)
- solaris (3)
- linux学习 (53)
- javaScript (2)
- hibernate (1)
- 数据库 (74)
- sql语句 (8)
- oracle 学习 (75)
- oracle 案例 (42)
- oracle 管理 (42)
- Oracle RAC (27)
- oracle data guard (12)
- oracle 参数讲解 (14)
- Oracle 字符集 (8)
- oracle性能调优 (24)
- oracle备份与恢复 (12)
- oracle Tablespace (9)
- oracle性能诊断艺术 (1)
- oracle 11g学习 (5)
- oracle streams (1)
- oracle upgrade and downgrade (4)
- db2学习 (13)
- db2命令学习 (2)
- mysql (28)
- sql server (30)
- sql server 2008 (0)
- 工具 (10)
- 操作系统 (3)
- c++ (1)
- stock (1)
- 生活 (5)
- HADOOP (2)
最新评论
-
massjcy:
...
如何将ubuntu文件夹中文名改为英文 -
skypiea:
谢谢。。。
终于解决了。。。
Oracle 10.2.0.4(5)EM不能启动的解决方案(Patch 8350262) -
qwe_rt:
引用vi /etc/sysconfig/network 请问 ...
Linux操作系统下配置静态IP上网 -
liuqiang:
sudo killall -9 apache2
ps 和 kill 命令详解 -
dazuiba:
引用*绝杀 kill -9 PID 当使用此命令时,一定要通过 ...
ps 和 kill 命令详解
1. Introduction to Recovery Manager
3个重要的特点:
在线热备不需要ALTER TABLESAPCE … BEGIN BACKUP or END BACKUP,并且不会产生更多日志
Incremental backups and restores. Can recover a NOARCHIVELOG database. However, only take incremental backups of a NOARCHIVELOG database after a consistent shutdown. 只备份HWM以下的blocks
检测数据库坏块(interruption blocks), Computes checksums for each block during a backup
其他作用:
复制一个prd数据库用来测试,建立或者备份一个standby db
Tests whether files can be backed up or restored without actually performing the backup or restore.
Overview of the RMAN Environment
RMAN executable (必须的)
Target database (必须的)
Recovery catalog database
Media management software
2. Connecting to Databases with RMAN
Starting RMAN: Overview
连接3种数据库:
% rman TARGET SYS/oracle@trgt CATALOG rman/cat@catdb
--rman用户需要RECOVERY_CATALOG_OWNER 角色
% rman TARGET SYS/oracle@trgt NOCATALOG
--目标数据库用户需要sysdba权限,因为是默认,所以不用额外注明as sysdba。NOCATALOG 是默认形式,一旦使用了这种形式,就不能在连接catalog了。
% rman TARGET / CATALOG rman/cat@catdb AUXILIARY SYS/oracle@auxdb
或者:
% rman
RMAN> CONNECT TARGET SYS/oracle@trgt
RMAN> CONNECT CATALOG rman/cat@catdb
连接RAC(3个instance):
% rman TARGET SYS/oracle@trgt2 CATALOG rman/cat@catdb
CONFIGURE DEFAULT DEVICE TYPE TO sbt;
CONFIGURE DEVICE TYPE sbt PARALLELISM 3;
CONFIGURE CHANNEL 1 DEVICE TYPE sbt CONNECT = 'SYS/oracle@trgt1';
CONFIGURE CHANNEL 2 DEVICE TYPE sbt CONNECT = 'SYS/oracle@trgt2';
CONFIGURE CHANNEL 3 DEVICE TYPE sbt CONNECT = 'SYS/oracle@trgt3';
BACKUP DATABASE;
3. Quick Start to Recovery Manager
参考?/rdbms/demo/*.rcv
RMAN基本命令(NOCATALOG mode)
1. Connecting to the Target Database
% rman target sys/admin@donnydb2
2. 可以在rman中操作数据库
RMAN> STARTUP MOUNT
3. 产生schema reports
RMAN> report schema;
4. 备份数据库
有2中方式:full(all blocks. datafiles, controlfile, parameter file) 和 incremental(only the blocks that have changed since a previous backup)
Full Backup:
RMAN> BACKUP DATABASE;
默认device type 是disk,除非用configure 配置其到tape
创建一个逻辑对象backup set, 包括多个backup piece
Incremental Backup
RMAN> BACKUP INCREMENTAL LEVEL 1 DATABASE;
差异增量,累计增量。
RMAN compares the current datafiles to a base backup, also called a level 0 backup, to determine which blocks to back up.
0级增量和全备份不同,前者可以作为其他增量备份的基础备份,而后者不行。
可能会发现有:no parent backup or copy of datafile 1 found;这说明datafile 1还没有0级备份,rman会自动创建。
5. 备份一个表空间
RMAN> BACKUP TABLESPACE SYSTEM;
6. 备份归档日志
RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;
因为oracle不能直接将日志归档到tape,所以用rman将归档从disk备份到tape。如果指明delete input, rman会为每一个log seq num 备份一个copy,并且删除disk上的文件。
7. 拷贝数据文件datafiles
RMAN> copy datafile 4 to 'd:\oracle\oradata\donnydb2\bak\hehe.dbf';
不用在关闭状态吗?这样的拷贝是一致的吗?
8. Listing Backups and Copies
RMAN> list backup;
RMAN> list copy;
9. 检测是否可以restore the backup, 而不用真正的restore
RMAN> restore database validate;
如果不报错,就可以了。
10. Restoring and Recovering the Database
RMAN> RESTORE DATABASE;
RMAN> RECOVER DATABASE;
RMAN> ALTER DATABASE OPEN;
11. Restoring and Recovering a Tablespace
RMAN> SQL 'ALTER TALBESPACE tools OFFLINE IMMEDIATE';
RMAN> RESTORE TABLESPACE tools;
RMAN> RECOVER TABLESPACE tools;
RMAN> SQL 'ALTER TABLESPACE tools ONLINE';
12. 查看RMAN 配置
RMAN> show all;
返回到默认配置,执行CONFIGURE ... CLEAR
使用单独的Recovery Catalog,还是Nocatalog 模式(默认模式,记录在目标数据库controlfile 中)?
当管理多个数据库时,建议使用catalog。要注意平时对catalog的备份。好处如下:
You can store RMAN scripts in the recovery catalog.
When restoring and recovering to a time when the database files that exist in the database are different from the files recorded in the mounted control file, the recovery catalog specifies which files that are needed. Without a catalog, you must first restore a control file backup that lists the correct set of database files.
If the control file is lost and must be restored from backup, and if persistent configurations have been made to automate the tape channel allocation, these configurations are still available when the database is not mounted.
RMAN periodically migrates information from the control file to the recovery catalog. 在哪里配置?
4. Recovery Manager Architecture
1. Overview of RMAN Architecture
The RMAN client application directs database server sessions to perform all backup and recovery tasks.
If more than one channel is allocated, then RMAN can execute certain commands in parallel so that all of the channels' target database sessions are concurrently executing an RPC call.
2. RMAN Command Interface
存储script:
REPLACE SCRIPT b_whole_l0
{
# back up whole database and archived logs
BACKUP
INCREMENTAL LEVEL 0
TAG b_whole_l0
FILESPERSET 6
DATABASE PLUS ARCHIVELOG;
}
执行:
RUN { EXECUTE SCRIPT b_whole_10 };
查看:
SQL> SELECT * FROM rman.RC_STORED_SCRIPT;
3. RMAN Repository
注册DB:
在catalog中注册数据库,registration。注册多个数据库时,要求数据库有不同的DBID,但允许有相同name的数据库。如果通过 os拷贝形成的新数据库,则与原来的db有相同的dbid。这是可以使用rman 的duplicate 命令注册新db,或者使用DBNEWID改变dbid.
同步recovery catalog:
RMAN会自动检测并执行full / partial 同步。
也可以执行命令:RESYNC CATALOG;
至少每CONTROL_FILE_RECORD_KEEP_TIME天,执行一次。因为控制文件的部分信息是周期被reused,超过这个周期,控制文件中的部分信息有可能会被覆盖。
控制文件中有两部分内容:
circular reuse records:
Log history
Archived redo logs
Backups
Offline ranges for datafiles
noncircular reuse records:
比如datafiles, online redo logs, and redo threads.
对于Recovery Without a Catalog:
建议Enable the control file autobackup feature,景象控制文件,Keep all Recovery Manager backup logs
5. RMAN Concepts I: Channels, Backups, and Copies
1. RMAN Automatic and Manual Channel Allocation
什么是channel:
Rman channel 代表传输到某个device type的数据流stream以及相应的server session,每个channel对应一个server session。
根据如下配置自动分配channel:
CONFIGURE DEVICE TYPE (DISK) PARALLELISM (3) --每次分配几个channel;
CONFIGURE DEFAULT DEVICE TYPE TO (DISK or SBT) –默认device type
CONFIGURE CHANNEL DEVICE TYPE
(DISK RATE 5M FORMAT="?/oradata/%U" MAXOPENFILES=20;) –模版
CONFIGURE CHANNEL 3 DEVICE TYPE DISK MAXPIECESIZE = 900K; --某个channel的特别设置
RMAN> SHOW DEVICE TYPE; --查看
或手工分配:
RUN
{
ALLOCATE CHANNEL c1 DEVICE TYPE sbt;
ALLOCATE CHANNEL c2 DEVICE TYPE sbt;
BACKUP DATAFILE 5,6;
}
返回到默认值:
CONFIGURE DEVICE TYPE DISK CLEAR;
2. Backup Sets
逻辑概念,可以包括1个或多个backup pieces(os 文件)。压缩特点:即只备份HWM以下的block,当然数据文件镜像是备份全部。
BACKUP DATABASE;
BACKUP TABLESPACE users, tools;
BACKUP (SPFILE) (CURRENT CONTROL FILE); --备份spfile/controlfile
BACKUP BACKUPSET 12; --备份backupset
BACKUP DATAFILECOPY '/tmp/system01.dbf'; --备份数据文件镜像
--备份归档日志:
RMAN> BACKUP ARCHIVELOG ALL DELETE INPUT;
因为oracle不能直接将日志归档到tape,所以用rman将归档从disk备份到tape。如果指明delete input, rman会为每一个log seq num 备份一个copy,并且删除disk上的文件。
Delete all input, like… rman会删除disk上符合条件的归档copy。
恢复的时候,rman会自动将需要归档从tape上restore到disk.
--9i rman会搜索不同的achieve distinction, 如果有损坏,则备份其他目录相应文件:
BACKUP ARCHIVELOG FROM SEQUENCE 121 UNTIL SEQUENCE 125;
--如果不指定until的话,rman会自动swich 当前在线日志,并且backup 归档。
实际上rman 执行了ALTER SYSTEM ARCHIVE LOG CURRENT
-- plus archievelog 表示备份的数据文件可以被archivelog 恢复到一致状态,过程,类似于热备:
Runs ALTER SYSTEM ARCHIVE LOG CURRENT
Runs BACKUP ARCHIVELOG ALL.
Backs up the files specified in the BACKUP command.
Runs ALTER SYSTEM ARCHIVE LOG CURRENT.
Backs up any remaining archived redo logs generated during backup.
¬--如果设置了backup optimization, rman会跳过已经备份的archivelogs
-- Multiplexed(多元)Backup Sets
同时备份多个数据文件,并且混合在只含有一个backup piece的backup set中。
FILESPERSET:一个backup set中包含几个数据文件
MAXOPENFILES:rman可以同时最多read几个数据文件
-- Duplexed(复式的) Backup Sets
BACKUP DEVICE TYPE DISK COPIES 3 DATAFILE 7 FORMAT '/tmp/%U','?/oradata/%U','?/%U';
复制3个copy,但是属于同一个backup set
--Parallelization of Backups
BACKUP
(DATAFILE 1,2,3
FILESPERSET = 1
CHANNEL ORA_DISK_1) --3个backup sets
(DATAFILECOPY '/tmp/system01.dbf', '/tmp/tools01.dbf'
FILESPERSET = 2
CHANNEL ORA_DISK_2) --1个backup sets
(ARCHIVELOG FROM SEQUENCE 100 UNTIL SEQUENCE 102 THREAD 1
FILESPERSET = 3
CHANNEL ORA_DISK_3); --1个backup sets
-- Backups of Backup Sets
BACKUP COPIES 2 DEVICE TYPE sbt BACKUPSET ALL;
BACKUP BACKUPSET COMPLETED BEFORE 'SYSDATE-7' DELETE INPUT;
-- backup piece/sets的文件名,大小, I/O Rate
自动生成或者,FORMAT = '/tmp/users_%u%p%c';
MAXPIECESIZE限制每个piece的最大size
MAXSETSIZE限制每个SET的最大size
Rate: 每秒读取的bytes
-- 备份类型
Full backup: 不是增量备份,只备份HWM之下的block。归档和控制文件备份所有blocks。区别于whole备份和0级备份(区别仅在于full不会被包括在增量策略中)。不影响其他的增量备份。
Incremental Backups:只备份上一次增量备份后改变的blocks。需要一个full backup or incremental level 0 backup.
Rman使用增量备份恢复的时候,不需要restore a base incremental backup。比如可以restore一个non-incremental的image copies, rman可以用增量备份恢复文件。
使用增量备份的原因:
1) 节省空间,网络带宽
2) 可以恢复通过nologging建立的对象(对比变化的数据块)。
3) 减小noarchivelog数据库的备份大小,不必每次都作whole备份。只能在正常关闭后作备份。
增量备份种类:n级增量备份以下两种情况
1) 差异增量(differential):备份最近一次n级或者更低级备份以来改变的blocks
2) 积累增量(cumulative):备份最近一次n-1级或者更低级备份以来改变的blocks。更倾向于这种备份,因为恢复的时候只需要应用到少量的增量备份集。
原理:
因为增量备份也需要读取所有blocks以决定备份哪些blocks(通过比较当前block的scn与父备份的scn作判断),所以花费的时间和full backup相当。
策略:
比如full or level 0 backup monthly, level 1 weekly, level 2 daily. 这样每次恢复最多只需要一天的redo. 可以在有50%数据块改变后,作一次level 0;
SELECT FILE#, INCREMENTAL_LEVEL, COMPLETION_TIME, BLOCKS, DATAFILE_BLOCKS
FROM V$BACKUP_DATAFILE
WHERE INCREMENTAL_LEVEL > 0 AND BLOCKS / DATAFILE_BLOCKS > .5
ORDER BY COMPLETION_TIME;
比如只作了level1, 当最近依次level 1的大小是level 0的50%,则作一次level 0;
Online: 在线备份,不需要使用ALTER TABLESPACE BEGIN BACKUP命令。Rman使用不同的方法保证一致性。
Closed: mounted but not open。分为一致和不一致两种。
Consistent: 正常关闭后,mount时作的备份
Inconsistent: open或者非正常关闭后,mount时作的备份。需要恢复到一致状态。
备份如下类型文件:
Database, tablespace(除了locally-manged temporary tablespace),datefiles, cotrolfiles, archived logs, server parameter file, backup sets
不备份如下类型文件:
Online redo logs,
Transported tablespaces before they have been made read/write,
Client-side initialization parameter files or noncurrent server parameter files
locally-manged temporary tablespace
3. backup error
NOT BACKED UP SINCE使得备份从出错处继续。
SET MAXCORRUPT允许最大的坏块数。Rman将备份时碰到的坏块reformat header并写入backup set,同时在controfile中记录。可以通过V$BACKUP_CORRUPTION and V$COPY_CORRUPTION查到。
4. Control File and Server Parameter File 自动备份
如果CONFIGURE CONTROLFILE AUTOBACKUP on, 则在以下情况下自动备份:
1) 执行backup or copy
2) 在run中出现backup or copy
3) 当数据库结构改变。建议CONFIGURE CONTROLFILE AUTOBACKUP FOR DEVICE TYPE DISK 改变成非disk type
4) 备份datefile 1的时候?
恢复:
RESTORE CONTROLFILE FROM AUTOBACKUP
5. Backup 保留策略
Obsolete means "not needed," whereas expired means "not found."
CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 7 DAYS; 7天内保证恢复
保证存在这样的backup: SYSDATE - (SELECT CHECKPOINT_TIME FROM V$DATAFILE) >= 7
(互斥)
CONFIGURE RETENTION POLICY TO REDUNDANCY 2;
CONFIGURE RETENTION POLICY TO NONE; 关闭
REPORT OBSOLETE 显示过期备份
DELETE OBSOLETE 删除过期备份(可以在每周的自动script中运行)
防止被标记为obsolete:
# exempts the backup from retention policy until last day of 2002,不包括log
BACKUP DATABASE KEEP UNTIL TIME "TO_DATE('31-DEC-2002', 'dd-mon-yyyy')" NOLOGS;
# alters status of backup set 231 from KEEP to NOKEEP,可以被obsolete
CHANGE BACKUPSET 231 NOKEEP;
# specifies that this backup and the logs required to recover it are indefinitely exempt
# from the retention policy,不保留logs,说明备份一定是一致的备份。
BACKUP TABLESPACE users KEEP FOREVER NOLOGS;
6. Backup Optimization
启动备份优化后,如果发现相同的文件已经备份过,在不影响备份策略的情况下,则跳过。
7. Restartable Backups
备份失败后,可以从某个时间起,只备份没有备份过的文件。
The unit of restartability is a single backup set.
BACKUP DATABASE FILESPERSET = 8;
BACKUP DATABASE NOT BACKED UP SINCE TIME 'SYSDATE-1';
8. Image Copies
同os拷贝一样,只不过通过server session 完成,会检查坏块,并且记录信息到控制文件中。只能拷贝到disk.
如果想用copy替换数据文件,可以用switch命令。相当于alter database rename datafile;
用户自行的copy: CHANGE ... UNCATALOG
Tag:
BACKUP COPIES 1 DATAFILE 7 TAG foo
SWITCH DATAFILE 3 TO DATAFILECOPY TAG mondaypmcopy;
9. Tests and Integrity Checks for Backups
BACKUP VALIDATE; 实际备份之前作测试。
检查物理坏块,记录到control file and in the alert.log。但是不能检查所有类型的坏块
可以查询V$BACKUP_CORRUPTION and V$COPY_CORRUPTION
Rman备份的时候,会读取block’ header and footer,判断块是否是fractured,如果是则重读。
6. RMAN Concepts II: Restore, Recovery, and Duplication
1. Restoring Files with RMAN
Restore 到默认的位置,覆盖同名文件
或者set newname,将数据文件restore到新的路径,保留当前默认路径的文件。如果指定switch,则修改control file。
SET NEWNAME FOR DATAFILE '?/oradata/trgt/tools01.dbf' TO '/tmp/tools01.dbf';
RESTORE DATAFILE '?/oradata/trgt/tools01.dbf';
SWITCH DATAFILE '/tmp/tools01.dbf' TO DATAFILECOPY '?/oradata/trgt/tools01.dbf';
(类似于ALTER DATABASE RENAME FILE)
Rman相比backups,优先使用copy。如果有多个backup/copy,则根据是否指定until选择最新的。
发表评论
-
Oracle数据恢复 - Linux / Unix 误删除的文件恢复
2012-03-22 15:09 1012今天有客户的数据库意外被删除了整个目录中的数据文件,操作系统级 ... -
Oracle数据库恢复:存储故障导致的数据损坏(摘抄自eygle)
2010-12-03 22:56 1175最近帮助用户恢复了一个由于存储故障导致的数据库灾难,整个数据库 ... -
RMAN: RAC Backup and Recovery using RMAN [ID 243760.1] Metalink
2010-05-14 16:19 1625"Checked for relevance on ... -
undo 表空间丢失之恢复(ORA-01548)
2010-04-13 17:31 1832SYS@huiche>startupORACLE 例程已 ... -
非归档模式下,ORA-01190错误解决案例
2010-04-08 14:39 31901.非归档模式下,断电重新启动导致无法锁定数据文件 SYS@ ... -
数据库非归档模式下丢失所有redo log 的恢复记录
2010-04-08 00:06 1503SYS@huiches>startup ... -
利用Flashback Query 恢复误操作的数据
2009-12-09 13:58 1208利用Flashback Query 恢复误操作的数据 Au ... -
Oralce 数据库的灾难恢复
2009-08-20 17:05 1224数据库管理员应针对具 ... -
Linux ORACLE RAC 10201升级10203
2009-07-21 22:38 1895一.准备工作 1.有效备份 作好对ORACL ... -
配置归档日志,让数据库管理更加顺畅
2009-07-20 14:54 1763一、更改日志操作模式 ... -
oracle备份--redo丢失与恢复(一)
2009-07-18 22:39 2144一、先阐述下测试环 ...
相关推荐
《RMAN使用小记》 Recovery Manager(RMAN)是Oracle数据库系统中用于数据恢复和备份的关键工具。本文将详细介绍RMAN的一些核心特性和使用方法,帮助读者理解和掌握RMAN的基本操作。 首先,了解RMAN的三个重要特性...
自动化工具_鼠标连点_ZMClick_兼容性软件_1743961858
内容概要:本文详细介绍了增材制造仿真技术,特别是利用ANSYS Workbench进行温度场和应力场的模拟。文中涵盖了多种增材制造工艺,如WAAM(电弧增材制造)、SLM(选择性激光熔化)和同轴送粉增材制造。重点讨论了双椭球热源模型的应用及其在APDL命令流中的实现,强调了热源参数的选择和调整。此外,还探讨了单道单层和多道多层增材仿真的特点和难点,包括网格划分、材料定义、边界条件设置等方面的具体操作步骤。通过实例展示了如何优化仿真流程,提高仿真精度,从而为增材制造的实际应用提供理论支持和技术指导。 适合人群:从事增材制造研究的技术人员、工程师及相关领域的科研人员。 使用场景及目标:适用于希望深入理解和掌握增材制造仿真技术的研究者和从业者,旨在帮助他们优化制造工艺,提升产品质量,解决实际生产中的难题。 其他说明:文章不仅提供了详细的理论讲解,还分享了许多实用的操作技巧和经验总结,使读者能够更快地上手并应用于实际工作中。
DeepSeek 提示词设计、幻觉避免与应用(50页)
《中医馆小程序观摩 demo 源码简介》 本资源为中医馆小程序观摩 demo 源码,是极具价值的学习资源。该源码完整呈现了中医馆小程序的架构与功能实现逻辑,涵盖多个核心板块。 从界面设计看,有简洁美观且贴合中医文化风格的用户交互页面,方便患者操作。在功能模块方面,具备挂号预约系统,患者能便捷预约专家号、普通号,还可查看医生排班;诊疗记录管理功能,详细记录患者病情、诊断、药方等,便于医生回顾与后续治疗参考;中药知识科普板块,介绍各类中药材功效、适用病症及使用禁忌,增加患者对中医的认知。 其代码结构清晰,注释丰富,无论是对于初学者了解小程序开发流程、熟悉前端框架运用,还是有一定经验的开发者深入研究特定功能实现,如数据库交互优化、接口安全管理等,都有极大帮助。开发者可借鉴其设计模式与技术选型,快速上手并开发出功能更完善、用户体验更佳的中医馆相关小程序或其他医疗健康类应用。总之,这是一份不可多得的学习资源,助力开发者提升技术水平,拓展开发思路。
第19.2章-【星曈科技】openmv H7 plus openmv视觉循迹功能-完成视觉识别指定区域 OpenMV视觉模块循迹_巡线功能 STM32F103C8T6视觉巡线小车
内容概要:本文介绍了“捉妖主升浪指标”的具体实现代码及其应用逻辑。该指标主要用于股票市场技术分析,通过一系列复杂的数学运算和条件判断,识别股票价格走势中的关键节点。核心公式包括平台突破、主力筹码、RSI等技术指标的计算,以及多个条件组合来判断不同类型的“捉妖”信号,如突破捉妖、拉升捉妖、逼空捉妖、超跌捉妖等。每个信号都有特定的颜色标识,并在图表上显示相应的提示信息。 适合人群:对股票交易和技术分析有一定了解的投资者,尤其是希望借助技术指标提高选股效率的专业人士或资深股民。 使用场景及目标:①用于股票市场的技术分析,帮助投资者识别潜在的强势股;②结合其他分析工具,为买卖决策提供参考依据;③通过捕捉短期爆发性上涨机会,优化投资组合收益。 阅读建议:由于该指标涉及较多专业术语和技术细节,建议读者先熟悉常用的技术分析方法,再深入研究此指标的具体实现逻辑。同时,在实际操作中应结合市场情况灵活运用,避免机械套用。
《基于STM32、ESP8266、微信小程序搭建的MQTT智能家居设计资料.zip》是一份极具价值的学习资源。它详细展示了如何结合嵌入式技术与移动互联网技术,实现智能家居系统的远程控制与实时监控。通过这份资料,学习者可以深入了解STM32微控制器的硬件设计、ESP8266 Wi-Fi模块的通信编程,以及微信小程序的用户界面开发。该资源不仅提供了完整的项目代码和文档说明,还强调了数据安全和用户体验的重要性,非常适合物联网和智能家居领域的初学者及进阶者学习参考。
小程序源码 - 海报组件:打造个性化朋友圈分享体验 本资源是一份极具实用价值的学习资源,聚焦于小程序中的海报组件开发。它旨在帮助开发者掌握生成朋友圈分享海报并生成图片的关键技术,为丰富小程序的社交分享功能提供有力支持。 该源码详细展示了如何构建一个高效且美观的海报组件。从布局设计到样式设置,再到动态数据的绑定与处理,每一个环节都经过精心打磨。通过巧妙运用前端技术,实现了根据不同场景和需求,灵活生成个性化的朋友圈分享海报。无论是电商推广、活动宣传还是内容分享,都能借助此组件快速创建吸引人的海报图片,提升用户分享的积极性和传播效果。 这份资源对于想要深入学习小程序开发的人员而言,是一份不可多得的学习素材。它不仅提供了实际可运行的代码示例,还蕴含着丰富的开发思路和技巧,能够帮助开发者快速理解并应用相关技术,提升在小程序海报组件开发方面的能力,为打造更具竞争力的小程序应用奠定坚实基础。
内容概要:本文详细介绍了基于西门子1500 PLC的大型物流分拣线项目,涵盖了硬件组态、SCL编程和人机界面(HMI)配置。项目涉及18个远程IO模块和39个ST40 CPU,旨在提高分拣效率和准确性。硬件部分重点描述了远程IO模块和扫码枪的配置,确保系统的稳定性和通信质量。软件部分则通过SCL编程实现了分拣逻辑,包括根据扫码信息确定分拣路径、处理不同运营模式下的分拣策略等。HMI配置方面,使用了KTP1200触摸屏提供实时监控和操作界面,增强了系统的易用性和透明度。 适合人群:从事工业自动化、PLC编程和物流系统设计的专业工程师和技术人员。 使用场景及目标:适用于需要构建或优化自动化分拣系统的物流中心。主要目标是提高分拣效率和准确性,减少人工干预,确保系统的稳定运行。 其他说明:文中还分享了一些实用技巧和调试经验,如处理扫码枪数据、优化HMI界面设计等,为后续项目实施提供了宝贵的参考资料。
1、该资源内项目代码经过严格调试,下载即用确保可以运行! 2、该资源适合计算机相关专业(如计科、人工智能、大数据、数学、电子信息等)正在做课程设计、期末大作业和毕设项目的学生、或者相关技术学习者作为学习资料参考使用。 3、该资源包括全部源码,需要具备一定基础才能看懂并调试代码。 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip 地铁图小程序源码.zip地铁图小程序源码.zip地铁图小程序源码.zip
经营分析中的指标勾稽关系(15页PPT)
本工具用于扫描您指定的硬盘分区或目录下的文件,自动根据文件大小,创建时间以及文件名称排列并显示可能重复的文件。
MySQL数据库备份多循环.sh
内容概要:本文详细介绍了基于Lumerical FDTD仿真的逆向设计片上功率分束器项目。首先概述了Lumerical FDTD仿真的基础概念及其在光学仿真领域的应用,接着重点讲解了逆向设计的核心思想,即通过定义目标输出反推得到满足条件的结构。文中提供了多个代码片段展示如何创建仿真区域、定义目标分束比例、更新仿真结构、运行仿真、计算误差并调整结构参数。此外,还分享了完整的项目工程文件和一份详细的1.7万字报告,涵盖了从项目背景、原理阐述到具体仿真步骤、逆向设计算法分析、结果讨论和优化方向等多个方面。 适合人群:从事光通信、集成光学研究的专业人士,尤其是对Lumerical FDTD仿真和逆向设计感兴趣的科研人员和技术开发者。 使用场景及目标:适用于希望深入了解片上功率分束器设计原理及其实现方法的研究人员;帮助读者掌握Lumerical FDTD仿真工具的具体使用技巧;为相关领域的创新设计提供参考案例和支持。 其他说明:该项目不仅展示了逆向设计理念的实际应用,还强调了在实际操作中遇到的问题及解决方案,如参数调整、结构优化、网格划分等。同时,通过大量实例代码和图表,使读者能够更好地理解和复现实验过程。
内容概要:本文详细介绍了Linux缓存机制及其对系统性能的提升作用。文章首先通过类比解释了缓存机制的重要性,随后阐述了缓存机制的工作原理,包括读取过程、写入策略(回写和写透缓存)、以及缓存回收策略(如LRU)。接着,文章分类讲解了不同类型的缓存,如文件系统缓存、页面缓存和缓冲缓存,并具体说明了它们在Web服务器和数据库查询中的应用。最后,文章介绍了如何查看和管理Linux缓存,包括释放缓存和管理Swap交换分区的方法,展示了缓存机制在实际场景中的性能优化效果。 适合人群:对Linux系统有一定了解的系统管理员、开发者和技术爱好者。 使用场景及目标:①理解Linux缓存机制的基本概念和工作原理;②掌握如何通过缓存机制优化系统性能,特别是在Web服务器和数据库查询方面;③学会使用相关命令查看和管理缓存,以应对不同的系统需求和性能问题。 其他说明:随着技术的发展,未来的缓存技术将在智能化和自动化方向取得更大突破,为系统管理员提供更便捷的管理和监控手段。文章鼓励读者深入探索Linux缓存机制,以更好地理解和优化系统性能。
内容概要:本文详细介绍了如何利用欧姆龙PLC通过RS485通信实现Modbus RTU主站通讯的方法。主要内容分为硬件配置和软件编程两大部分。硬件方面,强调了RS485模块的选择和设置,特别是波特率、数据位、停止位等参数的配置。软件编程则涵盖了读操作和写操作的具体实现步骤,包括CRC校验的应用、功能码的选择以及轮询机制的设计。此外,文中提供了具体的代码示例,帮助读者更好地理解和实施。 适合人群:从事工业自动化领域的工程师和技术人员,尤其是熟悉欧姆龙PLC和Modbus RTU协议的用户。 使用场景及目标:①快速搭建欧姆龙PLC作为Modbus RTU主站的通信环境;②简化配置流程,提高工作效率;③解决传统配置方法中存在的复杂性和不确定性。 其他说明:文中提到的功能块适用于多种型号的欧姆龙PLC,如CP1H、CP1L、CJ2M等。同时,针对特定型号(如CP2E)给出了特殊的注意事项。文中还提供了一些实用的小技巧,如使用外部CRC校验工具简化读操作,以及采用轮询方式优化多从站通信。
内容概要:本文档《计算机课后习题精选(附详细解答)》涵盖数据结构与算法、操作系统、计算机网络、数据库、编程基础五大模块,通过精选习题及其详细解答,帮助读者巩固计算机专业基础知识。例如,在数据结构与算法部分,提供了链表节点删除、二叉树最大深度计算等典型题目及其Python代码实现;操作系统部分讲解了进程调度(FCFS、SJF)、页面置换算法(FIFO、LRU);计算机网络涉及IP子网划分、TCP三次握手过程;数据库部分包括SQL查询语句编写、事务ACID特性解释;编程基础则包含时间复杂度分析和字符串处理。每个章节都配有详细的解题步骤与代码实现。 适合人群:计算机相关专业学生以及希望提升计算机基础知识的技术人员。 使用场景及目标:①作为计算机专业课程的辅助教材,帮助学生课后复习和加深理解;②为准备技术面试的求职者提供练习素材,提高解决实际问题的能力;③通过做题实践加强对计算机基础理论知识的掌握。 阅读建议:读者应结合自身情况选择性地进行练习,对于不懂的地方可以反复研读解答过程并尝试自己动手实现代码,同时建议建立错题本记录易错知识点,以便日后复习。
数据结构是计算机科学中的一个核心概念,它研究数据的组织、存储和操作方式。掌握数据结构对于解决复杂问题、优化程序性能以及进行高效的数据处理至关重要。本文将系统地介绍数据结构的基本概念、常见类型以及应用实例,帮助读者从入门到精通数据结构。数据结构是计算机科学中的基础概念,掌握它对于解决复杂问题和优化程序性能至关重要。通过学习线性表、树、图、哈希表等常见数据结构,以及排序和查找等算法,可以显著提高编程能力。同时,利用丰富的学习资源,如在线教程、书籍和开源项目,可以更系统地掌握数据结构知识。
# 基于Webpack的模块化打包项目 ## 项目简介 本项目使用Webpack作为模块化打包工具,实现了项目代码的模块化打包,支持开发环境和生产环境的构建,支持CSS和JavaScript文件的编译和打包,支持第三方库的分离,以及CSS文件的压缩和分离。 ## 项目的主要特性和功能 1. 模块化打包使用Webpack作为模块化打包工具,支持开发环境和生产环境的构建。 2. CSS和JavaScript编译支持CSS和JavaScript文件的编译和打包,支持LessScss预处理器。 3. 第三方库分离支持第三方库的分离,减少打包后的文件体积。 4. CSS压缩和分离支持CSS文件的压缩和分离,优化打包后的文件体积。 5. 代码热替换支持代码热替换(HMR),提升开发效率。 6. 文件哈希值支持文件名哈希值,提升浏览器缓存效率。 7. 打包分析支持使用webpackbundleanalyzer插件对打包后的代码进行可视化分析。 ## 安装使用步骤