跨resetlogs不完全恢复- oracle自动reset错误incarnation
在做oracle跨resetlogs的不完全恢复时,如果未删除flashback area的控制文件自动备份,那么Oracle可能会从控制文件自动备份中自动探测到incarnation信息,并重置incarnation,从而导致恢复报错。(不完全恢复测试一)
在做oracle跨resetlogs的不完全恢复时,如果需要catalog归档日志,注意不要catalog不相关的归档日志,否则Oracle可能会从归档日志中自动探测到incarnation信息,并重置incarnation,从而导致恢复报错。(不完全恢复测试二)
1. 环境准备
1.1 开启flashback
检查数据库flashback是否开启,如果未开启,则参考相关文档开启flashback。
SQL> select flashback_on from v$database; FLASHBACK_ON
------------------
YES
1.2 开启controlfile自动备份
如果开启了flashback database, 缺省情况下controlfile自动备份存储在flashback area里。
RMAN> show controlfile autobackup; using target database control file instead of recovery catalog
RMAN configuration parameters are:
CONFIGURE CONTROLFILE AUTOBACKUP OFF; # default RMAN> CONFIGURE CONTROLFILE AUTOBACKUP ON; new RMAN configuration parameters:
CONFIGURE CONTROLFILE AUTOBACKUP ON;
new RMAN configuration parameters are successfully stored
1.3 做RMAN全备
执行RMAN全备,运行以下脚本做全库备份(使用controlfile做为catalog):
run {
allocate channel ch0 type disk;
backup as compressed backupset format '/export/home/oracle/bk_%s_%p_%t' database;
sql 'alter system archive log current';
backup format '/export/home/oracle/cntl_%s_%p_%t' current controlfile;
release channel ch0;
}
1.4 全备后,做一些数据库操作
创建表空间、用户和表: SQL> create tablespace testtbs datafile '+DATA' size 10m autoextend on;
Tablespace created. SQL> create user test identified by test default tablespace testtbs;
User created. SQL> grant connect,resource to test;
Grant succeeded. SQL> conn test /test
Connected. SQL> create table testtb (id number);
Table created. SQL> insert into testtb values (1);
1 row created. SQL> commit;
Commit complete. 切换日志: SQL> conn /as sysdba Connected. SQL> alter system archive log current; System altered 检查incarnation信息,此时只有一个incarnation: RMAN> list incarnation; List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- ------- ---------- ----------
1 1 BEICENP 1011448374 CURRENT 1 06-NOV-12
检查scn,此scn为后续恢复操作所使用的scn:
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1304918
1.5 模拟resetlogs
做一次不完全恢复,来模拟resetlogs操作,增加数据库incarnation。
模拟故障,模拟删除数据文件(不删除控制文件): SQL> shutdown abort; 使用ASM命令删除数据文件。 做不完全恢复: 启动数据库到mount状态:
SQL> startup mount;
ORACLE instance started. Total System Global Area 935329792 bytes
Fixed Size 2025168 bytes
Variable Size 306186544 bytes
Database Buffers 620756992 bytes
Redo Buffers 6361088 bytes
Database mounted. 使用rman 命令恢复:
run {
allocate channel ch0 type disk;
restore database;
recover database until scn 1304918;
release channel ch0;
sql 'alter database open resetlogs';
} 恢复完全后incarnation信息:
RMAN> list incarnation; using target database control file instead of recovery catalog List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 BEICENP 1011448374 PARENT 1 06-NOV-12
2 2 BEICENP 1011448374 CURRENT 1304920 25-DEC-13 恢复完成后,增加了一个新的incarnation。
1.6 resetlogs后,新创建一个表空间
创建表空间的目的是让oracle自动备份一个resetlogs后的控制文件。
创建另一个表空间:
SQL> create tablespace testtbs_new datafile '+DATA' size 10m autoextend on; Tablespace created. 表空间创建后,在alert日志里可以看到控制文件自动备份信息:
Starting control autobackup
Wed Dec 25 15:19:46 2013
Control autobackup written to DISK device
handle '+FLASH/beicenp/autobackup/2013_12_25/s_835111170.276.835111185'
Completed: alter database open resetlogs
Wed Dec 25 15:20:58 2013
create tablespace testtbs_new datafile '+DATA' size 10m autoextend on
Wed Dec 25 15:20:59 2013
Starting control autobackup
Control autobackup written to DISK device
handle '+FLASH/beicenp/autobackup/2013_12_25/s_835111259.277.835111261'
Completed: create tablespace testtbs_new datafile '+DATA' size 10m autoextend on
在创建表空间前后,都会做控制文件自动备份。 做一次归档:
SQL> alter system archive log current; System altered.
2. 不完全恢复测试一
模拟故障,删除数据文件和控制文件,不删除flashback area的控制文件自动备份。使用备份控制文件,不完全恢复到SCN 1304918。
2.1 模拟故障,删除数据文件和控制文件
模拟故障:
SQL> shutdown abort;
ORACLE instance shut down. 使用ASM命令删除数据文件和控制文件,注意不要删除flashback area。
2.2 恢复数据库到SCN 1304918
启动到nomount状态:
SQL> startup nomount;
ORACLE instance started. Total System Global Area 935329792 bytes
Fixed Size 2025168 bytes
Variable Size 314575152 bytes
Database Buffers 612368384 bytes
Redo Buffers 6361088 bytes 使用以下RMAN脚本恢复数据库:
run {
allocate channel ch0 type disk;
restore controlfile from '/export/home/oracle/cntl_7_1_835109919';
sql 'alter database mount';
restore database;
recover database until scn 1304918;
release channel ch0;
sql 'alter database open resetlogs';
}
此处使用的是备份控制文件,里面不应该包含incarnation2的信息。
以下是RMAN恢复脚本部分输出信息:
输出信息表明控制文件自动备份被Oracle自动执行了catalog. 并且RMAN恢复报错RMAN-20208
searching for all files in the recovery area
cataloging files...
cataloging done List of Cataloged Files
=======================
File Name: +flash/BEICENP/AUTOBACKUP/2013_12_25/s_835109928.262.835109931
File Name: +flash/BEICENP/AUTOBACKUP/2013_12_25/s_835110040.263.835110043
File Name: +flash/BEICENP/AUTOBACKUP/2013_12_25/s_835111170.276.835111185
File Name: +flash/BEICENP/AUTOBACKUP/2013_12_25/s_835111259.277.835111261
......
Starting recover at 25-DEC-13
released channel: ch0
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/25/2013 16:28:47
RMAN-20208: UNTIL CHANGE is before RESETLOGS change
alert日志中有以下信息,Oracle自动将incarnation由1设置成2.
New incarnation branch detected in Backup, filename +FLASH/beicenp/autobackup/2013_12_25/s_835111170.276.835111185
Inspection of file changed rdi from 1 to 2
Setting recovery target incarnation to 2
Wed Dec 25 16:27:19 2013
Setting recovery target incarnation to 2
出现这个报错的解决方法如下:
reset incarnation :
RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 BEICENP 1011448374 PARENT 1 06-NOV-12
2 2 BEICENP 1011448374 CURRENT 1304920 25-DEC-13 RMAN> reset database to incarnation 1;
database reset to incarnation 1 RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 BEICENP 1011448374 CURRENT 1 06-NOV-12
2 2 BEICENP 1011448374 ORPHAN 1304920 25-DEC-13 然后执行不完全恢复
RMAN> recover database until scn 1304918; Starting recover at 25-DEC-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=153 devtype=DISK starting media recovery archive log thread 1 sequence 58 is already on disk as file +ARCH/beicenp/archivelog/2013_12_25/thread_1_seq_58.292.835109917
archive log filename=+ARCH/beicenp/archivelog/2013_12_25/thread_1_seq_58.292.835109917 thread=1 sequence=58
unable to find archive log
archive log thread=1 sequence=59
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/25/2013 17:28:47
RMAN-06054: media recovery requesting unknown log: thread 1 seq 59 lowscn 1296057 由于备份的控制文件中缺少部分归档日志信息,需要catalog归档日志,然后再做recover
RMAN> catalog start with '+ARCH'; searching for all files that match the pattern +ARCH List of Files Unknown to the Database
=====================================
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_59.293.835110115
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_60.294.835110233
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_61.295.835111123
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_1.296.835111307
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_22.256.798651655
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_23.257.798656015
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_24.258.798656205
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_25.259.798656343 Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done List of Cataloged Files
=======================
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_59.293.835110115
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_60.294.835110233
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_61.295.835111123
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_1.296.835111307
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_22.256.798651655
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_23.257.798656015
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_24.258.798656205
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_25.259.798656343 RMAN> recover database until scn 1304918;
RMAN> sql 'alter database open resetlogs'; reset incarnation后虽然数据库能够做不完全恢复,但在控制文件却多出了一个ORPHAN的incarnation,这是我不希望看到的。如果在做不完全恢复之前将flashback area清空(前提是备份集没放在flashback area),就不会出现这个问题。
3. 不完全恢复测试二
模拟故障,删除数据文件和控制文件和flashback area的控制文件自动备份。使用备份控制文件,不完全恢复到SCN 1304918。
3.1 模拟故障,删除数据文件、控制文件和控制文件自动备份
模拟故障:
SQL> shutdown abort;
ORACLE instance shut down. 使用ASM命令删除数据文件、控制文件和flashback area的控制文件自动备份。
3.2 恢复数据库到SCN 1304918
启动到nomount状态:
SQL> startup nomount;
ORACLE instance started. Total System Global Area 935329792 bytes
Fixed Size 2025168 bytes
Variable Size 314575152 bytes
Database Buffers 612368384 bytes
Redo Buffers 6361088 bytes 使用以下RMAN脚本恢复备份控制文件:
run {
allocate channel ch0 type disk;
restore controlfile from '/export/home/oracle/cntl_7_1_835109919';
release channel ch0;
sql 'alter database mount';
}
此处使用的是备份控制文件,里面不包含incarnation2的信息: RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 BEICENP 1011448374 CURRENT 1 06-NOV-12 由于备份控制文件缺少部分归档日志信息,需要catalog归档日志: RMAN> catalog start with '+ARCH'; Starting implicit crosscheck backup at 26-DEC-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=153 devtype=DISK
Crosschecked 6 objects
Finished implicit crosscheck backup at 26-DEC-13 Starting implicit crosscheck copy at 26-DEC-13
using channel ORA_DISK_1
Finished implicit crosscheck copy at 26-DEC-13 searching for all files in the recovery area
cataloging files...
no files cataloged searching for all files that match the pattern +ARCH List of Files Unknown to the Database
=====================================
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_59.293.835110115
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_60.294.835110233
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_61.295.835111123
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_1.296.835111307
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_22.256.798651655 Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done List of Cataloged Files
=======================
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_59.293.835110115
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_60.294.835110233
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_61.295.835111123
File Name: +arch/BEICENP/ARCHIVELOG/2013_12_25/thread_1_seq_1.296.835111307
File Name: +arch/BEICENP/ARCHIVELOG/2012_11_06/thread_1_seq_22.256.798651655 注意:thead_1_seq_1.296.835111307是resetlogs之后产生的归档日志,不完全恢复并不需要此归档日志。 catalog归档日志后,oracle错误地将incarnation设置为2: RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 BEICENP 1011448374 PARENT 1 06-NOV-12
2 2 BEICENP 1011448374 CURRENT 1304920 25-DEC-13 同时alert日志中出现reset incarnation信息: New incarnation branch detected in ArchiveLog, filename +ARCH/beicenp/archivelog/2013_12_25/thread_1_seq_1.296.835111307
Inspection of file changed rdi from 1 to 2
Setting recovery target incarnation to 2
Thu Dec 26 10:28:19 2013
Setting recovery target incarnation to 2 此时出现了与不完全恢复测试一中一样的问题。解决方案是:需要重置incarnation,然后再做恢复。 RMAN> reset database to incarnation 1; database reset to incarnation 1 然后在RMAN里运行不完全恢复脚本: run {
allocate channel ch0 type disk;
restore database;
recover database until scn 1304918;
release channel ch0;
sql 'alter database open resetlogs';
} 与测试一一样,reset incarnation后虽然数据库能够做不完全恢复,但在控制文件却多出了一个ORPHAN的incarnation。如果在做catalog归档日志时只catalog需要的归档日志(不要catalog resetlogs之后产生的归档日志),就不会出现这个问题。
4. 不完全恢复测试三
前2次不完全恢复都是使用备份控制文件,此处使用当前控制文件进行恢复测试。
4.1 模拟故障,删除数据文件和flashback area的控制文件自动备份
模拟故障:
SQL> shutdown abort;
ORACLE instance shut down. 使用ASM命令删除数据文件和flashback area的控制文件自动备份。
4.2使用当前控制文件恢复数据库到SCN 1304918
执行以下恢复脚本:
run {
allocate channel ch0 type disk;
restore database;
recover database until scn 1304918;
release channel ch0;
sql 'alter database open resetlogs';
} using target database control file instead of recovery catalog
allocated channel: ch0
channel ch0: sid=152 devtype=DISK Starting restore at 26-DEC-13 creating datafile fno=5 name=+DATA/beicenp/datafile/testtbs.270.835110813
creating datafile fno=6 name=+DATA/beicenp/datafile/testtbs_new.271.835111259
channel ch0: starting datafile backupset restore
channel ch0: specifying datafile(s) to restore from backup set
restoring datafile 00001 to +DATA/beicenp/datafile/system.264.835110833
restoring datafile 00002 to +DATA/beicenp/datafile/undotbs1.262.835110845
restoring datafile 00003 to +DATA/beicenp/datafile/sysaux.261.835110873
restoring datafile 00004 to +DATA/beicenp/datafile/users.260.835110877
channel ch0: reading from backup piece /export/home/oracle/bk_5_1_835109756
channel ch0: restored backup piece 1
piece handle=/export/home/oracle/bk_5_1_835109756 tag=TAG20131225T145555
channel ch0: restore complete, elapsed time: 00:02:47
Finished restore at 26-DEC-13 Starting recover at 26-DEC-13
released channel: ch0
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/26/2013 10:46:36
RMAN-20208: UNTIL CHANGE is before RESETLOGS change 重置incarnation:
RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 BEICENP 1011448374 PARENT 1 06-NOV-12
2 2 BEICENP 1011448374 CURRENT 1304920 25-DEC-13 RMAN> reset database to incarnation 1;
database reset to incarnation 1 RMAN> list incarnation;
List of Database Incarnations
DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time
------- ------- -------- ---------------- --- ---------- ----------
1 1 BEICENP 1011448374 CURRENT 1 06-NOV-12
2 2 BEICENP 1011448374 ORPHAN 1304920 25-DEC-13 再做恢复:
RMAN> recover database until scn 1304918; Starting recover at 26-DEC-13
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=152 devtype=DISK starting media recovery
media recovery failed
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/26/2013 10:47:10
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover if needed
start until change 1304918
ORA-00283: recovery session canceled due to errors
ORA-38727: FLASHBACK DATABASE requires a current control file. 同时alert日志里有以下提示信息:
alter database recover if needed
start until change 1304918
Media Recovery Start
Cannot mark control file as backup: flashback database enabled 关闭flashback后,再执行recover:
SQL> alter database flashback off;
Database altered. RMAN> recover database until scn 1304918;
starting media recovery
media recovery failed
released channel: ch0
RMAN-00571: ===========================================================
RMAN-00569: =============== ERROR MESSAGE STACK FOLLOWS ===============
RMAN-00571: ===========================================================
RMAN-03002: failure of recover command at 12/26/2013 11:20:01
ORA-00283: recovery session canceled due to errors
RMAN-11003: failure during parse/execution of SQL statement: alter database recover if needed
start until change 1304918
ORA-00283: recovery session canceled due to errors
ORA-00600: internal error code, arguments: [kcvsor_current_inc_rdfail], [0], [], [], [], [], [], [] 此时会出现ORA-600错误,数据库无法做不完全恢复。
此测试说明,在做跨resetlogs不完全恢复时,应注意选择控制文件版本。不能使用当前控制文件进行恢复(nocatalog情况)。
跨resetlogs不完全恢复- oracle自动reset错误incarnation的更多相关文章
- oracle自动编号
oracle自动编号 在access中有自动编号的数据类型,MSSQL和MYSQL也都有自动增长的数据类型,插入记录时不用操作此字段,会自动获得数据值,而oracle没有自动增长的数据类型,我们需要建 ...
- Oracle自动备份脚本的实现
问题描述: Oracle自动备份脚本的实现. 错误提示1: Message file RMAN.msb not found Verify that Oracle_HOME is set properl ...
- knockout-validation不自动插入错误消息
<div data-bind="validationOptions:{insertMessages:false}"> <div class="valid ...
- Oracle自动备份脚本(网上找到的资料)
废话不多说了,直接给大家贴代码了,具体代码如下所示: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...
- Oracle OCI-22053:溢出错误解决方法
原文 Oracle OCI-22053:溢出错误解决方法 Oracle 数值数据类型最多可存储 38 个字节的精度.当将 Oracle 数值转换为公共语言运行库数据类型时,小数点后边的位数可能过多,这 ...
- 未指定的错误,发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。数据类型不被支持。
未指定的错误,发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息.数据类型不被支持. 博客分类: 雅芳生涯 .Net VB C# OracleMicrosoftSecurity ...
- Oracle自动执行任务(存储过程)
Oracle自动执行任务(存储过程) SQL> variable job number;SQL> begin2 dbms_job.submit(:job,'存储过程名;',sysdate, ...
- Oracle自动备份.bat 最新更新(支持Win10了)
20170418更新: 很多年没有用了,最近两天打开来用,发现在Win10下面At命令已经被淘汰不能使用了,还有不少命令工作方式和原来也不一样了 所以就更新了一下下,使用 schtasks 命令代替了 ...
- Oracle自动备份数据
一. Oracle自动备份单表一个月数据 方式一:三步处理(建批处理文件,写sql文件,设置任务计划) 1. 第一步:建立一个批处理文件 @echo off Set OrclSid=orcl Set ...
随机推荐
- 字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)?
字符在内存中最终的表示形式是什么?是某种字符编码还是码位(Code Point)? 根据我的了解,编码中有三个核心概念:1. 字符集(Character Set),可以说是一个抽象概念,字符的合集2. ...
- 【转】数据库获得当前时间getdate()
CONVERT(nvarchar(10),count_time,121): CONVERT为日期转换函数,一般就是在时间类型 (datetime,smalldatetime)与字符串类型(nchar, ...
- DS 和【ADDRESS】学习记录
CPU要读写一个内存单元的时候,必须先给出这个内存单元的地址. 内存单元由2部分组成. 8086CPU中,内存地址由以下组成. 1:段地址 2:偏移地址 8086CPU中,有一个DS寄存器地址,通常用 ...
- 关于接口自动化的那些事 - 基于 Python
网络请求模拟小技巧 在学习了一段时间的Python语言后,咱也大概对Python的语法和逻辑有了一定的积累,接下来,可以为接口自动化测试开始尝试做一些比较简单的准备工作啦~跟着我一起来来来~ 扩展库r ...
- tp5 数据库Db增删改操作
添加数据insert $data = [ 'name_cn' => '张三', 'name_en' => 'jack', ]; $res = Db::name('style')->i ...
- QT Creator引用win32 api类库方法(.lib)
由于Qt Creator使用的是mingW进行程序编译,该编译方式无法识别#pragma comment(lib,"lib\\hvdailt.lib")引用. 所以需要在.Pro文 ...
- 如何直接在网页中显示PDF文件
通过的浏览器:360.Firefox.IE.Chrome 2. 下面这个完整点: <param name="_Version" value="65539" ...
- ipconfig | find /i "ipv4"
C:\Users\Bob>ipconfig|find /i "IPv" 本地链接 IPv6 地址. . . . . . . . : fe80::d495:6e3:6368 ...
- 如何激活Windows10系统
Win10正式企业版系统的激活方法: 按住 win+x 就会出现如下,右击桌面的左下角的“Windows”图标,从其右键菜单中选择“命令提示符(管理员)”项,以便打开 MSDOS界面. 待打开MS ...
- AI探索(四)NumPy库的使用
NumPy(Numerical Python) 是 Python 语言的一个扩展程序库,支持大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库. umPy 是一个运行速度非常快的数学库, ...