Solution
适用于:
Oracle 数据库 - 企业版 - 版本 10.2.0.1 及更高版本
本文档中的信息适用于任何平台。
症状
用户在本地节点为RAC数据库添加数据文件
SQL> alter tablespace system add datafile 'FRA' SIZE 250M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
然后当他查询 DBA_DATA_FILES
ORA-01157: 无法识别/锁定数据文件 66 - 请参阅 DBWR 跟踪文件
ORA-01110: 数据文件 66: '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA'
变化
数据文件错误地添加到本地节点上的系统表空间而不是共享磁盘组
原因
这是预期的,因为它是 RAC DB,并且它应该在本地节点上的共享磁盘上创建新的数据文件
当用户使用SQL添加数据文件时> alter tablespace system add datafile 'FRA' SIZE 250M AUTOEXTEND ON NEXT 50M MAXSIZE UNLIMITED;
将数据文件添加到默认 OMG 位置 db_create_file_dest
SQL>显示参数 db_create_file_dest
名称类型值
------------------------------------------------ ----------- --- ---------------------------
db_create_file_dest 字符串
当它为 Null 时,默认位置 $OH/dbs
解决方案
- 在 Mount 状态下打开数据库
- 将创建的数据文件复制到共享磁盘组
请注意,数据库必须处于存档模式。
RMAN>将数据文件 '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA' 复制到 'FRA';
2014 年 1 月 6 日开始备份
使用目标数据库控制文件而不是恢复目录
分配的通道:ORA_DISK_1
通道 ORA_DISK_1: SID=8 实例=TESTDB12 设备类型=DISK
通道 ORA_DISK_1:开始数据文件复制
输入数据文件文件编号=00066名称=/u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA
输出文件名= FRA/testdb1/datafile/system.284.836141149 tag=TAG20140106T132548 RECID=1 STAMP=836141162
通道 ORA_DISK_1:数据文件复制完成,已用时间:00:00:15
2014 年 1 月 6 日完成备份
- 使用 SQL PLUS 将数据文件重命名为新位置
SQL>更改数据库重命名文件 '/u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA' 为 'FRA/TESTDB1/DATAFILE/SYSTEM.284.836141149';
- 打开数据库
SQL>改变数据库打开;
- 删除旧文件
$ rm /u01/app/oracle/product/11.2.0/dbhome_1/dbs/FRA |