RMAN备份恢复

#1介绍 RMAN是Recovery Manager的缩写,为Oracle的恢复管理器,是Oracle数据库推荐提供的一种恢复和备份数据库的工具,也是数据库管理员管理数据库常用的工具之一。 它是物理备份,而EXP是逻辑备份 它可以实现一致性备份,非一致性备份,增量备份,而exp且做不到 很多第三方的工具也是调用rman的脚本来实现备份功能,如赛门铁克,NBU,TSM 它支持多种方式从备份集里恢复数据:基于时间的恢复,基于SCN 的恢复,基于日志序列的恢复,只读表空间的恢复,归档重做日志的还原。而exp只能还原你备份的那状态。 除了rman,Oracle还可以利用闪回区备份数据。 #2个人经验分享 rman可以备份数据库、表空间、数据文件、控制文件以及日志文件。 Oracle运行时有归档模式和非归档模式,用rman在备份数据库,如果你是一致性备份,你需要在mount状态下进行。如果你是非一致性备份数据库,你可以在open状态下备份,但是,前提是数据库需要以归档模式运行。但是在恢复数据库的时候一定要在mount状态下进行。如果你使用非归档模式,你是无法在oracle服务(open状态)下进行备份数据库的。 rman备份还原表空间的时候,可以在open状态下进行,只需要把当前表空间设置成离线,其它的表空间正常运行。 rman可以从备份集里面指定某一时间点来还原。 rman在做数据恢复的时候,它是要依赖数据文件,控制文件,归档日志的,所以这些文件也需要定时备份。 #3前期准备 ##3.1修改数据库为归档模式

1sqlplus /nolog (启动sqlplus) 2SQL> conn / as sysdba (DBA身份连接数据库) 3SQL> shutdown immediate; (立即关闭数据库) 4SQL> startup mount (启动实例并加载数据库,但不打开) 5SQL> alter database archivelog; (更改数据库为归档模式) 6SQL> alter database open; (打开数据库) 7SQL> alter system archive log start; (启用自动归档) 8SQL> exit (退出)

如果linux找不到命令请执行:source /home/oracle/.bash_profile ##3.2修改时间格式 由于在后面恢复数据库操作时,看备份集的时间不好看,所以我设置一下时间格式

1vi /etc/profile 2#加入下面来句话 3export NLS_LANG=AMERICAN ##如果这句不写,下面句不起作用 4export NLS_DATE_FORMAT='yyyy-mm-dd hh24:mi:ss' 5:wq! 6source /etc/profile

##3.2创建恢复目录 在使用rman备份数据的时候,它是依赖一些控制文件等东西,所以你可以创建一个恢复目录,也可以不创建(使用控制文件),而这里的恢复目录其实是一个oracle的数据库,而且它也是有必要做备份的。为了数据安全起见,一般会把恢复目录的数据库创建在另外一个Oracle服务器上,而不是在同一个数据库中或者同一个服务器上,因为防止出现服务器宕机,导致数据文件一起丢失,而不能进行恢复,但是这里为了演示,就直接把恢复目录同时创建在本机上。 创建恢复目录的步骤分为创建恢复目录数据库并创建用户、给恢复目录用户赋角色和权限、创建恢复目录三个步骤。

1--创建恢复目录专用的表空间rmtablespace 2 create tablespace rmtablespace datafile '/home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf' 3 size 100m 4 autoextend on next 10m maxsize 500m 5 permanent 6 extent management local; 7 --创建用户bkp 8 create user bkp--用户名 9 identified by "123456"--密码 10 default tablespace rmtablespace--表空间名 11 temporary tablespace temp --临时表空间名 12 quota unlimited on rmtablespace--表空间无限制 13 profile DEFAULT --数据文件(默认数据文件) 14 account unlock-- 账户是否解锁(lock:锁定、unlock解锁) 15 -- 授权系统管理员权限 16 grant dba to bkp; 17 grant connect to bkp; 18 grant resource to bkp; 19 --授权拥有恢复目录权限 20 grant recovery_catalog_owner to bkp;

通过创建好的恢复目录用户进行登录连接到恢复目录数据库,执行命令如下:

