OracleRAC日常操作,使用RMAN将数据文件移入ASM

OracleRAC日常操作,使用RMAN将数据文件移入ASM

无产阶级的救兵 自动化运维

因为SYSAUX数据文件增加过快,一直在自动扩展,严重影响了性能,因此在OEM中给Oracle11G RAC库增加一个数据文件,增加完发现文件自动创建到了文件系统下,老司机都知道:
在Oracle RAC环境中,数据文件都是要存放在ASM共享存储上的,这样两个节点才能同时访问。而当你在某一节点下把数据文件创建在本地磁盘的时候,那么在另一节点上要访问该数据文件的时候就会报错。
OracleRAC日常操作,使用RMAN将数据文件移入ASM
老司机有办法,成熟的数据库最大的优势就是考虑到了各种误操作等,都有办法补救,在归档模式下,RMAN工具是DBA的好帮手,这次可以使用RMAN处理,将文件系统下文件烤贝到ASM,然后用归档恢复保持数据一致性,步骤如下:

1、找到存在问题的数据文件,做好标记


[oracle@rac21 ~]$ sqlplus /nolog
SQL*Plus: Release 11.2.0.4.0 Production on Sun Feb 7 14:58:56 2021
Copyright (c) 1982, 2013, Oracle.  All rights reserved.
SQL> conn /as sysdba
Connected.
SQL> select file#,name from v$datafile;
     FILE#-------NAME---------------------------------------------------------------------
1    +DATA/orcl2/datafile/system.262.895935179
2    +DATA/orcl2/datafile/sysaux.263.895935183
3    +DATA/orcl2/datafile/undotbs1.264.895935185

4    +DATA/orcl2/datafile/undotbs2.266.895935195
5    +DATA/orcl2/datafile/users.267.895935195
6    +DATA/orcl2/datafile/yph01.dbf
7    /oracle/orcl2/datafile/sysaux02.ora   ----------------记住这个文件是7号文件
7 rows selected.

2、再次确认数据库归档状态是自动归档模式


SQL> archive log list;
Database log mode      Archive Mode
Automatic archival       Enabled
Archive destination       USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence     19245
Next log sequence to archive   19246
Current log sequence       19246
SQL> exit

3、使用RMAN命令将7号文件拷贝到ASM


[oracle@rac21 ~]$ rman target /
Recovery Manager: Release 11.2.0.4.0 - Production on Sun Feb 7 15:09:34 2021
Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.
connected to target database: ORCL2 (DBID=876767046)
RMAN> copy datafile 7 to '+DATA';   

4、在sqlplus命令把7号数据文件修改为OFFLINE

SQL> alter database datafile 7 offline;

5、rman模式下把数据文件路径切换到刚才备份的ASM路径

RMAN> switch datafile 7 to copy;

6、rman模式下恢复数据文件7,此时将用到归档日志

RMAN> recover datafile 7;

7、在sqlplus命令模式下重新把该数据文件修改为在线状态

SQL> alter database datafile 7 online;

8、在另一个节点查看数据文件,并查看数据文件位置,我们可以看到已经迁移到共享磁盘中了,ASM并且自动给此文件起了新名字


SQL> select file#,name from v$datafile;
     FILE#-------NAME---------------------------------------------------------------------
1    +DATA/orcl2/datafile/system.262.895935179
2    +DATA/orcl2/datafile/sysaux.263.895935183
3    +DATA/orcl2/datafile/undotbs1.264.895935185
4    +DATA/orcl2/datafile/undotbs2.266.895935195
5    +DATA/orcl2/datafile/users.267.895935195
6    +DATA/orcl2/datafile/yph01.dbf
7    +DATA/orcl2/datafile/sysaux.5503.1063714411
7 rows selected.

猜你喜欢

转载自blog.51cto.com/15061930/2653647
今日推荐