ASM测试二

今天试验了怎样将数据库文件从文件系统移植到ASM

测试环境:

Windows 2003 Server

Oracle 10.2.0.1

参考ORACLE文档:

Oracle Database 10g Migration to Automatic Storage Management

整个过程主要分为两部分:(1) ASM实例的创建 (2) 文件移植

(1)ASM实例的创建详见

http://shadowfalao.itpub.net/post/2483/303507

(2)文件移植

1)目前数据库运行环境

运行于archivelog模式的单节点数据库,而且还起用了flashback功能。

2)ASM磁盘组规划

需要将数据文件,redo日志文件,控制文件,以及将来的归档日志,
FLASHBACK日志都用ASM来管理,最少需要两个ASM磁盘组。
前面ASM测试中已经创建了一个DATA磁盘组。用来存放数据文件、
日志文件、控制文件等。再创建一个FLASHAREA磁盘组存放FLASHBACK日志和归档日志:

CREATE DISKGROUP FLASHAREA EXTERNAL REDUNDANCY DISK
'D:asmdisks_file_disk5',
'D:asmdisks_file_disk6',
'D:asmdisks_file_disk7',
'D:asmdisks_file_disk8';

在产品环境中,要进行更加详细的规划,这里这是以测试为目的。

3)修改相关的参数

采用ASM,可以采用OMF来管理文件。对以下参数必须修改

ALTER SYSTEM SET DB_CREATE_FILE_DEST='+DATA' SCOPE=BOTH;
ALTER SYSTEM SET DB_CREATE_ONLINE_LOG_DEST_1='+DATA' SCOPE=BOTH;
ALTER SYSTEM SET DB_RECOVERY_FILE_DEST='+FLASHAREA' SCOPE=BOTH;
ALTER SYSTEM SET LOG_ARCHIVE_DEST_1='LOCATION=+FLASHAREA' scope=BOTH;

4)备份数据库
生成数据库的副本到磁盘组+DATA,如果没有足够的磁盘空间,
可以将将数据库备份到磁带机上。
SET ORACLE_SID=ypma
RMAN TARGET /
BACKUP DEVICE TYPE DISK AS COPY DATABASE FORMAT '+DATA';
BACKUP DEVICE TYPE DISK ARCHIVELOG ALL FORMAT '+DATA';

5)移植redo日志

首先查看日志组的使用情况
SQL> select group#,status from v$log;

GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 ACTIVE
在LOG日志的移植过程中,需要观察判断移植的日志不能是当前日志
ALTER DATABASE ADD LOGFILE MEMBER '+DATA' TO GROUP 3;
ALTER DATABASE ADD LOGFILE MEMBER '+DATA' TO GROUP 1;
ALTER DATABASE ADD LOGFILE MEMBER '+DATA' TO GROUP 2;
ALTER DATABASE DROP LOGFILE MEMBER 'E:ORACLEPRODUCT10.2.0ORADATAYPMAREDO01.LOG';
ALTER DATABASE DROP LOGFILE MEMBER 'E:ORACLEPRODUCT10.2.0ORADATAYPMAREDO02.LOG';
ALTER DATABASE DROP LOGFILE MEMBER 'E:ORACLEPRODUCT10.2.0ORADATAYPMAREDO03.LOG';

6) 移植temp文件
ALTER TABLESPACE TEMP ADD TEMPFILE '+DATA' size 100M;
ALTER DATABASE TEMPFILE 'E:oracleproduct10.2.0oradataypmaTEMP01.DBF' DROP;
7)移植控制文件
ALTER DATABASE BACKUP CONTROLFILE TO '+DATA';
ALTER DATABASE BACKUP CONTROLFILE TO '+FLASHAREA';
ALTER SYSTEM SET CONTROL_FILES=
'+DATA/YPMA/CONTROLFILE/mycontrol.ctl',
'+FLASHAREA/YPMA/CONTROLFILE/mycontrol.ctl' SCOPE=SPFILE;
7)恢复控制文件到新的位置

set ORACLE_SID=ypma

rman taret /

SHUTDOWN IMMEDIATE;
STARTUP NOMOUNT;
RESTORE CONTROLFILE FROM 'E:oracleproduct10.2.0oradataypmaCONTROL01.CTL';
ALTER DATABASE MOUNT;


8)switch 数据文件
SWITCH DATABASE TO COPY;
RECOVER DATABASE;

9)重新启动数据库
SHUTDOWN IMMEDIATE
STARTU

10)验证数据文件是否都全部移植

select name from v$datafile;

select name from v$tempfile;

select name from controlfile;

select filename from v$flashback_database_logfile;

总结:如果要在产品环境中移植的话,需要考虑磁盘空间,系统停机时间,
归档日志是否存储到ASM磁盘组等问题,根据实际情况规划。


转:http://blog.itpub.net/post/2483/303913

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值