Oracle 数据库导入导出(imp/exp)

来源:互联网 发布:金融数据挖掘python 编辑:程序博客网 时间:2024/06/06 13:19

大多情况都可以用Oracle数据导入导出完成数据的备份和还原(不会造成数据的丢失)。导入和导出分别使用imp和exp两种命令,这些命令可以在cmd窗口下运行。


导入命令:imp usename/password@SID full=y  file= d:\data\xxxx.dmp ignore=y。其中usename/password是你创建的用户名,@SID是你的数据库名称,比如使用的oracle 11g默认创建数据库名称是orcl,full=Y是指全部导入,ignore=y也是有用处的,假如你的数据库第一次没有导入成功,再没有完全删除它的情况下第二次导入会出现无法导入的错误,此时加入ignore=y这条语句后可以正常导入,正常情况下可以不用输入ignore=y这条命令。


示例:imp c##scott/tiger@orcl file=F:\智能配电网-大数据\SDCXFX_20161216.DMP full=y


'IMP HELP=Y' 获取帮助信息提示



导入\导出的基本语法和实例: 
    1、EXP: 
      有三种主要的方式(完全、用户、表) 
      1、完全: 
          EXP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y 
          如果要执行完全导出,必须具有特殊的权限 
      2、用户模式: 
          EXP SONIC/SONIC    BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC 
          这样用户SONIC的所有对象被输出到文件中。 
      3、表模式:
          EXP SONIC/SONIC    BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC) 
          这样用户SONIC的表SONIC就被导出 
    2、IMP: 
      具有三种模式(完全、用户、表) 
      1、完全: 
          IMP SYSTEM/MANAGER BUFFER=64000 FILE=C:\FULL.DMP FULL=Y 
      2、用户模式: 
          IMP SONIC/SONIC    BUFFER=64000 FILE=C:\SONIC.DMP FROMUSER=SONIC TOUSER=SONIC 
          这样用户SONIC的所有对象被导入到文件中。必须指定FROMUSER、TOUSER参数,这样才能导入数据。 
      3、表模式: 
          EXP SONIC/SONIC    BUFFER=64000 FILE=C:\SONIC.DMP OWNER=SONIC TABLES=(SONIC) 
          这样用户SONIC的表SONIC就被导入。

密码输入注意事项:

如果你的密码中包含特殊字符,在Windows下就需要用三个双引号扩起来,如:
  exp skytf/"""#$adf`%6^=dfom"""@skytf buffer=52428800 file=skytf.dmp

  如果是在Linux系统下,则密码用一对双引号, 整体userid和password用对单引号括住,如:
  exp 'skytf/"?`}:=*H"@skytf'"<akJWI-q-@#<>?`}:Q*H"@skytf' DIRECT=Y buffer=52428800 FEEDBACK=10000 statistics=none file=skytf.dmp

密码中包含特殊字符的使用,具体请看《Oracle密码中含有特殊字符时exp,imp的使用》文章


注意事项:

1.如果加上“full=y”,将整个数据库全部导出,需要特殊的权限(具体什么权限没研究过),一般用system用户就足够了,普通用户是不可以的

2.不加“full=y”,默认导出连接数据库的用户数据库对象,比如:exp aaa/abc@oracle file=a.dmp,导出aaa模式下的所有数据库对象

3.你说的有多个用户,可以使用system来指定导出哪个用户的数据库对象,比如:exp aaa/abc@oracle file=a.dmp owner=(bbb,ccc),普通用户是不可以指定owner的

4.数据有多个实例的情况,这个要看你“@”后面是什么,如果@oracle,则在oracle实例上进行导出,@ora,则在ora实例上进行导出

FULL  导出整个数据库   默认是禁止的 

不加的就是不导出整个数据库  只导出该用户下的数据   那么bbb用户的数据就不会导出来。


0 0
原创粉丝点击