Chinaunix首页 | 论坛 | 博客
  • 博客访问: 102066
  • 博文数量: 18
  • 博客积分: 1483
  • 博客等级: 上尉
  • 技术积分: 217
  • 用 户 组: 普通用户
  • 注册时间: 2009-09-29 09:52
文章分类

全部博文(18)

文章存档

2011年(1)

2010年(17)

我的朋友

分类: Oracle

2010-08-29 20:40:54


日前,XX核心数据库存储鉴于稳定性考虑。需要更新一套新的存储设备。为此,需要进行数据库整体迁移。迁移的对象包括6个实例。分别为:XX  XX  XX

目前,数据库采用的架构是ORACLE10g RAC模式。使用ASM磁盘组存储共享数据文件、联机日志文件。

节点操作系统版本

 

数据库运行的版本

 

ORACLE RAC版本

 

XX实例数据量

 

XX实例数据量

 

XX实例数据量

 

XX实例数据量

 

XX实例数据量

 

XX实例数据量

 

计划目标数据库节点操作系统版本

 

计划目标数据库软件版本

 

计划目标数据库RAC软件版本

 

根据数据库使用版本、每个实例的数据量以及业务运行实际情况,采用Rman恢复方式逐步迁移每个实例。

 

2.   拓扑结构

2.1. 迁移前拓扑

 

2.2.     迁移前环境信息

版本

Oracle 10.2.0.4 64 Bit

数据库软件目录(服务器端)

/opt/oracle/product/10.2.0/XX

集群软件目录

/opt/oracle/product/10.2.0/XXX

实例数据目录

+DATA

归档日志目录

+DATA

服务端口

1251oracle监听服务

部署结构

RAC

节点成员(主机)

12核×1.8GHz CPU32GB DDR内存

创建实例

见下文

归档日志

启用

快速恢复区

不启用

系统语言环境字符集

Simplifed Chinese.ZHS16GBK

数据库实例字符编码

AL32UTF8

实例存储方式

ASM(自动存储管理)

集群心跳线方式

千兆接口交换机

其它要求

1.        启用归档日志

2.        数据库实例字符集选择:Unicode UTF-8

3.        修改数据连接池大小为:300(根据实际情况修改)

4.        修改数据库游标数大小为:1000(根据实际情况修改)

5.        修改SGA大小(根据实际情况修改,SGA总额小于系统内存大小的70%

6.        其他数据库实例参数及配置根据实际情况修改。

2.3. 迁移后拓扑

 

2.4.     迁移后环境信息

版本

Oracle 10.2.0.4 for Solaris

数据库软件目录(服务器端)

/opt/oracle/product/10.2.0/XX

集群软件目录

/opt/oracle/product/10.2.0/XXX

实例数据目录

+DATADG

归档日志目录

+DATADG

服务端口

1521oracle监听服务

部署结构

RAC

节点成员(主机)

12核×1.8GHz CPU32GB DDR内存,

创建实例

见下文

归档日志

启用

快速恢复区

不启用

系统语言环境字符集

Simplifed Chinese.ZHS16GBK

数据库实例字符编码

AL32UTF8

实例存储方式

ASM(自动存储管理)

集群心跳线方式

千兆接口交换机

其它要求

1.        启用归档日志

2.        数据库实例字符集选择:Unicode UTF-8

3.        修改数据连接池大小为:300(根据实际情况修改)

4.        修改数据库游标数大小为:1000(根据实际情况修改)

5.        修改SGA大小(根据实际情况修改,SGA总额小于系统内存大小的70%

6.        其他数据库实例参数及配置根据实际情况修改。

2.5.     迁移过程

1.创建需要使用的目录

分别在两个节点执行:

bash-3.00$ mkdir –p /opt/oracle/admin/ORACLE_SID/bdump

bash-3.00$ mkdir –p /opt/oracle/admin/ORACLE_SID/udump

bash-3.00$ mkdir –p /opt/oracle/admin/ORACLE_SID/adump

bash-3.00$ mkdir –p /opt/oracle/admin/ORACLE_SID/pfile

bash-3.00$ mkdir –p /opt/oracle/admin/ORACLE_SID/cdump

赋予相应的权限:

bash-3.00$ chown –R oracle:oinstall  /opt/oracle/admin/ORACLE_SID/

在其中一个节点上,连接asm实例,创建共享存储需要的目录:

bash-3.00$ export ORACLE_SID=+ASM1

bash-3.00$ asmcmd

   asmcmd>cd DATADG

   asmcmd>mkdir ORACLE_SID

asmcmd>cd ORACLE_SID

   asmcmd>mkdir ONLINELOG/ ARCHIVELOG/  DATAFILE/  CONTROLFILE/  TEMPFILE/

2.创建密码文件

分别在两个节点执行

节点一:

bash-3.00$cd $ORACLE_HOME/dbs

bash-3.00$orapwd file=orapwORACLE_SID1 password=oracle entries=5

节点二:

bash-3.00$cd $ORACLE_HOME/dbs

bash-3.00$orapwd file=orapwORACLE_SID2 password=oracle entries=5

3.配置监听服务

在两个节点中,编辑$ORACLE_HOME/NETWORK/admin/tnsnames.ora,添加相应的节点监听服务。

   LISTENERS_KYDB =

  (ADDRESS_LIST =

    (ADDRESS = (PROTOCOL = TCP)(HOST = M5KA2)(PORT = 1521))

    (ADDRESS = (PROTOCOL = TCP)(HOST = M5KB2)(PORT = 1521))

  )

xx =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = M5KB 2)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME =ORACLE_SID)

      (INSTANCE_NAME = ORACLE_SID2)

    )

  )

 