1[oracle@cd555c73f2d7 /]$ rman 2 3Recovery Manager: Release 11.2.0.1.0 - Production on Wed Feb 20 19:24:03 2019 4 5Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 6 7RMAN> connect catalog bkp/123456; 8 9connected to recovery catalog database 10 11RMAN> create catalog; 12 13recovery catalog created 14 15RMAN> 16

至此,RMAN的恢复目录已经创建完毕。 下面用RMAN连接恢复目录和注册

1[oracle@cd555c73f2d7 /]$ rman target / catalog bkp/123456@helowin; 2 3Recovery Manager: Release 11.2.0.1.0 - Production on Wed Feb 20 19:31:17 2019 4 5Copyright (c) 1982, 2009, Oracle and/or its affiliates. All rights reserved. 6 7connected to target database: HELOWIN (DBID=1384114315) 8connected to recovery catalog database 9 10RMAN> register database; 11 12database registered in recovery catalog 13starting full resync of recovery catalog 14full resync complete 15 16RMAN> 17

完成。 ##3.3创建一个用来做实验的用户

1--创建恢复目录专用的表空间rmtablespace 2create tablespace testsp 3datafile '/home/oracle/app/oracle/oradata/testsp.dbf' 4size 100m 5autoextend on next 10m maxsize 500m 6permanent 7extent management local; 8 9 10--创建用户rm 11create user testdb--用户名 12 identified by "123456"--密码 13 default tablespace testsp--表空间名 14 temporary tablespace temp --临时表空间名 15 quota unlimited on testsp--表空间无限制 16 profile DEFAULT --数据文件(默认数据文件) 17 account unlock-- 账户是否解锁(lock:锁定、unlock解锁) 18 19 20-- 授权系统管理员权限 21grant dba to testdb; 22grant connect to testdb; 23grant resource to testdb; 24

登录进去testdb,插入一些测试数据

1---一些用来后面测试的数据 2CREATE TABLE A(name varchar(255)); 3--插入一条测试数据 4insert into A values ('我是状态一');

#4简单的备份还原 ##4.1备份数据库 创建一个用来保存备份数据的目录

mkdir -p /home/oracle/oracle_bkp

执行备份语句 通过format来指定备份文件的路径

1rman target / catalog bkp/123456@helowin; 2backup as compressed backupset full database format '/home/oracle/oracle_bkp/db_%d_%s_%p_%t_%T.bkp' include current controlfile plus archivelog delete all input;

运行效果:

