阅读量:0
文章目录
从全库备份中恢复用户库的思路
备份全库
第一步:使用系统用户将oracle整个导出备份----全库备份
1.exp system/system buffer=65536 feedback=100000 full=y file=D:/exp.dmp log=exp.log ---导出备份文件位置可自定义 日志文件位置可自定义
第二步:删除全库中的用户库(oracle数据库是一个多用户数据库,每个用户就是一个用户库
)
2.删除用户以及用户所在表空间 drop user gk cascade; //删除用户 DROP TABLESPACE gk INCLUDING CONTENTS AND DATAFILES;// 删除用户表空间(gk)
假设有人删除跑路的情况下,dba就可以利用全库的备份进行用户库的恢复
恢复用户库
根据前面的全库备份文件可进行用户库的恢复:
3、进行恢复(先创建表空间,再创建用户授权:) CREATE TABLESPACE gk datafile 'E:\APP\ORADATA\ORCL\gk.DBF' SIZE 200M autoextend off;--创建表空间 CREATE USER gk IDENTIFIED BY gk DEFAULT TABLESPACE gk; --创建用户设置默认密码、默认表空间 grant dba to gk;--用户授权
新建的用户,用户表空间,必须要与全库备份中的用户,用户表空间保持一致,否则将无法进行恢复
4、1从全库备份的dmp中导入用户数据 imp system/system fromuser=gk touser=gk commit=y buffer=65536 feedback=100000 ignore=y file=exp.dmp log=imp.log
4、2从全库备份的dmp中导入用户数据 imp system/system fromuser=gk touser=gk123 commit=y buffer=65536 feedback=100000 ignore=y file=exp.dmp log=imp.log
fromuser这个的指定是system导出中任意的name(有什么就是什么) touser这个是自己新建的,前者进行转移的用户
其中fromuser=gk为.dmp文件里的对象的原先的owner,
touser=gk123为作为导入的对象的新的Owner
full方式可以备份所有用户的数据库对象,包括表空间、用户信息等,
owner=XX只能备份指定用户的对象