Oracle RAC恢复单实例

1、参数文件恢复

ecard.__db_cache_size=11307843584   **---将名字里的1和2去掉**
ecard.__java_pool_size=134217728
ecard.__large_pool_size=167772160
ecard.__pga_aggregate_target=5469372416
ecard.__sga_target=16374562816
ecard.__shared_io_pool_size=0
ecard.__shared_pool_size=4261412864
ecard.__streams_pool_size=67108864
*.audit_file_dest='/u01/app/oracle/admin/ecard/adump'    **---新建所需目录**
*.audit_trail='NONE'
*.compatible='11.2.0.4.0'
*.control_file_record_keep_time=10
*.control_files='/oradata/ECARD/control01.ctl','/oradata/fast_recovery_area/control02.ctl'     **---新建所需目录**
*.db_block_size=8192
*.db_create_file_dest='/oradata'     **---新建所需目录**
*.db_domain=''
*.db_name='ecard'
*.db_recovery_file_dest='/arch'     **---新建所需目录**
*.db_recovery_file_dest_size=16876830720
*.deferred_segment_creation=FALSE
*.diagnostic_dest='/u01/app/oracle'
*.dispatchers='(PROTOCOL=TCP) (SERVICE=ecardXDB)'
*.event='28401 trace name context forever,level 1','10949 trace name context forever,level 1'
*.log_archive_dest_1='location=/arch'     **---新建所需目录**
*.log_archive_format='%t_%s_%r.arc'
*.max_dump_file_size='4096M'
*.open_cursors=300
*.parallel_force_local=TRUE
*.pga_aggregate_target=5453643776
*.processes=1000
*.remote_login_passwordfile='exclusive'
*.sga_target=16360931328
*.undo_retention=10800
ecard.undo_tablespace='UNDOTBS1'

2、恢复控制文件

RMAN>restore controlfile from '/oradata/backup/ctl_ECARD_20230506_5218_1.bkp';
 
RMAN>alter database mount;

3、恢复数据文件

crosscheck backup;
delete noprompt expired backup;
crosscheck archivelog all;
delete noprompt expired archivelog all;
catalog start with '/oradata/backup/';


run
 {
   allocate channel c1 device type disk ;
   allocate channel c2 device type disk ;
   allocate channel c3 device type disk ;
   allocate channel c4 device type disk ;
set newname for datafile   4   to "/oradata/dbname/datafile/users.dbf";
set newname for datafile   3   to "/oradata/dbname/datafile/undotbs1.dbf";
set newname for datafile   2   to "/oradata/dbname/datafile/sysaux.dbf";
set newname for datafile   1   to "/oradata/dbname/datafile/system.dbf";
set newname for datafile   5   to "/oradata/dbname/datafile/undotbs2.dbf";
set newname for tempfile  1 to "/oradata/dbname/tempfile/temp.tmp";
RESTORE DATABASE;
SWITCH DATAFILE ALL;
SWITCH TEMPFILE ALL; 
   release channel c1;   
   release channel c2;  
   release channel c3;   
   release channel c4; 
}

4、恢复归档

RMAN> list backupset of archivelog all;


run{
set until sequence 963 thread 1;
set until sequence 946 thread 2;
recover database;
}

备份归档语句如下

run
{
allocate channel t1 device type disk;
allocate channel t2 device type disk;
sql 'alter system archive log current';
sql 'alter system archive log current';
sql 'alter system archive log current';
backup as compressed backupset format '/home/oracle/rmanbak/archbak/20230506/archfull%T%U.bak' archivelog all;
release channel t1;
release channel t2;
}

5、重命名redo

alter database rename file '+DATA/dbname/onlinelog/group_2.262.1096990975' to   '/oradata/dbname/onlinelog/redo0201.log';
alter database rename file '+FRA/dbname/onlinelog/group_2.258.1096990981' to   '/oradata/fast_recovery_area/redo0202.log';
alter database rename file '+DATA/dbname/onlinelog/group_1.261.1096990961' to   '/oradata/dbname/onlinelog/redo0101.log';
alter database rename file '+FRA/dbname/onlinelog/group_1.257.1096990967' to   '/oradata/fast_recovery_area/redo0102.log';
alter database rename file '+DATA/dbname/onlinelog/group_3.266.1096993001' to   '/oradata/dbname/onlinelog/redo0301.log';
alter database rename file '+FRA/dbname/onlinelog/group_3.260.1096993009' to   '/oradata/fast_recovery_area/redo0302.log';
alter database rename file '+DATA/dbname/onlinelog/group_4.265.1096993019' to   '/oradata/dbname/onlinelog/redo0401.log';
alter database rename file '+FRA/dbname/onlinelog/group_4.259.1096993025' to   '/oradata/fast_recovery_area/redo0402.log';

可能需要多次归档恢复,恢复后在进行open

6、打开数据库

alter database open resetlogs;

迁移后续操作:

1、查看数据库各文件路径是否正常

set line 9999 pagesize 9999
col FILE_NAME format a60
select 'datafile' file_type, file#,name FILE_NAME,status,enabled from v$datafile
union all
select 'tempfile',file#,name FILE_NAME,status,enabled from v$tempfile
union all
select 'logfile',group# file#,member FILE_NAME,status,'' from v$logfile
union all
select 'controlfile', to_number('') ,name FILE_NAME,status,'' from v$controlfile;

2、清理redo thread2

col instance format a8
select thread#,instance,status,enabled from v$thread;
alter database disable thread 2;

3、清理Undo

SQL> select name from v$tablespace where name like 'UNDO%';

NAME
------------------------------
UNDOTBS1
UNDOTBS2

SQL> show parameter undo_tablespace;

NAME                     TYPE     VALUE
------------------------------------ ----------- ------------------------------
undo_tablespace              string     UNDOTBS1

SQL> drop tablespace undotbs2 including contents and datafiles;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值