oracle imp恢复索引,ORACLE备份和恢复 - 逻辑备份 exp/imp

ORACLE备份和恢复

<1>逻辑备份

不用去拷贝数据库的物理文件

备份逻辑上的结构

外部的工具:导出和导入的工具

DOS下的命令 cmd下执行

导出exp  export缩写形式

查看帮助 exp help=y

使用参数文件导出

exp parfile=c:\abc.par

>>>abc.par的内容

a)scott用户连接导出自己的所有对象

userid=scott/tiger --连接的用户scott

file=c:\a1.dmp  --导出的文件的名字a1.dmp

--导出了scott用户的所有对象

b)用system连接来导出scott下的所有对象

exp parfile=c:\sys.par

>>>>sys.par的内容

userid=system/manager

file=c:\b1.dmp

wner=(scott)  --导出scott用户的所有对象

导出多个用户的数据

建立一个测试用户 test

grant connect,resource

to test identified by t123;

alter user test

default tablespace users

temporary tablespace temp;

create table student(

stu_id number(4) primary key,

stu_name varchar2(20),

stu_score number(2)

);

insert into student values (1000,

'Mike',95);

insert into student values (1001,

'John',90);

导出scott和test下的所有对象????

>>>userid=system/manager

file=c:\st.dmp

wner=(scott,test)

导出scott下的emp,dept表????

>>>userid=system/manager

file=c:\st.dmp

tables=(scott.emp,scott.dept,test.student)

导出整个数据库(备份整个数据库)

必须用超级用户 system ,sys

exp system/manager file=c:\system.dmp full=y feedback=1000

或者

exp parfile=c:\sys.par

>>>sys.par

userid=system/manager

file=c:\system.dmp

full=y

比较全的一个导出的参数文件

>>>sys.par

userid=system/manager

file=c:\aa.dmp

buffer=1024000  --缓冲

rows=y          --是否导出记录

compress=y      --extent是否压缩

grants=y        --grant语句是否导出

indexes=y       --导出索引

full=y          --全库导出

feedback=3      --显示导出进度每3行

导出表scott.dept中部门编号是40的记录

>>>sys.par

userid=system/manager

file=c:\sys.dmp

tables=(scott.emp)

query="where deptno=10"

导出表scott.emp中的记录

>>>sys.par

userid=system/manager

file=c:\sys.dmp

tables=(scott.emp)

feedback=3  --每3行记录显示一个点进度

如何把导出的数据导入到数据库中进行恢复??

imp    import缩写形式

dos命令

imp help=y 查看帮助

<1>把scott下的表emp导出 ,

然后删除表中的内容(truncate table emp),

利用导出的文件来恢复??

a)导出

exp parfile=c:\sys.par

>>> sys.par

userid=system/manager

file=c:\emp.dmp

tables=(scott.emp)

b)删除

truncate table emp;  --删数据

或者

drop table emp;  --删除结构

( delete from emp;  --删数据可以恢复)

c)恢复

imp prafile=c:\im.par;

>>>im.par

userid=system/manager

file=c:\emp.dmp

fromuser=scott    --从哪个用户来恢复

show=y            --显示导入文件中的SQL语句

<2>scott下的对象全部复制到test用户下

(克隆用户scott)

a)导出scott用户

exp parfile=c:\sys.par

>>>sys.par

userid=system/manager

file=c:\scott.dmp

wner=(scott)

b)导入scott.dmp文件中的内容到test用户下

imp parfile=c:\im.par

>>>im.par

userid=system/manager

file=c:\scott.dmp

fromuser=scott

touser=test

<3>scott用户导出数据后

用户scott被删除了

怎么来恢复??????

a)导出scott用户

exp parfile=c:\sys.par

>>>sys.par

userid=system/manager

file=c:\scott.dmp

wner=(scott)

b)删除scott用户

drop user scott cascade;

c)恢复

先建立用户scott

grant connect,resource to scott

identified by tiger;

alter user scott

default tablespace users

temporary tablespace temp;

然后导入

imp parfile=c:\im.par

>>im.par

userid=system/manager

file=c:\scott.dmp

fromuser=scott

<4>如何进行全库导入

imp system/manager

file=c:\all.dmp full=y ignore=y

full   ---全库

ignore  ---忽略导入过程中的错误

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值