Oracle 12.1新特性----使用RMAN从备份中实现recover table

简介:

在Oracle12c版本之前,使用RMAN能恢复的级别为数据库级别和表空间级别,如果只有一张表需要恢复,而在数据库级别或表空间级别做恢复,影响范围就太大了。因此12.2版本中提供了一个新特性使用RMAN在表级别做恢复,并且恢复过程中不影响数据库的正常使用。这一功能不仅可以恢复表,还可以恢复表分区。

To recover a table or table partition, you must have a full backup of undo, SYSTEMSYSAUX, and the tablespace that contains the table or table partition.

使用recover table的一些限制条件:

When you use the RECOVER command to recover tables or table partitions contained in an RMAN backup, the following limitations exist.

  • Tables and table partitions belonging to SYS schema cannot be recovered.

  • Tables and table partitions from SYSTEM and SYSAUX tablespaces cannot be recovered.

  • Tables and table partitions on standby databases cannot be recovered.

  • Tables with named NOT NULL constraints cannot be recovered with the REMAP option.

下面在12.2版本上做表级别恢复的实验

1
2
3
4
5
6
7
8
9
sys@ORA12C> select  from  v$version;
 
BANNER                                           CON_ID
-------------------------------------------------------------------------------- ----------
Oracle  Database  12c Enterprise Edition Release 12.2.0.1.0 - 64bit Production         0
PL/SQL Release 12.2.0.1.0 - Production                            0
CORE    12.2.0.1.0  Production                                0
TNS  for  Linux: Version 12.2.0.1.0 - Production                          0
NLSRTL Version 12.2.0.1.0 - Production                            0

1、创建一个数据库的全备

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
RMAN> backup database;
 
Starting backup at 20170720 17:12:05
using target database control  file  instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: SID=36 device  type =DISK
channel ORA_DISK_1: starting full datafile backup  set
channel ORA_DISK_1: specifying datafile(s)  in  backup  set
input datafile  file  number=00001 name=+DATA /ORA12C/DATAFILE/system .256.949764433
channel ORA_DISK_1: starting piece 1 at 20170720 17:12:07
channel ORA_DISK_1: finished piece 1 at 20170720 17:12:22
piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/0vs9rar7_1_1  tag=TAG20170720T171206 comment=NONE
channel ORA_DISK_1: backup  set  complete, elapsed  time : 00:00:15
channel ORA_DISK_1: starting full datafile backup  set
channel ORA_DISK_1: specifying datafile(s)  in  backup  set
input datafile  file  number=00004 name=+DATA /ORA12C/DATAFILE/users .266.949764465
channel ORA_DISK_1: starting piece 1 at 20170720 17:12:22
channel ORA_DISK_1: finished piece 1 at 20170720 17:12:23
piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/10s9rarm_1_1  tag=TAG20170720T171206 comment=NONE
channel ORA_DISK_1: backup  set  complete, elapsed  time : 00:00:01
channel ORA_DISK_1: starting full datafile backup  set
channel ORA_DISK_1: specifying datafile(s)  in  backup  set
input datafile  file  number=00002 name=+DATA /ORA12C/DATAFILE/sysaux .261.949764491
channel ORA_DISK_1: starting piece 1 at 20170720 17:12:23
channel ORA_DISK_1: finished piece 1 at 20170720 17:12:38
piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/11s9rarn_1_1  tag=TAG20170720T171206 comment=NONE
channel ORA_DISK_1: backup  set  complete, elapsed  time : 00:00:15
channel ORA_DISK_1: starting full datafile backup  set
channel ORA_DISK_1: specifying datafile(s)  in  backup  set
input datafile  file  number=00005 name=+DATA /ORA12C/DATAFILE/examples .265.949764515
channel ORA_DISK_1: starting piece 1 at 20170720 17:12:38
channel ORA_DISK_1: finished piece 1 at 20170720 17:12:39
piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/12s9ras6_1_1  tag=TAG20170720T171206 comment=NONE
channel ORA_DISK_1: backup  set  complete, elapsed  time : 00:00:01
channel ORA_DISK_1: starting full datafile backup  set
channel ORA_DISK_1: specifying datafile(s)  in  backup  set
input datafile  file  number=00008 name= /tmp/FY_RST_DATA .DAT
input datafile  file  number=00007 name= /tmp/FY_REC_DATA .DAT
input datafile  file  number=00003 name=+DATA /ORA12C/DATAFILE/undotbs1 .264.949764541
input datafile  file  number=00006 name=+DATA /ORA12C/DATAFILE/t_move .dbf
channel ORA_DISK_1: starting piece 1 at 20170720 17:12:40
channel ORA_DISK_1: finished piece 1 at 20170720 17:12:41
piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/13s9ras8_1_1  tag=TAG20170720T171206 comment=NONE
channel ORA_DISK_1: backup  set  complete, elapsed  time : 00:00:01
Finished backup at 20170720 17:12:41
 
