ORACLE导入导出

来源:互联网 发布:在线沟通软件 编辑:程序博客网 时间:2024/06/05 01:53
在SQLPLUS下面 执行:expsystem/system@orclfile=expfile log=expfile  wner=orcl,提示:SP2-0734: 未知的命令开头 "exp system..." - 忽略了剩余的行

,最后查了下资料发现应该是在cmd的dos命令提示符下执行,而不是在sqlplus里面, 或者在记事本上写下导出命令,后改成.BAT文件,就可以运行了...

数据导出: 
1 将数据库TEST完全导出,用户名system 密码manager 导出到D:daochu.dmp中 
   exp system/manager@TEST file=d:daochu.dmp full=y 
2 将数据库中system用户与sys用户的表导出 
   exp system/manager@TEST file=d:daochu.dmp owner=(system,sys) 
3 将数据库中的表inner_notify、notify_staff_relat导出 
    exp aichannel/aichannel@TESTDB2 file= d:datanewsmgnt.dmp tables=(inner_notify,notify_staff_relat) 
4 将数据库中的表table1中的字段filed1以"00"打头的数据导出 
   exp system/manager@TEST file=d:daochu.dmp tables=(table1) query=" where filed1 like '00%'" 
上面是常用的导出,对于压缩,既用winzip把dmp文件可以很好的压缩。  也可以在上面命令后面 加上 compress=y 来实现。 
数据的导入 
1 将D:daochu.dmp 中的数据导入 TEST数据库中。 
   imp system/manager@TEST  file=d:daochu.dmp 
   imp aichannel/aichannel@HUST full=y  file=d:datanewsmgnt.dmp ignore=y 
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。 
   在后面加上 ignore=y 就可以了。 
2 将d:daochu.dmp中的表table1 导入 
imp system/manager@TEST  file=d:daochu.dmp  tables=(table1)

基本上上面的导入导出够用了。不少情况要先是将表彻底删除,然后导入。 

注意: 
操作者要有足够的权限,权限不够它会提示。 
数据库时可以连上的。可以用tnsping TEST 来获得数据库TEST能否连上。 
当然,上面的方法在导出数据时可能会导出很大的包,那是因为你的用户可能在授权的时候授予了DBA的权限,所以可以采用下面方法来进行数据库备份:
数据库备份 
建议系统过渡后,每周进行一次备份。或者在数据表发生重大改变前,对要改变的数据表进行备份。 
执行以下步骤,进行备份。 
在命令行里,敲入“cmd”,回车,进入命令行窗口。 
在窗口中,输入: 
exp mas/123456@mas 
系统提示:输入数组提取缓冲区大小: 4096 > 
可以直接回车; 
系统提示:导出文件: EXPDAT.DMP> 
此处输入导出文件的位置,其路径必须存在,Oracle在这里不会自动建立路径,但可以建立文件名。备份文件以dmp作为后缀。 
输入内容如:e:\work\mas_db_090925v1.dmp 回车 
系统提示: (1)E(完整的数据库),(2)U(用户) 或 (3)T(表): (2)U > u 
此处可以输入u,也可以直接回车,因为系统此时默认的是U 
系统提示:导出权限(yes/no):yes>回车 
系统提示:导出表数据(yes/no):yes>回车 
系统提示:压缩区(yes/no):yes>回车 
系统提示:要导出的用户: (RETURN 以退出) > mas 
系统提示:要导出的用户: (RETURN 以退出) > 回车 
此时系统会自动进行备份 


原创粉丝点击