Oracle数据库迁移:dblink+impdp
Oracle数据库迁移:dblink+impdp
一、环境
源主机:系统:windows server 2003
Oracle版本:10.1.2.0
IP:192.168.200.169
数据库名称:orcl
用户:fms
表空间:SYSTEM
目的主机:系统:windows server 2008 r2
机动车牌照网上选号Oracle版本:10.2.0.2
IP:192.168.22.181
数据库名称:orcl
用户:fms
表空间:SYSTEM
二、准本工作:查看源主机的数据库情况
查看fms用户的默认表空间
SYS@ENMOEDU > select USERNAME,DEFAULT_TABLESPACE from user_users;
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------何以笙箫默所有插曲
fms SYSTEM
sys SYSTEM
system SYSTEM
查看默认表空间大小
SYS@ENMOEDU > select TABLESPACE_NAME,BYTES from dba_data_files where TABLESPACE_NAME like 'SYSTEM';
TABLESPACE_NAME BYTES
------------------------------ ----------
SYSTEM 215285760
由此可得fms用户的默认表空间大概是200MB左右。
查看fms用户下所有表
HR@ENMOEDU > select * from user_tables;
TNAME TABTYPE CLUSTERID
------------------------------ ------- ----------
COUNTRIES TABLE
DEPARTMENTS TABLE
EMPLOYEES TABLE
EMP_DETAILS_VIEW VIEW
JOBS TABLE
JOB_HISTORY TABLE
LOCA TIONS TABLE
REGIONS TABLE
查看数据文件
SYS@ENMOEDU > select FILE_NAME,TABLESPACE_NAME from dba_data_files where TABLESPACE_NAME
like 'EXAMPLE';
FILE_NAME TABLESPACE_NAME
-------------------------------------------------- --------------------
C:/oracle/product/oradata/ENMOEDU/SYSTEM01.dbf SYSTEM
三、目的主机的准备工作
(1)查看目的主机上是否有fms用户以及相关表空间和数据文件,若没有则应该先创建相关数据项
SYS@FRANK> select USERNAME,DEFAULT_TABLESPACE from dba_users where USERNAME like 'fms';
no rows selected
SYS@FRANK> select TABLESPACE_NAME,BYTES from dba_data_files where TABLESPACE_NAME like 'SYSTEM';
公共基础怎么复习1 rows selected
跑步机品牌SYS@FRANK> select count(*) from EMPLOYEES;
登机注意事项select count(*) from EMPLOYEES
*
ERROR at line 1:
ORA-00942: table or view does not exist
SYS@FRANK> select FILE_NAME,TABLESPACE_NAME from dba_data_files where TABLESPACE_NAME like 'SYSTEM';
no rows selected
由此可见,刚安装好的目的主机上上是没有fms用户以及相关的数据信息的。
(2)在备库上创建fms用户以及相关表空间,若存在则不需要创建
SYS@FRANK>create user fms identified by fms;
SYS@FRANK> grant connect,resource,dba to fms identified by fms;
Grant succeeded.
更改表空间大小
SYS@FRANK> alter database datafile 'D:/oracle/product/10.2.0/orcl/SYSTEM01.dbf' resize
200M;
修改用户默认表空间
SYS@FRANK> alter user fms default tablespace SYSTEM;
(3)查看备库上刚刚创建的HR用户以及相关数据信息
SYS@FRANK> select USERNAME,DEFAULT_TABLESPACE from dba_users where USERNAME like 'fms';出水芙蓉
USERNAME DEFAULT_TABLESPACE
------------------------------ ------------------------------
fms SYSTEM
四、目的主机的oracle配置
在目的主机的oracle配置项Net Manager中,选择“Oracle Net 配置”--》“本地”--》“服务器命名”,然后点击左边菜单上的“+”,添加配置一个连接到源主机的Net链接。然后为该链接添加监听程序。
五、创建db_link,然后通过dblink运用expdp导入数据
(1)、在目的主机上创建db_link
SQL>create public database link test_fms connect to fms identified by fms using '192.168.35.169'; 192.168.35.196是在Net Manager设置的连接到源主机的服务名称,,两个fms分别是源主机的数据库的登陆用户名和密码。
(2)、测试是否链接成功:
SQL>select * from fms.DEPARTMENT@test_fms;
若能输出源主机上该表的数据则表示db_link创建成功。
(3)、通过dblink做数据导入(注意:一个oracle中若安装了几个数据库,则应该在DOS下先执行命令:set oracle_sid=xxxx,xxx为数据库实例名,然后才能执行导入导出命令,否则可能会导致logon denied 错误)
以管理员身份打开DOS,输入如下命令:
impdp fms/fms network_link=test_fms tables=DEPARTMENT remap_schema=fms:fms remap_tablespace=SYSTEM:SYSTEM
:
fms/fms是登陆到目的主机的数据库的用户名和密码
DEPARTMENT 是即将从源主机导入到目的主机中的表的名称
remap_schema=fms:fms 前一个fms表示源主机上的将要导出的表所属的用户的名称,后一个是将表导入到目的主机的哪个用户下
remap_tablespace=SYSTEM:SYSTEM 前一个SYSTEM表示源主机上的表所属的表空间的名称,后一个表示将表导入目的主机上的表空间的名称。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论