1RMAN> backup as compressed backupset full database format '/home/oracle/oracle_bkp/db_%d_%s_%p_%t_%T.bkp' include current controlfile plus archivelog delete all input; 2 3 4Starting backup at 2019-02-21 08:41:57 5current log archived 6allocated channel: ORA_DISK_1 7channel ORA_DISK_1: SID=226 device type=DISK 8channel ORA_DISK_1: starting archived log backup set 9channel ORA_DISK_1: specifying archived log(s) in backup set 10input archived log thread=1 sequence=1 RECID=1 STAMP=1000759626 11input archived log thread=1 sequence=2 RECID=2 STAMP=1000759707 12input archived log thread=1 sequence=3 RECID=3 STAMP=1000759727 13input archived log thread=1 sequence=4 RECID=4 STAMP=1000768684 14input archived log thread=1 sequence=5 RECID=5 STAMP=1000802517 15channel ORA_DISK_1: starting piece 1 at 2019-02-21 08:41:58 16channel ORA_DISK_1: finished piece 1 at 2019-02-21 08:42:01 17piece handle=/home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084158_g6vwypn9_.bkp tag=TAG20190221T084158 comment=NONE 18channel ORA_DISK_1: backup set complete, elapsed time: 00:00:03 19Finished backup at 2019-02-21 08:42:01 20 21Starting backup at 2019-02-21 08:42:01 22using channel ORA_DISK_1 23channel ORA_DISK_1: starting full datafile backup set 24channel ORA_DISK_1: specifying datafile(s) in backup set 25input datafile file number=00001 name=/home/oracle/app/oracle/oradata/helowin/system01.dbf 26input datafile file number=00002 name=/home/oracle/app/oracle/oradata/helowin/sysaux01.dbf 27input datafile file number=00005 name=/home/oracle/app/oracle/oradata/helowin/example01.dbf 28input datafile file number=00006 name=/home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf 29input datafile file number=00007 name=/home/oracle/app/oracle/oradata/testsp.dbf 30input datafile file number=00003 name=/home/oracle/app/oracle/oradata/helowin/undotbs01.dbf 31input datafile file number=00004 name=/home/oracle/app/oracle/oradata/helowin/users01.dbf 32channel ORA_DISK_1: starting piece 1 at 2019-02-21 08:42:01 33channel ORA_DISK_1: finished piece 1 at 2019-02-21 08:42:16 34piece handle=/home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp tag=TAG20190221T084201 comment=NONE 35channel ORA_DISK_1: backup set complete, elapsed time: 00:00:15 36channel ORA_DISK_1: starting full datafile backup set 37channel ORA_DISK_1: specifying datafile(s) in backup set 38including current control file in backup set 39including current SPFILE in backup set 40channel ORA_DISK_1: starting piece 1 at 2019-02-21 08:42:17 41channel ORA_DISK_1: finished piece 1 at 2019-02-21 08:42:18 42piece handle=/home/oracle/oracle_bkp/db_HELOWIN_7_1_1000802536_20190221.bkp tag=TAG20190221T084201 comment=NONE 43channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 44Finished backup at 2019-02-21 08:42:18 45 46Starting backup at 2019-02-21 08:42:18 47current log archived 48using channel ORA_DISK_1 49channel ORA_DISK_1: starting archived log backup set 50channel ORA_DISK_1: specifying archived log(s) in backup set 51input archived log thread=1 sequence=6 RECID=6 STAMP=1000802539 52channel ORA_DISK_1: starting piece 1 at 2019-02-21 08:42:19 53channel ORA_DISK_1: finished piece 1 at 2019-02-21 08:42:20 54piece handle=/home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084219_g6vwzcx2_.bkp tag=TAG20190221T084219 comment=NONE 55channel ORA_DISK_1: backup set complete, elapsed time: 00:00:01 56Finished backup at 2019-02-21 08:42:20 57

查看备份的结果:

1list backup summary;#查看备份简略信息 2list backup;#查看备份信息 3list backup of database;#查看数据的备份信息 4list backup of controlfile;#查看备份的控制文件 5delete backup;#删除备份信息 6 7 8RMAN> list backup summary; 9 10 11List of Backups 12=============== 13Key TY LV S Device Type Completion Time #Pieces #Copies Compressed Tag 14------- -- -- - ----------- ------------------- ------- ------- ---------- --- 155 B A A DISK 2019-02-21 08:41:59 1 1 NO TAG20190221T084158 166 B F A DISK 2019-02-21 08:42:15 1 1 NO TAG20190221T084201 177 B F A DISK 2019-02-21 08:42:18 1 1 NO TAG20190221T084201 188 B A A DISK 2019-02-21 08:42:19 1 1 NO TAG20190221T084219 19 20RMAN> list backup; 21 22 23List of Backup Sets 24=================== 25 26 27BS Key Size Device Type Elapsed Time Completion Time 28------- ---------- ----------- ------------ ------------------- 295 91.88M DISK 00:00:01 2019-02-21 08:41:59 30 BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20190221T084158 31 Piece Name: /home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084158_g6vwypn9_.bkp 32 33 List of Archived Logs in backup set 5 34 Thrd Seq Low SCN Low Time Next SCN Next Time 35 ---- ------- ---------- ------------------- ---------- --------- 36 1 1 1087725 2016-01-04 01:28:54 1096319 2019-02-20 20:47:06 37 1 2 1096319 2019-02-20 20:47:06 1097139 2019-02-20 20:48:27 38 1 3 1097139 2019-02-20 20:48:27 1097176 2019-02-20 20:48:47 39 1 4 1097176 2019-02-20 20:48:47 1108472 2019-02-20 23:18:03 40 1 5 1108472 2019-02-20 23:18:03 1133379 2019-02-21 08:41:57 41 42BS Key Type LV Size Device Type Elapsed Time Completion Time 43------- ---- -- ---------- ----------- ------------ ------------------- 446 Full 1.03G DISK 00:00:14 2019-02-21 08:42:15 45 BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20190221T084201 46 Piece Name: /home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp 47 List of Datafiles in backup set 6 48 File LV Type Ckp SCN Ckp Time Name 49 ---- -- ---- ---------- ------------------- ---- 50 1 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/system01.dbf 51 2 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/sysaux01.dbf 52 3 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/undotbs01.dbf 53 4 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/users01.dbf 54 5 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/example01.dbf 55 6 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf 56 7 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/testsp.dbf 57 58BS Key Type LV Size Device Type Elapsed Time Completion Time 59------- ---- -- ---------- ----------- ------------ ------------------- 607 Full 9.67M DISK 00:00:02 2019-02-21 08:42:18 61 BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20190221T084201 62 Piece Name: /home/oracle/oracle_bkp/db_HELOWIN_7_1_1000802536_20190221.bkp 63 SPFILE Included: Modification time: 2019-02-21 08:32:57 64 SPFILE db_unique_name: HELOWIN 65 Control File Included: Ckp SCN: 1133415 Ckp time: 2019-02-21 08:42:16 66 67BS Key Size Device Type Elapsed Time Completion Time 68------- ---------- ----------- ------------ ------------------- 698 31.50K DISK 00:00:00 2019-02-21 08:42:19 70 BP Key: 8 Status: AVAILABLE Compressed: NO Tag: TAG20190221T084219 71 Piece Name: /home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084219_g6vwzcx2_.bkp 72 73 List of Archived Logs in backup set 8 74 Thrd Seq Low SCN Low Time Next SCN Next Time 75 ---- ------- ---------- ------------------- ---------- --------- 76 1 6 1133379 2019-02-21 08:41:57 1133420 2019-02-21 08:42:19 77 78RMAN> 79

