ORACLE 从一个实例迁移到另外一个实例实战记录

原创 2016年08月29日 20:10:55

 

ORACLEschema的数据迁移

 

测试环境服务器不够,而同事需要新的oracle环境,把生产环境的数据拉一份过来搭建内部的系统跑;这个实例使用频率不高而且需要的资源不是很多,所以准备在原有的负载不高的oracle服务器上,重新开一个新的实例,这样可以节省数据库服务器资源。

 

 

 

1DBCA建库

         使用DBCA在linux上建立第二个oracle实例,具体搭建过程参考:http://blog.csdn.net/mchdba/article/details/51418063

 

 

2、从线上导出数据库

         因为线上的环境和新的实例不一样,所以如果使用rman备份的话,在恢复的时候就需要设置很多参数,不是太方便,所以准备使用expdp来进行数据的导出,然后使用impdp进行数据的导入工作。

 

         线上主要有2个schemas,所以导出2个schema的数据即可,一个是powerdesk、一个是plas。

 

(2.1) 导出数据

         expdppowerdesk/pl_eahys0418 DIRECTORY=dir_dp DUMPFILE=powerdesk_20160829.dmpschemas=powerdesk  LOGFILE=zxg.log;

         expdppowerdesk/pl_ethys0418 DIRECTORY=dir_dp DUMPFILE=plas_20160829.dmp schemas=plas LOGFILE=zxg.log;

        

(2.2) 传输数据

[oracle@azure_earth_dbm1_3_111 dir_dp]$ scpplas_20160829.dmp powerdesk_20160829.dmp 192.168.121.61:/home/oracle/

The authenticity of host '192.168.121.61(192.168.121.61)' can't be established.

RSA key fingerprint is0a:c7:1c:89:1d:9d:a2:e1:6c:36:68:d9:18:b4:ab:cc.

Are you sure you want to continueconnecting (yes/no)? yes

Warning: Permanently added '192.168.121.61'(RSA) to the list of known hosts.

oracle@192.168.121.61's password:

plas_20160829.dmp                                                                                                                                                                                                                          100% 1067MB   5.4MB/s   03:16   

powerdesk_20160829.dmp                                                                                                                                                                                                                     100%   13GB  4.9MB/s   44:24   

[oracle@azure_earth_dbm1_3_111 dir_dp]$

 

 

 

3、在新的实例上准备账号

在使用impdp的时候,可以先创建相应的schema账号,这样导入的时候,可以进行schema到schema之间的数据迁移。

(3.1) 创建新的表空间

         createtablespace powerdesk  

         logging 

         datafile'/home/oradata/ysdb3/powerdesk01.DBF'

         size50m 

         autoextendon 

         next50m  

         extentmanagement local; 

 

         createtablespace plas  

         logging 

         datafile'/home/oradata/ysdb3/plas01.DBF'

         size50m 

         autoextendon 

         next50m  

         extentmanagement local;   

        

 

(3.2) 创建新的用户

         CREATEUSER powerdesk PROFILE "DEFAULT"    IDENTIFIED BY "powerdes0418" DEFAULT TABLESPACE"POWERDESK"     ACCOUNT UNLOCK;

        

         CREATEUSER plas PROFILE "DEFAULT" IDENTIFIED BY "plas0418"DEFAULT TABLESPACE "PLAS"    ACCOUNT UNLOCK;

 

(3.2) 给新的用户赋权

         grantconnect,resource to powerdesk;

         Grantdba to powerdesk;

 

         grantcreate session to plas;

         grantconnect,resource to plas;

        

 

4、在新的实例上导入数据

(4.1) 准备目录

         # 先建立导入目录

         createdirectory dir_dp1 as '/home/oracle/';

 

         # 赋予目录权限

         grantcreate,write,read to dir_dp1;

 

         # 赋予用户对目录的操作权限

         Grantread,write on directory dir_dp1 to powerdesk;

         Grantread,write on directory dir_dp1 to plas;

 

        

