Oracle 数据库导入,导出命令

Oracle 数据导入导出imp/exp就相当于oracle数据还原与备份。exp命令可以把数据从远程数据库服务器导出到本地的dmp文件,imp命令可以把 dmp文件从本地导入到远处的数据库服务器中。 利用这个功能可以构建两个相同的数据库,一个用来测试,一个用来正式使用。
执行环境:可以在SQLPLUS.EXE或者DOS(命令行)中执行.

oracle 配置文件 tnsnames.ora
ORACLE_192.168.28.1 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.28.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oracle11)
    )
  )
ORACLE_192.168.28.2 =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.28.2)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = oracle22)
    )
  )
1.数据库导入,导出命令
数据导出:
a. 将数据库TEST完全导出,用户名system 密码manager 导出到D:\daochu.dmp中
   exp test/test@ORACLE_192.168.28.1 file=d:\daochu.dmp full=y
b. 将数据库中system用户与sys用户的表导出
   exp  test/test@ORACLE_192.168.28.1  file=d:\daochu.dmp owner=(system,sys)
数据导入:
a 将D:\daochu.dmp 中的数据导入 TEST数据库中。
   imp dev/dev@ORACLE_192.168.28.2  file=d:\daochu.dmp
   imp dev/dev@ORACLE_192.168.28.2 full=y  file=file= d:\data\newsmgnt.dmp ignore=y
   上面可能有点问题,因为有的表已经存在,然后它就报错,对该表就不进行导入。
   在后面加上 ignore=y 就可以了。
b 将d:\daochu.dmp中的表table1 导入
imp dev/dev@TEST  file=d:\daochu.dmp  tables=(table1)

2.数据库表中Clob,Blob 导入导出命令

exp  数据库用户名/密码@配置名称  file=输出文件路径  log=日志文件路径  tables=(数据库表名)  query=\"查询条件\"
imp 数据库用户名/密码@配置名称  file=输入文件路径  log=日志文件路径  tables=(数据库表名)  ignore=y
exp test/test@ORACLE_192.168.28.1  file=c:\11.dmp log=c:\11.log tables=(table1) query=\"where  createdby='sysadmin'  and to_char(createtime,'YYYY-MM-DD')='2012-05-17'\"
imp dev/dev@ORACLE_192.168.28.2 file=c:\11.dmp log=c:\121.log tables=(table1) ignore=y

用cmd.exe 执行就可以,注意的地方就是query 地方 \"
先执行exp 后执行imp
注意:
操作者要有足够的权限,权限不够它会提示。

猜你喜欢

转载自jadethao.iteye.com/blog/1596417