RMAN迁移(单机到RAC)

一、备份恢复

1 源端全备

主库备份
在这里插入图片描述
在这里插入图片描述
查看备份
在这里插入图片描述
在这里插入图片描述

2 源端创建pfile参数文件&修改参数文件

create pfile='/data/backup/recover.ora' from spfile;
vi recover.ora
bpxtest2.__db_cache_size=3355443200
bpxtest2.__java_pool_size=16777216
bpxtest2.__large_pool_size=50331648
bpxtest2.__oracle_base='/opt/oracle'#ORACLE_BASE set from environment
bpxtest2.__pga_aggregate_target=872415232
bpxtest2.__sga_target=4294967296
bpxtest2.__shared_io_pool_size=0
bpxtest2.__shared_pool_size=771751936
bpxtest2.__streams_pool_size=0
*._disk_sector_size_override=true
*._high_priority_processes='LMS*|VKTM|DBW*|LGWR'
*.audit_file_dest='/opt/oracle/admin/recover/adump'
*.audit_sys_operations=false
*.cluster_database=false
*.compatible='11.2.0.4.0'
*.control_files='+DATADG'
*.db_16k_cache_size=16777216
*.db_2k_cache_size=16777216
*.db_32k_cache_size=16777216
*.db_4k_cache_size=16777216
*.db_block_size=8192
*.db_create_file_dest='+DATADG'
*.db_create_online_log_dest_1='+DATADG'
*.db_files=200
*.db_name='BPXTEST'
*.db_unique_name='recover'
*.db_writer_processes=4
*.fal_client='slave_db'
*.filesystemio_options='setall'
*.LOCAL_LISTENER=''
*.log_archive_config=''
*.log_archive_dest_1='location=+DATADG'
*.memory_target=0
*.open_cursors=300
*.parallel_execution_message_size=65536
*.processes=1000
*.REMOTE_LISTENER=''
*.sec_case_sensitive_logon=true
*.service_names='recover'
*.sga_target=4096M
*.standby_file_management='AUTO'

3 拷贝文件到目标端&创建审计目录

scp /data/backup/* target:/home/oracle/rman
mkdir -p /opt/oracle/admin/recover/adump

4 启动目标端数据库到nomount阶段

export ORACLE_SID=recovery
startup nomount pfile='/home/oracle/rman/recover.ora'

在这里插入图片描述

create spfile='+DATADG' from pfile='/home/oracle/rman/recover.ora';
create spfile='/opt/oracle/products/11.2.0/dbs/spfilerecover.ora' from pfile='/home/oracle/rman/recover.ora';

在这里插入图片描述

5 目标端恢复控制文件&mount阶段

在这里插入图片描述
自动修改路径
在这里插入图片描述

6 注册备份

在这里插入图片描述

7 目标端恢复数据文件#方案1

源端查询数据文件数量

select 'set newname for datafile '||file_id||' to '''||'+DATADG'||''';' cmd from dba_data_files order by file_id;
select 'set newname for tempfile '||file_id||' to '''||'+DATADG'||''';' cmd from dba_temp_files;

在这里插入图片描述
在这里插入图片描述

run {
set newname for datafile 1 to '+DATADG';
set newname for datafile 2 to '+DATADG';
set newname for datafile 3 to '+DATADG';
set newname for datafile 4 to '+DATADG';
set newname for datafile 5 to '+DATADG';
set newname for datafile 6 to '+DATADG';
set newname for datafile 7 to '+DATADG';
set newname for tempfile 1 to '+DATADG';
restore database;
switch datafile all;
switch tempfile all;
}

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

使用rman进行恢复时,如果使用了set name修改文件路径,那么恢复后,控制文件里面的信息是没有修改该的。
如果要同步控制文件的信息那么就需要使用

RMAN> list backup of archivelog all;
RMAN> recover database until scn 6860727;

8 目标端恢复数据文件#方案2

run {
switch database to copy;
restore database;
switch datafile all;
switch tempfile all;
}

9 增量备份

源端数据库备份归档

run {
allocate channel d1 type disk;
sql 'alter system archive log current';
backup
tag db_arch format '/data/backup/recover_arch_%s_%p_%t'
(archivelog all);
release channel d1;
}

关闭源端数据库

shutdown immediate

注册并检查备份集

catalog start with '/home/oracle/rman';
crosscheck backup;

在这里插入图片描述

10 rename redo

在这里插入图片描述

alter database rename file '/redo/BACKUP/onlinelog/o1_mf_2_jrsxonp2_.log' to '+DATADG';
alter database rename file '/redo/BACKUP/onlinelog/o1_mf_1_jrsxoh7q_.log' to '+DATADG';
alter database rename file '/redo/BACKUP/onlinelog/o1_mf_3_jrsxot7b_.log' to '+DATADG';
alter database rename file '/redo/BACKUP/onlinelog/o1_mf_4_jrsxozl9_.log' to '+DATADG';
alter database rename file '/redo/BACKUP/onlinelog/o1_mf_11_jrsxp72m_.log' to '+DATADG';
alter database rename file '/redo/BACKUP/onlinelog/o1_mf_12_jrsxpdw4_.log' to '+DATADG';

在这里插入图片描述

11 打开数据库

alter database open resetlogs

在这里插入图片描述

二 调整集群参数

1 查看undo和redo(thread)

在这里插入图片描述
在这里插入图片描述

create undo tablespace undotbs2 datafile '+DATADG' size 500m;
alter system set undo_tablespace='UNDOTBS2' sid='recover2';

alter database add logfile thread 2 '+DATADG' size 50m;
alter database add logfile thread 2 '+DATADG' size 50m;
alter database add logfile thread 2 '+DATADG' size 50m;	
select group#, bytes/1024/1024/1024 as GB,status,thread# from v$log order by thread#;

2 开启集群模式&分配线程

查看集群参数
show parameter cluster
将数据库修改为集群
alter system set cluster_database=true scope=spfile;
修改为2个实例
alter system set cluster_database_instances=2 scope=spfile;
分配线程
alter system set instance_number=1 scope=spfile sid='recover1';
alter system set instance_number=2 scope=spfile sid='recover2';

3 临时表空间

在这里插入图片描述

4 注册实例

srvctl add database -d bq -o /opt/oracle/products/11.2.0 -p +DATADG/RECOVER/PARAMETERFILE/spfilerecover.ora

在这里插入图片描述

5 启动数据库

在这里插入图片描述

在这里插入图片描述

6 验证CRS

在这里插入图片描述

7 集群创建脚本

@/opt/oracle/products/11.2.0/rdbms/admin/catclust.sql

在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值