oracle 恢复用户表空间,异机恢复某用户表空间到单机

1 背景描述:

将RAC 某个表空间异机恢复至单实例,以检验数据的可用性。

1.1 RACDB数据库基本配置信息

主机  节点1: rac1  操作系统:LIUNX 6.5

节点2: rac2  操作系统:LIUNX 6.5

数据库版本  Oracle11.2.0.4 RAC

OS用户名/组  uid=1101(oracle) gid=1000(oinstall) groups=1000(oinstall),1201(asmdba),1300(dba),1301(oper)

数据库名  yirupay

实例名  rac1

rac2

数据库字符集  AL32UTF8

数据文件存储方式 ASM

1.2 恢复目标机的情况:

主机  rac1  操作系统:LIUNX 6.5

数据库版本  Oracle11.2.0.4 单机

OS用户名/组  uid=501(oracle) gid=500(oinstall) groups=502(dba),503(oper)

数据库名  rac

实例名      rac1

数据库字符集  AL32UTF8

数据文件存储方式 FS

2 恢复的相关信息:

2.1 确认备份的脚本是否正确备份

3 恢复的详细步骤

开始恢复:

3.1 在目标机上安装数据库软件,以及创建相应的目录

3.2 通过RMAN恢复spfile

rman target /

RMAN> startup force nomount;

RMAN> restore spfile from '/home/oracle/bk/c-96561339-20160111-00';

3.3 在目标机上修改initRACDB.ora

登录到数据库,生成pfile文件,并编辑,删除与集群即节点2相关参数,修改控制文件及其他目录路径,并根据需求创建相应目录(如闪回区、oracle基础目录)

3.4、启动到 mount

RMAN>sql 'alter database mount';

sql statement: alter database mount

released channel: ORA_DISK_1

3.5 注册备份集

catalog backuppiece '/home/oracle/bk/arch_7nqqvstc_1_1_YIRUPAY_20160110';

catalog backuppiece '/home/oracle/bk/arch_7oqqvstd_1_1_YIRUPAY_20160110';

catalog backuppiece '/home/oracle/bk/arch_7pqqvste_1_1_YIRUPAY_20160110';

catalog backuppiece '/home/oracle/bk/arch_83qr2j1c_1_1_YIRUPAY_20160111';

catalog backuppiece '/home/oracle/bk/arch_84qr2j1c_1_1_YIRUPAY_20160111';

catalog backuppiece '/home/oracle/bk/c-96561339-20160111-00';

catalog backuppiece '/home/oracle/bk/full_0_7hqqvssk_1_1_YIRUPAY_20160110';

catalog backuppiece '/home/oracle/bk/full_0_7iqqvssk_1_1_YIRUPAY_20160110';

catalog backuppiece '/home/oracle/bk/full_0_7jqqvssm_1_1_YIRUPAY_20160110';

catalog backuppiece '/home/oracle/bk/full_0_7kqqvssp_1_1_YIRUPAY_20160110';

catalog backuppiece '/home/oracle/bk/full_0_7lqqvst0_1_1_YIRUPAY_20160110';

catalog backuppiece '/home/oracle/bk/full_1_7tqr2j0t_1_1_YIRUPAY_20160111';

catalog backuppiece '/home/oracle/bk/full_1_7uqr2j0t_1_1_YIRUPAY_20160111';

catalog backuppiece '/home/oracle/bk/full_1_7vqr2j0u_1_1_YIRUPAY_20160111';

catalog backuppiece '/home/oracle/bk/full_1_80qr2j0u_1_1_YIRUPAY_20160111';

catalog backuppiece '/home/oracle/bk/full_1_81qr2j0v_1_1_YIRUPAY_20160111';

RMAN>list backup;

3.4 在目标机上用RMAN恢复

