SLIM的DBA之路一(数据文件被移动后的数据恢复)

来源:互联网 发布:桌面图标修复软件 编辑:程序博客网 时间:2024/04/29 12:55
1.rman备份
run {
allocate channel dev1 type disk;   #分配通道
allocate channel dev2 type disk;
allocate channel dev3 type disk;
backup database format 'd:\oracle\oradata\testslim_%t';  #全库备份
}

list backup of database; #####列出所有的针对数据库的rman备份

delete backupset 1 ######删除编号是1的数据库文件

show all ######显示当前所有的RMAN配置


2.修改某个数据文件,然后进行恢复的步骤
startup mount;

alter database datafile 'd:\oracle\oradata\test01.dbf' offline;

如果不将数据文件offline,数据库启动会报错

alter database open;
alter tablespace test rename 'd:\oracle\oradata\test01.dbf'  to 'd:\oracle\oradata\test01new.dbf';

alter database datafile 'd:\oracle\oradata\test01new.dbf' online;  

将表空间中的数据文件重命名后,必须将数据文件online,否则访问数据会报错

ORA-00376: 此时无法读取文件 5
ORA-01110: 数据文件 5: 'D:\ORACLE\DATA\TEST01NEW.DBF'

3.数据库迁移,数据文件更换位置
startup nomount;
create pfile='d:\oracle\testnew.ora' from spfile;
修改pfile里的controlfile的路径
shutdown immediate;
startup mount pfile='d:\oracle\testnew.ora';
将所有的datafile进行offline,因为路径已经不正确了
alter database datafile 'D:\ORACLE\ORADATA\SLIM\SYSTEM01.DBF' offline;
alter database datafile 'D:\ORACLE\ORADATA\SLIM\SYSAUX01.DBF' offline;
alter database datafile 'D:\ORACLE\ORADATA\SLIM\UNDOTBS01.DBF' offline;
alter database datafile 'D:\ORACLE\ORADATA\SLIM\USERS01.DBF' offline;
alter database datafile 'D:\ORACLE\ORADATA\TEST01NEW.DBF' offline;
alter database datafile 'D:\ORACLE\ORADATA\TESTINX01.DBF' offline;
修改database里的datafile路径############因为现在数据库的状态是mount,所以只能通过alter database rename file的方式来修改文件,不能通过alter tablespace rename datafile to的方式来做(这种方式必须是在数据库open的状态才能操作)#################
alter database rename file 'D:\ORACLE\ORADATA\SLIM\SYSTEM01.DBF' to 'D:\ORACLE\DATA\SLIM\SYSTEM01.DBF' ;
alter database rename file 'D:\ORACLE\ORADATA\SLIM\SYSAUX01.DBF' to 'D:\ORACLE\DATA\SLIM\SYSAUX01.DBF' ;
alter database rename file 'D:\ORACLE\ORADATA\SLIM\UNDOTBS01.DBF' to 'D:\ORACLE\DATA\SLIM\UNDOTBS01.DBF' ;
alter database rename file 'D:\ORACLE\ORADATA\SLIM\USERS01.DBF' to 'D:\ORACLE\DATA\SLIM\USERS01.DBF' ;
alter database rename file 'D:\ORACLE\ORADATA\SLIM\REDO01.LOG' to 'D:\ORACLE\DATA\SLIM\REDO01.LOG';
alter database rename file 'D:\ORACLE\ORADATA\SLIM\REDO02.LOG' to 'D:\ORACLE\DATA\SLIM\REDO02.LOG';
alter database rename file 'D:\ORACLE\ORADATA\SLIM\REDO03.LOG' to 'D:\ORACLE\DATA\SLIM\REDO03.LOG';
将数据文件online
alter database datafile 'D:\ORACLE\DATA\SLIM\SYSTEM01.DBF' online;
alter database datafile 'D:\ORACLE\DATA\SLIM\SYSAUX01.DBF' online;
alter database datafile 'D:\ORACLE\DATA\SLIM\UNDOTBS01.DBF' online;
alter database datafile 'D:\ORACLE\DATA\SLIM\USERS01.DBF' online;
alter database datafile 'D:\ORACLE\ORADATA\TEST01NEW.DBF' online;
alter database datafile 'D:\ORACLE\ORADATA\TESTINX01.DBF' online;
将数据库open
alter database open;
修改spfile
create spfile from pfile='d:\oracle\testnew.ora';   #将修改后的pfile同步到spfile文件中,防止以后启动的时候报错。
启动数据库
startup
原创粉丝点击