如何使用rman复制方式迁移存储ITPUB上裸设备的数据文件
使用rman复制方式迁移存储ITPUB上的原始设备数据文件
背景:有时为了应用的需要,必须将一些原始设备数据文件迁移到新的存储或者更新快速存储来满足应用要求。
下面是一个实验,测试控制文件、数据文件、临时数据文件、重做文件迁移到新的存储方式
[oracle@single ~]$ sqlplus "/as sysdba “
SQL*Plus:版本 10.2.0.3.0 - 于 2009 年 5 月 6 日星期三 02:56:14 投入生产
版权所有 (c) 1982, 2006,Oracle。保留所有权利。
p>
SQL> select name from v$controlfile;
NAMEITPUB
------------ -------------- ------------------------------------ -------------- ----------
/dev/raw/raw2
/dev/raw/raw3
SQL> 选择v$datafile 中的名称;
NAME
-------------------------------- ------------- ------------------------------------- ----------
/dev/raw/raw7
/dev/raw/raw11
/dev/raw/raw10
/dev/raw/raw9
SQL> select name from v$tempfile;
NAME
------------------------ --------------------------- ----------------------- -----------
/dev/raw/raw8
SQL> select member from v$logfile;
MEMBER
- ------------------------------------------- ------------------- ---------------------
/dev/raw/raw4
/dev/raw/raw5
1.建一个和原来裸设备大小一样的lv。建议比原来的lv大,配置权限属性为oracle:dba
1.1 原来存储的控制文件 1.2 原始存储的数据文件 新存储的数据文件
/dev/raw/raw7 /dev/raw/raw27
/dev/raw/raw11 /dev/raw/raw31
/dev/ raw/raw10 /dev/raw/raw30
/dev/raw/raw9 /dev/ raw/raw29
1.3 原存储的日志文件 新存储的日志文件
/dev/raw/raw4
1.4 原存储的临时文件和新存储的临时文件
/dev /raw/raw8 和 /dev/raw/raw28
2.将数据文件迁移到新存储
2.1启动数据库到挂载状态
SQL>启动挂载
ORACLE实例启动。
总系统全局区域192937984 字节
固定大小 1260840 字节
可变大小 67109592 字节
数据库缓冲区 121634816 字节
重做缓冲区 2932736 字节
已安装数据库。
SQL> 退出
与 Oracle Database 10g 企业版版本 10.2.0.3.0 - Production 断开连接
具有分区、OLAP 和数据挖掘选项
2.2 使用 rman target / 进入
[oracle @single ~]$ rman target /
恢复管理器:版本 10.2.0.3.0 - W 上的生产ednesday,2009 年 5 月 6 日 03:24:27
版权所有 (c) 1982, 2005,Oracle。保留所有权利。
连接到目标数据库:ORCL(DBID=1213870770,未打开)
p>
RMAN> 将数据文件 '/dev/raw/raw7' 复制到'/dev/raw/raw27';
于 2009 年 5 月 6 日开始备份
使用目标数据库控制文件而不是恢复目录
分配的通道: ORA_DISK_1I
通道 ORA_DISK_1: sid=156 devtype=DISK
通道 ORA_DISK_1: 开始数据文件复制
输入数据文件 fno=00001 name=/dev/raw/raw7
output filename=/dev/raw/raw27 tag=TAG20090506T032607 recid=1 stamp=686114794
通道 ORA_DISK_1: 数据文件复制完成,已用时间: 00:00:35
于 06- 完成备份09 年 5 月
RMAN > 将数据文件“/dev/raw/raw9”复制到“/dev/raw/raw29”;
于 09 年 5 月 6 日开始备份
使用通道 ORA_DISK_1
通道 ORA_DISK_1 :开始数据文件复制
输入数据文件 fno=00004 name=/dev/raw/raw9
输出文件名=/dev/raw/raw29 tag=TAG20090506T032716 recid=2邮票=686114837
通道 ORA_DISK_1:数据文件复制完成,已用时间:00:00:02
于 2009 年 5 月 6 日完成备份
RMAN> 复制数据文件 '/dev/raw/raw10 ' 到 '/dev/raw /raw30';
于 2009 年 5 月 6 日开始备份
使用通道 ORA_DISK_1
通道 ORA_DISK_1:开始数据文件复制
输入数据文件 fno=00003 name =/dev/raw/raw10
输出 filename=/dev/raw/raw30 tag=TAG20090506T032746 recid=3 stamp=686114875
通道 ORA_DISK_1:数据文件复制完成,已用时间:00 :00:16 p>
2009 年 5 月 6 日完成备份
RMAN> 将数据文件 '/dev/raw/raw11' 复制到 '/dev/raw/raw31'; p>
于 2009 年 5 月 6 日开始备份
使用通道 ORA_DISK_1
通道 ORA_DISK_1:开始数据文件复制
输入数据文件 fno=00002 name=/dev/raw/raw11
output filename=/dev/raw/raw31 tag=TAG20090506T032822 recid=4 stamp=686114915
通道ORA_DISK_1:数据文件复制完成,经过时间:00:00:15
06-完成备份May-09
RMAN>2.3 进入sqlplus,更改文件名并将其写入控制文件
[oracle@single ~]$ sqlplus "/as sysdba"
SQL*Plus:发布 10.2.0.3.0 - 5 月 6 日星期三生产03:29:28 2009
版权所有 (c) 1982、2006,Oracle。保留所有权利。
连接到:
Oracle Database 10g 企业版版本 10.2.0.3。 0 - 生产
使用分区、OLAP 和数据挖掘选项
SQL> 更改数据库将文件“/dev/raw/raw7”重命名为“/dev/raw/raw27”;
数据库已更改。
SQL> 更改数据库将文件“/dev/raw/raw9”重命名为“/dev/raw/raw29”;
数据库已更改。
数据库已更改。 p>
SQL> alter database 将文件“/dev/raw/raw10”重命名为“/dev/raw/ raw30”;
数据库已更改。
SQL> alter database将文件“/dev/raw/raw11”重命名为“/dev/raw/raw31”;
数据库已更改。
SQL> select name from v$datafile;
姓名
------------------ ------------------------ -------------------------- ------------
/dev/raw/raw27
/>/dev/raw/raw31
/dev/raw/raw30
/dev/raw /raw29
SQL> alter database open;
数据库已更改。
SQL>
成功将数据文件迁移到新存储
3.将控制文件迁移到新存储
3.1.备份控制文件
启动挂载
RMAN>备份当前控制文件格式'/home/oracle/crontrol.bak';
09年5月6日开始备份
使用目标数据库控制文件而不是恢复目录
分配通道:ORA_DISK_1
通道 ORA_DISK_1:sid=156 devtype=DISK
通道 ORA_DISK_1:启动完整数据文件备份集
通道 ORA_DISK_1:指定备份集中的数据文件
包括备份集中的当前控制文件
通道 ORA_DISK_1:在 2009 年 5 月 6 日开始第 1 部分
通道 ORA_DISK_1:在 2009 年 5 月 6 日完成第 1 部分
piece handle=/home/oracle/crontrol.bak tag=TAG20090506T033405 comment=NONE
通道 ORA_DISK_1: 备份集完成,已用时间: 00:00:05
于 09 年 5 月 6 日完成备份
3.2。关闭库并修改控制文件参数r file
sqlplus "/as sysdba"
立即关闭
从 spfile 创建 pfile;
[oracle@single dbs]$ vi initorcl.ora
# ##########################################
control_files=(" /dev/raw/raw22", "/dev/raw/raw23")
指向新的参数文件lv,并保存
create spfile from pfile;
QL>启动nomount;
ORACLE 实例已启动。
系统全局区域总计 192937984 字节
固定大小 1260840 字节
可变大小 67109592 字节
数据库缓冲区 121634816 字节
重做缓冲区 2932736 字节
SQL> 显示参数 cont
名称 类型
-------- -------------- ------------- ----------------------------
价值
---------------------------------
control_file_record_keep_time 整数
# A2I4_6K F07
control_files string
/dev/raw/raw22, /dev/raw/raw23
global_context_pool_size string
3.3 将控制文件恢复到新存储并挂载使用resetlogs打开数据库
[oracle@single dbs]$ rman target /
恢复管理器:版本10.2.0.3.0 - 于2009年5月6日星期三03:38:47生产
版权所有 (c) 1982、2005,Oracle。保留所有权利。
已连接到目标数据库:orcl(未安装)
RMAN> 从“/home/oracle/crontrol.bak”恢复控制文件;
于 2009 年 5 月 6 日开始恢复
使用通道 ORA_DISK_1
通道 ORA_DISK_1:恢复控制文件
通道 ORA_DISK_1:恢复完成,已用时间:00:00:04
output filename=/dev/ raw/raw22
output filename=/dev/raw/raw23
于 2009 年 5 月 6 日完成恢复
RMAN> alter database mount; p>
数据库挂载
释放通道:ORA_DISK_1
RMAN> alter database open resetlogs;
数据库打开
[oracle@single dbs ]$ sqlplus "/as sysdba"
SQL*Plus:版本 10.2.0.3.0 - 于 2009 年 5 月 6 日星期三 03:42:02 发布
版权所有 (c) 1982, 2006 年,甲骨文。保留所有权利。
连接至:
Oracle Database 10g 企业版版本 10.2.0.3.0 - 生产
SQL> select name from v$controlfile;< /p>
名称
------------------------ ---------------------------- ---------------------- -------------------
/dev/raw/ raw22
/dev/raw/raw23
可以看到控件文件迁移到新存储已经成功
4.将重做文件迁移到新存储
SQL>alter database add logfile '/dev/raw/raw24' size 50m;
数据库已更改。
SQL >alter database add logfile '/dev/raw/raw25' size 50m;
数据库已更改
QL> alter database drop logfile group 1;
数据库已更改。
数据库已更改。 p>
SQL> alter system switch logfile;
系统已更改。
SQL> alter system switch logfile;
系统已更改。
SQL> alter database drop logfile group 2;
数据库已更改。
SQL> select member from v$logfile;
MEMBER
-------------------------------------------------------------------------------- -----------
/dev/raw/raw24< br/>/dev/raw/raw25
SQL>
可以看到redo已经迁移到新的存储
5.迁移临时数据文件
SQL> create TEMPORARY TABLESPACE temp1 tempfile '/oradata/temp01.dbf' size 50m;
已创建表空间。
更改数据库默认临时表空间 TEMP1;
drop TABLESPACE TEMP;
CREATE TEMPORARY TABLESPACE TEMP TEMPFILE
'/dev/raw/raw28' SIZE 500M AUTOEXTEND OFF
扩展管理本地统一大小 1M
BLOCKSIZE 8K;
SQL> 更改数据库默认临时表空间 TEMP;
数据库已更改。
SQL> drop tablespace temp1;
删除表空间。
SQL> select name from v$tempfile;
NAME
---------------------------- --------------------- ------------------------------ --
/dev/raw/raw28
SQL>
读完这篇文章,相信你已经熟悉了“如何使用rman复制方法来实现ieve对于使用“ITPUB”在裸设备上迁移数据文件有了一定的了解。如果您想了解更多相关知识,请关注行业资讯频道。感谢您的阅读。阅读!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > 如何使用rman复制方式迁移存储ITPUB上裸设备的数据文件