小曹零

怎么将oracle数据库的数据迁移

打开要导出数据的PC,进入cmd界面

 

先进入数据库输入sqlplus,账号system密码508956.有权限的账户密码

 

2.

create directory dir_555 as 'd:/asd169';

到随便一个地方创建一个文件夹,随便起名asd169(不要有中文),自己手动创建

给文件夹一个DIR名字,这里是dir_555

 

 

 

输入Grant read,write on directory dir_555 to kbstest54;

给用户读写权限

 

回到CMD,不要在SQL模式下

expdp kbstest54/kbstest54@orcl DIRECTORY=dir_555 dumpfile=fu222.dmp schemas=kbstest54 logfile=kbstest54.log;

(expdp 账户/密码 数据库的名字 之前写的标记的名字 给DUMPFILE起文件名(随意), 要导出的方案的列表 (登录方案) LOG名字(如果你要导出日志))

directory=dir_dp必须放在前面,如果将其放置最后,会提示 ORA-39002: 操作无效

 

 

指令成功

 

 

没有提示错误

打开文件夹看到这两个文件

 

导出完成

复制这两个文件

 

 

在要导入数据的电脑上创建一个文件夹,起名asd69,我们选择同样的名字和地址

 

数据库创建用户

 

用户名和表空间名字必须和原数据库一致

如果EM打不开,下面是例句

create tablespace xiaoitest datafile 'D:\data' size 500m;建立表空间和地址,大小。一般设定10G,追加1G。

alter user kbstest54 default tablespace xiaoitest;给用户指定表空间

 

复制完成后,

 

进入CMD界面,进入数据库,用SYSTEM,给这边的文件夹一个DIR名字

create directory dir_555 as 'd:/asd169';

 

 

 

给用户文件夹的读写权限Grant read,write on directory dir_222 to kbstest54;

 

 

要导入日志必须修改注册表(此处修改的是计算机的注册表,改一次就行)

运行 - regedit -查找 键值 NLS_LANG 将字符集 SIMPLIFIED CHINESE_CHINA.ZHS16GBK 修改为AMERICAN_AMERICA.AL32UTF8

注册表路径:HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\HOMExx\NLS_LANG(或者直接搜索NLS_LANG)

 

准备工作做完,开始导入,退出SQL,在cmd下输入

impdp kbstest54/kbstest54 directory=dir_555 dumpfile=fu222.dmp schemas=kbstest54 logfile=kbstest54.log;

 

 

 

统计两边的表数量,进入用户名KBSTEST54

select count(table_name) from user_tables;(直接使用这一句)

 

 

表数量一致没有丢失。

完成

 

此处注意:用界面登录oracle数据库,只能用sys用户名;在cmd里面登录oracle数据库,只能用system用户名登录

 

posted on 2016-07-05 16:21  小曹零  阅读(752)  评论(0编辑  收藏  举报

导航