客户新买了oda三代一体机,想替换原来的一代的一体机。原来的环境安装的是oracle11.2.0.2的rac,新的一体机安装的是oracle11.2.0.4。对于客户来说,想通过最短的时间来实现切换。最好的办法就是通过rman来实现,追加归档,现在我们把具体的操作过程记录下来。

1、安装oda环境

oracle的一体机的安装相当简单,完全可以通过一键方式来实现。上传专门为oda设计编译的db.zip和grid.zip,通过自带的工具便可安装,这项工作主要由oda的工程师完成

配置ip这些都不用操心,只要给出网段,在安装过程中,可以自动配置!

在安装的oda机器上,进行以下

public ip : 10.10.10.131    erptest1-pub

10.10.10.141    erptest2-pub

私网ip是由oda安装过程中自动生成的,这个我们不用管了

vip ip:     10.10.10.132    erptest1-vip

10.10.10.142    erptest2-vip

scan ip:    10.10.10.200    nctest-scan

一键安装的oda,建了三个dg:data,redo,reco,其中redo是建在固态硬盘上的!

2、配置备份目录

由于在原oda上面,没有更多的空间拿来用作备份,所以,通过挂载其它机器上的硬盘来实现

在提供硬盘的机器上设置exports

[root@backup ~]# mkdir -p /u01/backup

[root@backup ~]# vi /etc/exports

/u01/backup 192.168.10.*(rw,sync,no_root_squash)

然后在使用的机器上挂载

[root@oldtest1 ~]# mkdir -p /u01/backup

[root@oldtest1 ~]# mount -o nolock 10.10.10.120:/u01/backup /u01/backup

[root@oldtest1 ~]# chown -R oracle:oinstall /u01/*

挂载后,可以通过df -h来验证

3、备份数据库到目录

脚本如下:erpbackup.sh

run {

allocate channel c1 type disk maxpiecesize = 20G;

allocate channel c2 type disk maxpiecesize = 20G;

backup incremental level 0 database format '/u01/backup/%d_DF_%T_%s_%p.bak'

plus archivelog

format '/u01/backup/%d_AF_%T_%s_%p.log' delete all input;

backup current controlfile format '/u01/backup/%d_CTL_%T_%s_%p.bak';

release channel c1;

release channel c2;

}

[oracle@oldtest1 ~]# chmod +x erpbackup.sh

[oracle@oldtest1 ~]# nohup ./erpbackup.sh > erpbackup.sh.out &

备份时间大约一个小时。

4、新的oda机器上进行还原

--准备工作

按上面的方法,把备份目录挂载到新机器上去,然后把旧机的参数文件复制过去

SQL> create pfile = '/u01/backup/oldspfile.ora' from spfile;

注意:

修改参数:*.remote_listener,把里面的host部份,修改成当前的host部份。实例名保持与原机相同!

创建审计目录,这个在参数文件中有,如果没创建,无法启动(两个节点都要创建)

--还原控制文件

整个恢复过程,在一台机器上做就行了

[oracle@erptest1 ~]# export ORACLE_SID=orcl1

[oracle@erptest1 ~]# rman target /

RMAN> startup nomount pfile='/u01/backup/oldspfile.ora';

把数据库启动到nomount状态

RMAN> run

2> {

3> allocate channel c1;

4> restore controlfile from '/u01/backup/控制文件备份集';    --含有'CTL'的那个文件

5> release channel c1;

6> }

在这里,发现找不到+data这个dg,但是使用dbca建一个库进行测试的时候,却能发现dg。在第一个节点,我们使用dbca创建一个库,然后删除,再进行还原,问题消失。但后来在第二个节点启动实例时,发现仍然无法认识dg,无法启动。最后分析,是权限问题:

我们在第二个节点的处理方法如下:

[root@erptest1 ~]# id oracle

uid=500(oracle) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper),506(asmdba)

[root@erptest1 ~]# id grid

uid=501(grid) gid=501(oinstall) groups=501(oinstall),502(dba),503(oper),504(asmadmin),505(asmoper),506(asmdba)

比较后,对oracle增加一个asmadm的组

[root@erptest1 ~]# usermod -a -G asmadmin oracle

[root@erptest1 ~]# cd /u01/app/11.2.0.4/grid/bin

[root@erptest1 bin]# chmod +s oracle

这样处理后,第二个节点马上可以起动,并且顺利读到控制文件!

--恢复数据库文件

还原控制文件后,可以把数据库启动mount

SQL> alter database mount;

脚本如下:restoredf.sh

rman target / <

