一、检查环境一致性

需检查数据库客户端与服务端字符编码,以避免后续各种各样的问题

查询服务端编码

注意最好用sqlplus查询,用plsql有时候会出现查询不一致问题,如下图同一个语句在plsql和sqlplus中获得了不同的查询结果

也可以在NLS_DATABASE_PARAMETERS中查询,如下字符集为AMERICAN_AMERICA.AL32UTF8

查询客户端编码(环境为WINDOWS)

环境变量之中字符集变量设置,变量名NLS_LANG 值设置与服务器端字符集编码一致

注册表中的Oracle字符集设置,NLS_LANG 值设置与服务器端字符集编码一致

二、数据导出:

1、运行cmd;

2、登录数据库,输入命令:sqlplus

使用管理员角色登录需要在用户名后加“ as sysdba”  例如:sys as sysdba,也可以输入sqlplus 非用户密码登陆也可以 sqlplus / as sysdba

3、同样创建目录路径:输入命令:create directory data_dir as 'D:\ora\data' ;

1)、data_dir为路径名称,可自命名,D:\ora\data为数据库导出文件存放路径(路径必须存在)

2)、使用命令:select * from dba_directories可查询用户创建目录。

4、为oracle用户授予访问数据目录的权限,输入命令:Grant read,write on directory data_dir to dbuser;

dbuser为数据库用户名

5、导入导出操作授权,输入命令:grant exp_full_database,imp_full_database to dbuser;  
6、数据导出,执行命令:expdp dbuser/123456@orcl schemas=dbuser dumpfile=expdp.dmp directory=data_dir logfile=expdp.log

注意该命令是在cmd下执行,不是在sqlplus窗口中执行

命令详情:

expdp [为用户名]/[密码]@[服务名]

schemas=[用户名]

dumpfile=[导出数据库文件名]

directory=[设置目录名]

logfile=[日志文件文件名]

三、数据导入:

1、运行cmd;

2、登录数据库,输入命令:sqlplus;

使用管理员角色登录需要在用户名后加“ as sysdba”  例如:sys as sysdba

非用户密码登陆也可以sqlplus / as sysdba

3、创建表空间,用户以及用户授权dba(本地测试)  如单独授予权限 导入导出操作授权,输入命令:grant exp_full_database,imp_full_database to user;

create tablespace table_space
logging
datafile 'E:\app\oradata\orcldb\space.DBF'
size 50m
autoextend on
next 50m maxsize 30000m
extent management local;

create user user
identified by "123456"
default tablespace table_space
temporary tablespace TEMP
profile DEFAULT;

grant dba to user;

后期如果需要扩充表空间可以用:

alter tablespace table_space add datafile 'E:\app\oradata\orcldb\space1.DBF'
size 50m
autoextend on
next 50m maxsize 30000m;

4、创建目录路径:输入命令:create directory data_dir as 'D:\ora\data' ; 路径里存放之前导出的数据库dmp文件

1)、data_dir为路径名称,可自命名,D:\ora\data为数据库导出文件存放路径(路径必须存在);

2)、使用命令:select * from dba_directories可查询用户创建目录。

5、为oracle用户授予访问数据目录的权限,输入命令:Grant read,write on directory data_dir to user;

user为之前建立的导入数据库用户名。

6、数据导入,执行命令:impdp user/123456@orcl REMAP_SCHEMA = dbuser:user table_exists_action = replace directory=data_dir dumpfile=expdp.dmp logfile=expdp.log

命令详情:

impdp [用户名]/[密码]@[服务名]

REMAP_SCHEMA=[源用户名1]:[目标用户名2]

table_exists_action=replace /*存在的表动作(覆盖)*/

directory=[创建目录名]

dumpfile=[.dmp文件名]

logfile=[.log文件名]           