Starting Control File and SPFILE Autobackup at 20170720 17:12:41
piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/c-326793150-20170720-00  comment=NONE
Finished Control File and SPFILE Autobackup at 20170720 17:12:42

2、创建测试表,插入测试数据并记录中间的scn号

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
28
29
30
31
32
zx@ORA12C> create  table  t2 (id number, name  varchar2(10),birthday  date );
 
Table  created.
 
zx@ORA12C> insert  into  t2  values (1, 'zx' ,sysdate);
 
1 row created.
 
zx@ORA12C> commit ;
 
Commit  complete.
 
zx@ORA12C> select  current_scn  from  v$ database ;
 
CURRENT_SCN
-----------
      650101
 
zx@ORA12C> insert  into  t2  values (2, 'lx' ,sysdate);
 
1 row created.
 
zx@ORA12C> commit ;
 
Commit  complete.
 
zx@ORA12C> select  from  t2;
 
     ID  NAME        BIRTHDAY
---------- ---------- -----------------
      1 zx       20170720 17:18:52
      2 lx       20170720 17:19:34

3、执行表级别恢复,使用remap table参数不覆盖原表,恢复成t2_r表

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
RMAN> recover table zx.t2  until  scn 650101 remap table zx.t2:t2_r auxiliary destination  '/tmp' ;
 
Starting recover at 20170720 17:23:50
current log archived
using channel ORA_DISK_1
RMAN-05026: warning: presuming following  set  of tablespaces applies to specified point- in - time
 
List of tablespaces expected to have UNDO segments
Tablespace SYSTEM
Tablespace UNDOTBS1
 
Creating automatic instance, with SID= 'htzD'
 
initialization parameters used  for  automatic instance:
db_name=ORA12C
db_unique_name=htzD_pitr_ORA12C
compatible=12.2.0
db_block_size=8192
db_files=200
diagnostic_dest= /u01/app/oracle
_system_trig_enabled=FALSE
sga_target=1712M
processes=200
db_create_file_dest= /tmp
log_archive_dest_1= 'location=/tmp'
#No auxiliary parameter file used
 
 
starting up automatic instance ORA12C
 
Oracle instance started
 
Total System Global Area    1795162112 bytes
 
Fixed Size                     8621760 bytes
Variable Size                436207936 bytes
Database Buffers            1342177280 bytes
Redo Buffers                   8155136 bytes
Automatic instance created
 
