1. 程式人生 > >ORACLE 從一個例項遷移到另外一個例項實戰記錄

ORACLE 從一個例項遷移到另外一個例項實戰記錄

ORACLEschema的資料遷移

測試環境伺服器不夠,而同事需要新的oracle環境,把生產環境的資料拉一份過來搭建內部的系統跑;這個例項使用頻率不高而且需要的資源不是很多,所以準備在原有的負載不高的oracle伺服器上,重新開一個新的例項,這樣可以節省資料庫伺服器資源。

1DBCA建庫

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

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

相關推薦

遷移一個庫到另外一個

在這個庫中選中一張表,然後用export輸出到一個檔案中。employeeExport 在另外一個庫選中一個表,然後用import匯入,出現錯誤,可能是列不對應,然後嘗試刪除列,但最後一個列怎麼都刪除不掉,可能是db2 table至少要有一個列。 有一個方案,應該在一個庫建立

Android 中如何一個App啟動另外一個App(如啟動支付界面、啟動地圖界面、應用商場下載App等場景)

!= oid 等等 信息 fault next -a return 5.1   假定兩個App,分別是A和B,當A運行某個功能需要啟動B,一種是啟動B應用,一種直接進入B的某個Activity。搜了很多資料,沒有一個完整的。下面就A--Android5.1.1、B--And

拷貝一張圖片,一個目錄到另外一個目錄下(PS:是拷貝是不是移動)

close pan 圖片路徑 com oid 一個 != 文件路徑 while package com.lanxi.demo2_6; import java.io.File; import java.io.FileInputStream; import java.io.

JSP頁面如何一個頁面傳遞一個引數到另外一個頁面

(1).一種是重定向跳轉,超連<a>就是一種重定向跳轉,這樣的跳轉request物件是傳不到下一個頁面的,下一個頁面得到的request物件是一個新的物件,而不是上一個頁面傳過來的就得不到上一個頁面的資料.如果你想通過這種方法跳轉的話,那就要用<a hre

Oracle例項 遷移到 RAC 例項 -- 使用RMAN 異機恢復

Oracle 官網有關單例項遷移到RAC的一個步驟說明: How to Convert 10g Single-Instance database to 10g RAC using Manua

一個應用進入另外一個應用

     // 獲取應用的Activity名      PackageManager pm = getPackageManager();      PackageInfo info = null;      try {       info = getPackageManager().getPackageIn

如何用一個app操作另外一個app.比如微信群控那樣的

target html ref repl reply 如何實現 tle net htm 如何實現一個app.控制另外的app,比如市面上群控微信的,是用測試工具的原理?還是什麽模擬點擊的原理?

SQL查詢一個表中另外一個表不存在的數據-轉

spa 使用 左連接 lec left join count tis 相對 statistic #方法一:使用 not in ,容易理解,效率低 ~執行時間為:1.395秒~SELECT COUNT(1) FROM ecs_goods WHERE ecs_goods.

C++中一個類訪問另外一個類的成員變數或者成員函式

1.在一個類中定義另外一個類的成員為指標型別。並用this指標管理物件的記憶體,實現資料的傳遞。 #include <stdio.h> class A { public: A(); ~A(); void SetData(int year, int month, int day);

vue中methods一個方法呼叫另外一個方法

vue在同一個元件內; methods中的一個方法呼叫methods中的另外一個方法 可以在呼叫的時候 this.$options.methods.test2(); this.$options.methods.test2();一個方法呼叫另外一個方法; new Vue({

在同一個類中,一個方法呼叫另外一個有註解(比如@Async,@Transational)的方法,註解失效的原因和解決方法

在同一個類中,一個方法呼叫另外一個有註解(比如@Async,@Transational)的方法,註解是不會生效的。 比如,下面程式碼例子中,有兩方法,一個有@Transational註解,一個沒有。如果呼叫了有註解的addPerson()方法,會啟動一個Transaction;如果呼叫updatePerso

c#下不同名稱空間的引用(一個project使用另外一個project的名稱空間)

http://bbs.csdn.net/topics/300089064 兩個名稱空間在同一個專案中時,沒有任何問題。若兩個名稱空間不在同一個專案中,則變成兩個程式集之間的互相引用。程式集之間的引用無所謂迴圈不迴圈的問題。但如果兩個程式集要互相引用,並且兩個程式集專案在一

[安卓開發基礎] 通過包名啟動一個APP 的 某一個Activity 或者另外一個app

 通過包名稱啟動同一個應用不同包名稱下的 Activity   //第一個引數為工程包名 可以直接使用 this,第二個為啟動的Actvity 完整路徑。填寫錯誤會提示  Activity  找不到。 Intent inten

Java演算法面試題(003) 如何檢查一個字串是另外一個字串的旋轉字串

宣告:本文為本博主翻譯,未經允許,嚴禁轉載! 簡介 編寫一個程式來檢查一個字串是否是另一個字串的旋轉字串是一個常見的編碼問題,你將在程式設計工作面試中看到。一個字串被認為是另一個字串的旋轉,如果它具有相同的長度,包含相同的字元,並且圍繞其中一個字元旋轉。例如,字串“bcda

一個點圍繞另外一個點旋轉一定角度的新座標

(x1,y1)為要轉的點,(x2,y2)為中心點,如果是順時針角度為θ, x=(x1-x2)cosθ-(y1-y2)sinθ+x2 y=(y1-y2)cosθ+(x1-x2)sinθ+y2 假設對圖片上任意點(x,y),繞一個座標點(rx0,ry0)逆時針旋轉a角度

向量 ——2D(如何判斷一個向量在另外一個向量的哪一側)

如上圖在向量W,U,V中,和a,b,c中,分別是兩種情況,W,V分別在U的一側,而b,c都在a向量的同一側。 我們先給出結論,如果有向量A,B,C ,且 A叉乘B=k1,A叉乘C=k2, 若,k1,k2同為正數,或者同為負數,則B,C向量在A的同一側,反之分別在一側。(

ORACLE 一個例項遷移另外一個例項實戰記錄

ORACLE跨schema的資料遷移測試環境伺服器不夠,而同事需要新的oracle環境,把生產環境的資料拉一份過來搭建內部的系統跑;這個例項使用頻率不高而且需要的資源不是很多,所以準備在原有的負載不高的oracle伺服器上,重新開一個新的例項,這樣可以節省資料庫伺服器資源。1

EC2的例項如何一個遷移到另一個區?

問題背景: 之前的EC2例項是健在美國西海岸Oregon的,發現國內訪問速度不行,於是想把它遷到南加州或者新加坡等機房。 AWS速度探測工具,首先先用測試一下哪個區域比較快,你可以多用幾條線路測試幾遍。 http://www.cloudping.info/ 步驟: 1

Confluence 6 生產環境中恢復一個測試例項

很多 Confluence 的管理員將會使用生產例項執行完整資料和服務的 Confluence 伺服器,同時還會設定一個測試例項來測試升級等。在這種情況下,你的 Confluence 可以回執行 2 個不同的版本,而且也是非常常見的。這個文件將會知道你如何拷貝生產環境中的資料到一個測試例項

Git使用-一個git倉庫遷移另外一個git倉庫

1). 從原地址克隆一份裸版本庫,比如原本託管於 GitHub。 git clone –bare git://github.com/username/project.git –bare 建立的克隆版