XX =

  (DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST = M5KA2)(PORT = 1521))

    (CONNECT_DATA =

      (SERVER = DEDICATED)

      (SERVICE_NAME = ORACLE_SID)

      (INSTANCE_NAME =ORACLE_SID1)

    )

  )

 

4.由源数据库copy一份初始化参数文件init{ORACLE_SID}.ora至目的数据库;

也可由备份的初始化参数恢复;

本文档提供的是由源库copy过来的初始化参数方案。

5.修改init{ORACLE_SID}.ora参数的一些设置

只需修改归档本地路径的指向

6.将初始化参数放置共享存储中,修改客户端初始化参数文件,内容指向到asm共享盘中的SPFILE

在一个节点中操作:

bash-3.00$ sqlplus "/as sysdba"

 

SQL*Plus: Release 10.2.0.4.0 - Production on ÐÇÆÚ¶þ 6ÔÂ 1 23:57:24 2010

 

Copyright (c) 1982, 2007, Oracle.  All Rights Reserved.

 

Connected to an idle instance.

 

SQL>create spfile ='+DATADG/ORACLE_SID/spfile{ORACLE_SID}.ora' from pfile='/tmp/init{ORACLE_SID}.ora';

 

File created.

修改节点初始化参数文件,内容指向到asm共享盘中的SPFILE

节点1ORACLE_SID1

 

echo "SPFILE='+DATADG/ORACLE_SID/spfile {ORACLE_SID}.ora'" > /opt/oracle/product/10.2.0/db/dbs/initORACLE_SID1.ora

 

节点2ORACLE_SID2

echo "SPFILE='+DATADG/ORACLE_SID/spfile {ORACLE_SID}.ora'" > /opt/oracle/product/10.2.0/db/dbs/initORACLE_SID2.ora

一、 还原数据库

1、在一个节点中,进入Rman进行对数据库的恢复与还原(以下的步骤均在一个节点中操作即可)

 

bash-3.00$ export ORACLE_SID=***

bash-3.00$ rman target /

Recovery Manager: Release 10.2.0.4.0 - Production on 2 00:29:49 2010

Copyright (c) 1982, 2007, Oracle.  All rights reserved.

connected to target database: ORACLE_SID (not mounted)

2、设置DBID

    设置与源数据库一致的DBID,否则数据库还原会报错并无法继续。源数据库的DBID可由源数据库的备份日志查到;

 

RMAN> set dbid=3343735848;

executing command: SET DBID

3、恢复控制文件

RMAN> startup nomount;

 

Oracle instance started

 

Total System Global Area    1610612736 bytes

 

Fixed Size                     2040952 bytes

Variable Size                385883016 bytes

Database Buffers            1207959552 bytes

Redo Buffers                  14729216 bytes

 

RMAN>restore controlfile from '/tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_ctl_32lf3pu0_1_1.20100601';

 

Starting restore at 2010/07/20/ 10:21:32

using target database control file instead of recovery catalog

allocated channel: ORA_DISK_1

channel ORA_DISK_1: sid=519 instance=rsdb1 devtype=DISK

 

channel ORA_DISK_1: restoring control file

channel ORA_DISK_1: restore complete, elapsed time: 00:00:07

output filename=+DATADG/rsdb/control01.ctl

output filename=+DATADG/rsdb/control02.ctl

output filename=+DATADG/rsdb/control03.ctl

Finished restore at 2010/07/20/ 10:21:43

 

4Mount 数据库

RMAN> alter database mount;

database mounted

released channel: ORA_DISK_1

5把复制过来的备份文件集注册到备份资料库中

RMAN> catalog start with '/tmp/backup/Weekdays';

 

searching for all files that match the pattern /tmp/backup/Weekdays

 

List of Files Unknown to the Database

=====================================

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_arch_2ulf3pst_1_1.20100601

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_arch_2vlf3psu_1_1.20100601

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_arch_30lf3pst_1_1.20100601

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_arch_31lf3pt3_1_1.20100601

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_ctl_32lf3pu0_1_1.20100601

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_init_33lf3pu3_1_1.20100601

File Name: /tmp/backup/Weekdays/Tue-Jun-1/rsdb_bk.log

File Name: /tmp/backup/Weekdays/Tue-Jun-1/rsdb_dbf_2slf3pc2_1_1.20100601

File Name: /tmp/backup/Weekdays/Tue-Jun-1/rsdb_dbf_2tlf3prt_1_1.20100601

 

Do you really want to catalog the above files (enter YES or NO)? yes

cataloging files...

cataloging done

 

List of Cataloged Files

=======================

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_arch_2ulf3pst_1_1.20100601

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_arch_2vlf3psu_1_1.20100601

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_arch_30lf3pst_1_1.20100601

File Name: /tmp/backup/Weekdays/archive/Tue-Jun-1/rsdb_arch_31lf3pt3_1_1.20100601

阅读(1672) | 评论(0) | 转发(0) |
0

上一篇:oracle rman 全备脚本

下一篇:postfix全功能

给主人留下些什么吧!~~