Oracle导出导入imp/exp备份与还原(实用版)


Oracle导入导出imp/exp

在cmd的dos命令提示符下执行,而不是在sqlplus里面,但是格式一定要类似于:

Dos窗口连接Oracle

# 进入sqlplus提示符
sqlplus /nolog
-- 通过账号登录
connect scott/123456、

-- 远程连接
sqlplus usr/pwd@//host:port/sid

system/h1w2D3B4@//10.71.105.216:1526/i2kdb

-- 查看本用户所有表,视图等
select * from user_tab_comments;

 imp/exp 用户名/密码@service_name或oracle_sid full=y  file=C:\导出文件名称.dmp ignore=y

imp 命令是在dos提示符下执行的,直接cmd后执行而不是在sql下执行的

exp

数据导出

在oracle账号下直接使用,无须进入sqlplus模式

-- 将数据库中system用户与sys用户的表导出
exp wlj/wlj@orcl file=d:exportoracle.dmp owner=(system,sys)

-- 将数据库中的表inner_notify、notify_staff_relat导出
exp wlj/wlj@orcl file= d:exportoracle.dmp tables=(inner_notify,notify_staff_relat)

-- 将数据库中的表table1中的字段filed1以"00"打头的数据导出
exp  wlj/wlj@orcl  file=d:exportoracle.dmp tables=(table1) query=" where filed1 like '00%'"
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。   也可以在上面命令后面 加上 compress=y 来实现。   Linux下该命令中的小括号比较敏感,需要加上双引号   执行命令后如果报错误或写错误,那就是oracle账号对文件夹没有操作权限,切换到具有的权限文件夹,导出到该文件夹下即可  

数据导入

1 将d:exportoracle.dmp 中的数据导入 TEST数据库中。    imp wlj/wlj@orcl file=d:exportoracle.dmp    imp  wlj/wlj@orcl full=y  file=d:exportoracle.dmp ignore=y    如果出现问题,可能是因为有的表已经存在,然后它就报错,对该表就不进行导入。    在后面加上 ignore=y 就可以了。 2 将d:exportoracle.dmp中的表table1 导入 imp  wlj/wlj@orcl   file=d:exportoracle.dmp  tables=(table1)   注意:基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。   注意:1、操作者要有足够的权限,权限不够它会提示。            2、数据库是可以连上的。可以用tnsping orcl 来获得数据库orcl能否连上。   具体参考: