暂无图片
暂无图片
4
暂无图片
暂无图片
暂无图片

Oracle 11gr2 rac添加数据文件路径错误添加到节点本地磁盘,而非共享存储的处理方法

原创 dh 2021-09-09
1537

虚拟机环境实验
数据库版本: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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

dh
关注
暂无图片
获得了479次点赞
暂无图片
内容获得102次评论
暂无图片
获得了21次收藏
目录
  • 1、查看原数据文件路径:
  • 2、错误的添加数据文件
  • 3、下线问题datafile
  • 4、9号数据文件处于recover的状态,暂时可以不用管,先在rman环境下复制数据文件到共享目录下:
  • 5、grid用户用asmcmd确认一下(可以不做)
  • 6、更改数据文件记录在控制文件中的路径