大致思路是:
-- 只保留新增的记录,前提是必须要有一个唯一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
什么数据库?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: 导出指定的表
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)