oracle数据库备份还原,windows服务器

一: 备份oracle数据库
备份有两种方式一种是exp方式,还有一种是expdp
比如我有一个oracle数据库person , 里面有两个scheam, 比如student和teacher

#导出person数据库中的,student、teacher这两个scheam,
exp system/passwd@person  file=D:\20180807.dmp owner=(student,teacher);

#导出一张表数据,导出student里面的成绩表
exp system/passwd@person file=D:\score.dmp tables=(student.score)

#数据泵导出,导出全库
expdp system/passwd@person directory=DATA_PUMP_DIR dumpfile=person.DMP EXCLUDE=STATISTICS full=y logfile=expperson.log

#导出指定scheam和版本
expdp system/passwd@person directory=expdir dumpfile=person.dmp logfile=person1203.log schemas=(student,teacher) version=11.2.0.1.0

二: 还原数据库
exp导出的备份文件需要用imp的导入语句,expdp 导出的备份文件需要用impdp的导入语句。
1、在客户端先删除要还原的用户

drop user student cascade;
drop user teacher cascade;

2、创建用户

#123456是这个用户对应的密码,SYSTEM是默认的表空间,创建用户指定表空间
create user student identified by 123456 Default tablespace SYSTEM;
create user teacher identified by 123456 Default tablespace SYSTEM;

3、赋权限

grant create session,connect, resource, dba to student;
grant create session,connect, resource, dba to teacher;

以上三个步骤都在客户端执行,比如plsql
4、执行备份脚本,在数据库安装的服务器上在cmd中执行

#D:\20180807.dmp,这个是备份文件所在的位置,将整个备份文件都导入
imp system/passwd@person file=D:\20180807.dmp full=y ignore=y;

#指定要导入的scheam
imp system/passwd@person fromuser=(student) touser=(student) file=D:\20180807.dmp commit=y ignore=y;

#导入一张表数据
imp system/passwd@person file=D:\score.dmp fromuser=(student) tables=score 

impdp system/passwd@person directory=DATA_PUMP_DIR dumpfile=20180807.dmp  logfile=dp.log partition_options=none table_exists_action= replace;


评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

javascript_good

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值