run {

ALLOCATE CHANNEL c1

Restore database;

RELEASE CHANNEL c1;

}

exit

EOF

[oracle@erptest1 ~]# chmod +x restoredf.sh

[oracle@erptest1 ~]# nohup ./restoredf.sh > restoredf.sh.out &

还原时间,大概使用了10个小时,后来检查,备份的时候使用的是1000m,而接到新oda机器的是100m,所以速度明显下降!

--恢复归档日志

检查需要恢复的归档

SQL> select THREAD#,min(SEQUENCE#) minseq,max(SEQUENCE#) maxseq from v$archived_log where COMPLETION_TIME > to_date('2014-05-24 11:00:00','yyyy-mm-dd hh24:mi:ss') group by THREAD#;

THREAD#     MINSEQ     MAXSEQ

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

1        777        778

2        605        607

脚本如下:restorearch.sh

rman target / <

run

{

ALLOCATE CHANNEL c1

set archivelog destination to '/u01/arch';

restore archivelog sequence between 777 and 778 thread 1;

restore archivelog sequence between 605 and 607 thread 2;

RELEASE CHANNEL c1;

}

exit

EOF

其使用方法同上

根据上面提供的查询,对归档日志进行恢复!

--recover数据库

这个时候,可以对数据库进行 recover

SQL> recover database using backup controlfile until cancel;

ORA-00279: change 51849272 generated at 24/05/2014 11:32:23 needed for thread 1

ORA-00289: suggestion : /u01/arch/1_605_802032812.dbf

ORA-00280: change 51849272 for thread 1 is in sequence #4762

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

auto  --输入auto

这样,就可以把数据库进行recover了

最后完成后,再执行一次

SQL> recover database using backup controlfile until cancel;

这个时候,选择cancel

SQL> alter database open resetlogs upgrade;

这个时候,可能会提示是完全恢复,不需要resetlogs,如果出现这种提示就执行以下命令,直接打开数据库:

SQL> shutdown immediate;

SQL> startup pfile='/u01/backup/oldspfile.ora' upgrade;

--创建临时表空间

SQL> create temporary tablespace temp1 tempfile '+DATA' size 8192m;

Tablespace created.

SQL> alter database default temporary tablespace temp;

Database altered.

5、升级数据库

--运行升级数据字典

SQL> @?/rdbms/admin/catupgrd.sql;

这个大概需要半个小时时间,根据机器性能定

--检查升级状态

SQL> @?/rdbms/admin/utlu112s.sql;

--检查失效对象并重新编译

SQL> select count(*) from dba_invalid_objects;

如果存在,就执行以下语句

SQL> @?/rdbms/admin/utlrp.sql;

到这里,升级过程基本上完成

6、注册数据库

--在data的dg中,建一个parameterfile目录

使用grid用户进行创建

[grid@erptest1 ~]# export ORACEL_SID=+ASM1

[grid@erptest1 ~]# asmcmd

ASMCMD> cd data/orcl

ASMCMD> mkdir parameterfile

--在sqlplus 中创建spfile

SQL> create spfile = '+data/orcl/parameterfile/spfileorcl.ora' from pfile = '/u01/backup/oldspfile.ora';

创建完成后,在dbs中编辑initorcl1.ora内容如下

spfile='+data/orcl/parameterfile/spfileorcl.ora'

在第二节点就编辑 initorcl2.ora,内容与第一节点一样

--注册数据库

使用oracle用户进行数据库和实例的注册

[oracle@erptest1 ~]# srvctl add database -d orcl -o /u01/app/oracle/product/11.2.0/dbhome_1 -p +DATA/power/parameterfile/spfileorcl.ora

[oracle@erptest1 ~]# srvctl add instance -d orcl -i orcl1 -n erpmytest1

[oracle@erptest1 ~]# srvctl add instance -d orcl -i orcl2 -n erpmytest2

到这个时候,所有的工作基本上就做完了,启动数据库就可以了!

--检验结果

SQL> shutdown immedate

[oracle@erptest1 ~]# $srvctl start database -d orcl

[oracle@erptest1 ~]# $srvctl status database -d orcl

Instance orcl1 is running on node orcl1

Instance orcl2 is running on node orcl2

说明:刚开始的时候,我们在这里遇到了问题,就是分别从各个节点起动数据库,进行status是,显示is not running,这个是由于我们恢复的数据库,集群不认所至,只有通过srvctl来启动,就会被认到!