模拟误操作删除表数据或者数据文件

delete  from A

执行数据库还原操作,数据还原无论是归档还是非归档都要求是mount状态下进行

1sqlplus / as sysdba 2shutdown immediate; 3startup mount; 4exit 5 6rman target / 7run { 8restore database; 9recover database; 10alter database open; 11} 12 13

可以发现数据库是恢复了,但是表的数据还是没有还原。 或许你应该进行非完整性恢复 先在测试库放点测试数据

1insert into A values ('我是状态二'); 2--设置时间格式 3alter session set nls_date_format="YYYY-MM-dd hh24:mi:ss" 4--查看当前的时间 5select sysdate from dual; 6--返回2019/2/21 9:06:37 7 8 9--再插入一条测试数据 10insert into A values ('我是状态三'); 11--查看当前的时间 12select sysdate from dual; 13--返回的是2019/2/21 9:07:45 14

现在我要把数据库还原到2019/2/21 9:06:37,只有“我是状态二”一条数据

1sqlplus / as sysdba 2shutdown immediate; 3startup mount; 4exit 5 6rman target / 7run { 8sql 'alter session set nls_date_format="yyyy-mm-dd hh24:mi:ss"'; 9set until time = '2019/2/21 09:06:37'; 10restore database; 11recover database; 12alter database open resetlogs; 13} 14

除了上面根据基于时间的恢复,还可以来一个基于SCN 的恢复

