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

ORACLE跨schema的数据迁移

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

1、DBCA建库

使用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) 传输数据

[[email protected]_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.

[email protected]‘s password:

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

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

[[email protected]_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

5、schema1到schema2的迁移

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的密码

时间: 2024-10-26 20:38:00

ORACLE 从一个实例迁移到另外一个实例实战记录的相关文章

如何将App从一个账号迁移到另一个账号?

App迁移(App transfer):将App从一个开发者账号迁移至另一个开发者账号.此文演示了整个迁移过程,为了方便解释,在此过程中,将App转出的开发者账号我们下文将会称之为A账号,接收B开发者账号我们下文将会称之为B账号. 1. 迁移准备 B账号的 Apple ID (PS:A账号转出时需要填写目标账号的Apple ID): B账号的 Team ID(PS:A账号转出时需要填写目标账号的Team ID): Team ID的获取方法: 使用B账号登录苹果开发者网站 "Member Cent

Oracle 单实例 迁移到 RAC 实例 -- 使用RMAN 异机恢复

Oracle 官网有关单实例迁移到RAC的一个步骤说明: How to Convert 10g Single-Instance database to 10g RAC using Manual Conversion procedure [ID 747457.1] http://blog.csdn.net/tianlesoftware/archive/2010/12/09/6065903.aspx   RMAN 备份异机恢复 并创建新DBID http://blog.csdn.net/tianle

[转]一个完整的Installshield安装程序实例

Installshield安装程序实例—基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思.这个安装程序虽然比较简陋,在行家眼里可能是小菜一碟,但

一个完整的Installshield安装程序实例-转

一个完整的Installshield安装程序实例-艾泽拉斯之海洋女神出品(一)---基本设置一 前言 Installshield可以说是最好的做安装程序的商业软件之一,不过因为功能的太过于强大,以至于上手和精通都不是容易的事情,之前都是用Installshield的Project Assistant对付过去的,这次做这个安装程序,为了实现一些功能,必须写代码,国内外现成的资料很少,而且很多都语焉不详,自己反复啃了多次,对比Installshiel自带的help,才明白资料所表达的意思.这个安装程

css如何实现一个文字两种颜色代码实例

css如何实现一个文字两种颜色代码实例:在实际应用中可能需要设置文本效果比较炫酷.有一种效果就是将一个文字设置为两种颜色,使用普通的方法肯定是无法实现.下面就分享一下实现此功能的代码实例: <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta name="author" content="http://www.softwhy.com/&qu

亚马逊AWS学习——多网络接口下配置EC2实例连接公网的一个“bug”

之前在<亚马逊AWS学习--EC2的自定义VPC配置>这篇文章中讲述了如何设置自定义VPC并使自己的EC2实例能够连接公网.本篇说一下连接公网时会出现的一个小问题. 如题所示,在一个EC2实例具有多个网络接口的环境下,如果为其配置公网连接会有一个"bug".其实也不能说是"bug",而是AWS网络环境的限制. 1. 主网络接口 我们知道,很多时候我们的一台主机需要有多个网络接口,以使其同时架设在不同的网络中.EC2实例创建时会有一个主网络接口,默认描述为

查询oracle sql的执行计划时,一个很重要的视图--dba_hist_sql_plan

本文的编写得到枯荣长老的大力帮助,在此表示感谢. 本文适用的oracle db版本为oracle 10g或者更高版本. 之所以说这个视图很重要,是因为该视图中有一列是在awrsqrpt报告中没有的.这一列就是 filter_predicates列. SELECT plan_hash_value, TO_CHAR(RAWTOHEX(child_address)), TO_NUMBER(child_number), id, LPAD(' ', DEPTH) || operation operatio

每天进步一点点-实例为导学-一个java对象序列化的例子

序列化和反序列化例子 如果我们想要序列化一个对象, (对象 转 序列)首先要创建某些OutputStream(如FileOutputStream.ByteArrayOutputStream等),然后将这些OutputStream封装在一个ObjectOutputStream中.这时候,只需要调用writeObject()方法就可以将对象序列化,并将其发送给OutputStream(记住:对象的序列化是基于字节(1字节8位)的,不能使用Reader和Writer等基于字符的层次结构).而反序列的过

Android TV开发总结(六)构建一个TV app的直播节目实例

请尊重分享成果,转载请注明出处:http://blog.csdn.net/hejjunlin/article/details/52966319 近年来,Android TV的迅速发展,传统的有线电视受到较大的冲击,在TV上用户同样也可以看到各个有线电视的直播频道,相对于手机,这种直播节目,体验效果更佳,尤其是一样赛事节目,大屏幕看得才够痛快,还可以邀几好友一起欣赏.今天将介绍构建一个TV app的直播节目实例,此实例上传到Github: https://github.com/hejunlin20