oracle数据库迁移存储方案

一、RAC数据库迁移方案

oracle rac主要分为两部分:数据磁盘组和OCR磁盘组。
迁移原理:利用ASM rebalance特性进行存储迁移。
停机窗口:在线完成,无需停机。
具体步骤:

1、利用rman备份数据库

全备脚本

#这个是rman全备shell脚本 
#date 2019-02-27
#定义全局变量ORACLE_SID、ORACLE_HOME、ORACLE_BASE、NLS_LANG
export ORACLE_SID=or11g 
export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_4 
export ORACLE_BASE=/u01/app/oracle 
export NLS_LANG="SIMPLIFIED CHINESE_CHINA.ZHS16GBK" 
#定义变量backuptime,用于保存备份文件和备份日志
backuptime=`date +"20%y%m%d%H%M%S"` 
backup_dir=/u01/app/$backuptime
if [[ ! -e "$backup_dir" ]]
then
        mkdir -p $backup_dir
        touch $backup_dir/log
        chown -R oracle:oinstall $backup_dir
        chmod -R 775 $backup_dir
fi
su - oracle 1>$backup_dir/log 2>&1 <<EOF
cd $ORACLE_HOME/bin 
rman target / 
run{ 
allocate channel c1 device type disk; 
allocate channel c2 device type disk; 
allocate channel c3 device type disk;  
crosscheck backup; 
sql 'alter system archive log current'; 
backup database format '$backup_dir/db_%d_%T_%U'; 
sql 'alter system archive log current'; 
backup archivelog all format '$backup_dir/arc_%t_%s' delete all input;  
backup current controlfile format '$backup_dir/cntrl_%s_%p_%s'; 
crosscheck archivelog all; 
delete noprompt expired backup; 
delete noprompt obsolete; 
delete noprompt backup of database completed before 'sysdate - 30'; 
release channel c1; 
release channel c2; 
release channel c3; 
} 
 
EOF 
echo "backup complete!" 

2、备份OCR(使用root执行)

#ocrconfig -manualback

3、检查OCR配置

#ocrcheck

4、从新存储划分磁盘(大小与原有相同)

5、使用udev绑定ASM磁盘(对于虚拟机不需要配置多路径)

6、确认新磁盘,修改asm_diskstring参数

#查看当前值

SQL> show parameter asm_diskstring

NAME				     TYPE	 VALUE
------------------------------------ ----------- ------------------------------
asm_diskstring			     string	 /dev/asm*

#修改当前参数值

SQL>alter system set asm_diskstring=’/dev/asm*’,’/dev/emcpowerh*’

注:
#’/dev/asm*‘是当前磁盘.
#’/dev/emcpowerh*'是新磁盘.

#查看新识别到的硬盘

SQL> select path from v$asm_disk;

7、使用ASMCA添加硬盘

8、等待rebalance完成

SQL> select * from v$asm_operation;
SQL> select * from gv$asm_operation;

#没有数据则rebalance完成

9、rebalance完成后删掉旧磁盘

asmca

删除相应磁盘

10、删除磁盘也会触发rebalance操作,确认rebalance操作完成后,再从操作系统层面、存储层面删除磁盘。

SQL> select * from v$asm_operation;
SQL> select * from gv$asm_operation;
SQL>select name,allocation_unit_size, total_mb from v$asm_diskgroup;
SQL>alter diskgroup dgroup1 rebalance;

二、单实例数据库迁移方案

利用rman copy 特性进行存储迁移
停机窗口:需要停机

1、划分存储、绑定,创建文件系统并挂载到新目录。新目录暂定为:/datanew

2、迁移数据文件及控制文件

#修改参数

db_create_file_dest
control_files
db_recovery_file_dest

#迁移控制文件(将数据库启动到nomount状态)

restore controlfile from ‘/u01/control01.ctl’; --旧控制文件

#将数据库启动到mount状态

alter database mount;

#迁移数据文件

backup as copy database format '/datanew';
switch database to copy;
recover database;

3、迁移临时表空间和联机日志文件,添加新的临时文件到新的磁盘组,删除老的临时文件

run
{
set newname for tempfile ‘/u01/temp01.dbf’ to ‘/datanew/temp01.dbf’;
switch tempfile all;
}

4、打开数据库

5、重建在线日志(确保都处于open)

select a.group#,a.thread#,a.members,a.archived,a.status,b.member from v$log a,v$logfile b
where a.group#=b.group#;
  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值