说明:
搭建dg备库,参数中有db_file_name_convert
当时没看清楚
alter system set DB_FILE_NAME_CONVERT=' +DATA/orcl/datafile/','/oradata/datafile/' scope=spfile;
参数的第一个值有一个空格,导致主库添加数据文件时,备库未跟随生成相应数据文件 ,
但备库要置于open read only 模式
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oradata/datafile/system.273.911455283
/oradata/datafile/sysaux.274.911455285
/oradata/datafile/undotbs1.275.911455285
/oradata/datafile/users.276.911455285
/oradata/datafile/undotbs2.281.911455619
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00006
进到/u01/app/oracle/product/11.2.0/dbhome_1/dbs/下,不存在该文件
手动创建一个UNNAMED00006 打开数据库报错,控制文件记录数据文件的头
新建的文件头在控制文件里没有记录。
SQL> alter database mount standby database;
Database altered.
SQL> alter database open;
alter database open
*
ERROR at line 1:
ORA-10458: standby database requires recovery
ORA-01157: cannot identify/lock data file 1 - see DBWR trace file
ORA-01110: data file 1: '/oradata/datafile/system.273.911455283.dbf'
解决方法,打开数据库到mount 然后offline这个数据文件
SQL> shutdown immediate;
ORA-01109: database not open
SQL> startup mount;
ORACLE instance started.
Total System Global Area 1252663296 bytes
Fixed Size 2252824 bytes
Variable Size 402657256 bytes
Database Buffers 838860800 bytes
Redo Buffers 8892416 bytes
Database mounted.
SQL> alter database datafile 6 offline;
alter database datafile 6 offline
*
ERROR at line 1:
ORA-01668: standby database requires DROP option for offline of data file
SQL> alter database datafile 6 offline drop;
Database altered.
然后关闭数据库 以standby 角色启动 open 进入read only 模式,由于那个数据文件没有创建,所以也删不掉
再次查询还是存在
SQL> select name from v$datafile;
NAME
--------------------------------------------------------------------------------
/oradata/datafile/system.273.911455283
/oradata/datafile/sysaux.274.911455285
/oradata/datafile/undotbs1.275.911455285
/oradata/datafile/users.276.911455285
/oradata/datafile/undotbs2.281.911455619
/u01/app/oracle/product/11.2.0/dbhome_1/dbs/UNNAMED00006
不过已经可以read only或正常切换了
有一点没有确认就是我在上面offline 数据文件6的时候
alter database mount standby database ;
是否可以alter database datafile 6 offline drop;