LAB – Recuperando tabela via RMAN – Oracle 12c
Objetivo
Demonstrar um novo recurso do Oracle 12c que permite recuperar uma tabela ou partição de tabela em um ponto especifico no tempo a partir no RMAN utilizando “RECOVER TABLE”.
A tabela sumiu, não sei como!!! Como de praxe só informam o DBA no outro dia.
O processo de recuperação no tempo poderia ser feito utilizando Flashback Table (FT), porém se não tivermos dados suficiente em UNDO ou se a tabela tiver sido truncada, descartamos FT. Se a lixeira estiver ativa poderíamos utilizar Flashback Drop, mas o administrador de banco de dados configurou scripts de purge na lixeira que roda toda noite.
Poderíamos realizar o flashback de toda tablespace utilizando TSPITR ( recuperação de tablespace em um ponto no tempo), mas isso voltaria todas tabelas pertencentes a mesma, não atenderia nossa demanda.
FLASHBACK DATABASE? Melhor não né!
Se você não conhecesse esse novo recurso, provavelmente, colocaria a “mão na massa”, criaria outra instância a partir do backup RMAN disponível, um restore aqui, recover ali, expdp, impdp e pronto já temos a tabela.
Mas deu um certo trabalho… Agora ficou incrivelmente mais fácil com RECOVER TABLE.
Sobre o comando
RMAN> RECOVER TABLE… ?
Em qual ponto recuperar a tabela?
- UNTIL SCN.
- UNTIL TIME. Use um formado de data das variáveis de ambiente NLS_LANG e NLS_DATE_FORMAT, é possível utilizar SYSDATE, por exemplo, SYSDATE-2.
- UNTIL SEQUENCE.
Parâmetros adicionais ao RECOVER:
- DUMP FILE e DATAPUMP DESTINATION. Indica, respectivamente, nome e o destino do dumpfile.
- NOTABLEIMPORT. Indica que as tabelas não devem ser importadas no banco de dados.
- REMAP TABLE e REMAP TABLESPACE. Tem a mesma função quando é utilizado na importação do datapump com impdp.
Em qual PDB irei recuperar a tabela/partição de tabela?
- OF PLUGGABLE DATABASE pdbname. Utilize essa clausula para informar o PDB.
Limitações:
— Não se pode recuperar tabelas/partição de tabela pertencentes ao esquema SYS.
— Tabelas/partição de tabela do SYSTEM e SYSAUX, também, não podem ser recuperadas.
— Não se recupera de banco de dados Standby.
— Tabelas com a constraint NOT NULL não pode ser recuperada utilizando a cláusula REMAP do impdp.
Exemplos:
1. -- Exemplo 1 2. 3. RECOVER TABLE HR.PDB_EMP OF PLUGGABLE DATABASE HR_PDB 4. UNTIL TIME 'SYSDATE-4' 5. AUXILIARY DESTINATION '/tmp/backups' 6. REMAP TABLE 'HR'.'PDB_EMP':'EMP_RECVR'; 7. 8. -- Exemplo 2 9. 10. RECOVER TABLE SCOTT.EMP, SCOTT.DEPT 11. UNTIL TIME "TO_DATE('28/09/2018 18:00:00','MM/DD/YYYY hh24:mi:ss')"' 12. AUXILIARY DESTINATION '/tmp/oracle/recover' 13. DATAPUMP DESTINATION '/tmp/recover/dumpfiles' 14. DUMP FILE 'emp_dept_exp_dump.dat' 15. NOTABLEIMPORT; 16. 17. -- Exemplo 3 18. 19. RECOVER TABLE SH.SALES:SALES_1998, SH.SALES:SALES_1999 20. UNTIL SEQUENCE 354 21. AUXILIARY DESTINATION '/tmp/oracle/recover' 22. REMAP TABLE 'SH'.'SALES':'SALES_1998':'HISTORIC_SALES_1998', 23. 'SH'.'SALES':'SALES_1999':'HISTORIC_SALES_1999' 24. REMAP TABLESPACE 'SALES_TS':'SALES_PRE_2000_TS';
Pré-Requisitos
• Oracle Database 12.1.0.2 ou superior.
• Um backup full RMAN disponível, ou seja, banco obrigatoriamente em ARCHIVELOG.
• Banco em modo de leitura e escrita.
• Espaço em Disco.
Vamos lá
## Preparação do Cenário
1. -- Alternar para container alvo. 2. 3. SQL> alter session set container=PDB_MAIN; 4. 5. -- Tavela alvo, com seu respectivo número de linhas 6. 7. SQL> SELECT COUNT(*) FROM SOE.INVENTORIES; 8. 9. COUNT(*) 10. ---------- 11. 1500728 12. 13. -- Dropando a tabela com PURGE, para que a mesma e os objetos dependentes não irem para lixeira. 14. 15. SQL> DROP TABLE SOE.INVENTORIES PURGE; 16. 17. Tabela eliminada. 18. 19. -- Realiza processo de recuperação. 20. 21. 22. -- Tavela alvo, com seu respectivo número de linhas, após a recuperação. 23. 24. SQL> SELECT COUNT(*) FROM SOE.INVENTORIES; 25. 26. COUNT(*) 27. ---------- 28. 1500728
## Processo de recuperação.
1. RMAN> RECOVER TABLE SOE.INVENTORIES OF PLUGGABLE DATABASE PDB_MAIN UNTIL SCN 3989976 AUXILIARY DESTINATION '/tmp/backups'; 2. 3. Iniciando recover em 25-09-2018 10:59:09 4. utilizando o canal ORA_DISK_1 5. RMAN-05026: advertência: pressupõe-se que o conjunto de tablespaces a seguir se aplica a um ponto no tempo especificado 6. 7. Espera-se que a lista de tablespaces tenha segmentos UNDO 8. Tablespace SYSTEM 9. Tablespace PDB_MAIN:SYSTEM 10. Tablespace UNDOTBS1 11. Tablespace PDB_MAIN:UNDOTBS1 12. 13. Criando uma instância automática, com SID='ruCf' 14. 15. parâmetros de inicialização usados para instância automática: 16. db_name=ORCL 17. db_unique_name=ruCf_pitr_PDB_MAIN_ORCL 18. compatible=12.2.0 19. db_block_size=8192 20. db_files=200 21. diagnostic_dest=/u01/app/oracle 22. _system_trig_enabled=FALSE 23. sga_target=800M 24. processes=200 25. db_create_file_dest=/tmp/backups 26. log_archive_dest_1='location=/tmp/backups' 27. enable_pluggable_database=true 28. _clone_one_pdb_recovery=true 29. #No auxiliary parameter file used 30. 31. 32. inicializando instância automática ORCL 33. 34. instância Oracle iniciada 35. 36. Total da área Global do Sistema 838860800 bytes 37. 38. Fixed Size 8798312 bytes 39. Variable Size 226496408 bytes 40. Database Buffers 599785472 bytes 41. Redo Buffers 3780608 bytes 42. Instância automática criada 43. 44. conteúdo do Script de Memória: 45. { 46. # set requested point in time 47. set until scn 3989976; 48. # restore the controlfile 49. restore clone controlfile; 50. 51. # mount the controlfile 52. sql clone 'alter database mount clone database'; 53. 54. # archive current online log 55. sql 'alter system archive log current'; 56. } 57. executando Script de Memória 58. 59. executando comando: SET until clause 60. 61. Iniciando restore em 25-09-2018 10:59:35 62. canal alocado: ORA_AUX_DISK_1 63. canal ORA_AUX_DISK_1: SID=35 tipo de dispositivo=DISK 64. 65. canal ORA_AUX_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados 66. canal ORA_AUX_DISK_1: restaurando arquivo de controle 67. canal ORA_AUX_DISK_1: lendo da parte de backup /u01/app/oracle/fast_recovery_area/orcl/ORCL/autobackup/2018_09_25/o1_mf_s_987761863_ftnfcv70_.bkp 68. canal ORA_AUX_DISK_1: handle da parte=/u01/app/oracle/fast_recovery_area/orcl/ORCL/autobackup/2018_09_25/o1_mf_s_987761863_ftnfcv70_.bkp tag=TAG20180925T101742 69. canal ORA_AUX_DISK_1: parte de backup restaurado 1 70. canal ORA_AUX_DISK_1: restauração concluída, tempo decorrido: 00:00:01 71. nome do arquivo de saída=/tmp/backups/ORCL/controlfile/o1_mf_ftnht7l9_.ctl 72. Finalizado restore em 25-09-2018 10:59:36 73. 74. instrução sql: alter database mount clone database 75. 76. instrução sql: alter system archive log current 77. 78. conteúdo do Script de Memória: 79. { 80. # set requested point in time 81. set until scn 3989976; 82. # set destinations for recovery set and auxiliary set datafiles 83. set newname for clone datafile 1 to new; 84. set newname for clone datafile 9 to new; 85. set newname for clone datafile 4 to new; 86. set newname for clone datafile 11 to new; 87. set newname for clone datafile 3 to new; 88. set newname for clone datafile 10 to new; 89. set newname for clone tempfile 1 to new; 90. set newname for clone tempfile 3 to new; 91. # switch all tempfiles 92. switch clone tempfile all; 93. # restore the tablespaces in the recovery set and the auxiliary set 94. restore clone datafile 1, 9, 4, 11, 3, 10; 95. 96. switch clone datafile all; 97. } 98. executando Script de Memória 99. 100. executando comando: SET until clause 101. 102. executando comando: SET NEWNAME 103. 104. executando comando: SET NEWNAME 105. 106. executando comando: SET NEWNAME 107. 108. executando comando: SET NEWNAME 109. 110. executando comando: SET NEWNAME 111. 112. executando comando: SET NEWNAME 113. 114. executando comando: SET NEWNAME 115. 116. executando comando: SET NEWNAME 117. 118. arquivo temporário renomeado 1 para o tablespace /tmp/backups/ORCL/datafile/o1_mf_temp_%u_.tmp no arquivo de controle 119. arquivo temporário renomeado 3 para o tablespace /tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_temp_%u_.tmp no arquivo de controle 120. 121. Iniciando restore em 25-09-2018 10:59:41 122. utilizando o canal ORA_AUX_DISK_1 123. 124. canal ORA_AUX_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados 125. canal ORA_AUX_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups 126. canal ORA_AUX_DISK_1: restaurando o arquivo de dados 00009 para /tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_system_%u_.dbf 127. canal ORA_AUX_DISK_1: restaurando o arquivo de dados 00011 para /tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_undotbs1_%u_.dbf 128. canal ORA_AUX_DISK_1: restaurando o arquivo de dados 00010 para /tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_sysaux_%u_.dbf 129. canal ORA_AUX_DISK_1: lendo da parte de backup /u01/app/oracle/fast_recovery_area/orcl/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/backupset/2018_09_25/o1_mf_nnndf_TAG20180925T101356_ftnf4p54_.bkp 130. canal ORA_AUX_DISK_1: handle da parte=/u01/app/oracle/fast_recovery_area/orcl/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/backupset/2018_09_25/o1_mf_nnndf_TAG20180925T101356_ftnf4p54_.bkp tag=TAG20180925T101356 131. canal ORA_AUX_DISK_1: parte de backup restaurado 1 132. canal ORA_AUX_DISK_1: restauração concluída, tempo decorrido: 00:01:46 133. canal ORA_AUX_DISK_1: iniciando restauração de conjunto de backups de arquivo de dados 134. canal ORA_AUX_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups 135. canal ORA_AUX_DISK_1: restaurando o arquivo de dados 00001 para /tmp/backups/ORCL/datafile/o1_mf_system_%u_.dbf 136. canal ORA_AUX_DISK_1: restaurando o arquivo de dados 00004 para /tmp/backups/ORCL/datafile/o1_mf_undotbs1_%u_.dbf 137. canal ORA_AUX_DISK_1: restaurando o arquivo de dados 00003 para /tmp/backups/ORCL/datafile/o1_mf_sysaux_%u_.dbf 138. canal ORA_AUX_DISK_1: lendo da parte de backup /u01/app/oracle/fast_recovery_area/orcl/ORCL/backupset/2018_09_25/o1_mf_nnndf_TAG20180925T101356_ftnf8npf_.bkp 139. canal ORA_AUX_DISK_1: handle da parte=/u01/app/oracle/fast_recovery_area/orcl/ORCL/backupset/2018_09_25/o1_mf_nnndf_TAG20180925T101356_ftnf8npf_.bkp tag=TAG20180925T101356 140. canal ORA_AUX_DISK_1: parte de backup restaurado 1 141. canal ORA_AUX_DISK_1: restauração concluída, tempo decorrido: 00:00:55 142. Finalizado restore em 25-09-2018 11:02:22 143. 144. arquivo de dados 1 alternado para a cópia do arquivo de dados 145. cópia do arquivo de dados de entrada RECID=10 STAMP=987764543 nome do arquivo=/tmp/backups/ORCL/datafile/o1_mf_system_ftnhxq9b_.dbf 146. arquivo de dados 9 alternado para a cópia do arquivo de dados 147. cópia do arquivo de dados de entrada RECID=11 STAMP=987764543 nome do arquivo=/tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_system_ftnhtfyz_.dbf 148. arquivo de dados 4 alternado para a cópia do arquivo de dados 149. cópia do arquivo de dados de entrada RECID=12 STAMP=987764543 nome do arquivo=/tmp/backups/ORCL/datafile/o1_mf_undotbs1_ftnhxqbq_.dbf 150. arquivo de dados 11 alternado para a cópia do arquivo de dados 151. cópia do arquivo de dados de entrada RECID=13 STAMP=987764543 nome do arquivo=/tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_undotbs1_ftnhtfz2_.dbf 152. arquivo de dados 3 alternado para a cópia do arquivo de dados 153. cópia do arquivo de dados de entrada RECID=14 STAMP=987764543 nome do arquivo=/tmp/backups/ORCL/datafile/o1_mf_sysaux_ftnhxqbh_.dbf 154. arquivo de dados 10 alternado para a cópia do arquivo de dados 155. cópia do arquivo de dados de entrada RECID=15 STAMP=987764543 nome do arquivo=/tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_sysaux_ftnhtfy6_.dbf 156. 157. conteúdo do Script de Memória: 158. { 159. # set requested point in time 160. set until scn 3989976; 161. # online the datafiles restored or switched 162. sql clone "alter database datafile 1 online"; 163. sql clone 'PDB_MAIN' "alter database datafile 164. 9 online"; 165. sql clone "alter database datafile 4 online"; 166. sql clone 'PDB_MAIN' "alter database datafile 167. 11 online"; 168. sql clone "alter database datafile 3 online"; 169. sql clone 'PDB_MAIN' "alter database datafile 170. 10 online"; 171. # recover and open database read only 172. recover clone database tablespace "SYSTEM", "PDB_MAIN":"SYSTEM", "UNDOTBS1", "PDB_MAIN":"UNDOTBS1", "SYSAUX", "PDB_MAIN":"SYSAUX"; 173. sql clone 'alter database open read only'; 174. } 175. executando Script de Memória 176. 177. executando comando: SET until clause 178. 179. instrução sql: alter database datafile 1 online 180. 181. instrução sql: alter database datafile 9 online 182. 183. instrução sql: alter database datafile 4 online 184. 185. instrução sql: alter database datafile 11 online 186. 187. instrução sql: alter database datafile 3 online 188. 189. instrução sql: alter database datafile 10 online 190. 191. Iniciando recover em 25-09-2018 11:02:24 192. utilizando o canal ORA_AUX_DISK_1 193. 194. iniciar recuperação de mídia 195. 196. o log arquivado para thread 1 com sequência 77 já está no disco como arquivo /u01/app/oracle/fast_recovery_area/orcl/ORCL/archivelog/2018_09_25/o1_mf_1_77_ftngd7k4_.arc 197. nome=/u01/app/oracle/fast_recovery_area/orcl/ORCL/archivelog/2018_09_25/o1_mf_1_77_ftngd7k4_.arc thread=1 sequência=77 do arquivo de log arquivado 198. recuperação da mídia concluída, tempo decorrido: 00:00:00 199. Finalizado recover em 25-09-2018 11:02:25 200. 201. instrução sql: alter database open read only 202. 203. conteúdo do Script de Memória: 204. { 205. sql clone 'alter pluggable database PDB_MAIN open read only'; 206. } 207. executando Script de Memória 208. 209. instruçãoo sql: alter pluggable database PDB_MAIN open read only 210. 211. conteúdo do Script de Memória: 212. { 213. sql clone "create spfile from memory"; 214. shutdown clone immediate; 215. startup clone nomount; 216. sql clone "alter system set control_files = 217. ''/tmp/backups/ORCL/controlfile/o1_mf_ftnht7l9_.ctl'' comment= 218. ''RMAN set'' scope=spfile"; 219. shutdown clone immediate; 220. startup clone nomount; 221. # mount database 222. sql clone 'alter database mount clone database'; 223. } 224. executando Script de Memória 225. 226. instrução sql: create spfile from memory 227. 228. banco de dados fechado 229. banco de dados desmontado 230. encerramento de instância Oracle 231. 232. conectado ao banco de dados auxiliar (não iniciado) 233. instância Oracle iniciada 234. 235. Total da área Global do Sistema 838860800 bytes 236. 237. Fixed Size 8798312 bytes 238. Variable Size 226496408 bytes 239. Database Buffers 599785472 bytes 240. Redo Buffers 3780608 bytes 241. 242. instrução sql: alter system set control_files = ''/tmp/backups/ORCL/controlfile/o1_mf_ftnht7l9_.ctl'' comment= ''RMAN set'' scope=spfile 243. 244. encerramento de instância Oracle 245. 246. conectado ao banco de dados auxiliar (não iniciado) 247. instância Oracle iniciada 248. 249. Total da área Global do Sistema 838860800 bytes 250. 251. Fixed Size 8798312 bytes 252. Variable Size 226496408 bytes 253. Database Buffers 599785472 bytes 254. Redo Buffers 3780608 bytes 255. 256. instrução sql: alter database mount clone database 257. 258. conteúdo do Script de Memória: 259. { 260. # set requested point in time 261. set until scn 3989976; 262. # set destinations for recovery set and auxiliary set datafiles 263. set newname for datafile 14 to new; 264. # restore the tablespaces in the recovery set and the auxiliary set 265. restore clone datafile 14; 266. 267. switch clone datafile all; 268. } 269. executando Script de Memória 270. 271. executando comando: SET until clause 272. 273. executando comando: SET NEWNAME 274. 275. Iniciando restore em 25-09-2018 11:07:25 276. canal alocado: ORA_AUX_DISK_1 277. canal ORA_AUX_DISK_1: SID=35 tipo de dispositivo=DISK 278. 279. canal ORA_AUX_DISK_1: iniciando restaura de conjunto de backups de arquivo de dados 280. canal ORA_AUX_DISK_1: especificando arquivo(s) de dados para restauração a partir do conjunto de backups 281. canal ORA_AUX_DISK_1: restaurando o arquivo de dados 00014 para /tmp/backups/RUCF_PITR_PDB_MAIN_ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_soe_%u_.dbf 282. canal ORA_AUX_DISK_1: lendo da parte de backup /u01/app/oracle/fast_recovery_area/orcl/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/backupset/2018_09_25/o1_mf_nnndf_TAG20180925T101356_ftnf4p54_.bkp 283. canal ORA_AUX_DISK_1: handle da parte=/u01/app/oracle/fast_recovery_area/orcl/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/backupset/2018_09_25/o1_mf_nnndf_TAG20180925T101356_ftnf4p54_.bkp tag=TAG20180925T101356 284. canal ORA_AUX_DISK_1: parte de backup restaurado 1 285. canal ORA_AUX_DISK_1: restauração concluída, tempo decorrido: 00:01:38 286. Finalizado restore em 25-09-2018 11:09:08 287. 288. arquivo de dados 14 alternado para a cópia do arquivo de dados 289. cópia do arquivo de dados de entrada RECID=17 STAMP=987764948 nome do arquivo=/tmp/backups/RUCF_PITR_PDB_MAIN_ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_soe_ftnj93l7_.dbf 290. 291. conteúdo do Script de Memória: 292. { 293. # set requested point in time 294. set until scn 3989976; 295. # online the datafiles restored or switched 296. sql clone 'PDB_MAIN' "alter database datafile 297. 14 online"; 298. # recover and open resetlogs 299. recover clone database tablespace "PDB_MAIN":"SOE", "SYSTEM", "PDB_MAIN":"SYSTEM", "UNDOTBS1", "PDB_MAIN":"UNDOTBS1", "SYSAUX", "PDB_MAIN":"SYSAUX" delete archivelog; 300. alter clone database open resetlogs; 301. } 302. executando Script de Memória 303. 304. executando comando: SET until clause 305. 306. Instrução sql: alter database datafile 14 online 307. 308. Iniciando recover em 25-09-2018 11:09:08 309. utilizando o canal ORA_AUX_DISK_1 310. 311. iniciar recuperação de mídia 312. recuperação da mídia concluída, tempo decorrido: 00:00:00 313. 314. Finalizado recover em 25-09-2018 11:09:09 315. 316. banco de dados aberto 317. 318. conteúdo do Script de Memória: 319. { 320. sql clone 'alter pluggable database PDB_MAIN open'; 321. } 322. executando Script de Memória 323. 324. instrução sql: alter pluggable database PDB_MAIN open 325. 326. conteúdo do Script de Memória: 327. { 328. # create directory for datapump import 329. sql 'PDB_MAIN' "create or replace directory 330. TSPITR_DIROBJ_DPDIR as '' 331. /tmp/backups''"; 332. # create directory for datapump export 333. sql clone 'PDB_MAIN' "create or replace directory 334. TSPITR_DIROBJ_DPDIR as '' 335. /tmp/backups''"; 336. } 337. executando Script de Memória 338. 339. instruçãoo sql: create or replace directory TSPITR_DIROBJ_DPDIR as ''/tmp/backups'' 340. 341. instrução sql: create or replace directory TSPITR_DIROBJ_DPDIR as ''/tmp/backups'' 342. 343. Executando a exportação de tabelas... 344. EXPDP> Iniciando "SYS"."TSPITR_EXP_ruCf_tvBA": 345. EXPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/TABLE_DATA 346. EXPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 347. EXPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 348. EXPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/STATISTICS/MARKER 349. EXPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/TABLE 350. EXPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/INDEX/INDEX 351. EXPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 352. EXPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT 353. EXPDP> . . exportou "SOE"."INVENTORIES" 15.13 MB 893512 linhas 354. EXPDP> Tabela-mestre "SYS"."TSPITR_EXP_ruCf_tvBA" carregada/descarregada com sucesso 355. EXPDP> ****************************************************************************** 356. EXPDP> Conjunto de arquivos de dump para SYS.TSPITR_EXP_ruCf_tvBA: 357. EXPDP> /tmp/backups/tspitr_ruCf_81781.dmp 358. EXPDP> O job "SYS"."TSPITR_EXP_ruCf_tvBA" foi concluído com sucesso em Ter Set 25 11:11:51 2018 elapsed 0 00:01:54 359. Exportação concluída 360. 361. 362. conteúdo do Script de Memória: 363. { 364. # shutdown clone before import 365. shutdown clone abort 366. } 367. executando Script de Memória 368. 369. encerramento de instância Oracle 370. 371. Executando a importação de tabelas... 372. IMPDP> Tabela-mestre "SYS"."TSPITR_IMP_ruCf_fgjy" carregada/descarregada com sucesso 373. IMPDP> Iniciando "SYS"."TSPITR_IMP_ruCf_fgjy": 374. IMPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/TABLE 375. IMPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/TABLE_DATA 376. IMPDP> . . importou "SOE"."INVENTORIES" 15.13 MB 893512 linhas 377. IMPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/INDEX/INDEX 378. IMPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/CONSTRAINT/CONSTRAINT 379. IMPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/INDEX/STATISTICS/INDEX_STATISTICS 380. IMPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/CONSTRAINT/REF_CONSTRAINT 381. IMPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/STATISTICS/TABLE_STATISTICS 382. IMPDP> Processando o tipo de objeto TABLE_EXPORT/TABLE/STATISTICS/MARKER 383. IMPDP> O job "SYS"."TSPITR_IMP_ruCf_fgjy" foi concluído com sucesso em Ter Set 25 11:14:13 2018 elapsed 0 00:02:07 384. Importação concluída 385. 386. 387. Removendo instância automática 388. Instância automática removida 389. arquivo da instância auxiliar /tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_temp_ftnhznhk_.tmp excluido 390. arquivo da instância auxiliar /tmp/backups/ORCL/datafile/o1_mf_temp_ftnhzlb6_.tmp excluido 391. arquivo da instância auxiliar /tmp/backups/RUCF_PITR_PDB_MAIN_ORCL/onlinelog/o1_mf_3_ftnjd9yy_.log excluido 392. arquivo da instância auxiliar /tmp/backups/RUCF_PITR_PDB_MAIN_ORCL/onlinelog/o1_mf_2_ftnjd64d_.log excluido 393. arquivo da instância auxiliar /tmp/backups/RUCF_PITR_PDB_MAIN_ORCL/onlinelog/o1_mf_1_ftnjd62y_.log excluido 394. arquivo da instância auxiliar /tmp/backups/RUCF_PITR_PDB_MAIN_ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_soe_ftnj93l7_.dbf excluido 395. arquivo da instância auxiliar /tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_sysaux_ftnhtfy6_.dbf excluido 396. arquivo da instância auxiliar /tmp/backups/ORCL/datafile/o1_mf_sysaux_ftnhxqbh_.dbf excluido 397. arquivo da instância auxiliar /tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_undotbs1_ftnhtfz2_.dbf excluido 398. arquivo da instância auxiliar /tmp/backups/ORCL/datafile/o1_mf_undotbs1_ftnhxqbq_.dbf excluido 399. arquivo da instância auxiliar /tmp/backups/ORCL/736E8DDD46E05A69E053AFF9A8C04AAD/datafile/o1_mf_system_ftnhtfyz_.dbf excluido 400. arquivo da instância auxiliar /tmp/backups/ORCL/datafile/o1_mf_system_ftnhxq9b_.dbf excluido 401. arquivo da instância auxiliar /tmp/backups/ORCL/controlfile/o1_mf_ftnht7l9_.ctl excluido 402. arquivo da instância auxiliar tspitr_ruCf_81781.dmp excluído 403. Finalizado recover em 25-09-2018 11:14:20 404. 405. RMAN>
Como podemos observar é criada uma instância auxiliar com SID aleatório em um local temporário, no caso informamos a pasta temp a ser utilizada, o processo restaura apenas as tablespaces SYSTEM,SYSAUX, UNDO e a tablespace que contém a tabela, de modo que a instância clone utilize menos espaço em disco. Após concluir o processo o espaço em disco é liberado, pois a instância é deletada.
Referências
Docs Oracle – Recovering Tables and Table Partitions from RMAN Backups
https://docs.oracle.com/database/121/BRADV/rcmresind.htm#BRADV686
Atualizado em 4 de outubro de 2018.