
Oracle备份:
逻辑备份
开始à运行àcmd
在命令行窗口输入备份命令—即导出命令
导出scott用户模式—这将导出scott用户的所有对象exp scott/tigerfile=c:\scott.dmp
或者exp system/managerowner=(scott) file=c:\sys.dmp
导出scott用户的dept表和emp表exp scott/tigerfile=c:\scott2.dmp tables=(dept,emp)
或者exp system/manager tables=(scott.dept,scott.emp)file=c:\sys2.dmp
导出scott用户模式和wks030用户模式—这将导出scott用户和wks030用户的所有对象exp system/managerowner=(scott, wks030) file=c:\sys3.dmp
导出scott的emp表以及 wks030的tbuser表和tbscore表exp system/manager tables=(scott.emp,wks030.tbuser,wks030.tbscore)file=c:\sys4.dmp
导出整个数据库(要求必须是管理员)—这将导出整个数据库的内容, 不推荐尝试, 时间太长, 文件太大exp system/managerfull=y file=c:\sys5.dmp
要点
普通用户可以导出自己的表或整个模式
DBA可以导出其他用户的表或模式
DBA可以导出整个数据库
Owner和tables是2种导出模式, 不可同时使用owner: 导出指定用户的整个模式tables: 导出指定的表
select * into 新数据库..新表 from 旧数据库..旧表就可以把表数据备份到另外一个数据库了
---------------------
第一步:选择需要还原的数据库,鼠标右键,选择任务下的还原
第二步:选择“源设备”,点击后面的文件选择“...”
第三步:添加你需要还原的数据库,还原的数据库文件后缀为备份文件(bak)
第四步:选中添加进来的还原文件,找到左上角上的“选择项”,勾选第一项(覆盖现有数据库),点击确定就可以了
大致思路是:
-- 只保留新增的记录,前提是必须要有一个唯一ID字段-- 备份数据表 到 tbsrc_171201
select id,fld1,fld2 into tbsrc_171201 from tbsrc
-- 对 tbsrc 表 *** 作,(新增/删除/更新数据)
-- 将新增记录插入备份表
insert into tbsrc_171201 (id,fld1,fld2) select id,fld1,fld2 from tbsrc where id >(select max(id) as maxid from tbsrc_171201)
-- 将原表清空
truncate table tbsrc
-- 再将备份表插回到原表中
insert into tbsrc (id,fld1,fld2) select id,fld1,fld2 from tbsrc_171201 order by id
-- 再删除备份表
drop table tbsrc_171201
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)