Oracle表数据备份
Oracle数据库备份一个表数据并恢复
使用场景:
当我们平时想要大批量替换数据的时候,在生产上往往会先备份,然后如果遇到问题再回退,那么可能涉及下面两个语句:
1.创建一个备份表并存储原始数据
CREATE TABLE 备份表 as SELECT * FROM 旧表
2.恢复原始数据
INSERT INTO 旧表 SELECT * FROM 备份表
备注:
这样的话 我们就可以把要修改的表数据大胆删除,然后插入最新的数据,当有异常的时候,回退方法就是 将备份表的数据还原回去即可
Oracle单表备份三种方案
备份方案一:
1. 备份
create table [备份名] as select * from [表名];
2. 恢复
truncate table org_group;
insert into org_group select * from [备份名] ;
3. 说明
此种情况适用于,同一个数据库,需要备份某张表。
备份方案二:
1. 备份
oracle用户终端执行:
exp [用户名]/[密码] tables=[表一],[表二] file=/home/oracle/table.dmp
2. 恢复
oracle用户终端执行:
imp [用户名]/[密码] grants=y commit=y full=y ignore=y file=/home/oracle/table.dmp
备份方案三:
1. 备份
登录sqlplus:
sqlplus / as sysdba
创建directory:
create directory dpdata as '/home/oracle/';
目录创建以后,就可以把读写权限授予特定用户:
grant read, write on directory dpdata to [用户名];
oracle用户终端执行:
expdp [用户名]/[密码] tables=[表一],[表二] directory=dpdata dumpfile=table.dmp job_name=cases_export
2. 恢复
登录sqlplus :
sqlplus / as sysdba
创建directory:
create directory dpdata as '/home/oracle/';
目录创建以后,就可以把读写权限授予特定用户:
grant read, write on directory dpdata to [用户名];
oracle用户终端执行:
impdp [用户名]/[密码] directory=dpdata dumpfile=table.dmp job_name=cases_export
3. 说明
查询dba_directories查看所有directory:
select * from dba_directories;
删除directory:
drop directory dpdata;

浙公网安备 33010602011771号