1RMAN> list backup; 2 3 4List of Backup Sets 5=================== 6 7 8BS Key Size Device Type Elapsed Time Completion Time 9------- ---------- ----------- ------------ ------------------- 105 91.88M DISK 00:00:01 2019-02-21 08:41:59 11 BP Key: 5 Status: AVAILABLE Compressed: NO Tag: TAG20190221T084158 12 Piece Name: /home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084158_g6vwypn9_.bkp 13 14 List of Archived Logs in backup set 5 15 Thrd Seq Low SCN Low Time Next SCN Next Time 16 ---- ------- ---------- ------------------- ---------- --------- 17 1 1 1087725 2016-01-04 01:28:54 1096319 2019-02-20 20:47:06 18 1 2 1096319 2019-02-20 20:47:06 1097139 2019-02-20 20:48:27 19 1 3 1097139 2019-02-20 20:48:27 1097176 2019-02-20 20:48:47 20 1 4 1097176 2019-02-20 20:48:47 1108472 2019-02-20 23:18:03 21 1 5 1108472 2019-02-20 23:18:03 1133379 2019-02-21 08:41:57 22 23BS Key Type LV Size Device Type Elapsed Time Completion Time 24------- ---- -- ---------- ----------- ------------ ------------------- 256 Full 1.03G DISK 00:00:14 2019-02-21 08:42:15 26 BP Key: 6 Status: AVAILABLE Compressed: NO Tag: TAG20190221T084201 27 Piece Name: /home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp 28 List of Datafiles in backup set 6 29 File LV Type Ckp SCN Ckp Time Name 30 ---- -- ---- ---------- ------------------- ---- 31 1 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/system01.dbf 32 2 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/sysaux01.dbf 33 3 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/undotbs01.dbf 34 4 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/users01.dbf 35 5 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/example01.dbf 36 6 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf 37 7 Full 1133410 2019-02-21 08:42:01 /home/oracle/app/oracle/oradata/testsp.dbf 38 39BS Key Type LV Size Device Type Elapsed Time Completion Time 40------- ---- -- ---------- ----------- ------------ ------------------- 417 Full 9.67M DISK 00:00:02 2019-02-21 08:42:18 42 BP Key: 7 Status: AVAILABLE Compressed: NO Tag: TAG20190221T084201 43 Piece Name: /home/oracle/oracle_bkp/db_HELOWIN_7_1_1000802536_20190221.bkp 44 SPFILE Included: Modification time: 2019-02-21 08:32:57 45 SPFILE db_unique_name: HELOWIN 46 Control File Included: Ckp SCN: 1133415 Ckp time: 2019-02-21 08:42:16 47 48BS Key Size Device Type Elapsed Time Completion Time 49------- ---------- ----------- ------------ ------------------- 508 31.50K DISK 00:00:00 2019-02-21 08:42:19 51 BP Key: 8 Status: AVAILABLE Compressed: NO Tag: TAG20190221T084219 52 Piece Name: /home/oracle/app/oracle/flash_recovery_area/HELOWIN/backupset/2019_02_21/o1_mf_annnn_TAG20190221T084219_g6vwzcx2_.bkp 53 54 List of Archived Logs in backup set 8 55 Thrd Seq Low SCN Low Time Next SCN Next Time 56 ---- ------- ---------- ------------------- ---------- --------- 57 1 6 1133379 2019-02-21 08:41:57 1133420 2019-02-21 08:42:19 58

基于SCN恢复

1run{ 2set until scn=1133410; 3restore database from tag='TAG20190221T084201'; 4recover database; 5sql 'alter database open resetlogs'; 6} 7

执行过程如下:

1RMAN> run{ 2set until scn=1133410; 3restore database from tag='TAG20190221T084201'; 4recover database; 5sql 'alter database open resetlogs'; 6}2> 3> 4> 5> 6> 7 8executing command: SET until clause 9 10Starting restore at 2019-02-21 09:15:34 11using channel ORA_DISK_1 12 13channel ORA_DISK_1: starting datafile backup set restore 14channel ORA_DISK_1: specifying datafile(s) to restore from backup set 15channel ORA_DISK_1: restoring datafile 00001 to /home/oracle/app/oracle/oradata/helowin/system01.dbf 16channel ORA_DISK_1: restoring datafile 00002 to /home/oracle/app/oracle/oradata/helowin/sysaux01.dbf 17channel ORA_DISK_1: restoring datafile 00003 to /home/oracle/app/oracle/oradata/helowin/undotbs01.dbf 18channel ORA_DISK_1: restoring datafile 00004 to /home/oracle/app/oracle/oradata/helowin/users01.dbf 19channel ORA_DISK_1: restoring datafile 00005 to /home/oracle/app/oracle/oradata/helowin/example01.dbf 20channel ORA_DISK_1: restoring datafile 00006 to /home/oracle/app/oracle/oradata/helowin/rmtablespace.dbf 21channel ORA_DISK_1: restoring datafile 00007 to /home/oracle/app/oracle/oradata/testsp.dbf 22channel ORA_DISK_1: reading from backup piece /home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp 23channel ORA_DISK_1: piece handle=/home/oracle/oracle_bkp/db_HELOWIN_6_1_1000802521_20190221.bkp tag=TAG20190221T084201 24channel ORA_DISK_1: restored backup piece 1 25channel ORA_DISK_1: restore complete, elapsed time: 00:00:25 26Finished restore at 2019-02-21 09:15:59 27 28Starting recover at 2019-02-21 09:15:59 29using channel ORA_DISK_1 30 31starting media recovery 32media recovery complete, elapsed time: 00:00:00 33 34Finished recover at 2019-02-21 09:15:59 35 36sql statement: alter database open resetlogs 37 38RMAN> 39

