搜索
首页 电脑/网络 软件 系统软件

如何让Oracle备份集在测试机上做不完全恢复?

如何让Oracle备份集在测试机上做不完全恢复?

全部回答

2017-07-26

43 0
    如果表的许多分区被意外drop,需要利用带库上的备份集在测试机上做不完全恢复,而具体日期需要达到一个特定的时间,那么我们可以参考下文中的解决方法。 ◆首先需要用logminer查出删除语句: uncompress /oracle/oradata/xxx/xxx。
    ARC。Z 。。。beginsys。dbms_logmnr。add_logfile('/oracle/oradata/xxx/xxx。ARC');。。。end;begin sys。
  dbms_logmnr。start_logmnr(Options => sys。dbms_logmnr。  DICT_FROM_ONLINE_CATALOG); end;create table xsb_logminer_1 as select timestamp, seg_name,operation, sql_redo from V$LOGMNR_CONTENTS where seg_owner='XXX' and operation='DDL' and sql_redo like 'ALTER TABLE XXX DROP PARTITION %';BEGIN sys。
    dbms_logmnr。end_logmnr();END;◆然后在生产库上创建pfile: create pfile='。。。' from spfile;需要从带库上恢复rman备份集至生产机上,将此备份集FTP至测试机上,连同pfile文件。
   在测试机上创建与生产机上相同目录,admin 。  。。 在测试机上创建新实例: orapwd file=。。。 password=xxx然后修改pfile文件内容,改变control_files内容。
   ◆启动新实例 export ORACLE_SID=xxxsqlplus / as sysdbastartup nomount pfile='/home/oracle/init_xxx。  ora';create spfile from pfile='/home/oracle/init_xxx。
  ora';exitRMAN target sys/xxxrestore controlfile from '。。。';startup mount--crosscheck backup;list backup;run {set newname for datafile 1 to '/oracle/oradata/xxx/system01。
    dbf';set newname for datafile 2 to '/oracle/oradata/xxx/undo01。dbf';set newname for datafile 3 to '/oracle/oradata/xxx/sysaux01。
  dbf';set newname for datafile 6 to '/oracle/oradata/xxx/pay_ts01。  dbf';restore datafile 1;restore datafile 2;restore datafile 3; restore datafile 6;}(注:发现单个datafile恢复不如整库恢复快!)sql 'alter database backup controlfile to trace';shutdown immediate;exit然后修改controlfile文件内容,去掉不用的文件名 ◆不完全恢复数据库: sqlplus / as sysdbastartup nomount;◆重建控制文件 CREATE CONTROLFILE REUSE DATABASE "XXX" RESETLOGS ARCHIVELOGMAXLOGFILES 40MAXLOGMEMBERS 3MAXDATAFILES 400MAXINSTANCES 2MAXLOGHISTORY 454LOGFILEGROUP 1 ('/oracle/oradata/xxx/rdb_redo01a') SIZE 10M,GROUP 2 ('/oracle/oradata/xxx/rdb_redo02a') SIZE 10MDATAFILE '/oracle/oradata/xxx/system01。
    dbf','/oracle/oradata/xxx/undo01。dbf','/oracle/oradata/xxx/sysaux01。dbf','/oracle/oradata/xxx/pay_ts01。
  dbf'CHARACTER SET ZHS16GBK;recover database until cancel using backup controlfile;。  。
  。alter database open resetlogs;◆做数据恢复操作: create table xxx as select xxx from xxx where xxx;exp,ftp 。
  dmp,imp也可以如下所示,这样会更简单一些: restore database;recover database using backup controlfile until cancel;alter database open resetlogs;。
    。。END!!!。

类似问题换一批

热点推荐

热度TOP

相关推荐
加载中...

热点搜索 换一换

电脑/网络
系统软件
硬件
电脑装机
程序设计
互联网
操作系统/系统故障
笔记本电脑
反病毒
百度
软件
软件
系统软件
多媒体软件
办公软件
网络软件
图像处理软件
系统软件
系统软件
举报
举报原因(必选):
取消确定举报