客户现场的一次不完全恢复

客户的用户在10天前误删除数据,做了一次异机小版本有差别的恢复,记录如下:

源库数据库版本:10.1.0.4
目标库数据库版本:10.2.0.1

step1:download data backup file


step2.手动建立spfile参数文件

cp initorcl.ora inithdoadb.ora

inithdoadb.ora

orcl.__db_cache_size=100663296
orcl.__java_pool_size=4194304
orcl.__large_pool_size=4194304
orcl.__shared_pool_size=54525952
orcl.__streams_pool_size=0
*.audit_file_dest='/u01/app/oracle/admin/hdoadb/adump'
*.background_dump_dest='/u01/app/oracle/admin/hdoadb/bdump'
*.compatible='10.2.0.1.0'
*.control_files='/u01/oradata/hdoadb/control01.ctl','/u01/oradata/hdoadb/control02.ctl','/u01/oradata/hdoadb/control03.ctl'
*.core_dump_dest='/u01/app/oracle/admin/hdoadb/cdump'
*.db_block_size=8192
*.db_domain=''
*.db_file_multiblock_read_count=16
*.db_name='hdoadb'
*.db_recovery_file_dest='/u01/oradata/flash_recovery_area'
*.db_recovery_file_dest_size=2147483648
*.dispatchers='(PROTOCOL=TCP) (SERVICE=orclXDB)'
*.job_queue_processes=10
*.open_cursors=300
*.pga_aggregate_target=16777216
*.processes=150
*.remote_login_passwordfile='EXCLUSIVE'
*.sga_target=167772160
*.undo_management='AUTO'
*.undo_tablespace='UNDOTBS1'
*.user_dump_dest='/u01/app/oracle/admin/hdoadb/udump'

修改相应文件
建立相应目录
mkdir -p /u01/app/oracle/admin/hdoadb/adump
mkdir -p /u01/app/oracle/admin/hdoadb/bdump
mkdir -p /u01/app/oracle/admin/hdoadb/cdump
mkdir -p /u01/app/oracle/admin/hdoadb/udump
mkdir -p /u01/app/oracle/admin/hdoadb/pfile
mkdir -p /u01/oradata/hdoadb
mkdir -p /u01/oradata/flash_recovery_area

chown -R oracle:oinstall /u01

step3 启动实例hdoadb

export ORACLE_SID=hdoadb

startup pfile='/u01/app/oracle/admin/hdoadb/pfile/inithdoadb.ora'

SQL> startup pfile='/u01/app/oracle/admin/hdoadb/pfile/inithdoadb.ora'
ORACLE instance started.

Total System Global Area  167772160 bytes
Fixed Size                  1218316 bytes
Variable Size              62916852 bytes
Database Buffers          100663296 bytes
Redo Buffers                2973696 bytes
ORA-00205: error in identifying control file, check alert log for more info

step4:恢复控制文件
rman target /
[oracle@oradata pfile]$ rman target /

Recovery Manager: Release 10.2.0.1.0 - Production on Mon Aug 2 13:52:07 2010

Copyright (c) 1982, 2005, Oracle.  All rights reserved.

connected to target database: orcl (not mounted)

RMAN> restore controlfile from '/u02/temp/20100716-010100.hdoadb-snapcf.ctl';

Starting restore at 02-AUG-10
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK

channel ORA_DISK_1: copied control file copy
output filename=/u01/oradata/hdoadb/control01.ctl
output filename=/u01/oradata/hdoadb/control02.ctl
output filename=/u01/oradata/hdoadb/control03.ctl
Finished restore at 02-AUG-10

okay,controfiel has recoverd successfully.

alter database mount;

RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1


sql statement: create spfile from pfile


sql 'create spfile from pfile';
RMAN> sql 'create spfile from pfile';

sql statement: create spfile from pfile



step5 backup识别备份
catalog start with '/u02/temp/'


RMAN> catalog start with '/u02/temp/';

