今天同事添加表空间误将数据文件添加到本地,写成了/oracle/app/oracle/product/11.2.0/db_1/dbs/=DATA,进入到数据中查询表空间的时候报以下错误
ERROR:
ORA-01157: cannot identify/lock data file 284 - see DBWR trace file
ORA-01110: data file 284: '/oracle/app/oracle/product/11.2.0/db_1/dbs/=DATA'。并且alert告警日志中报这样的错误。
环境是AIX系统,数据库版本是11.2.0.4.0
解决方案的具体步骤如下:
1、将表空间offline
alter tablespace ceshi offline;
2、进入rman,复制数据文件至asm下
rman> copy datafile ' /u01/app/oracle/product/12.1.0/dbhome_1/dbs/=DATA ' to '+DATA';
3、将误创的数据文件重命名到asm下
SQL> alter database rename file ' /u01/app/oracle/product/12.1.0/dbhome_1/dbs/=DATA ' to '+DATA/dzfp/datafile/ceshi..xxxxxxxx';
--lvsksk_t_m_1906.xxxxxxxx为rman转换自动生成的文件
4、将表空间online
alter tablespace ceshi online;
1、准备测试表
1.1、查询表空间为ceshi下的表名
select owner,table_name,tablespace_name from dba_tables where tablespace_name=' CESHI ';
1.2、在yang用户下创建ceshi表并插入一条数据 :
create table yang . ceshi (id int,name char(10));
insert into yang . ceshi values(1,' CESHI ');
commit;
1.3、查询数据:
select * from yang . CESHI ;
2、添加误创的表空间
2.1、查询数据文件路径
SELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME=' CESHI ';
2.2、添加错误的表空间
2.3、分别在二节点查询数据文件:
SELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME=' CESHI ';
二节点报错
2.3、在测试表 插入数据
在 1节点对表执行数据插入:
insert into yang.CESHI values(2,'itpux02');
insert into yang.CESHI values(3,'itpux03');
insert into yang.CESHI values(4,'itpux04');
insert into yang.CESHI values(5,'itpux05');
insert into yang.CESHI values(6,'itpux06');
insert into yang.CESHI values(7,'itpux07');
insert into yang.CESHI values(8,'itpux08');
insert into yang.CESHI values(9,'itpux09');
insert into yang.CESHI values(10,'itpux10');
commit;
一节点查询表的数据
SELECT * FROM yang . CESHI ;
二节点查询表的数据
SELECT * FROM yang . CESHI ;
开始转移数据文件 (在节点一上执行) :
sql "ALTER TABLESPACE CESHI OFFLINE";
rman> copy datafile ' /u01/app/oracle/product/12.1.0/dbhome_1/dbs/=DATA ' to '+ DATA ’ ;
alter database rename file ' /u01/app/oracle/product/12.1.0/dbhome_1/dbs/=DATA ' to ' +DATA/orcl/datafile/ceshi.269.1011525879 ';
alter tablespace CESHI online;
验证数据:
分别在两节点执行:
SELECT FILE_NAME FROM DBA_DATA_FILES WHERE TABLESPACE_NAME=' CESHI ';
节点 1:
节点 2:
验证数据:
郑州男科医院哪家好:https://myyk.familydoctor.com.cn/12248/
select * from yang . CESHI ;
节点 1:
节点 2:
数据一致。