(4.2) 使用IMPDP导入数据  

time impdp system/yueworldpddirectory=dir_dp1 dumpfile=powerdesk_20160829.dmpREMAP_SCHEMA=powerdesk:powerdesk TABLE_EXISTS_ACTION=REPLACE PARALLEL=8

 

time impdp system/yueworldpd directory=dir_dp1dumpfile=plas_20160829.dmp REMAP_SCHEMA=plas:plas TABLE_EXISTS_ACTION=REPLACEPARALLEL=8

 

 

 

5schema1schema2的迁移

Oracle 从一个用户expdp导出再impdp导入到另一个用户,可以使用REMAP_SCHEMA=user1:user2来实现:

        

如果想导入的用户已经存在:

         1.导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp

         2.导入用户 impdp user2/pass2 directory=dumpdir dumpfile=user1.dmpREMAP_SCHEMA=user1:user2 EXCLUDE=USER

 

如果想导入的用户不存在:

         1.导出用户 expdp user1/pass1 directory=dumpdir dumpfile=user1.dmp

         2.导入用户 impdp system/passsystem directory=dumpdir dumpfile=user1.dmpREMAP_SCHEMA=user1:user2

         3.user2会自动建立,其权限和使用的表空间与user1相同,但此时用user2无法登录,必须修改user2的密码

 

 

 

存储总量达20T的MySQL实例,如何完成迁移?

某国内大型游戏开发商有超过130个IDC部署MySQL实例,存储总量达20T。因业务需要,将全部实例迁移到腾讯云CDB for MySQL。为保证业务迁移顺利进行,对迁移流程,工具进行了前期的调查研究...

oracle导出数据库实例到另一台机器

1.开始-运行-cmd 2. cd\ 回车,E: 进入你想要存放数据库实例的盘符位置E盘。 3.执行以下: exp 数据库用户名/密码 file=文件名.dmp log=日志名.dmp ...

创建多个Oracle数据库及相应的实例

对于使用过SQL Server数据库的用户可以会对Oracle中的数据库的实例的概念理解的不是很好,所以我产生了写一篇博文的想法。 基础概念 一般Oracle数据库(Oracle Database...

Oracle 多实例环境数据库的导入导出(imp exp)

在一个测试服务器上安装了一个数据建立一个实例(SID):DEVDB,后由于其它原因又建立了一个实例XXXDB。 此时发现使用imp和exp,只有XXXDB的用户才能登录上,而DEVDB中的用户不能登录...
  • KimSoft
  • KimSoft
  • 2009年12月15日 14:14
  • 2778

一次较为完整的oracle数据库数据迁移过程

作为一个后端开发者, 需要处理的问题会非常多非常杂,不断的接触各方面的知识,总结心得才能有所提高。 最近我们将甲方的信披系统改造后并入了我们的系统,开发基本完成,接下来数据迁移就是一个大问题了。因为...

Oracle数据库迁移的几种方式

Oracle数据库迁移的几种方式 我们常常需要对数据进行迁移,迁移到更性能配置更高级的主机OS上、迁移到远程的机房、迁移到不同的平台下,以下介绍ORACLE的几种数据库迁移方案:   ...

oracle数据中记录被另一个用户锁住 (附加:操作实例)

今天,运行Java后台程序,设置了断点,每到执行SQL语句时,就卡住,执行检查,发现SQL语句并没有问题,程序没没问题,于是把语句拷贝到PL/SQL里面执行,发现还是语句执行了很久都没有结果,于是我中...

《UVM实战》,一个简单实例的源代码理解

uvm树形结构图 uvm验证平台 uvm启动过程 源代码理解top_tbvuvm树形结构图uvm验证平台uvm启动过程源代码理解:top_tb.v`timescale 1ns/1ps/* * 1. ...

Oracle一个实例配置多个监听

  • 2017年02月15日 10:32
  • 20KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ORACLE 从一个实例迁移到另外一个实例实战记录
举报原因:
原因补充:

(最多只允许输入30个字)