Starting implicit crosscheck backup at 02-AUG-10
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=155 devtype=DISK
Crosschecked 148 objects
Finished implicit crosscheck backup at 02-AUG-10

Starting implicit crosscheck copy at 02-AUG-10
using channel ORA_DISK_1
Finished implicit crosscheck copy at 02-AUG-10

searching for all files in the recovery area
cataloging files...
no files cataloged

searching for all files that match the pattern /u02/temp/

List of Files Unknown to the Database
=====================================
File Name: /u02/temp/20100716-010100.hdoadb-5251.bkp
File Name: /u02/temp/20100716-010100.hdoadb-5252.bkp
File Name: /u02/temp/20100716-010100.hdoadb_dump.tgz
File Name: /u02/temp/20100716-010100.hdoadb_orapw.tgz
File Name: /u02/temp/20100716-010100.hdoadb_rman.log
File Name: /u02/temp/20100716-010100.spfilehdoadb.ora
File Name: /u02/temp/20100716-010100.hdoadb-snapcf.ctl

Do you really want to catalog the above files (enter YES or NO)? yes
cataloging files...
cataloging done

List of Cataloged Files
=======================
File Name: /u02/temp/20100716-010100.hdoadb-5251.bkp
File Name: /u02/temp/20100716-010100.hdoadb-5252.bkp
File Name: /u02/temp/20100716-010100.spfilehdoadb.ora
File Name: /u02/temp/20100716-010100.hdoadb-snapcf.ctl

List of Files Which Where Not Cataloged
=======================================
File Name: /u02/temp/20100716-010100.hdoadb_dump.tgz
  RMAN-07517: Reason: The file header is corrupted
File Name: /u02/temp/20100716-010100.hdoadb_orapw.tgz
  RMAN-07517: Reason: The file header is corrupted
File Name: /u02/temp/20100716-010100.hdoadb_rman.log
  RMAN-07517: Reason: The file header is corrupted


report schema
RMAN> report schema;

RMAN-06139: WARNING: control file is not current for REPORT SCHEMA
Report of database schema

List of Permanent Datafiles
===========================
File Size(MB) Tablespace           RB segs Datafile Name
---- -------- -------------------- ------- ------------------------
1    0        SYSTEM               ***     /u01/app/oracle/oradata/hdoadb/system01.dbf
2    0        UNDOTBS1             ***     /u01/app/oracle/oradata/hdoadb/undotbs01.dbf
3    0        SYSAUX               ***     /u01/app/oracle/oradata/hdoadb/sysaux01.dbf
4    0        USERS                ***     /u01/app/oracle/oradata/hdoadb/users01.dbf
5    0        HDOA                 ***     /u01/app/oracle/oradata/hdoadb/hdoa01.dbf
6    0        T_HDOA               ***     /u01/app/oracle/oradata/hdoadb/t_hdoa.dbf



step6:恢复脚本
run{
    set newname for datafile 1
    to '/u01/oradata/hdoadb/system01.dbf';
    set newname for datafile 2
    to '/u01/oradata/hdoadb/undotbs01.dbf';
    set newname for datafile 3
    to '/u01/oradata/hdoadb/sysaux01.dbf';
    set newname for datafile 4
    to '/u01/oradata/hdoadb/users01.dbf';
    set newname for datafile 5
    to '/u01/oradata/hdoadb/hdoa01.dbf';
    set newname for datafile 6
    to '/u01/oradata/hdoadb/t_hdoa.dbf';
    restore database;
    switch datafile all;
}

recover database
RMAN> recover database;

Starting recover at 02-AUG-10
using channel ORA_DISK_1

starting media recovery
........................................

media recovery complete, elapsed time: 03:20:00

Finished recover at 03-AUG-10

RMAN> alter database open resetlogs;

RMAN> exit

startup upgrade;

执行升级
dbua -silent -dbname hdoadb -oracleHome /u01/app/oracle/product/10.2.0/db_1 -sysDBAUserName sys -sysDBAPassword orcl -recompile_invalid_objects true

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/14178352/viewspace-670057/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/14178352/viewspace-670057/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值