虚拟机环境实验
数据库版本:Oracle 11.2.0.4 64bit rac
OS:CentOS Linux release 7.8.2003 (Core)
在1节点模拟错误添加数据文件在服务器本地
1、查看原数据文件路径:
SQL> col name for a45
SQL> set line 234
SQL> select name , file# , status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/racdb/datafile/system.256.1060364107 1 SYSTEM
+DATA/racdb/datafile/sysaux.257.1060364107 2 ONLINE
+DATA/racdb/datafile/undotbs1.258.1060364107 3 ONLINE
+DATA/racdb/datafile/users.259.1060364107 4 ONLINE
+DATA/racdb/datafile/example.264.1060364171 5 ONLINE
+DATA/racdb/datafile/undotbs2.265.1060364269 6 ONLINE
+DATA/racdb/datafile/test.dbf 7 ONLINE
+DATA/racdb/datafile/test1.dbf 8 ONLINE
以表空间test实验
SQL> select tablespace_name from dba_tablespaces where tablespace_name='TEST';
TABLESPACE_NAME
------------------------------
TEST
复制
2、错误的添加数据文件
SQL> select name , file# , status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/racdb/datafile/system.256.1060364107 1 SYSTEM
+DATA/racdb/datafile/sysaux.257.1060364107 2 ONLINE
+DATA/racdb/datafile/undotbs1.258.1060364107 3 ONLINE
+DATA/racdb/datafile/users.259.1060364107 4 ONLINE
+DATA/racdb/datafile/example.264.1060364171 5 ONLINE
+DATA/racdb/datafile/undotbs2.265.1060364269 6 ONLINE
+DATA/racdb/datafile/test.dbf 7 ONLINE
+DATA/racdb/datafile/test1.dbf 8 ONLINE
/u01/app/oracle/test2.dbf 9 ONLINE
复制
3、下线问题datafile
SQL> alter database datafile 9 offline;
Database altered.
SQL> select name , file# , status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/racdb/datafile/system.256.1060364107 1 SYSTEM
+DATA/racdb/datafile/sysaux.257.1060364107 2 ONLINE
+DATA/racdb/datafile/undotbs1.258.1060364107 3 ONLINE
+DATA/racdb/datafile/users.259.1060364107 4 ONLINE
+DATA/racdb/datafile/example.264.1060364171 5 ONLINE
+DATA/racdb/datafile/undotbs2.265.1060364269 6 ONLINE
+DATA/racdb/datafile/test.dbf 7 ONLINE
+DATA/racdb/datafile/test1.dbf 8 ONLINE
/u01/app/oracle/test2.dbf 9 RECOVER
复制
4、9号数据文件处于recover的状态,暂时可以不用管,先在rman环境下复制数据文件到共享目录下:
RMAN> copy datafile '/u01/app/oracle/test2.dbf' to '+DATA/racdb/datafile/test2.dbf';
Starting backup at 09-SEP-21
using channel ORA_DISK_1
channel ORA_DISK_1: starting datafile copy
input datafile file number=00009 name=/u01/app/oracle/test2.dbf
output file name=+DATA/racdb/datafile/test2.dbf tag=TAG20210909T095456 RECID=3 STAMP=1082800497
channel ORA_DISK_1: datafile copy complete, elapsed time: 00:00:01
Finished backup at 09-SEP-21
Starting Control File and SPFILE Autobackup at 09-SEP-21
piece handle=/home/oracle/rmanbak/ctl_c-1057980935-20210909-02 comment=NONE
Finished Control File and SPFILE Autobackup at 09-SEP-21
注:此步骤也可不用rman,在11g版本中可以直接将本地数据文件cp到共享存储的指定路径,用grid用户asmcmd登陆ASM,cd到数据文件存储路径,执行如下:
[grid@rac1 ~]$ asmcmd
ASMCMD> ls
ARC/
DATA/
OCR/
ASMCMD> cd data
ASMCMD> ls
RACDB/
ASMCMD> cd racdb
ASMCMD> ls
CONTROLFILE/
DATAFILE/
ONLINELOG/
PARAMETERFILE/
TEMPFILE/
spfileracdb.ora
ASMCMD> cd datafile
ASMCMD> ls
EXAMPLE.264.1060364171
SYSAUX.257.1060364107
SYSTEM.256.1060364107
TEST.269.1069928991
TEST.270.1082797013
UNDOTBS1.258.1060364107
UNDOTBS2.265.1060364269
USERS.259.1060364107
test.dbf
ASMCMD> cp /u01/app/oracle/test2.dbf .
copying /u01/app/oracle/test2.dbf -> +data/racdb/datafile/test2.dbf
ASMCMD> ls
EXAMPLE.264.1060364171
SYSAUX.257.1060364107
SYSTEM.256.1060364107
TEST.269.1069928991
TEST.270.1082797013
UNDOTBS1.258.1060364107
UNDOTBS2.265.1060364269
USERS.259.1060364107
test.dbf
test2.dbf
扩展:ASM内部也可以不同路径cp文件,需要定义好新路径下的文件名
ASMCMD> cp test1.dbf.271.1082797887 +DATA/racdb/datafile/test01
copying +data/asm/datafile/test1.dbf.271.1082797887 -> +DATA/racdb/datafile/test01
改名:
ASMCMD> ls
EXAMPLE.264.1060364171
SYSAUX.257.1060364107
SYSTEM.256.1060364107
TEST.269.1069928991
TEST.270.1082797013
UNDOTBS1.258.1060364107
UNDOTBS2.265.1060364269
USERS.259.1060364107
test.dbf
test01
test1.dbf
ASMCMD> cp test01 test01.dbf
copying +data/racdb/datafile/test01 -> +data/racdb/datafile/test01.dbf
ASMCMD> ls
EXAMPLE.264.1060364171
SYSAUX.257.1060364107
SYSTEM.256.1060364107
TEST.269.1069928991
TEST.270.1082797013
UNDOTBS1.258.1060364107
UNDOTBS2.265.1060364269
USERS.259.1060364107
test.dbf
test01
test01.dbf
test1.dbf
复制
5、grid用户用asmcmd确认一下(可以不做)
ASMCMD> pwd +data/racdb/datafile ASMCMD> ls EXAMPLE.264.1060364171 SYSAUX.257.1060364107 SYSTEM.256.1060364107 TEST.269.1069928991 TEST.270.1082797013 TEST.274.1082800497 UNDOTBS1.258.1060364107 UNDOTBS2.265.1060364269 USERS.259.1060364107 test.dbf test01 test01.dbf test1.dbf test2.dbf
复制
6、更改数据文件记录在控制文件中的路径
SQL> alter database rename file '/u01/app/oracle/test2.dbf' to '+DATA/racdb/datafile/test2.dbf';
Database altered.
SQL> select name , file# , status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/racdb/datafile/system.256.1060364107 1 SYSTEM
+DATA/racdb/datafile/sysaux.257.1060364107 2 ONLINE
+DATA/racdb/datafile/undotbs1.258.1060364107 3 ONLINE
+DATA/racdb/datafile/users.259.1060364107 4 ONLINE
+DATA/racdb/datafile/example.264.1060364171 5 ONLINE
+DATA/racdb/datafile/undotbs2.265.1060364269 6 ONLINE
+DATA/racdb/datafile/test.dbf 7 ONLINE
+DATA/racdb/datafile/test1.dbf 8 ONLINE
+DATA/racdb/datafile/test2.dbf 9 RECOVER
7、9号数据文件已成功移至指定的共享目录下,但是状态依然是recover状态,现在进行数据文件恢复
SQL> recover datafile '+DATA/racdb/datafile/test2.dbf';
Media recovery complete.
SQL> select name , file# , status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/racdb/datafile/system.256.1060364107 1 SYSTEM
+DATA/racdb/datafile/sysaux.257.1060364107 2 ONLINE
+DATA/racdb/datafile/undotbs1.258.1060364107 3 ONLINE
+DATA/racdb/datafile/users.259.1060364107 4 ONLINE
+DATA/racdb/datafile/example.264.1060364171 5 ONLINE
+DATA/racdb/datafile/undotbs2.265.1060364269 6 ONLINE
+DATA/racdb/datafile/test.dbf 7 ONLINE
+DATA/racdb/datafile/test1.dbf 8 ONLINE
+DATA/racdb/datafile/test2.dbf 9 OFFLINE
8、9号datafile是offline,现将9号数据文件上线
SQL> alter database datafile 9 online;
Database altered.
SQL> select name , file# , status from v$datafile;
NAME FILE# STATUS
--------------------------------------------- ---------- -------
+DATA/racdb/datafile/system.256.1060364107 1 SYSTEM
+DATA/racdb/datafile/sysaux.257.1060364107 2 ONLINE
+DATA/racdb/datafile/undotbs1.258.1060364107 3 ONLINE
+DATA/racdb/datafile/users.259.1060364107 4 ONLINE
+DATA/racdb/datafile/example.264.1060364171 5 ONLINE
+DATA/racdb/datafile/undotbs2.265.1060364269 6 ONLINE
+DATA/racdb/datafile/test.dbf 7 ONLINE
+DATA/racdb/datafile/test1.dbf 8 ONLINE
+DATA/racdb/datafile/test2.dbf 9 ONLINE
复制
看到9号数据文件路径指向共享存储,并且状态online,至此,此次数据文件迁移工作已成功完成
参考链接:http://blog.itpub.net/31403259/viewspace-2141674/
最后修改时间:2021-09-09 10:34:07
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
相关阅读
【纯干货】Oracle 19C RU 19.27 发布,如何快速升级和安装?
Lucifer三思而后行
769次阅读
2025-04-18 14:18:38
Oracle RAC 一键安装翻车?手把手教你如何排错!
Lucifer三思而后行
651次阅读
2025-04-15 17:24:06
Oracle数据库一键巡检并生成HTML结果,免费脚本速来下载!
陈举超
577次阅读
2025-04-20 10:07:02
【ORACLE】你以为的真的是你以为的么?--ORA-38104: Columns referenced in the ON Clause cannot be updated
DarkAthena
534次阅读
2025-04-22 00:13:51
【活动】分享你的压箱底干货文档,三篇解锁进阶奖励!
墨天轮编辑部
523次阅读
2025-04-17 17:02:24
【ORACLE】记录一些ORACLE的merge into语句的BUG
DarkAthena
499次阅读
2025-04-22 00:20:37
一页概览:Oracle GoldenGate
甲骨文云技术
485次阅读
2025-04-30 12:17:56
火焰图--分析复杂SQL执行计划的利器
听见风的声音
455次阅读
2025-04-17 09:30:30
3月“墨力原创作者计划”获奖名单公布
墨天轮编辑部
381次阅读
2025-04-15 14:48:05
OR+DBLINK的关联SQL优化思路
布衣
377次阅读
2025-05-05 19:28:36