Oracle数据库迁移方式一:impdp+dblink

简介:

实验环境:

源库:  192.168.2.200  SID=testdb

目标库:192.168.2.100  SID=testdb


实验目的:

使用impdp+dblink的方式 将192.168.2.200数据库上的jtrms用户的所有数据导入到目标数据库192.168.2.100


注意:使用impdp+dblink 的方式,这样就节省了数据导出(expdp),然后再导入的过程。


实施步骤:


一、源库操作:

1、首先检查源库要迁移的用户信息:

SQL> select USERNAME,DEFAULT_TABLESPACE from dba_users where USERNAME like 'JTRMS'; ---检查用户的默认表空间


USERNAME                       DEFAULT_TABLESPACE

------------------------------ ------------------------------

JTRMS                          TEST


2、该用户的表空间大小

SQL> select TABLESPACE_NAME,BYTES from dba_data_files where TABLESPACE_NAME like 'TEST';


TABLESPACE_NAME                     BYTES

------------------------------ ----------

TEST                            314572800


SQL> show user;    

USER is "JTRMS"

SQL> select * from tab;     ----检查该用户一共有97张表


TNAME                          TABTYPE  CLUSTERID

------------------------------ ------- ----------

ECR_ANNOUNCEMENT               TABLE

ECR_APPROVAL                   TABLE

ECR_APPROVAL_TO_RECEIVE        TABLE

ECR_BP_SYN                     TABLE

ECR_CHANGE                     TABLE

JFORUM_THEMES                  TABLE

JFORUM_TOPICS                  TABLE

JFORUM_TOPICS_WATCH            TABLE

JFORUM_USERS                   TABLE

JFORUM_USER_GROUPS             TABLE

JFORUM_VOTE_DESC               TABLE

JFORUM_VOTE_RESULTS            TABLE

JFORUM_VOTE_VOTERS             TABLE

JFORUM_WORDS                   TABLE

SYS_TEMP_FBT                   TABLE

。。。。。。。

。。。。。。。

97 rows selected.



3、查看该用户下的索引信息:

SQL> set linesize 300 pagesize 300

SQL> select INDEX_NAME,TABLE_OWNER,STATUS,NUM_ROWS from user_indexes;


4、查看该用户下所有的job信息

alter session set nls_date_format = 'yyyy-mm-dd hh24:mi:ss'; 

set linesize 300 pagesize 300

col what for a50

col interval for a50

select job,what,LAST_DATE,NEXT_DATE,SCHEMA_USER,interval from  user_jobs;


二、在目标数据库上操作


注意:在目标数据库创建用户信息之前,一定要检查目标看是否有该用户的信息,和表空间是否有重名等


1、在目标数据库上创建用户信息---一切以源库为标准

SQL> create tablespace test datafile '/opt/oracle/test.dbf' size 300M;  ---创建test表空间


SQL> create user jtrms identified by jtrms default tablespace test;  ---创建jtrms用户


SQL> grant connect,resource to jtrms;  ---对该用户授权


SQL> grant dba to jtrms;



2、在目标数据库增加源库的tns文件信息,并测试连接源库

[oracle@test ~]$ vim  tnsnames.ora

testdb =

  (DESCRIPTION =

    (ADDRESS_LIST =

      (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.200)(PORT = 1521))

    )

    (CONNECT_DATA =

      (SERVICE_NAME = testdb)

    )

  )


---注意,增加的是源库192.168.2.200的信息 

  

[oracle@test ~]$ sqlplus jtrms/jtrms@testdb ; ----使用jtrms用户连接源库192.168.2.200


SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 5 00:54:31 2017


Copyright (c) 1982, 2013, Oracle.  All rights reserved.



Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> select instance_name from v$instance;


INSTANCE_NAME

----------------

testdb


3、在目标数据库上创建dblink

create public database link testlink  connect to jtrms identified by jtrms

