oracle逻辑备份与还原大全

表是逻辑单位,对表的备份叫做逻辑备份。(数据迁移)

可以跨用户移动数据,跨数据库移动数据,为测试保存原始数据状态,对数据库进行版本升级

逻辑导出注意事项:

exp程序在目录中发现同名文件时会直接覆盖,不提示!!

exp无法备份无段的空表

执行逻辑导出时一定要注意字符集!最好使用包含中文的小表做测试!!

导入数据时和导出数据时一模一样,导出之后数据库中表的数据变化会丢失!!

逻辑导出本质是对数据库进行select查询,把查询结果写成系统二进制文件。

备分过程中修改数据无法在备份数据中体现,还原回来可能丢数据。

 

1、逻辑导出,所有版本都可用,服务器端和客户端都可用

mkdir -p /home/oracle/expbk

exp userid=scott/passwd tables=emp file=/home/oracle/expbk/emp.dmp buffer=1024000 log=/home/oracle/expbk/emp.log

逻辑导入:

drop table t01 purge;

imp userid=scott/passwd tables=t01 file=/home/oracle/expbk/t01.dmp buffer=1048576 feedback=10000 log=/home/oracle/expbk/imp_t01.log

 

2、导出数据时带有查询条件

exp userid=scott/passwd tables=emp file=/home/oracle/expbk/emp_30.dmp query=\'where deptno=30\' buffer=1048576 log=/home/oracle/expbk/emp_30.log

导入时追加数据:ignore=y (有主键时不能用)

imp userid=scott/passwd tables=emp file=/home/oracle/expbk/emp_30.dmp ignore=y buffer=1048576 log=/home/oracle/expbk/imp_emp_30.log

 

3、闪回导出必须用system用户(insert,update,delete是可以闪回去的,其他操作无法闪回)

exp system/passwd tables=scott.emp file=/home/oracle/expbk/emp_1015.dmp buffer=102400 flashback_time=\"to_timestamp\'2017−07−0110:15:00\',\'yyyy−mm−ddhh24:mi:ss\'

\" log=/home/oracle/expbk/emp_1015.log

导入数据

imp system/passwd file=/home/oracle/expbk/emp_1015.dmp full=y ignore=y

 

4、只导出表结构(元数据)不导出数据:备份模型,不备份数据

exp scott/passwd tables=ob1 rows=n file=/home/oracle/expbk/ob1_metadata.dmp log=/home/oracle/expbk/ob1_metadata.log

 

5、导出用户:

exp userid=scott/passwd owner=scott file=/home/oracle/expbk/scott.dmp buffer=1048576 feedback=10000 log=/home/oracle/expbk/scott.log

导入用户(先创建好用户):

imp userid=scott/passwd full=y file=/home/oracle/expbk/scott.dmp buffer=1048576 feedback=10000 log=/home/oracle/expbk/imp_scott.log

 

6、跨用户导入数据:scott-->tom

imp userid=system/passwd file=/home/oracle/expbk/scott.dmp fromuser=scott touser=tom tables=dept,emp,salgrade buffer=1048576 feedback=10000 log=/home/oracle/expbk/imp_scott.log

(可以不加tables选项,默认导所有的,加哪个导哪个)

 

7、使用主机管道压缩备份数据

mknod /home/oracle/expbk/exp_pipe p

exp userid=scott/passwd owner=scott buffer=1048576 feedback=10000 log=/home/oracle/expbk/scott.log file=/home/oracle/expbk/exp_pipe & gzip </home/oracle/expbk/exp_pipe >scott.dmp.gz

 

8、导出表空间

exp userid=system/passwd tablespace=USERS file=/home/oracle/expbk/users.dmp buffer=1048576 log=/home/oracle/expbk/users.log

导入表空间

imp userid=scott/passwd owner=scott file=/home/oracle/expbk/scott.dmp buffer=1048576 feedback=10000 log=/home/oracle/expbk/scott.log

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值