先熟悉下 ” 从rman 备份中恢复表“ 的背景以及要求:

在 RMAN 中提供了表级别恢复( RECOVER TABLE )。在 Oracle 12c 中,在发生 drop 或 truncate 的情况下,

可以从 RMAN 备份种将一个特定的表或分区恢复到某个时间点、 SCN 或归档序列号,并且可以有下面的选择:

l  使用REMAP选项将表恢复为一个新表或者分区中,也可以恢复到其他用户中。

l  只生成一个需要被恢复表的expdp格式的dump文件,选择后期再进行恢复。

Oracle 12c的Recover Table新特性是利用创建辅助临时实例加数据泵工具来实现的。通常在进行Recover Table之前应该准备好两个目录(AUXILIARY DESTINATION和DATAPUMP DESTINATION),AUXILIARY DESTINATION用来临时存放辅助实例的数据文件,DATAPUMP DESTINATION用来临时存放数据泵导出的文件。

只要之前创建了RMAN备份,那么就可以根据指定的的时间来进行表级和表分区级的恢复操作,而且不影响其他的数据库对象。RMAN的表级和表分区级恢复可以使用在如下场景:

① 在恢复小表或数据库中的某几张表时,但发现使用Restore Database或Tablespace的代价很高而且效率很低。也可以使用TSPITR(表空间基于时间点的恢复)的方法,但该方法效率很低,因为需要移动表空间中的所有对象。

② 恢复有逻辑损坏或者被删除的表。

③ Flashback Table不可用,例如Undo数据已经被覆盖的情况。

④ DDL操作后需要恢复数据。Flashback Table不支持表结构发生改变后的回退,例如TRUNCATE TABLE。

RMAN从备份中自动处理恢复表或者表分区时会执行如下步骤:

1.判断哪些备份包含需要恢复的表或表分区,然后根据指定的时间来进行恢复。

2.判断目标主机上是否有足够的空间来创建auxiliary instance,该实例用于处理表或分区的恢复。如果需要的空间不足,那么RMAN会报错并退出恢复操作。

3.创建auxiliary database,并根据指定的时间来恢复指定的表或表分区到auxiliary database中。辅助数据库的数据文件位置可以在命令中指定。

4.创建包含恢复表或表分区的数据泵文件(expdp dump file)。数据泵的名称和位置也可以在命令中指定。

5.(可选操作)将上一步生产的数据泵文件导入到目标实例中。当然也可以选择不导入,如果选择不导入就必须使用impdp手工导入。

6.(可选操作)在目标数据库中rename恢复表或表分区。

关于RECOVER TABLE需要注意的几个问题:

l  目标数据库必须被置于读写模式。

l  目标数据库必须被置于归档模式。

l  如果要恢复表或者分区,你必须拥有这些表或者分区存在后的时间的备份。

l  想要恢复单个表分区,COMPATIBLE初始化参数所在的目标库必须设置为11.1.0或以上。

l  SYS用户下的表或分区无法恢复。

l  存储于SYSAUX和SYSTEM表空间下的表和分区无法恢复。

l  Standby数据库上的表或表分区不能进行恢复。

l  在使用REMAP的情况下,有NOT NULL 约束的表不能进行恢复。

l  确保对于辅助数据库在文件系统下有足够的可用空间,同时对数据泵文件也有同样保证。

l  必须要存在一份完整的数据库备份,至少要有SYSTEM、UNDO、SYSAUX和表所在表空间相关的备份。如果恢复的表在PDB中,那么需要备份Root Container的SYSTEM,SYSAUX、UNDO和PDB的SYSTEM、SYSAUX以及包含了要恢复的表的表空间。

以上类容来自:https://www.cnblogs.com/chendian0/p/13291370.html?utm_source=tuicool

下面我们开始实战部分:

针对恢复过程,个人有一下几点思考:
1、辅助实例 SGA 的消耗是不是和源库 一样

2、源库的 system ,sysaux ,undo 表空间完成恢复,如果入库中这些表空间都很大的话,恢复也要话不少时间,也会占用不少资源

综上两点 ,在生产环境中这种恢复还是不可去

对于实验中的报错可以登录辅助实例扩展temp 表空间解决