数据库学习其一 oracle11g数据泵导入导出的更多相关文章

  1. Oracle 数据泵导入导出总结

    Oracle 数据泵(IMPDP/EXPDP)导入导出总结 Oracle数据泵导入导出是日常工作中常用的基本技术之一,它相对传统的逻辑导入导出要高效,这种特性更适合数据库对象数量巨大的情形,因为我日常 ...

  2. Oracle 12c pdb的数据泵导入导出

    12c推出了可插拔数据库,在一个容器cdb中以多租户的形式同时存在多个数据库pdb.在为pdb做数据泵导入导出时和传统的数据库有少许不同.           1,需要为pdb添加tansnames ...

  3. 【EXPDP/IMPDP】ORACLE数据泵导入导出案例(expdp & impdp)

    概要: 因项目需要,通常需要将生产库下的部分数据抽取并恢复到测试库上 本文主要介绍数据泵导入导出的几种情况以及错误处理 案例环境: rhel-server-6.5-x86_64 oracle 11.2 ...

  4. Oracle使用数据泵导入/导出数据(expdp/impdp)

    Oracle使用数据泵导入/导出数据(expdp/impdp) A电脑上的操作(expdp数据导出) 运行cmd: 登录数据库,输入命令:sqlplus 使用管理员角色登录需要在用户名后加" ...

  5. 【EXPDP/IMPDP】数据泵导入导出遇到目录没有权限问题

    当执行数据泵导出的时候,报了如下错误: ORA-39002: invalid operation ORA-39070: Unable to open the log file. ORA-39087: ...

  6. Oracle数据泵导入导出数据,建立表空

    Oracle11g 数据导入到oracle10g 中:1.在oracle11g 服务器命令行中用expdp 导出数据expdp ts/ts@orcl directory=expdp_dir dumpf ...

  7. linux下用数据泵导入导出(impdp、expdp)

    expdp和impdp expdp假设a用户的默认表空间是a,导出用户a所有数据: 如果是多实例 需要在命令行或终端手工指定实例 set ORACLE_SID=实例名 否则回报ORA-12560: T ...

  8. 【Oracle】数据泵导入导出

    数据泵 expdp导出 nohup expdp  system/******** dumpfile=lysb_20121113_%U.dmp directory=dmp_dir schemas=sco ...

  9. Oracle使用——数据泵导入导出数据库——impdp/expdp使用

    使用前提 EXPDP和IMPDP只可以在Oracle服务端使用. EXP导出的文件只可以使用IMP导入,不适用于IMPDP导入文件:EXPDP导出的文件只可以使用IMPDP导入,而不适用于IMP导出文 ...

随机推荐

  1. springboot+mvc+mbatisplus

    https://www.cnblogs.com/scode2/p/8718553.html

  2. ** WARNING ** : Your ApplicationContext is unlikely to start due to a @ComponentScan of the default package.

    https://blog.csdn.net/qq_15071263/article/details/78459087 1. 警告解读 ** WARNING ** : Your ApplicationC ...

  3. C语言学习笔记6-数组

    本系列文章由jadeshu编写,转载请注明出处.http://blog.csdn.net/jadeshu/article/details/50752170 作者:jadeshu   邮箱: jades ...

  4. c 判断数字是否无限

    /* isinf example */ #include <stdio.h> /* printf */ #include <math.h> /* isinf, sqrt */ ...

  5. Feeding Chicken

    D - Feeding Chicken 从左上角开始,往右下角开始遍历,但是遍历的时候需要注意一点,就是遍历的时候需要连起来,就比如第一行从左往右进行遍历,但是第二行不能从左往右了,因为这样就分开了, ...

  6. CF1200B

    CF1200B 解法: 贪心.当在第i列时,尽可能多的取走第i列的木块使得袋子里的木块尽可能多 CODE: #include<iostream> #include<cstdio> ...

  7. 微信小程序开发-踩坑

    异步请求处理 详情描述: 微信小程序的wx.request({})请求时异步处理,以下代码 wx.reuest({ url:"https://XXXA", method:" ...

  8. 在树莓派4b上安装 ROS MELODIC 源码安装

    按照以下步骤照做就可以了,很简单的,就是浪费一点点时间罢了.也可以退而求其次,买个树莓派3B+来玩,哈哈. Step 1: Install Dependecies and Download the P ...

  9. Docker安装mysql5.6

    1.docker hub 上查找mysql镜像 2.在docker hub上(阿里云加速器)拉取mysql镜像到本地标签为5.6 3.使用mysql5.6创建容器(也叫运行镜像) 4.交互运行,进入m ...

  10. ROS Topic 常用指令

    rostopic list rosnode list一樣,就是列出目前運行中的topic有哪些. rostopic echo <topic_name> 接下來這個指令比較重要啦,就是去監聽 ...