contents of Memory Script:
{
# set requested point in time
set  until   scn 650101;
# 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 Script
 
executing  command : SET  until  clause
 
Starting restore at 20170720 17:24:12
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=18 device  type =DISK
 
channel 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/12 .2 /db_home1/dbs/c-326793150-20170720-00
channel ORA_AUX_DISK_1: piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/c-326793150-20170720-00  tag=TAG20170720T171241
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed  time : 00:00:01
output  file  name= /tmp/ORA12C/controlfile/o1_mf_dq0xoxot_ .ctl
Finished restore at 20170720 17:24:14
 
sql statement: alter database  mount  clone database
 
sql statement: alter system archive log current
 
contents of Memory Script:
{
# set requested point in time
set  until   scn 650101;
# set destinations for recovery set and auxiliary set datafiles
set  newname  for  clone datafile  1 to new;
set  newname  for  clone datafile  3 to new;
set  newname  for  clone datafile  2 to new;
set  newname  for  clone tempfile  1 to new;
# switch all tempfiles
switch clone tempfile all;
# restore the tablespaces in the recovery set and the auxiliary set
restore clone datafile  1, 3, 2;
  
switch clone datafile all;
}
executing Memory Script
 
executing  command : SET  until  clause
 
executing  command : SET NEWNAME
 
executing  command : SET NEWNAME
 
executing  command : SET NEWNAME
 
executing  command : SET NEWNAME
 
renamed tempfile 1 to  /tmp/ORA12C/datafile/o1_mf_temp_ %u_.tmp  in  control  file
 
Starting restore at 20170720 17:24:19
using channel ORA_AUX_DISK_1
 
channel 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  /tmp/ORA12C/datafile/o1_mf_system_ %u_.dbf
channel ORA_AUX_DISK_1: reading from backup piece  /u01/app/oracle/product/12 .2 /db_home1/dbs/0vs9rar7_1_1
channel ORA_AUX_DISK_1: piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/0vs9rar7_1_1  tag=TAG20170720T171206
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed  time : 00:00:45
channel 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 00002 to  /tmp/ORA12C/datafile/o1_mf_sysaux_ %u_.dbf
channel ORA_AUX_DISK_1: reading from backup piece  /u01/app/oracle/product/12 .2 /db_home1/dbs/11s9rarn_1_1
channel ORA_AUX_DISK_1: piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/11s9rarn_1_1  tag=TAG20170720T171206
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed  time : 00:00:35
channel 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 00003 to  /tmp/ORA12C/datafile/o1_mf_undotbs1_ %u_.dbf
channel ORA_AUX_DISK_1: reading from backup piece  /u01/app/oracle/product/12 .2 /db_home1/dbs/13s9ras8_1_1
channel ORA_AUX_DISK_1: piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/13s9ras8_1_1  tag=TAG20170720T171206
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed  time : 00:00:15
Finished restore at 20170720 17:25:55
 
datafile 1 switched to datafile copy
input datafile copy RECID=16 STAMP=949857956  file  name= /tmp/ORA12C/datafile/o1_mf_system_dq0xp4jt_ .dbf
datafile 3 switched to datafile copy
input datafile copy RECID=17 STAMP=949857956  file  name= /tmp/ORA12C/datafile/o1_mf_undotbs1_dq0xrnq2_ .dbf
datafile 2 switched to datafile copy
input datafile copy RECID=18 STAMP=949857956  file  name= /tmp/ORA12C/datafile/o1_mf_sysaux_dq0xqkm0_ .dbf
 
contents of Memory Script:
{
# set requested point in time
set  until   scn 650101;
# online the datafiles restored or switched
sql clone  "alter database datafile  1 online" ;
sql clone  "alter database datafile  3 online" ;
sql clone  "alter database datafile  2 online" ;
# recover and open database read only
recover clone database tablespace   "SYSTEM" "UNDOTBS1" "SYSAUX" ;
sql clone  'alter database open read only' ;
}
executing Memory Script
 
executing  command : SET  until  clause
 
sql statement: alter database datafile  1 online
 
sql statement: alter database datafile  3 online
 
sql statement: alter database datafile  2 online
 
Starting recover at 20170720 17:26:02
using channel ORA_AUX_DISK_1
 
starting media recovery
 
archived log  for  thread 1 with sequence 2 is already on disk as  file  /u01/app/oracle/product/12 .2 /db_home1/dbs/arch1_2_949077789 .dbf
archived log  for  thread 1 with sequence 3 is already on disk as  file  /u01/app/oracle/product/12 .2 /db_home1/dbs/arch1_3_949077789 .dbf
archived log  file  name= /u01/app/oracle/product/12 .2 /db_home1/dbs/arch1_2_949077789 .dbf thread=1 sequence=2
archived log  file  name= /u01/app/oracle/product/12 .2 /db_home1/dbs/arch1_3_949077789 .dbf thread=1 sequence=3
media recovery complete, elapsed  time : 00:00:02
Finished recover at 20170720 17:26:07
 
sql statement: alter database  open  read  only
 
contents of Memory Script:
{
    sql clone  "create spfile from memory" ;
    shutdown  clone immediate;
    startup clone nomount;
    sql clone "alter system  set   control_files = 
   '' /tmp/ORA12C/controlfile/o1_mf_dq0xoxot_ .ctl ''  comment=
  '' RMAN  set ''  scope=spfile";
    shutdown  clone immediate;
    startup clone nomount;
# mount database
sql clone  'alter database mount clone database' ;
}
executing Memory Script
 
sql statement: create spfile from memory
 
database closed
database dismounted
Oracle instance shut down
 
connected to auxiliary database (not started)
Oracle instance started
 
Total System Global Area    1795162112 bytes
 
Fixed Size                     8621760 bytes
Variable Size                436207936 bytes
Database Buffers            1342177280 bytes
Redo Buffers                   8155136 bytes
 
sql statement: alter system  set   control_files =    '' /tmp/ORA12C/controlfile/o1_mf_dq0xoxot_ .ctl ''  comment=  '' RMAN  set ''  scope=spfile
 
Oracle instance shut down
 
connected to auxiliary database (not started)
Oracle instance started
 
Total System Global Area    1795162112 bytes
 
Fixed Size                     8621760 bytes
Variable Size                436207936 bytes
Database Buffers            1342177280 bytes
Redo Buffers                   8155136 bytes
 
sql statement: alter database  mount  clone database
 
contents of Memory Script:
{
# set requested point in time
set  until   scn 650101;
# set destinations for recovery set and auxiliary set datafiles
set  newname  for  datafile  4 to new;
# restore the tablespaces in the recovery set and the auxiliary set
restore clone datafile  4;
  
switch clone datafile all;
}
executing Memory Script
 
executing  command : SET  until  clause
 
executing  command : SET NEWNAME
 
Starting restore at 20170720 17:27:18
allocated channel: ORA_AUX_DISK_1
channel ORA_AUX_DISK_1: SID=23 device  type =DISK
 
channel 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 00004 to  /tmp/HTZD_PITR_ORA12C/datafile/o1_mf_users_ %u_.dbf
channel ORA_AUX_DISK_1: reading from backup piece  /u01/app/oracle/product/12 .2 /db_home1/dbs/10s9rarm_1_1
channel ORA_AUX_DISK_1: piece handle= /u01/app/oracle/product/12 .2 /db_home1/dbs/10s9rarm_1_1  tag=TAG20170720T171206
channel ORA_AUX_DISK_1: restored backup piece 1
channel ORA_AUX_DISK_1: restore complete, elapsed  time : 00:00:25
Finished restore at 20170720 17:27:44
 
datafile 4 switched to datafile copy
input datafile copy RECID=20 STAMP=949858064  file  name= /tmp/HTZD_PITR_ORA12C/datafile/o1_mf_users_dq0xvq9q_ .dbf
 
contents of Memory Script:
{
# set requested point in time
set  until   scn 650101;
# online the datafiles restored or switched
sql clone  "alter database datafile  4 online" ;
# recover and open resetlogs
recover clone database tablespace   "USERS" "SYSTEM" "UNDOTBS1" "SYSAUX"  delete archivelog;
alter clone database  open  resetlogs;
}
executing Memory Script
 
executing  command : SET  until  clause
 
sql statement: alter database datafile  4 online
 
Starting recover at 20170720 17:27:44
using channel ORA_AUX_DISK_1
 
starting media recovery
 
archived log  for  thread 1 with sequence 2 is already on disk as  file  /u01/app/oracle/product/12 .2 /db_home1/dbs/arch1_2_949077789 .dbf
archived log  for  thread 1 with sequence 3 is already on disk as  file  /u01/app/oracle/product/12 .2 /db_home1/dbs/arch1_3_949077789 .dbf
archived log  file  name= /u01/app/oracle/product/12 .2 /db_home1/dbs/arch1_2_949077789 .dbf thread=1 sequence=2
archived log  file  name= /u01/app/oracle/product/12 .2 /db_home1/dbs/arch1_3_949077789 .dbf thread=1 sequence=3
media recovery complete, elapsed  time : 00:00:01
Finished recover at 20170720 17:27:48
 
database opened
 
contents of Memory Script:
{
# create directory for datapump import
sql "create or replace directory TSPITR_DIROBJ_DPDIR as  ''
/tmp '' ";
# create directory for datapump export
sql clone "create or replace directory TSPITR_DIROBJ_DPDIR as  ''
/tmp '' ";
}
executing Memory Script
 
sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as  '' /tmp ''
 
sql statement: create or replace directory TSPITR_DIROBJ_DPDIR as  '' /tmp ''
 
Performing  export  of tables...
    EXPDP> Starting  "SYS" . "TSPITR_EXP_htzD_mhEh" :  
    EXPDP> Processing object  type  TABLE_EXPORT /TABLE/TABLE_DATA
    EXPDP> Processing object  type  TABLE_EXPORT /TABLE/STATISTICS/TABLE_STATISTICS
    EXPDP> Processing object  type  TABLE_EXPORT /TABLE/TABLE
    EXPDP> . . exported  "ZX" . "T2"                                    5.898 KB       1 rows
    EXPDP> Master table  "SYS" . "TSPITR_EXP_htzD_mhEh"  successfully loaded /unloaded
    EXPDP> ******************************************************************************
    EXPDP> Dump  file  set  for  SYS.TSPITR_EXP_htzD_mhEh is:
    EXPDP>    /tmp/tspitr_htzD_98436 .dmp
    EXPDP> Job  "SYS" . "TSPITR_EXP_htzD_mhEh"  successfully completed at Thu Jul 20 17:29:48 2017 elapsed 0 00:01:05
Export completed
 
 
contents of Memory Script:
{
# shutdown clone before import
shutdown  clone abort
}
executing Memory Script
 
Oracle instance shut down
 
Performing  import  of tables...
    IMPDP> Master table  "SYS" . "TSPITR_IMP_htzD_bhqf"  successfully loaded /unloaded
    IMPDP> Starting  "SYS" . "TSPITR_IMP_htzD_bhqf" :  
    IMPDP> Processing object  type  TABLE_EXPORT /TABLE/TABLE
    IMPDP> Processing object  type  TABLE_EXPORT /TABLE/TABLE_DATA
    IMPDP> . . imported  "ZX" . "T2_R"                                  5.898 KB       1 rows
    IMPDP> Processing object  type  TABLE_EXPORT /TABLE/STATISTICS/TABLE_STATISTICS
    IMPDP> Job  "SYS" . "TSPITR_IMP_htzD_bhqf"  successfully completed at Thu Jul 20 17:30:10 2017 elapsed 0 00:00:10
Import completed
 
 
Removing automatic instance
Automatic instance removed
auxiliary instance  file  /tmp/ORA12C/datafile/o1_mf_temp_dq0xskvm_ .tmp deleted
auxiliary instance  file  /tmp/HTZD_PITR_ORA12C/onlinelog/o1_mf_3_dq0xwo3d_ .log deleted
auxiliary instance  file  /tmp/HTZD_PITR_ORA12C/onlinelog/o1_mf_2_dq0xwo3d_ .log deleted
auxiliary instance  file  /tmp/HTZD_PITR_ORA12C/onlinelog/o1_mf_1_dq0xwo0q_ .log deleted
auxiliary instance  file  /tmp/HTZD_PITR_ORA12C/datafile/o1_mf_users_dq0xvq9q_ .dbf deleted
auxiliary instance  file  /tmp/ORA12C/datafile/o1_mf_sysaux_dq0xqkm0_ .dbf deleted
auxiliary instance  file  /tmp/ORA12C/datafile/o1_mf_undotbs1_dq0xrnq2_ .dbf deleted
auxiliary instance  file  /tmp/ORA12C/datafile/o1_mf_system_dq0xp4jt_ .dbf deleted
auxiliary instance  file  /tmp/ORA12C/controlfile/o1_mf_dq0xoxot_ .ctl deleted
auxiliary instance  file  tspitr_htzD_98436.dmp deleted
Finished recover at 20170720 17:30:13

4、验证结果,查询t2_r表

1
2
3
4
5
zx@ORA12C> select  from  t2_r;
 
     ID  NAME        BIRTHDAY
---------- ---------- -----------------
      1 zx       20170720 17:18:52

5、即使表t2做了DDL操作修改了表结构,也可以用这种方法进行恢复

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
--表t2添加一个字段
zx@ORA12C> alter  table  t2  add  address varchar2(10);
 
Table  altered.
--恢复表到t2_r2
RMAN> recover  table  zx.t2 until scn 650101 remap  table  zx.t2:t2_r2 auxiliary destination  '/tmp' ;
Starting recover  at  20170720 17:57:00
using channel ORA_DISK_1
RMAN-05026: warning: presuming following  set  of  tablespaces applies  to  specified point- in - time
......
Finished recover  at  20170720 18:02:03
--验证表t2_r2
zx@ORA12C> select  from  t2_r2;
 
     ID  NAME        BIRTHDAY
---------- ---------- -----------------
      1 zx       20170720 17:18:52
      
--恢复成功

这一功能很大程度减小了数据恢复的影响范围。

参考:http://docs.oracle.com/database/121/BRADV/rcmresind.htm#BRADV686




      本文转自hbxztc 51CTO博客,原文链接:http://blog.51cto.com/hbxztc/1949491,如需转载请自行联系原作者





相关文章
|
5月前
|
存储 Oracle 关系型数据库
Oracle和MySQL有哪些区别?从基本特性、技术选型、字段类型、事务、语句等角度详细对比Oracle和MySQL
从基本特性、技术选型、字段类型、事务提交方式、SQL语句、分页方法等方面对比Oracle和MySQL的区别。
1005 18
|
7月前
|
Oracle 安全 关系型数据库
|
7月前
|
存储 Oracle 关系型数据库
|
7月前
|
Oracle 关系型数据库 数据库
|
7月前
|
存储 监控 Oracle
关系型数据库Oracle备份策略建议
【7月更文挑战第21天】
104 6
|
7月前
|
存储 Oracle 关系型数据库
关系型数据库Oracle备份类型与频率
【7月更文挑战第21天】
118 6
|
7月前
|
存储 Oracle 关系型数据库
关系型数据库Oracle运行RMAN脚本
【7月更文挑战第23天】
65 4
|
7月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle设置 RMAN 环境:
【7月更文挑战第25天】
95 2
|
7月前
|
监控 Oracle 算法
|
7月前
|
SQL Oracle 关系型数据库
关系型数据库Oracle结束 RMAN 会话:
【7月更文挑战第25天】
139 1

推荐镜像

更多