oracle rac 一体机,oda一体机异机rman升级11.2.0.2rac到11.2.0.4相关推荐

  1. Oracle 运维篇+RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要

    说明:本文为Oracle RAC集群转单实例/RMAN异机恢复/RMAN迁移/RMAN备份恢复操作概要方便用户查阅 温馨提示:如果您发现本文哪里写的有问题或者有更好的写法请留言或私信我进行修改优化 说 ...

  2. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 集群(续)

    DBA:Linux    下载  Oracle 数据库 11g    标签 linux, rac, clustering, 全部 在 Oracle Enterprise Linux 和 iSCSI 上 ...

  3. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群

    作者:Jeffrey Hunter 了解如何以低于 2,700 美元的费用在 Oracle Enterprise Linux 上安装并配置 Oracle RAC 11g 第 2 版开发集群. 本指南中 ...

  4. 在 Oracle Enterprise Linux 和 iSCSI 上构建您自己的 Oracle RAC 11g 集群 (2)

    13. 创建任务角色划分操作系统权限组.用户和目录 在集群的两个 Oracle RAC 节点上针对 grid 和 oracle 用户执行以下用户.组和目录配置并设置 shell 限制的任务.     ...

  5. oracle数据库gi,Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8)

    Oracle_RAC数据库GI的PSU升级(11.2.0.4.0到11.2.0.4.8) 本次演示为升级oracle rac数据库,用GI的psu升级,从11.2.0.4.0升级到11.2.0.4.8 ...

  6. Oracle 10g RAC RMAN备份异机单实例恢复

    本文通过将Oracle 10g RAC RMAN的完整的备份进行异机恢复的过程,可以对在恢复的过程中可以发现备份时的一些问题.比如规档日志的冗余,控制文件与参数文件的自动备份的利用等,本示例是拿了rm ...

  7. linux dump命令 异机,Oracle 11.2.0.4 从单实例,使用RMAN 异机恢复到RAC

    Oracle 11.2.0.4从单实例,使用RMAN异机恢复到RAC 注意: (1)迁移的2个db版本版本要一致.包括小版本. (2)RMAN异机恢复的时候,db_name必须相同.如果说要想改成其他 ...

  8. Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

    Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Con ...

  9. ORACLE 12c rac备份异机单实例恢复(RMAN recover database出现RMAN-06054)

    1.首先在源rac 环境创造 数据,任何能体现与恢复环境不同的情况都可以. 本次模拟环境的目标机器上有一个db名与rac库一致的单实例db简略部分步骤 insert into test.table1 ...

最新文章

  1. YML(2)yml 语法
  2. 属于链路状态路由选择协议,
  3. 解析#pragma指令
  4. python3 爬虫4--解析链接
  5. [蓝桥杯][2014年第五届真题]地宫取宝(记忆化搜索)
  6. 使用Docker 安装Elasticsearch、Elasticsearch-head、IK分词器 和使用
  7. 反转 鼠标_新版 Win10 中改变鼠标颜色
  8. 本周ASP.NET英文技术文章推荐[03/23 - 04/05]:C#、Visual Studio、MVC、死锁、Web 2.0 API、jQuery、IIS7、FileUpload...
  9. 40. Element getAttribute() 方法
  10. docker容器安装和配置实战
  11. python语言单词_python – 在动词/名词/形容词之间转换单词
  12. 21天学通Java学习笔记-Day05
  13. 优达笔记-安然数据分析 异常值处理
  14. RequestResponse入门1(Request)
  15. c语言void delay是什么意思,delay什么意思
  16. [幽默网文]好男人遭遇野蛮美女老婆
  17. C:\Windows\System32\drivers\etc中的文件说明
  18. 《计算传播学导论》读书笔记:第二章 文本分析简介
  19. Java(web)项目安全漏洞及解决方式【面试+工作】
  20. [NOI2016]旷野大计算

热门文章

  1. 当数字遇上奇思妙想:探究力扣“最小偶倍数”解题思路
  2. STC8学习-ADC2
  3. 网络为什么会发生卡顿-2?
  4. 英语语法总结---一、英语中定语放在哪
  5. 【愚公系列】2023年05月 网络安全高级班 065.WEB渗透与安全(SQL注入漏洞-手工注入)
  6. python训练营 朋友圈广告如何发_手把手教你如何投放朋友圈广告
  7. 毕业设计-基于微信小程序的广播系统
  8. Android EditText 如何不可编辑又可以响应点击事件
  9. c语言常用头文件algo,数据结构习题集(C语言版严蔚敏)第一二三章
  10. 酷狗服务器显示失败怎么回事啊,酷狗音乐分享音乐失败怎么办 酷狗音乐分享音乐失败解决方法...