[根据备份信息,恢复数据文件及数据库

RMAN> run{

set newname for datafile 1 to '/oracle/oradata/system01.dbf';

set newname for datafile 2 to '/oracle/oradata/sysaux01.dbf';

set newname for datafile 3 to '/oracle/oradata/undotbs01.dbf';

set newname for datafile 9 to '/oracle/oradata/fcs_data01.dbf';

restore database skip  tablespace ACC_DATA,ACC_IDX,BAT_DATA,BAT_IDX,CHECKACC_DATA,CHECKACC_DATA_IDX,CHECK_ACCOUNT,NOTIFY_USER_DATA,NOTIFY_USER_IDX,PER_DATA,PER_IDX,PER_LOG_DATA,PER_LOG_IDX,USERS,YRF_PAY_DATA,YRF_PAY_IDX,UNDOTBS2,FCS_IDX;

switch datafile all;}

3.5 恢复归档到指定的目录:

SQL> archive log list

Database log mode              Archive Mode

Automatic archival             Enabled

Archive destination            USE_DB_RECOVERY_FILE_DEST

Oldest online log sequence     654

Next log sequence to archive   658

Current log sequence           658

SQL> alter system set log_archive_dest='/oracle/arch';

System altered.

SQL>

恢复节点1的归档日志

run{

set archivelog destination to '/oracle/arch';

restore archivelog  sequence between 1753 and 1756 thread 1;

}

恢复节点2的归档日志

run{

set archivelog destination to '/oracle/arch';

restore archivelog sequence between 2045 and 2048 thread 2;}

3.6 将redolog改名并清理:

SQL>sqlplus / as sysdba

alter database rename file '+ASMDATA/yirupay/onlinelog/group_1.257.893008511'  to '/oracle/oradata/log/redo1.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_2.258.893008511' to '/oracle/oradata/log/redo2.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_3.259.893008511' to '/oracle/oradata/log/redo3.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_4.260.893009701' to '/oracle/oradata/log/redo4.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_5.261.893009703' to '/oracle/oradata/log/redo5.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_6.262.893009703' to '/oracle/oradata/log/redo6.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_7.264.893776713' to '/oracle/oradata/log/redo7.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_8.265.893776715' to '/oracle/oradata/log/redo8.log';

alter database clear logfile group 1;

alter database clear logfile group 2;

alter database clear logfile group 3;

alter database clear logfile group 4;

alter database clear logfile group 5;

alter database clear logfile group 6;

alter database clear logfile group 7;

alter database clear logfile group 8;

3.、修改redo路径和名字

alter database rename file '+ASMDATA/yirupay/onlinelog/group_1.257.893008511'  to '/oracle/oradata/log/redo1.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_2.258.893008511' to '/oracle/oradata/log/redo2.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_3.259.893008511' to '/oracle/oradata/log/redo3.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_4.260.893009701' to '/oracle/oradata/log/redo4.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_5.261.893009703' to '/oracle/oradata/log/redo5.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_6.262.893009703' to '/oracle/oradata/log/redo6.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_7.264.893776713' to '/oracle/oradata/log/redo7.log';

alter database rename file '+ASMDATA/yirupay/onlinelog/group_8.265.893776715' to '/oracle/oradata/log/redo8.log';

3.8、删除不需要的表空间

alter database datafile 4 offline drop;

alter database datafile 5 offline drop;

alter database datafile 6 offline drop;

alter database datafile 7 offline drop;

alter database datafile 8 offline drop;

alter database datafile 11 offline drop ;

alter database datafile 12 offline drop ;

alter database datafile 13 offline drop ;

alter database datafile 14 offline drop ;

alter database datafile 15 offline drop ;

alter database datafile 16 offline drop ;

alter database datafile 17 offline drop ;

alter database datafile 18 offline drop ;

alter database datafile 19 offline drop ;

alter database datafile 20 offline drop ;

alter database datafile 21 offline drop ;

alter database datafile 22 offline drop ;

alter database datafile 23 offline drop ;

3.9 打开数据库:

SQL>  recover database using backup controlfile until cancel;

ORA-00279: change 11321006301221 generated at 08/22/201x 02:29:54 needed for

thread 1

ORA-00289: suggestion : /software/oracle/arch/1_660_716919669.dbf

ORA-00280: change 11321006301221 for thread 1 is in sequence #660

Specify log: {=suggested | filename | AUTO | CANCEL}

cancel

Media recovery cancelled.

关闭开启BCT

ALTER DATABASE DISABLE BLOCK CHANGE TRACKING;

alter database enable block change tracking using file '/oracle/arch';

recover database using backup controlfile until cancel;

SQL>  alter database open resetlogs;

Database altered.

SQL>

3.10 删除多余的线程。

SQL> select THREAD#, STATUS, ENABLED from v$thread;

THREAD# STATUS ENABLED

---------- ------ --------

1 OPEN   PUBLIC

2 CLOSED PUBLIC

SQL> select group# from v$log where thread#=2; --查出可以删除的日志文件.

SQL>ALTER DATABASE DISABLE THREAD 2; --disable将被删除日志文件的thread.

SQL> alter database drop logfile group 3; 删除日志组.

alter database drop logfile group 4;

alter database drop logfile group 5;

alter database drop logfile group 6;

alter database drop logfile group 8;

3.11  删除不用的UNDO_TABLESPACE.

SQL> show parameter undo;  --看正在使用的,在前面已经移除了UNDO_TABLESPACES2.

SQL> select tablespace_name from dba_tablespaces where contents='UNDO'; --查UNDO表空间.

SQL>drop tablespace UNDOTABS2 including contents and datafiles; --删除UNDO表空间.

临时表空间处理.

SQL> alter tablespace temp add tempfile  '/oracle/oradata/tempfile

/temp01.dbf' SIZE 200M;

alter database default temporary tablespace temp;

注:以上是异机恢复数据库的部分表空间的具体步骤,从ASM-FS,有问题可以邮件到.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值