RMAN> RECOVER TABLE hlb.emp UNTIL TIME "to_date('2021-04-15 17:47:48','yyyy-mm-dd hh24:mi:ss')"
2> AUXILIARY DESTINATION '/home/oracle/bak'
3> DATAPUMP DESTINATION '/home/oracle'
4> DUMP FILE 'emp.dmp'
5> NOTABLEIMPORT ;Starting recover at 17-APR-21
using channel ORA_DISK_1
RMAN-05026: warning: presuming following set of tablespaces applies to specified point-in-timeList of tablespaces expected to have UNDO segments
Tablespace SYSTEM
Tablespace UNDOTBS1Creating automatic instance, with SID='ecbb'initialization parameters used for automatic instance:
db_name=ORCL19
db_unique_name=ecbb_pitr_ORCL19
compatible=19.0.0
db_block_size=8192
db_files=200
diagnostic_dest=/u01/app/oracle
_system_trig_enabled=FALSE
sga_target=728M
processes=200
db_create_file_dest=/home/oracle/bak
log_archive_dest_1='location=/home/oracle/bak'
#No auxiliary parameter file usedstarting up automatic instance ORCL19Oracle instance startedTotal System Global Area     763359832 bytesFixed Size                     8901208 bytes
Variable Size                209715200 bytes
Database Buffers             541065216 bytes
Redo Buffers                   3678208 bytes
Automatic instance createdcontents of Memory Script:
{
# set requested point in time
set until  time "to_date('2021-04-15 17:47:48','yyyy-mm-dd hh24:mi:ss')";
# restore the controlfile
restore clone controlfile;# mount the controlfile
sql clone 'alter database mount clone database';# archive current online log
sql 'alter system archive log current';
}
executing Memory Scriptexecuting command: SET until clauseStarting restore at 17-APR-21
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=34 device type=DISKchannel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: restoring control file
channel ORA_AUX_DISK_1: reading from backup piece /u01/app/oracle/product/19c/db_1/dbs/c-370288361-20210415-00
channel ORA_AUX_DISK_1: piece handle=/u01/app/oracle/product/19c/db_1/dbs/c-370288361-20210415-00 tag=TAG20210415T174607
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
output file name=/home/oracle/bak/ORCL/controlfile/o1_mf_j7ohtvt8_.ctl
Finished restore at 17-APR-21sql statement: alter database mount clone databasesql statement: alter system archive log currentcontents of Memory Script:
{
# set requested point in time
set until  time "to_date('2021-04-15 17:47:48','yyyy-mm-dd hh24:mi:ss')";
# set destinations for recovery set and auxiliary set datafiles
set newname for clone datafile  1 to new;
set newname for clone datafile  4 to new;
set newname for clone datafile  3 to new;
set newname for clone tempfile  2 to new;
# switch all tempfiles
switch clone tempfile all;
# restore the tablespaces in the recovery set and the auxiliary set
restore clone datafile  1, 4, 3;switch clone datafile all;
}
executing Memory Scriptexecuting command: SET until clauseexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMEexecuting command: SET NEWNAMErenamed tempfile 2 to /home/oracle/bak/ORCL/datafile/o1_mf_temp_%u_.tmp in control fileStarting restore at 17-APR-21
using channel ORA_AUX_DISK_1channel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00001 to /home/oracle/bak/ORCL/datafile/o1_mf_system_%u_.dbf
channel ORA_AUX_DISK_1: restoring datafile 00004 to /home/oracle/bak/ORCL/datafile/o1_mf_undotbs1_%u_.dbf
channel ORA_AUX_DISK_1: restoring datafile 00003 to /home/oracle/bak/ORCL/datafile/o1_mf_sysaux_%u_.dbf
channel ORA_AUX_DISK_1: reading from backup piece /u01/app/oracle/product/19c/db_1/dbs/2evsce1r_1_1
channel ORA_AUX_DISK_1: piece handle=/u01/app/oracle/product/19c/db_1/dbs/2evsce1r_1_1 tag=TAG20210415T174531
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:07
Finished restore at 17-APR-21datafile 1 switched to datafile copy
input datafile copy RECID=4 STAMP=1070132329 file name=/home/oracle/bak/ORCL/datafile/o1_mf_system_j7ohv24l_.dbf
datafile 4 switched to datafile copy
input datafile copy RECID=5 STAMP=1070132329 file name=/home/oracle/bak/ORCL/datafile/o1_mf_undotbs1_j7ohv24s_.dbf
datafile 3 switched to datafile copy
input datafile copy RECID=6 STAMP=1070132329 file name=/home/oracle/bak/ORCL/datafile/o1_mf_sysaux_j7ohv24r_.dbfcontents of Memory Script:
{
# set requested point in time
set until  time "to_date('2021-04-15 17:47:48','yyyy-mm-dd hh24:mi:ss')";
# online the datafiles restored or switched
sql clone "alter database datafile  1 online";
sql clone "alter database datafile  4 online";
sql clone "alter database datafile  3 online";
# recover and open database read only
recover clone database tablespace  "SYSTEM", "UNDOTBS1", "SYSAUX";
sql clone 'alter database open read only';
}
executing Memory Scriptexecuting command: SET until clausesql statement: alter database datafile  1 onlinesql statement: alter database datafile  4 onlinesql statement: alter database datafile  3 onlineStarting recover at 17-APR-21
using channel ORA_AUX_DISK_1starting media recoveryarchived log for thread 1 with sequence 12 is already on disk as file /u01/app/oracle/product/19c/db_1/dbs/arch1_12_1068959916.dbf
archived log file name=/u01/app/oracle/product/19c/db_1/dbs/arch1_12_1068959916.dbf thread=1 sequence=12
media recovery complete, elapsed time: 00:00:00
Finished recover at 17-APR-21sql statement: alter database open read onlycontents of Memory Script:
{sql clone "create spfile from memory";shutdown clone immediate;startup clone nomount;sql clone "alter system set  control_files = ''/home/oracle/bak/ORCL/controlfile/o1_mf_j7ohtvt8_.ctl'' comment=''RMAN set'' scope=spfile";shutdown clone immediate;startup clone nomount;
# mount database
sql clone 'alter database mount clone database';
}
executing Memory Scriptsql statement: create spfile from memorydatabase closed
database dismounted
Oracle instance shut downconnected to auxiliary database (not started)
Oracle instance startedTotal System Global Area     763359832 bytesFixed Size                     8901208 bytes
Variable Size                209715200 bytes
Database Buffers             541065216 bytes
Redo Buffers                   3678208 bytessql statement: alter system set  control_files =   ''/home/oracle/bak/ORCL/controlfile/o1_mf_j7ohtvt8_.ctl'' comment= ''RMAN set'' scope=spfileOracle instance shut downconnected to auxiliary database (not started)
Oracle instance startedTotal System Global Area     763359832 bytesFixed Size                     8901208 bytes
Variable Size                209715200 bytes
Database Buffers             541065216 bytes
Redo Buffers                   3678208 bytessql statement: alter database mount clone databasecontents of Memory Script:
{
# set requested point in time
set until  time "to_date('2021-04-15 17:47:48','yyyy-mm-dd hh24:mi:ss')";
# set destinations for recovery set and auxiliary set datafiles
set newname for datafile  7 to new;
# restore the tablespaces in the recovery set and the auxiliary set
restore clone datafile  7;switch clone datafile all;
}
executing Memory Scriptexecuting command: SET until clauseexecuting command: SET NEWNAMEStarting restore at 17-APR-21
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=34 device type=DISKchannel ORA_AUX_DISK_1: starting datafile backup set restore
channel ORA_AUX_DISK_1: specifying datafile(s) to restore from backup set
channel ORA_AUX_DISK_1: restoring datafile 00007 to /home/oracle/bak/ECBB_PITR_ORCL19/datafile/o1_mf_users_%u_.dbf
channel ORA_AUX_DISK_1: reading from backup piece /u01/app/oracle/product/19c/db_1/dbs/2evsce1r_1_1
channel ORA_AUX_DISK_1: piece handle=/u01/app/oracle/product/19c/db_1/dbs/2evsce1r_1_1 tag=TAG20210415T174531
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed time: 00:00:01
Finished restore at 17-APR-21datafile 7 switched to datafile copy
input datafile copy RECID=8 STAMP=1070132394 file name=/home/oracle/bak/ECBB_PITR_ORCL19/datafile/o1_mf_users_j7ohx91s_.dbfcontents of Memory Script:
{
# set requested point in time
set until  time "to_date('2021-04-15 17:47:48','yyyy-mm-dd hh24:mi:ss')";
# online the datafiles restored or switched
sql clone "alter database datafile  7 online";
# recover and open resetlogs
recover clone database tablespace  "USERS", "SYSTEM", "UNDOTBS1", "SYSAUX" delete archivelog;
alter clone database open resetlogs;
}
executing Memory Scriptexecuting command: SET until clausesql statement: alter database datafile  7 onlineStarting recover at 17-APR-21
using channel ORA_AUX_DISK_1starting media recoveryarchived log for thread 1 with sequence 12 is already on disk as file /u01/app/oracle/product/19c/db_1/dbs/arch1_12_1068959916.dbf
archived log file name=/u01/app/oracle/product/19c/db_1/dbs/arch1_12_1068959916.dbf thread=1 sequence=12
media recovery complete, elapsed time: 00:00:00
Finished recover at 17-APR-21database openedcontents of Memory Script:
{
# create directory for datapump import
sql "create or replace directory TSPITR_DIROBJ_DPDIR as ''
/home/oracle''";
# create directory for datapump export
sql clone "create or replace directory TSPITR_DIROBJ_DPDIR as ''
/home/oracle''";
}
executing Memory Scriptsql statement: create or replace directory TSPITR_DIROBJ_DPDIR as ''/home/oracle''sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as ''/home/oracle''Performing export of tables...EXPDP> Starting "SYS"."TSPITR_EXP_ecbb_aFEg":  EXPDP> ORA-39171: Job is experiencing a resumable wait.
Resumable error: ORA-01652: unable to extend temp segment by 128 in tablespace TEMPEXPDP> Resumable stmt: SELECT /*+all_rows*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_DATA_T', '7')), 0 ,KU$.BASE_OBJ.NAME ,KU$.BASE_OBJ.OWNER_NAME ,'TABLE' ,to_char(KU$.BYTES_ALLOC) ,KU$.SCHEMA_OBJ.CTIME ,KU$.DATAOBJ_NUM ,to_char(KU$.ET_PARALLEL) ,KU$.FGAC ,KU$.LONGCOL ,KU$.NONSCOPED_REF ,KU$.XMLSCHEMACOLS ,KU$.NAME ,KU$.NAME ,'TABLE_DATA' ,KU$.BASE_OBJ.FLAGS ,KU$.PART_NAME ,KU$.PARTTYPE ,KU$.PROPERTY ,KU$.PROPERTY3 ,NULL ,NULL ,KU$.READ_ONLY ,KU$.REFPAR_LEVEL ,KU$.SCHEMA_OBJ.OWNER_NAME ,KU$.TS_NAME ,KU$.SCHEMA_OBJ.NAME ,NULL ,KU$.TRIGFLAG ,decode(KU$.SCHEMA_OBJ.TYPE_NUM,2, decode(bitand(KU$.PROPERTY,8224),8224,'NESTED PARTITION',8192,'NESTED TABLE','TABLE'),19, decode(bitand(KU$.PROPERTY,8224),8224,'NESTED PARTITION','PARTITION'),20,'PARTITION','SUBPARTITION') ,to_char(KU$.UNLOAD_METHOD) ,KU$.XMLTYPE_FMTS  FROM SYS.KU$_TABLE_DATA_VIEW KU$  WHERE NOT BITAND(KU$.BASE_OBJ.FLAGS,128)!=0 AND   NOT (BITAND (KU$.BASE_OBJ.FLAGS,16)=16) AND   NOT XML_OUTOFLINE='Y' AND    KU$.BASE_OBJ.OBJ_NUM IN (SELECT EXPDP> Resumable stmt status: SUSPENDEDEXPDP> Resumable stmt start: 04/17/21 19:00:44 stmt suspend: 04/17/21 19:00:44EXPDP> ORA-39171: Job is experiencing a resumable wait.
Resumable error: ORA-01652: unable to extend temp segment by 128 in tablespace TEMPEXPDP> Resumable stmt: SELECT /*+all_rows*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_DATA_T', '7')), 0 ,KU$.BASE_OBJ.NAME ,KU$.BASE_OBJ.OWNER_NAME ,'TABLE' ,to_char(KU$.BYTES_ALLOC) ,KU$.SCHEMA_OBJ.CTIME ,KU$.DATAOBJ_NUM ,to_char(KU$.ET_PARALLEL) ,KU$.FGAC ,KU$.LONGCOL ,KU$.NONSCOPED_REF ,KU$.XMLSCHEMACOLS ,KU$.NAME ,KU$.NAME ,'TABLE_DATA' ,KU$.BASE_OBJ.FLAGS ,KU$.PART_NAME ,KU$.PARTTYPE ,KU$.PROPERTY ,KU$.PROPERTY3 ,NULL ,NULL ,KU$.READ_ONLY ,KU$.REFPAR_LEVEL ,KU$.SCHEMA_OBJ.OWNER_NAME ,KU$.TS_NAME ,KU$.SCHEMA_OBJ.NAME ,NULL ,KU$.TRIGFLAG ,decode(KU$.SCHEMA_OBJ.TYPE_NUM,2, decode(bitand(KU$.PROPERTY,8224),8224,'NESTED PARTITION',8192,'NESTED TABLE','TABLE'),19, decode(bitand(KU$.PROPERTY,8224),8224,'NESTED PARTITION','PARTITION'),20,'PARTITION','SUBPARTITION') ,to_char(KU$.UNLOAD_METHOD) ,KU$.XMLTYPE_FMTS  FROM SYS.KU$_TABLE_DATA_VIEW KU$  WHERE NOT BITAND(KU$.BASE_OBJ.FLAGS,128)!=0 AND   NOT (BITAND (KU$.BASE_OBJ.FLAGS,16)=16) AND   NOT XML_OUTOFLINE='Y' AND    KU$.BASE_OBJ.OBJ_NUM IN (SELECT EXPDP> Resumable stmt status: SUSPENDEDEXPDP> Resumable stmt start: 04/17/21 19:00:44 stmt suspend: 04/17/21 19:00:44EXPDP> ORA-39171: Job is experiencing a resumable wait.
Resumable error: ORA-01652: unable to extend temp segment by 128 in tablespace TEMPEXPDP> Resumable stmt: SELECT /*+all_rows*/ SYS_XMLGEN(VALUE(KU$), XMLFORMAT.createFormat2('TABLE_DATA_T', '7')), 0 ,KU$.BASE_OBJ.NAME ,KU$.BASE_OBJ.OWNER_NAME ,'TABLE' ,to_char(KU$.BYTES_ALLOC) ,KU$.SCHEMA_OBJ.CTIME ,KU$.DATAOBJ_NUM ,to_char(KU$.ET_PARALLEL) ,KU$.FGAC ,KU$.LONGCOL ,KU$.NONSCOPED_REF ,KU$.XMLSCHEMACOLS ,KU$.NAME ,KU$.NAME ,'TABLE_DATA' ,KU$.BASE_OBJ.FLAGS ,KU$.PART_NAME ,KU$.PARTTYPE ,KU$.PROPERTY ,KU$.PROPERTY3 ,NULL ,NULL ,KU$.READ_ONLY ,KU$.REFPAR_LEVEL ,KU$.SCHEMA_OBJ.OWNER_NAME ,KU$.TS_NAME ,KU$.SCHEMA_OBJ.NAME ,NULL ,KU$.TRIGFLAG ,decode(KU$.SCHEMA_OBJ.TYPE_NUM,2, decode(bitand(KU$.PROPERTY,8224),8224,'NESTED PARTITION',8192,'NESTED TABLE','TABLE'),19, decode(bitand(KU$.PROPERTY,8224),8224,'NESTED PARTITION','PARTITION'),20,'PARTITION','SUBPARTITION') ,to_char(KU$.UNLOAD_METHOD) ,KU$.XMLTYPE_FMTS  FROM SYS.KU$_TABLE_DATA_VIEW KU$  WHERE NOT BITAND(KU$.BASE_OBJ.FLAGS,128)!=0 AND   NOT (BITAND (KU$.BASE_OBJ.FLAGS,16)=16) AND   NOT XML_OUTOFLINE='Y' AND    KU$.BASE_OBJ.OBJ_NUM IN (SELECT EXPDP> Resumable stmt status: SUSPENDEDEXPDP> Resumable stmt start: 04/17/21 19:00:44 stmt suspend: 04/17/21 19:00:44

从rman 备份中恢复表相关推荐

  1. mysql 备份 没有自动删除文件_删掉spfile在没有自动备份控制文件下从以前的rman备份中恢复数据库...

    1.首先要有一个包含spfile备份的rman备份: run { allocate channel c1 device type disk; allocate channel c2 device ty ...

  2. mysql中的rman备份_RMAN优缺点及RMAN备份及恢复步骤

    RMAN优缺点及RMAN备份及恢复步骤 --以下部分来自网络转摘,仅供参考 和OS命令备份方式相比,使用RMAN的优点 1 备份执行期间不需要人工干预,因此减少了误操作的机会: 2 可以有效的将备份和 ...

  3. oracle9i 恢复数据库,Oracle9i RMAN备份及恢复步骤(zt)

    1.切换服务器归档模式,如果已经是归档模式可跳过此步: %sqlplus /nolog (启动sqlplus) SQL> conn / as sysdba (以DBA身份连接数据库) SQL&g ...

  4. RMAN 的优缺点及RMAN 备份及恢复步骤

    一. RMAN 备份的一些优点 和OS命令备份方式相比,使用RMAN的优点 1  备份执行期间不需要人工干预,因此减少了误操作的机会: 2  可以有效的将备份和恢复结合起来: 3  支持除逻辑备份以外 ...

  5. oracle adg 备份,Oracle Physical Dataguard环境使用RMAN备份和恢复

    Oracle Physical Dataguard环境使用RMAN备份和恢复 由于Physical Dataguard使用的是块恢复技术来保持和PRIMARY的一致性,因此可以在STANDBY 上进行 ...

  6. rac rman备份和恢复

    RAC Rman备份和恢复 和单实例的备份和恢复稍有不同,ORACLE RAC主要是有多个实例,但是千万不要把多实例和多数据库搞混淆,在RAC中通常情况下一台服务器就是一个实例,多台服务器有一个共享存 ...

  7. rac rman 备份和恢复 1

    原创转载请注明出处 rac rman 备份和恢复 和单实例的备份和恢复稍有不同,ORACLE RAC主要是有多个实例,但是千万不要把多实例和多数据库搞混淆,在RAC中通常情况下一台服务器就是一个实例, ...

  8. Oracle 备份、恢复表空间数据步骤

    Oracle 备份.恢复表空间数据步骤 在前边的博客里,使用逻辑备份 exp/imp 做过全库备份.单表或者多表数据备份.本文总结了怎样使用 exp/imp 进行表空间备份,本文操作步骤适用于 Ora ...

  9. oracle恢复某个表的数据库,如何从rman的全备份中恢复一张表?

    最初由 orientzkd 发布 [B]. 怎么用rman复制数据库,有详细的步骤么 [/B] 1,用rman做一个数据库的全备份 2,新创建一个辅助的instance,将instance start ...

最新文章

  1. 以Dubbo为例,聊聊如何为开源项目做贡献
  2. HiveDuino开发套件
  3. 关于百度网盘限速第三方客户端的提醒
  4. mysql一对多关联查询分页_mysql一对多关联查询分页错误问题的解决方法
  5. python中oxf2是多少_python 函数基础2
  6. mysql prepare语法_MySQL prepare语句的SQL语法
  7. 码农谷 找出N之内的所有完数
  8. AutoCAD2020线型比例修改
  9. CDH运维常见问题-cloudera-scm-agent 已死,但 pid 文件存在
  10. 数据库系统的三级模式结构
  11. linux 安装.gz文件,linux安装gz文件命令
  12. 联想计算机 经常蓝屏怎么办,一分钟看懂电脑蓝屏(内附解决方案)
  13. ConstraintLayout 属性详解 和Chain的使用
  14. 20190404-亥姆霍兹方程、表面等离极化激元
  15. 内部 CA 证书管理
  16. 在线答疑 Amazon DMS 数据库迁移十问
  17. 如何把多张图片合并成一个PDF?
  18. 人工神经网络的算法原理,深度神经网络算法原理
  19. 编码,隐匿在计算机软硬件背后的语言读书笔记(6/7/8)
  20. 某某证券大数据开发工程师招聘笔试题

热门文章

  1. 自然风景Mac高清动态壁纸分享来了
  2. java编写一个文件查找器
  3. python 计算离散点的微分和积分(超详细)
  4. python语言的运行效率高吗_为什么Python效率这么低,还这么火?
  5. 韶关python培训班_新华字典:韶_“韶”的意思,五笔,笔画,拼音,五行_HttpCN
  6. ASPxGridViewHelper自定义多表头及合并单元格
  7. python strip什么意思_python中strip什么意思
  8. 不要随便借出你的帐号
  9. 提高php代码质量 36计
  10. OSPF 协议中的一个普通区域通过ASBR 注入192.168.0.0/24~192.168.3.0/24 共4 条路由,在ABR 中配置聚合为一条聚合路由192.168.0.0/22,此时ABR 会