当你反复执行上面的还原操作的时候,可能会报错,找不到备份集,那时候你应该设置数据库的原型序列

1RMAN> list incarnation;查看数据库的原型序列 2 3 4List of Database Incarnations 5DB Key Inc Key DB Name DB ID STATUS Reset SCN Reset Time 6------- ------- -------- ---------------- --- ---------- ---------- 71 1 HELOWIN 1384114315 PARENT 945184 2014-08-23 06:26:21 82 2 HELOWIN 1384114315 PARENT 1087725 2016-01-04 01:28:54 94 4 HELOWIN 1384114315 CURRENT 1133411 2019-02-21 09:15:59 103 3 HELOWIN 1384114315 ORPHAN 1134347 2019-02-21 09:00:43 11 12RMAN> RESET DATABASE TO INCARNATION 4; 设置原型序列 13

restore 是还原,文件级的恢复,就是物理文件还原,所以只有当数据文件或其他文件丢失时,使用restore进行还原,还原的前提是数据库在mount状态下。 RMAN使用RECOVER命令可以恢复数据库,该命令是负责把归档日志文件用于重建的数据文件,来完成数据库的同步恢复。recover恢复是数据级的恢复,逻辑上恢复,即是一步一步利用归档日志恢复到出事的那个时间点,保持数据的一致性。但是,recover恢复的前提得是数据库开启了归档日志模式。 在实际应用中,restore还原和recover恢复是结合一起使用的,假如出现数据文件丢失导致数据库宕机时,我们首先是利用restore命令把之前定时备份好的数据文件还原到备份的时间点,然后再利用recover命令通过归档日志把还原点到出事点之间的数据进行恢复。最终完成数据库的完全恢复。

#4.2表空间备份还原

1#备份语句 2backup tablespace testsp format '/home/oracle/oracle_bkp/tablespaces_%d_%s_%p_%t_%T.bkp' plus archivelog; 3 4 5#还原语句 6run{ 7sql 'alter tablespace testsp offline immediate'; 8recover tablespace testsp until time "to_date('2019-02-20 17:52:06','yyyy-mm-dd hh24:mi:ss')" auxiliary destination '/home/oracle/prod'; 9sql 'alter tablespace testsp online'; 10}

auxiliary destination是存放辅助库文件,必须的。或许是因为当前表空间正在被使用。 表空间的备份还原不需要在mount状态下进行。

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

MySQL部分从库上面因为大量的临时表tmp_table造成慢查询

背景描述Time:20190124T00:08:14.70572408:00User@Host:@Id:Schema:sentrymetaLast_errno:0Killed:0Query_time:0.315758Lock_

皕杰报表之UUID

​在我们用皕杰报表工具设计填报报表时,如何在新增行里自动增加id呢?能新增整数排序id吗?目前可以在新增行里自动增加id,但只能用uuid函数增加UUID编码,不能新增整数排序id。uuid函数说明:获取一个UUID,可以在填报表中用来创建数据ID语法:uuid()或uuid(sep)参数说明:sep布尔值,生成的uuid中是否包含分隔符'',缺省为

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

PG_RMAN使用手册

众所周知,Oracle下可以使用rman进行物理备份,支持数据库的全量、增量、归档的备份模式;而PostgreSQL作为开源数据库,也推出了开源功工具pg\_rman,同样具备了oraclerman大部分的功能。本文写的很早,近期才翻出来,挂到博客上,希望能帮助需要的朋友。1、下载安装软件root@mydb01~wget

RMAN备份恢复 - HelloWorld