4. 切换到备份的数据库
RMAN> switch database to copy;
datafile 1switched to datafile copy"+DATA01/orcl/datafile/system.257.833384045"
datafile 2switched to datafile copy"+DATA01/orcl/datafile/sysaux.258.833384061"
datafile 3switched to datafile copy"+DATA01/orcl/datafile/undotbs1.260.833384083"
datafile 4switched to datafile copy "+DATA01/orcl/datafile/users.262.833384087"
datafile 5switched to datafile copy"+DATA01/orcl/datafile/example.259.833384075"
RMAN> alter database open;
database opened
修改数据库新建文件的目标磁盘组
[Oracle@Oracle-LAB ~]$ sqlplus "/assysdba"
SQL> alter system set db_create_file_dest='+DATA01';
System altered.
5. 在新数据库内建立新的TEMP表空间(TEMP表空间不会从旧的磁盘组中移到新磁盘组)
SQL> select name from v$tempfile; #查看现有的temp文件名
SQL>create bigfile temporary tablespace temp01 tempfile size 2M;
Tablespacecreated.
SQL>alter database default temporary tablespace temp01;
Database altered.
SQL> drop tablespace temp;
Tablespace dropped.
6. 修改重做日志组
SQL> select * from v$log; #查看有几个组
或:SQL>select group#,status from v$log;
GROUP# STATUS
--------------------------
1 CURRENT
2 INACTIVE
3 INACTIVE
SQL> alter database add logfile member '+data01' to group 1;
Database altered.
SQL> alter database add logfile member '+data01' to group 2;
Database altered.
SQL>alter database add logfile member '+data01' to group 3;
Database altered.
SQL>select member from v$logfile; #查找logfile文件:
MEMBER
--------------------------------------------------------------------------------
+DATA/orcl/onlinelog/group_3.256.833372341
+DATA/orcl/onlinelog/group_2.257.833372341
+DATA/orcl/onlinelog/group_1.258.833372341
+DATA01/orcl/onlinelog/group_1.265.833386551
+DATA01/orcl/onlinelog/group_2.266.833386565
+DATA01/orcl/onlinelog/group_3.267.833386569
6 rows selected.
SQL>alter system switch logfile; #多用几次切换命令,切换一个循环
SQL>select group#,status from v$log; #查看结果,找到INACTIVE的组。
GROUP# STATUS
--------------------------
1 INACTIVE
2 INACTIVE
3 CURRENT
SQL>alter database drop logfile member'+DATA/orcl/onlinelog/group_1.258.833372341';
Database altered.
SQL> alter database drop logfile member'+DATA/orcl/onlinelog/group_2.257.833372341';
Database altered.
SQL>select group#,status from v$log;
再次切换,释放Group_3,然后删除:
SQL>alter system switch logfile;
SQL> alter database drop logfile member'+DATA/orcl/onlinelog/group_3.256.833372341';
Database altered.
SQL> select * from v$logfile; #检查结果
7. 迁移参数配置
迁移数据库配置:
[oracle@Oracle-LAB ~]$ sqlplus /nolog
SQL> conn /assysdba
Connected.
SQL> create pfile='$ORACLE_HOME/dbs/init_ORCL.ora' from spfile;
File created.
SQL> shutdown immediate;
Database closed.
Databasedismounted.
ORACLE instanceshut down.
SQL>startup pfile='$ORACLE_HOME/dbs/init_ORCL.ora';
ORACLE instancestarted.
Total SystemGlobal Area 1653518336 bytes
Fixed Size 2228904 bytes
Variable Size 989859160 bytes
Database Buffers 654311424 bytes
Redo Buffers 7118848 bytes
Database mounted.
Database opened.
SQL>create spfile='+DATA01/orcl/spfileORCL.ora' frompfile='$ORACLE_HOME/dbs/init_ORCL.ora';
File created.
SQL>shutdown immediate;
Database closed.
Databasedismounted.
ORACLE instanceshut down.
[oracle@Oracle-LABdbs]$vi initORCL.ora
将SPFILE='+DATA/ORCL/spfileORCL.ora'改为SPFILE='+DATA01/ORCL/spfileORCL.ora',并保存退出。
SQL> startup
迁移ASM配置:
[grid@Oracle-LAB ~]$ sqlplus / assysasm
SQL>create pfile='$ORACLE_HOME/dbs/init_ORCL.ora' from spfile;
File created.
SQL> shutdown immediate;
SQL>startup pfile='$ORACLE_HOME/dbs/init_ORCL.ora';
ASM instancestarted
Total SystemGlobal Area 283930624 bytes
Fixed Size 2227664 bytes
Variable Size 256537136 bytes
ASM Cache 25165824 bytes
ASM diskgroupsmounted
SQL>create spfile='+DATA01' from pfile='$ORACLE_HOME/dbs/init_ORCL.ora';
`File created.
SQL>shutdown immediate;
SQL> startup
8. 全面检查
SQL> show parameter pfile;(分别在GRID和ORACLE帐号下查看)
SQL> select name from v$controlfile
SQL>select name from v$datafile
SQL> select name from v$tempfile
SQL>select member from v$logfile
SQL> select filename from v$block_change_tracking
SQL> select name from v$flashback_database_logfile;

本文详细记录了从备份数据库切换、创建新文件组、临时表空间管理、重做日志组调整、参数文件和ASM配置迁移的过程,适合数据库管理员进行迁移操作参考。

1177

被折叠的 条评论
为什么被折叠?



