天萃荷净

Oracle研究中心案例分析:运维DBA反映在做Oracle数据库500G~3T大小的数据进行迁移,涵盖单机、dataguard、rac迁移。

本站文章除注明转载外,均为本站原创: 转载自love wife & love life —Roger 的Oracle技术博客

本文链接地址: single instance to 3 node rac

最近做了很多套系统的迁移,大小500G~3T不等,方法差不多,有单机、dataguard、rac。

###### Single instance to rac(3 node)

1. create pfile

此时不用添加rac相关的参数,直接从原库create一份即可。

create pfile='/tmp/pfile.ora' from spfile;

恢复到asm需要修改pfile中control_files参数。

2. Restore controlfile;

rman target /

startup nomount pfile='/tmp/pfile.ora';

set dbid=2820248277;

restore controlfile   from '/backup/backup_control.bak';

3. Restore datafiles

---restore_database.sh

rman target / <

4. 拷贝原主库中archivelog到该主机

(此时原生产机还未停止)

11gR2中 如果你archivelog存放在FRA磁盘组中,可以直接使用asmcmd命令进行cp拷贝,如下:

cp  +fra/ucp/2012_10_08/thread_1_seq_323.291.796093125  /arch/thread_1_seq_323.291.796093125

cp  +fra/ucp/2012_10_08/thread_1_seq_324.293.796094275  /arch/thread_1_seq_324.293.796094275

cp  +fra/ucp/2012_10_08/thread_1_seq_325.294.796096147  /arch/thread_1_seq_325.294.796096147

cp  +fra/ucp/2012_10_08/thread_1_seq_326.296.796100409  /arch/thread_1_seq_326.296.796100409

cp  +fra/ucp/2012_10_08/thread_1_seq_327.297.796103579  /arch/thread_1_seq_327.297.796103579

cp  +fra/ucp/2012_10_08/thread_1_seq_328.298.796106599  /arch/thread_1_seq_328.298.796106599

cp  +fra/ucp/2012_10_08/thread_1_seq_329.299.796107497  /arch/thread_1_seq_329.299.796107497

cp  +fra/ucp/2012_10_08/thread_1_seq_330.300.796108397  /arch/thread_1_seq_330.300.796108397

cp  +fra/ucp/2012_10_08/thread_1_seq_331.301.796109067  /arch/thread_1_seq_331.301.796109067

5. Register archivelog

alter database register physical logfile '/arch/thread_1_seq_322.290.796091183';

alter database register physical logfile '/arch/thread_1_seq_323.291.796093125';

alter database register physical logfile '/arch/thread_1_seq_325.294.796096147';

alter database register physical logfile '/arch/thread_1_seq_326.296.796100409';

alter database register physical logfile '/arch/thread_1_seq_327.297.796103579';

alter database register physical logfile '/arch/thread_1_seq_328.298.796106599';

alter database register physical logfile '/arch/thread_1_seq_329.299.796107497';

alter database register physical logfile '/arch/thread_1_seq_330.300.796108397';

alter database register physical logfile '/arch/thread_1_seq_331.301.796109067';

当然你也可以使用更简单如下命令来注册archivelog:

rman target /

catalog start with '/arch';

6. Recover database

rman target /

recover database;

7. 第一次recover完成以后,由于我们业务系统还在运行,可能后面又会产生一些archivelog。

在该步骤停止业务系统,同时停库,停监听。

SQLPLUS > alter system checkpoint;

SQLPLUS > alter system switch logfile;

SQLPLUS > alter system switch logfile;

SQLPLUS > shutdown immediate

lsnrctl stop

8. 追加archivelog,进行recover。

拷贝上面第7步骤原生产库产生的archivelog,到恢复主机上,进行注册。

这样我们再进行recover,最后open数据库,这样可以最大程度的减少停机时间,速度快的话

保持在10~30分钟是没有任何问题的。

9.  rename redo logfiles

alter database rename file '/dev/raw/raw7'  to '+DATA/ucp/onlinelog/redo1_1';

alter database rename file '/dev/raw/raw12' to '+DATA/ucp/onlinelog/redo1_2';

alter database rename file '/dev/raw/raw8'  to '+DATA/ucp/onlinelog/redo2_1';

alter database rename file '/dev/raw/raw13' to '+DATA/ucp/onlinelog/redo2_2';

alter database rename file '/dev/raw/raw9'  to '+DATA/ucp/onlinelog/redo3_1';

alter database rename file '/dev/raw/raw14' to '+DATA/ucp/onlinelog/redo3_2';

alter database rename file '/dev/raw/raw10' to '+DATA/ucp/onlinelog/redo4_1';

alter database rename file '/dev/raw/raw15' to '+DATA/ucp/onlinelog/redo4_2';

