rac ORA-001157 數據文件誤創 本地盤 共享存儲 ASM cannot identify/lock data file
誤將數據文件創建在本地盤而不是共享存儲
錯誤原因:
不是共享存儲中的數據文件,其他實例不能訪問
解決思路和辦法:
把本地的數據文件移到共享存儲中。
步驟;
1. offline 表空間或數據文件
2. 復制數據文件
3. 重命名數據文件
4. 恢復數據文件(表空間不用)
5. online 表空間或數據文件
復制方案
1. RMAN copy datafile
2. dbms_file_transfer.copy_file
3. ASMCMD cp
詳細步驟:
一:
alter tablespace ts1 offline;
rman>copy datafile ‘本地目錄/源數據文件‘ to ‘共享目錄/目標文件名‘;--目標文件自己取名
alter database rename file ‘本地目錄/源數據文件‘ to ‘共享目錄/目標文件名‘;
alter tablespace ts1 online;
二:
create directory source_dir as ‘本地目錄/‘;
create directory dest_dir as ‘共享目錄/‘;
alter tablespace ts1 offline;
begin
dbms_file_transfer.copy_file(‘SOURCE_DIR‘,‘源數據文件名‘,‘DEST_DIR‘,‘目標文件名‘);
end;
--可以通過asmcmd命令行確認是否正確copy成功
/*
grid>asmcmd
asmcmd>cd 共享目錄
asmcmd>ls 目標文件名
*/
alter database rename file ‘本地目錄/源數據文件名‘ to ‘共享目錄/目標文件名‘;
alter tablespace ts1 online;
三:--操作數據文件,只能是表空間添加數據文件可行,創建表空間時出錯(以下改成表空間)
alter database datafile ‘本地目錄/源數據文件‘ offline;
root>mv 源數據文件 /home/grid/
root>chown grid:asmadmin 源數據文件--/home/grid/目錄操作
grid>asmcmd
asmcmd>cd 共享目錄
asmcmd>cp /home/grid/源數據文件 目標文件名
asmcmd>ls
alter database rename file ‘本地目錄/源數據文件‘ to ‘共享目錄/目標文件名‘;
alter database recover datafile ‘共享目錄/目標文件名‘;
alter database datafile ‘共享目錄/目標文件名‘ online;
本文出自 “技術點滴” 博客,請務必保留此出處http://291268154.blog.51cto.com/8955907/1939911
rac ORA-001157 數據文件誤創 本地盤 共享存儲 ASM cannot identify/lock data file