一、先查询directory的地址 导出的文件必须放在此目录
    select * from dba_directories;
  找到directory_name的值 ,也可以新建一个
    create directory test as 'f:\test'

二、查看数据库版本号,指定版本导出

  select * from v$version;

三、数据库导出和导入

  数据库的导入导出有两种方式,一种是imp/exp,另一种是IMPDP/EXPDP。

imp
  1、将d:\daochu.dmp 中的数据导入 orcl数据库中。
    imp scott/accp@orcl file=d:\daochu.dmp full=y
  2、如果导入时,数据表已经存在,将报错,对该表不会进行导入;加上ignore=y即可,表示忽略现有表,在现有表上追加记录。
    imp scott/accp@orcl file=d:\daochu.dmp full=y ignore=y
  3、将d:\daochu.dmp中的表emp导入
    imp scott/accp@orcl file=d:\daochu.dmp tables=(emp)
exp
  1、将数据库orcl完全导出,用户名system,密码accp,导出到d:\daochu.dmp文件中
    exp system/accp@orcl file=d:\daochu.dmp full=y
  2、将数据库orcl中scott用户的对象导出
    exp scott/accp@orcl file=d:\daochu.dmp owner=(scott)
  3、将数据库orcl中的scott用户的表emp、dept导出
    exp scott/accp@orcl file= d:\daochu.dmp tables=(emp,dept)
  4、将数据库orcl中的表空间testSpace导出
    exp system/accp@orcl file=d:\daochu.dmp tablespaces=(testSpace)

  impdp和empdp相对于imp和emp来说参数比较多,但比较准确,出错率少,推荐用这种。

IMPDP USERID='scott/tiger@orcl' REMAP_SCHEMA=scott:scott REMAP_TABLESPACE=users:users directory=TEST dumpfile=2015.DMP logfile=2015.log
EXPDP USERID='scott/tiger@orcl' schemas=scott directory=TEST dumpfile=2015.dmp logfile=2015.log version=10.2.0.1.0 EXCLUDE=TABLE:\"IN('TABLE1','TABLE2')\"

  此处对impdp和empdp的相关属性做简单介绍:

  userid='XX/XX@XX',此处为:用户名/密码@数据库名

  REMAP_SCHEMA=xx:xx,此处为原数据库用户名:现数据库用户名

  REMAP_TABLESPACE=XX:XX,此处为原数据库表空间:现数据库表空间

  directory=XX,此处参考文章步骤一。

  DUMPFILE=xx,此处为导出的数据库文件名称

  logfile=XX,此处为导出的日志文件名称

  schemas='XX',此处为用户名

  version=XX.XX.XX.X.X,此处为指定导出版本号,因数据库之间版本可能不一样,所以导出前要确定目标数据库的版本号。

  EXCLUDE=XX,此为导出时排除某些表,即某些表不导出。  

  

posted on 2015-08-06 17:18  程序员丁先生  阅读(234)  评论(0编辑  收藏  举报