oracle 复制组删除,利用copy在ASM磁盘组之间迁移
從+DISK遷移到+DG1磁盤組
一.復(fù)制數(shù)據(jù)庫文件到ASM磁盤組
1.啟動(dòng)到mount狀態(tài)(啟動(dòng)第一節(jié)點(diǎn)數(shù)據(jù)庫到mount,其它節(jié)點(diǎn)數(shù)據(jù)庫實(shí)例關(guān)閉)
SQL> startup mount;
2.利用copy備份數(shù)據(jù)庫
rman>backup as copy database format '+DG1'
3.利用rman工具指定到新的路徑
RMAN> switch database to copy;
4.更新控制文件的數(shù)據(jù)文件路徑
RMAN>run{
switch datafile all;
}
5.recover database并打開數(shù)據(jù)庫
run
{
recover database;
alter database open;
}
6.添加新的臨時(shí)文件到新的磁盤組,刪除老的臨時(shí)文件
SQL> alter tablespace temp add tempfile '+DG1' size 10m autoextend on;
SQL> select file#, TS#,name from v$tempfile;
SQL> ALTER DATABASE TEMPFILE ?'+DATA/orcl/tempfile/temp.854.822754095' DROP INCLUDING DATAFILES;
7.重建在線redo到新的磁盤組和刪除舊的在線redo
SQL>select GROUP#, THREAD#,STATUS,members from v$log;
更改第一節(jié)點(diǎn)的聯(lián)機(jī)日志文件組
sql>alter database add logfile group 5 +dg1 size 50m;
sql>alter database add logfile group 6 +dg1 size 50m;
sql>alter system switch logfile;
sql>alter system switch logfile;
sql>alter system checkpoint;
sql>alter database drop logfile group 1;
sql>alter database drop logfile group 2;
更改第二節(jié)點(diǎn)的聯(lián)機(jī)日志文件組(啟動(dòng)第二節(jié)點(diǎn)數(shù)據(jù)庫)
SQL> alter database add logfile thread 2 group 7 '+DG1' size 50m;
SQL> alter database add logfile thread 2 group 8 '+DG1' size 50m;
sql>alter system switch logfile;
sql>alter system switch logfile;
sql>alter system checkpoint;
SQL> alter database drop logfile group 3;
SQL> alter database drop logfile group 4;
二,修改控制文件的路徑
1.修改控制文件的路徑
sql>alter system set control_files='+dg1' scope=spfile;
2.備份控制文件
$rman target /
rman>backup current controlfile format '/home/oracle/controlfile.ctl';
修改新的控制文件的路徑
alter system set control_files='+DG1/mydb/controlfile/current.265.881774751' scope=spfile;
3.啟動(dòng)數(shù)據(jù)庫到NOMOUNT
rman>shutdown immediate
rman>startup nomount;
4.恢復(fù)控制文件
rman>restore controlfile from '/home/oracle/controlfile.ctl';
5.修改新的控制文件的路徑
alter system set control_files='+DG1/mydb/controlfile/current.265.881774751' scope=spfile;
備注:需要修改spfile文件中控制文件恢復(fù)新的路徑,要不然數(shù)據(jù)庫啟動(dòng)的時(shí)候會(huì)出現(xiàn)找不到控制文件的問題
三.將spfile指定到新的asm組
1.創(chuàng)建創(chuàng)建pfile
create pfile='/home/oracle/init.ora' from spfile;
修改以下參數(shù)
db_create_file_dest='+DISK' 修改為db_create_file_dest='+DG1'
log_archive_dest_1='LOCATION=+DISK' 修改為log_archive_dest_1='LOCATION=+DG1'
2.修改init.ora,每一個(gè)節(jié)點(diǎn)都需要修改
[oracle@db1 ~]$ cd $ORACLE_HOME/dbs
[oracle@db1 dbs]$ vi initmydb1.ora
SPFILE='+DG1/mydb/spfilemydb.ora'
3.創(chuàng)建spfile文件
create SPFILE='+DG1/mydb/spfilemydb.ora' from ?pfile='/home/oracle/init.ora'
四.啟動(dòng)數(shù)據(jù)庫
oracle@db1 dbs]$ rman target /
RMAN> recover database; ? --------------》因?yàn)榭刂莆募峭ㄟ^rman恢復(fù)回來的,需要recover database
RMAN> alter database open resetlogs;
SQL> select * from v$dbfile
FILE# NAME
---------- --------------------------------------------------
5 +DG1/mydb/datafile/undotbs2.258.881772827
4 +DG1/mydb/datafile/users.256.881772841
3 +DG1/mydb/datafile/undotbs1.261.881772821
2 +DG1/mydb/datafile/sysaux.259.881772773
1 +DG1/mydb/datafile/system.260.881772719
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
+DG1/mydb/onlinelog/group_3.267.881774255
+DG1/mydb/onlinelog/group_4.268.881774353
+DISK/mydb/onlinelog/group_2.267.881719891
+DG1/mydb/onlinelog/group_1.266.881774153
SQL> select name from v$tempfile;
NAME
--------------------------------------------------
+DG1/mydb/tempfile/temp.264.881773741
整個(gè)遷移過程完成
總結(jié)
以上是生活随笔為你收集整理的oracle 复制组删除,利用copy在ASM磁盘组之间迁移的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 鸡柳是什么?
- 下一篇: 可以喝可乐吗,或者其它饮料,天有点太热了