oracle 同db_name的本地asm迁移

来源:互联网 发布:js clientleft 编辑:程序博客网 时间:2024/04/27 18:19

前面写了篇不同主机不同db_name的迁移!见如下:

http://blog.csdn.net/xionglang7/article/details/18993337

最近公司整理规范,将asm的数据库要从新规划。所以要将asm共享卷的库,每个库单独使用一个asm卷,方便管理和收费。

a.备份控制文件
SQL> alter database backup controlfile to '/tmp/d0rms_ctl.ctl';
Database altered.
SQL> alter system set control_files='+DATA_D0RMS_DG/d0rms/controlfile/control01.ctl' scope=spfile;
System altered.
c.恢复控制文件
SQL> shutdown immediate
Database closed.
Database dismounted.
ORACLE instance shut down.
SQL> startup nomount
ORACLE instance started.
Total System Global Area  419430400 bytes
Fixed Size                  1219736 bytes
Variable Size             138412904 bytes
Database Buffers          272629760 bytes
Redo Buffers                7168000 bytes
 
RMAN> restore controlfile to '+DATA_D0RMS_DG/d0rms/controlfile/control01.ctl' from '/tmp/d0rms_ctl.ctl';
Starting restore at 04-JUN-14
using target database control file instead of recovery catalog
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=45 devtype=DISK
channel ORA_DISK_1: copied control file copy
Finished restore at 04-JUN-14


--如果需要改db_name可以在这个修改 
SQL>alter system set db_name='d0rms' scope=spfile;
SQL>shutdown immediate;
SQL>startup mount;


d.RMAN copy数据库到ASM
RMAN> alter database mount;
database mounted
released channel: ORA_DISK_1
RMAN> backup as copy database format '+DATA_D0RMS_DG';
Starting backup at 04-JUN-14
allocated channel: ORA_DISK_1
channel ORA_DISK_1: sid=45 devtype=DISK
channel ORA_DISK_1: starting datafile copy
input datafile fno=00001 name=+DATA_DG/d0rms/datafile/system.325.126128724
output filename=+DATA_D0RMS_DG/d0rms/datafile/system.259.752971523 tag=TAG20140604T224522 recid=5 stamp=752971543
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile fno=00003 name=+DATA_DG/d0rms/datafile/sysaux.323.238729730
output filename=+DATA_D0RMS_DG/d0rms/datafile/sysaux.257.752971547 tag=TAG20140604T224522 recid=6 stamp=752971565
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:25
channel ORA_DISK_1: starting datafile copy
input datafile fno=00002 name=+DATA_DG/d0rms/datafile/undotbs.583.83740382
output filename=+DATA_D0RMS_DG/d0rms/datafile/undotbs.256.752971573 tag=TAG20140604T224522 recid=7 stamp=752971578
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:07
channel ORA_DISK_1: starting datafile copy
input datafile fno=00004 name=+DATA_DG/d0rms/datafile/users.846.235083836
output filename=+DATA_D0RMS_DG/d0rms/datafile/users.265.752971581 tag=TAG20140604T224522 recid=8 stamp=752971587
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:15
Finished backup at 04-JUN-14
RMAN-06497: WARNING: control file is not current, control file autobackup skipped
RMAN> switch database to copy;
datafile 1 switched to datafile copy "+DATA_D0RMS_DG/d0rms/datafile/system.259.752971523"
datafile 2 switched to datafile copy "+DATA_D0RMS_DG/d0rms/datafile/sysaux.257.752971547"
datafile 3 switched to datafile copy "+DATA_D0RMS_DG/d0rms/datafile/undotbs.256.752971573"
datafile 4 switched to datafile copy "+DATA_D0RMS_DG/d0rms/datafile/users.265.752971581"
 
e.恢复数据库
RMAN> recover database;
Starting recover at 04-JUN-14
using channel ORA_DISK_1
starting media recovery
archive log thread 1 sequence 1 is already on disk as file +DATA_D0RMS_DG/d0rms/backup/redo1_1.rdo
archive log filename=+DATA_D0RMS_DG/d0rms/backup/redo1_1.rdo thread=1 sequence=1
media recovery complete, elapsed time: 00:00:01
Finished recover at 04-JUN-14
RMAN> alter database open resetlogs;
database opened
 
f.重置temp表空间
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
+DATA_DG/d0rms/tempfile/temp.398.298482033
SQL> alter tablespace temp add tempfile '+DATA_D0RMS_DG';
Tablespace altered.
SQL> alter tablespace temp drop tempfile '+DATA_DG/d0rms/tempfile/temp.398.298482033';
Tablespace altered.
SQL> select name from v$tempfile;
NAME
--------------------------------------------------------------------------------
+DATA_D0RMS_DG/d0rms/tempfile/temp.264.752972535
 
g.重设redo log
SQL> select member from v$logfile;
MEMBER
--------------------------------------------------------------------------------
+DATA_DG/d0rms/logfile/redo.342.038373297
+FRA_DG/d0rms/logfile/redo.837.387493732
+DATA_DG/d0rms/logfile/redo.386.387493784
+FRA_DG/d0rms/logfile/redo.378.397493290
+DATA_DG/d0rms/logfile/redo.873.378237323
+FRA_DG/d0rms/logfile/redo.345.638363944


6 rows selected.


SQL> set linesize 100
SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 1 20971520 2 NO CURRENT 228140 04-JUN-14
2 1 0 20971520 2 YES UNUSED 0
3 1 0 20971520 2 YES UNUSED 0


SQL> alter database drop logfile group 2;


Database altered.


SQL> alter database add logfile group 2 ('+DATA_D0RMS_DG','+FRA_D0RMS') size 50m;


Database altered.


SQL> alter database drop logfile group 3;


Database altered.


SQL> alter database add logfile group 3 ('+DATA_D0RMS_DG','+FRA_D0RMS') size 50m;


Database altered.


SQL> alter system switch logfile;


System altered.


SQL> /


System altered.


SQL> alter system checkpoint;


System altered.


SQL> select * from v$log;
GROUP# THREAD# SEQUENCE# BYTES MEMBERS ARC STATUS FIRST_CHANGE# FIRST_TIM
---------- ---------- ---------- ---------- ---------- --- ---------------- ------------- ---------
1 1 7 20971520 2 YES INACTIVE 229878 04-JUN-14
2 1 8 52428800 1 YES INACTIVE 229891 04-JUN-14
3 1 9 52428800 1 NO CURRENT 229910 04-JUN-14


SQL> alter database drop logfile group 1;


Database altered.


SQL> alter database add logfile group 1 ('+DATA_D0RMS_DG','+FRA_D0RMS') size 50m;


Database altered.


h.检查数据库
SQL> select name from v$datafile;
SQL> select name from v$controlfile;
SQL> select name from v$tempfile;

0 0
原创粉丝点击