rman替换磁盘迁移的方法是什么?
我先迁移数据文件
1准备
插入新磁盘并格式化,挂载
/dev/sdc/
mkfs.ext4 /dev/sdc/
mkdir /home/oracle/cs
挂载/dev/sdc /home/oracle/cs
vi /etc/fstab -- 永久挂载
df -h
2 移动副本数据文件到新设备cs
i) 首先检查当前库数据文件位置
SQL> select name from v$datafile;
< p >姓名---------------------------------------------------- ------- ----------------------------------------------------
/ooradata/ test1/system01.dbf
/ooradata/test1/sysaux01.dbf
/ooradata/test1/undotbs01.dbf
/ooradata/test1/users01.dbf
ii) 复制到新路径copy ... to
rman target/
运行{
分配通道c1类型磁盘;
分配通道c2类型磁盘;
复制数据文件'/ooradata/test1/system01.dbf '到'/home/oracle/cs/system01.dbf';
复制数据文件'/ooradata/test1/sysaux01.dbf'到'/home/oracle/cs/sysaux01.dbf'; p>
复制数据文件'/ooradata/test1/undotbs01.dbf'到'/home/oracle/cs/undotbs01.dbf';
复制数据文件'/ooradata/test1 /users01.dbf' to '/home/oracle/cs/users01.dbf';
}
注意:复制之前可以返回alter system archive log current;
iii) 验证
[oracle@jcy1 oradata]$ cd /home/oracle/cs
[oracle@jcy1 cs]$ ll
< p>总计1295400< /p>-rw-r----- 1 oracle dba 513810432 2月2日07:50 sysaux01.dbf
-rw-r----- 1 oracle dba 775954432 2月2日07:50 :50 system01.dbf
-rw-r----- 1 oracle dba 31465472 2月2日07:50 undotbs01.dbf
-rw-r- ---- 1 oracle dba 5251072 2 月 2 日 07:50 users01.dbf
II 迁移控制文件
1 先检查控制文件位置
SQL> select name from v$controlfile;< /p>
姓名
---------------------------- --------------------- ------------------------------ ---------------
/ooradata/test1/control01.ctl
/u01/app/oracle/fast_recovery_area/test1/control02. ctl
2复制到新位置
RMAN>将当前控制文件复制到'/home/oracle/cs/control01.ctl';
注意:这里不需要指定原始位置,我们不会对02.ctl进行更改。出于安全考虑,控制文件一般放置在三个不同的磁盘上。我们只是为了实验
i) 验证
[oracle@jcy1 oradata]$ cd /home /oracle/cs
[oracle@jcy1 cs] $ ls -l control01.ctl
-rw-r----- 1 oracle dba 9748480 Feb 2 08:08 control01 .ctl
ii) 因为控制文件已移动、参数文件中需要修改控制文件的位置
SQL>create pfile='/home/oracle/cs/a.txt ' from spfile;
已创建文件。
SQL> !vi /home/oracle/cs/a.txt< /p>
修改control_files值
*.control_files='/home/oracle/cs/control01.ctl','/u01/app/oracle/fast_recovery_area/test1/control02.ctl'
关闭库
SQL>立即关闭
创建spfile
SQL>create spfile from pfile='/home/oracle/cs /a.txt';
文件已创建。
启动
SQL>startup nomount;
SQL> alter database mount;< /p>
更改数据库挂载
*
第 1 行出现错误:
ORA-00214:控制文件
' /u01/app/oracle/fast_recovery_area/test1/control02.ctl'版本724
与文件'/home/oracle/cs/control01.ctl'版本717不一致
解决方案:删除第二个控制文件,稍后添加
p>SQL> create pfile ='/home/oracle/cs/b.txt' from spfile; --new b.txt file
文件已创建。
SQL> !vi /home/oracle/cs/b.txt
修改值control_files< /p>
*.control_files='/home/oracle/cs/control01.ctl'
关闭数据库
SQL>立即关闭
创建psfile
SQL>从pfile=创建spfile '/home/oracle/cs/b. txt';
SQL>startup nomount;
SQL>alter database mount;
正常
iii) 检查启动的是哪一个控制文件
SQL> select name from v$controlfile;
NAME
----------------- -------------------------------------------------- -------------
/home/oracle/cs/control01.ctl
注意:如果还没有改变,则需要做出一些改变。我这里没遇到什么问题,
RMAN>切换数据库进行复制;
3 恢复数据文件
RMAN>恢复数据库;
三迁移日志文件
1 查看日志文件位置
SQL> select来自 v$logfile 的成员;
成员
---------------------------- ---- ---------------------------------------------------------- ----
/ooradata/test1/redo03.log
/ooradata/test1/redo02.log
/ooradata/test1/redo01.log
2复制到新位置
SQL> alter数据库重命名文件'/ooradata/test1/redo03 .log' 为 '/home/oracle/cs/redo03.log'; p>
数据库已更改。
SQL> 更改数据库重命名文件 '/ooradata/test1/redo02.log' to '/home/oracle/cs/redo02.log';
数据库已更改。
SQL> alter database rename file '/ooradata/test1/redo01.log' to '/ home/oracle/cs/redo01.log';
数据库已更改。
验证它
SQL> select member from v$logfile;
会员
-------- ------------------------------------------ -------------------------------------------------------
/ home/oracle/cs/redo03.log
/home/oracle /cs/redo02.log
/home/oracle/cs/redo01.log
3 这时候就可以打开数据库了。请务必迁移数据和控制、日志文件,然后打开
SQL> alter database open RESETLOGS;
数据库已更改。
< strong>IIII 迁移临时文件
1 查看临时文件文件位置
SQL> select name from v$tempfile;
NAME
------------- --- ---------------------------------------------------------- --- -------------
/ooradata/test1/temp01.dbf
i) 思路:先添加一个临时文件,然后删除之前的
SQL> alter tablespace temp add tempfile '/home/oracle/cs/temp01.dbf' size 100m;
表空间已更改。
ii) 删除
SQL> alter database tempfile '/ooradata/test1/temp01.dbf' drop;
>更改数据库临时文件 '/ooradata/test1/temp01.dbf' 删除
*
第 1 行出现错误:
ORA-25152: TEMPFILE此时不能删除
--使用中,重启后即可删除
SQL>立即关闭
SQL>启动
< p>SQL> alter database tempfile '/ooradata/test1/temp01.dbf' drop;数据库已更改。
iii) 验证
SQL> select name来自 v$tempfile;
姓名
------------------------------------------------ ---------------------- ----------------------------------
/home/oracle /cs/temp01.dbf
《rman替换磁盘迁移的方法是什么》内容介绍到这里,感谢您的阅读。如果您想了解更多行业资讯,可以关注网站,小编将为大家输出更多优质实用文章!
2. 本站积分货币获取途径以及用途的解读,想在本站混的好,请务必认真阅读!
3. 本站强烈打击盗版/破解等有损他人权益和违法作为,请各位会员支持正版!
4. 编程技术 > rman替换磁盘迁移的方法是什么?