alter database rename file '/dev/raw/raw11' to '+DATA/ucp/onlinelog/redo5_1';

alter database rename file '/dev/raw/raw16' to '+DATA/ucp/onlinelog/redo5_2';

alter database rename file '/dev/raw/raw17' to '+DATA/ucp/onlinelog/redo6_1';

alter database rename file '/dev/raw/raw22' to '+DATA/ucp/onlinelog/redo6_2'

10. Check checkpoint_change#是否一致

select max(checkpoint_change#) from v$datafile_header;

select min(checkpoint_change#) from v$datafile_header;

11. open resetlogs打开数据库

SQLPLUS > alter database open resetlogs;

说明:

1) 使用backup controlfile进行恢复,正常情况下必须以open resetlogs方式打开,即使你把原库的redo拷贝过来进行恢复也一样;

2) 如果想noresetlogs open数据库,唯一的方式就是重建controlfile,以noresetlogs方式重建即可。

3) 上面的open resetlogs操作会重建redo,tempfile,所以你观察alert log中出现一些相关的错误,可以忽略掉。

12. Create rac redo logfile

alter database add  logfile thread 2 group 6  size 512m;

alter database add  logfile thread 2 group 7  size 512m;

alter database add  logfile thread 2 group 8  size 512m;

alter database add  logfile thread 2 group 9  size 512m;

alter database add  logfile thread 2 group 10 size 512m;

alter database add  logfile thread 3 group 11 size 512m;

alter database add  logfile thread 3 group 12 size 512m;

alter database add  logfile thread 3 group 13 size 512m;

alter database add  logfile thread 3 group 14 size 512m;

alter database add  logfile thread 3 group 15 size 512m;

13. Create undo tablespace

create undo tablespace undotbs2 datafile '+DATA' size 20480m autoextend off;

create undo tablespace undotbs3 datafile '+DATA' size 20480m autoextend off;

14. create spfile

SQLPLUS > create spfile from pfile='/tmp/pfile.ora';

SQLPLUS > shutdown immediate

SQLPLUS > startup mount

15. Modify cluster parameters

alter system set cluster_database=true scope=spfile;

alter system set cluster_database_instances = 3 scope = spfile;

alter system set instance_number=1 scope=spfile sid='UCP1';

alter system set instance_number=2 scope=spfile sid='UCP2';

alter system set instance_number=3 scope=spfile sid='UCP3';

16. Restart instance

export ORACLE_SID=UCP3

sqlplus "/as sysdba"

shutdown immediate;

startup

17. 根据该rac实例spfile,创建pfile,用于启动其他2个rac 节点

sqlplus "/as sysdba"

create pfile='/tmp/pfile.ora' from spfile;

18. 修改/tmp/pfile.ora中rac相关参数,以及创建相关的目录

19. 启动剩余的2个rac 实例

20. 修改undo_tablespace

alter system set undo_tablespace=undotbs1 scope=both sid='UCP1';

alter system set undo_tablespace=undotbs2 scope=both sid='UCP2';

alter system set undo_tablespace=undotbs3 scope=both sid='UCP3';

21. 注册数据库实例到crs中

srvctl add database -d UCP -o $ORACLE_HOME

srvctl add instance -d UCP -i UCP1 -n node1

srvctl add instance -d UCP -i UCP2 -n node2

srvctl add instance -d UCP -i UCP3 -n node3

22. 配置listener.ora、tnsnames.ora

23. 启动listener,测试业务.

说明:本来还是从10gR2 rac(raw)开始恢复,然后到10g单实例asm(该节点已经安装好11gR2 grid和db,但是我tar了10g的 $ORACLE_HOME,使用10g创建了asm diskgroup),然后直接升级到11gR2,最后再从该11gR2单节点恢复到另外一个3节点的11gR2 rac中。

由于第一次操作完成后,即升级完成之后,最后主机重启出现故障,无法启动,故作罢。最后可以花了将近10个小时的时间直接从10g中exp导入到11gR2中,后面我接着从11gR2 恢复到3节点rac。

中间省略了很多的内容,不过大体上思路都差不多,没有什么复杂的东西,故不做过多描述。

--------------------------------------ORACLE-DBA----------------------------------------

最权威、专业的Oracle案例资源汇总之【案例】Oracle数据库500G~3T大小迁移 详细方法步骤

