本实验所涉及的是将数据库有文件系统迁移到ASM上,首先要确保本机已经配置好ASM。主要过程如下:
①对当前库做全备
backup database plus archivelog;
②修改pfile,把控制文件指向ASM中
create pfile from spfile;
或者alter system set control_files='+FLASH_AREA' scope=spfile;
③startup nomount
④恢复控制文件
⑤alter database mount
⑥restore database,注意要set newname把数据文件执行ASM里
run {
set newname fro datafile 1 to '+FLASH_AREA';
set newname fro datafile 1 to '+FLASH_AREA';set newname fro datafile 1 to '+FLASH_AREA';set newname fro datafile 1 to '+FLASH_AREA';
restore database;
switch datafile all;
recover database;
}
7、recover
8、控制文件是还原回来的,所以需要resetlogs,另一种需要resetlogs是,redo丢失的情况
alter database open resetlogs;
9、新建日志组到ASM里,把文件系统上的redo删掉
select * from v$log;
alter database add logfile group 4 '+FLASH_AREA' size 50m;
alter database add logfile group 5 '+FLASH_AREA' size 50m;
alter database add logfile group 6 '+FLASH_AREA' size 50m;
select group#,member from v$logfile;
select
alter database drop logfile group 3;
alter system switch logfile;
alter system checkpoint; --生产环境不建议这样做
10、创建tempfile
alter tablespace temp add tempfile '+FLASH_AREA' size 100m;
alter tablespace temp drop tempfile '/u01/app/oracle/oradata/temp01.dbf';
归档默认是放在闪回区里的
------------------------------------------------------------
最好放到ASM上:controlfile ,datafile ,redo logfile,archive logs
可以放到文件系统上:spfile,tempfile,
alter system set db_recovery_file_dest='+DATA';
create spfile='+FLASH_AREA' from pfile;
1、修改参数文件,从参数文件启动到nomount状态
pfile内容: