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

一、检查环境一致性

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

查询服务端编码

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

6b74c858217461671fe210d722323c56.png

f60bafd9a1da1fefad87a9c2131b0fc7.png

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

c2ef0374287071ce44cd1b6c6f80dbc8.png

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

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

33f5e987b1fe7bb48ae61b942c7830ef.png

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

11c4f920b5b145892d250a0bdf6d3023.png

二、数据导出:

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 tablespacetable_spaceloggingdatafile 'e:\app\oradata\orcldb\space.dbf'size 50mautoextend onnext 50m maxsize 30000mextent management local;create useruseridentified by "123456"default tablespacetable_spacetemporary tablespace tempprofile default;

grant dba touser;

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

alter tablespacetable_spaceadd datafile 'e:\app\oradata\orcldb\space1.dbf'size 50mautoextend onnext 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文件名]

如您对本文有疑问或者有任何想说的,请点击进行留言回复,万千网友为您解惑!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值