mysql导入500g_【案例】Oracle数据库500G~3T大小迁移 详细方法步骤相关推荐

  1. mysql long varchar2_案例:Oracle数据库long查询结果转换为varchar2类型方法的操作步骤...

    天萃荷净 将Oracle数据库查询出来的long结果转换为varchar2类型数据 来自Thomas Kyte <Oracle9i/10g/11g编程艺术> 12章节中.由于long的操作 ...

  2. qt mysql 注册码_QT连接Oracle数据库并实现登录验证的操作步骤

    目的: 本文实现QT登录界面,输入账号和密码后,系统连接Oracle数据进行判断账号和密码(MD5加密)是否和数据库一致,如果一致则提示登录成功. 开发环境:Windows10+QT5.14.2+Or ...

  3. oracle导入solr,从Oracle数据库导入XML数据时solr dih会变慢

    我正在执行一个solr-dih(dataimporthandler)任务,导入存储在Oracle数据库中的大约2000万个文档.最初,这些进口每秒将增加到500多个文档,但在前150000个文档中,速 ...

  4. mysql导入sql文件、数据库时报错ERROR: ASCII ‘\0‘ appeared in the statement

    mysql导入sql文件.数据库时报错ERROR: ASCII '\0' appeared in the statement

  5. mysql数据库,oracle数据库中对字段的拼接方法

    mysql数据库,oracle数据库中对字段的拼接方法 1.简介 在日常开发中,常常有将多个字段拼接进行sql操作的场景,比如做模糊查询,我这里分两种环境阐述:1.在数据库中的写法:2.在mybati ...

  6. oracle 查看并行数据库,Oracle数据库并行查询出错的解决方法

    Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1.错误描述 ORA-12801: 并行查询 ...

  7. 查看Oracle数据库表空间大小(空闲、已使用),是否要增加表空间的数据文件

    http://suan2046.iteye.com/blog/379539 标题:查看Oracle数据库表空间大小,是否需要增加表空间的数据文件 在数据库管理中,磁盘空间不足是DBA都会遇到的问题,问 ...

  8. oracle数据库速度测试,【原创】验证在Oracle数据库中操纵数据的各种方法的速度...

    机器配置:组装的PC SERVER,4AMD CPU,8G内存,4块SCSI硬盘.Oracle 10.2.0.4. 试验目的:在244上,对xxx_flow表进行复制.更新,验证在Oracle数据库中 ...

  9. oracle并行查询结果不唯一,Oracle数据库并行查询出错的解决方法

    Oracle的并行查询是使用多个操作系统级别的Server Process来同时完成一个SQL查询,本文讲解Oracle数据库并行查询出错的解决方法如下: 1.错误描述 sql;"> ...

最新文章

  1. iOS 去除按钮的按下效果(阴影)
  2. Neuron:迄今为止最大的颗粒细胞数据,发现海马齿状回神经元可过滤并放大空间信息...
  3. 使用Talend Open Studio将数据分步从oracle导入到hive中
  4. 首批华为鸿蒙系统课程开发者
  5. 利用wojilu框架仿一个网站的全过程(Step by Step利用wojilu框架开发网站系列二 附源码)...
  6. SAP License:SAP合同类型的使用
  7. 做业务千万不要把鸡蛋放在一个篮子里
  8. Gitee仓库创建及本地项目如何关联并上传
  9. Linux内核源码阅读之系统调用mmap()
  10. 【2019杭电多校第八场1011=HDU6667】Roundgod and Milk Tea(贪心)
  11. 为了探究不同光照处理_初中化学 | 控制变量法与影响因素的探究
  12. Parser-Free Virtual Try-on via Distilling Appearance Flows代码解析
  13. (笔记)《游戏脚本高级编程》——第1章 脚本编程概论
  14. 海关179对接问题及解决办法大集锦
  15. 目标检测 YOLO 系列:快速迭代 YOLO v5
  16. 鸿蒙(HarmonyOS)支持低代码开发,无需HTML知识,就可以设计复杂界面
  17. MSVCR100.dll丢失
  18. 实时视频带宽的计算过程
  19. 闲鱼网站实时监控iphone最新发布信息
  20. 硬盘加密数据怎么恢复?BitLocker加密文件可恢复吗?BitLocker加密数据怎么恢复?

热门文章

  1. MATLAB:Floyd算法的解释
  2. matlab fft谱分析实验报告,matlab信号频谱分析FFT详解
  3. python可以在macbook_在mac上搭建python环境
  4. 将大量文件归类的简单操作
  5. 0-1背包算法和完全背包算法MATLAB代码实现
  6. Python开发AI
  7. 4月份可升级鸿蒙手机型号,华为手机4月份升级鸿蒙OS,包含荣耀共28款机型
  8. 仿微信H5聊天系统即时通讯社交完整优化版搭建,IM聊天APP聊天交友客服,带安卓苹果端APP源码+视频教程
  9. 基于FPGA的SATA Host速度协商和OOB实现
  10. “2017CIO时代走进系列:走进蓝月亮”活动圆满结束