欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

数据库学习其一 oracle11g数据泵导入导出

程序员文章站 2022-05-26 15:45:02
一、检查环境一致性 需检查数据库客户端与服务端字符编码,以避免后续各种各样的问题 查询服务端编码 注意最好用sqlplus查询,用plsql有时候会出现查询不一致问题,如下图同一个语句在plsql和sqlplus中获得了不同的查询结果 也可以在NLS_DATABASE_PARAMETERS中查询,如 ......

一、检查环境一致性

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

查询服务端编码

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

数据库学习其一    oracle11g数据泵导入导出

数据库学习其一    oracle11g数据泵导入导出 

也可以在nls_database_parameters中查询,如下字符集为american_america.al32utf8

 数据库学习其一    oracle11g数据泵导入导出

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

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

数据库学习其一    oracle11g数据泵导入导出

 

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

数据库学习其一    oracle11g数据泵导入导出

二、数据导出:

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可查询用户创建目录。

 

5oracle用户授予访问数据目录的权限,输入命令: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文件名]