using '(DESCRIPTION =

  (ADDRESS_LIST =

 (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.2.200)(PORT = 1521))

)

      (CONNECT_DATA =

     (SERVICE_NAME = testdb)

            )

              )';


注意:该dblink是连接源库用的


4、在目标数据库上,开始使用下面的命令将源库jtrms用户的数据使用dblink导入到目标库


[oracle@test ~]$ impdp jtrms network_link=testlink schemas=jtrms cluster=N PARALLEL=2 


Import: Release 11.2.0.4.0 - Production on Mon Jun 5 01:03:16 2017


Copyright (c) 1982, 2011, Oracle and/or its affiliates.  All rights reserved.

Password:    ---输入用户的密码



5、登录数据库,验证数据是否传输成功:

[oracle@test ~]$ sqlplus '/as sysdba'


SQL*Plus: Release 11.2.0.4.0 Production on Mon Jun 5 01:06:34 2017


Copyright (c) 1982, 2013, Oracle.  All rights reserved.



Connected to:

Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

With the Partitioning, OLAP, Data Mining and Real Application Testing options


SQL> conn jtrms/jtrms


SQL> select count(*) from tab;


  COUNT(*)

----------

        97

        

SQL> set linesize 300 pagesize 300

SQL> select INDEX_NAME,TABLE_OWNER,STATUS,NUM_ROWS from user_indexes;


INDEX_NAME                     TABLE_OWNER                    STATUS     NUM_ROWS

------------------------------ ------------------------------ -------- ----------

IDX_BOK_REL                    JTRMS                          VALID             0

IDX_BOK_USER                   JTRMS                          VALID             0

SYS_C0011373                   JTRMS                          VALID             0

SYS_C0011372                   JTRMS                          VALID             0

IDX_BANLIST_EMAIL              JTRMS                          VALID             0




-----至此,实施完成;













本文转自一个笨小孩51CTO博客,原文链接:http://blog.51cto.com/fengfeng688/1933364
 ,如需转载请自行联系原作者




相关文章
|
5天前
|
Oracle 关系型数据库 数据库
实时计算 Flink版产品使用问题之连接到Oracle数据库但无法读取到数据,是什么导致的
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
13天前
|
SQL Oracle 关系型数据库
探索 Linux 命令 `db_archive`:Oracle 数据库归档日志的工具
探索 Linux 中的 `db_archive`,实际与 Oracle 数据库归档日志管理相关。在 Oracle 中,归档日志用于恢复,当在线重做日志满时自动归档。管理员可使用 SQL*Plus 查看归档模式,通过 `RMAN` 进行备份和恢复操作。管理归档日志需谨慎,避免数据丢失。了解归档管理对 Oracle 管理员至关重要,确保故障时能快速恢复数据库。
|
23小时前
|
存储 SQL Oracle
Oracle数据库学习入门教程
Oracle数据库学习入门教程
|
1天前
|
Oracle 关系型数据库 数据库
Oracle 11G数据库安装步骤及截图操作2
Oracle 11G数据库安装步骤及截图操作
6 0
|
1天前
|
Oracle 安全 关系型数据库
Oracle 11G数据库安装步骤及截图操作1
Oracle 11G数据库安装步骤及截图操作
9 0
|
5天前
|
SQL Oracle 关系型数据库
实时计算 Flink版产品使用问题之在进行Oracle数据库的全量同步时,只同步了一条数据而源表实际上包含多条数据,是什么原因
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。
|
9天前
|
存储 Oracle 关系型数据库
Oracle数据库快速入门
Oracle数据库快速入门
12 0
|
10天前
|
存储 Oracle 关系型数据库
|
3天前
|
存储 关系型数据库 MySQL
MySQL数据库进阶第三篇(MySQL性能优化)
MySQL数据库进阶第三篇(MySQL性能优化)
|
1天前
|
存储 自然语言处理 关系型数据库

热门文章

最新文章

推荐镜像

更多