Oracle 數據庫備份還原(Expdp/impdp)記錄


最近公司將原數據庫服務器切換。之前沒整過這塊,也是一堆的度娘。經過不停的摸索,終於成功了。現在將這份艱辛記錄下來,方便自己以后查閱的同時,方便有類似需求的同學參考。

我們此次切換共分:ERP、LOS、WMS三個系統。

因前期搭建,這三個系統均在同一實例。以不同的表空間、用戶區分。

此次切換思路:

1)以實例的方式備份、還原。命令 Exp/imp (命令不再敘述)

優點:省事、可整體導出還原、內網之間切換,可遠程備份(如:將 192.168.1.1 備份至 192.168.1.2);

結果:失敗;提示表空間、用戶、實例、索引已存在,無法繼續還原;

2)以表空間的方式備份、還原。命令 Exp/Imp

較前一種方式,將同一實例拆解成三個表空間的形式備份、還原

結果:失敗; 原因:同一表空間下多個用戶,以表空間的形式導入,部分用戶未建立的原因(這個原因純屬個人猜測,有機會再驗證一下)

3)按用戶的方式備份、還原。命令 Expdp/Impdp(Oracle 10G以后版本支持)

優點:該方式備份速度快。(與第一種方式相比,該方式為本地備份,再將備份文件拷貝至新服務器還原。我們這次是內網間切換,這種方式是比較適合的)

結果:成功!

錯誤提示:

a)空表索引創建失敗(忽略)

b)帶dbLink 的視圖創建失敗(還原方式:先還原存儲過程->索引->視圖->DbLink) 。在創建視圖時,Dblink還未創建,所以失敗。因涉及到DbLink 的視圖較少,按照還原日志,從老庫將其還原

思路如上,具體流程如下:

 

遷移流程

 

1、建立實例

 

2、設置備份文件夾:create directory backup as '文件夾地址';

 

查看設置的文件夾select * from dba_directories;

 

3、在新服務器建立源服務器相同表單空間(注意表單空間大小,表單空間數據文件可多個,一個最大數據為32G)

 

   查看實例里面表單空間:select tablespace_name from dba_tablespaces;

 

  建立表單空間兩種方式:

第一種在EM里面建立

第二種在sqlplus里面用DBA權限建立 

 

命令建立表空間文件

create tablespace erpsys (erpsys為你要建立表單名稱)

logging

datafile 'd:\oracle data\erp\erpsys.dbf' (數據庫文件存放地址)

size 32m (32M為你表單文件初始大小)

autoextend on

next 32m maxsize 30000m (32M數據文件滿后自動擴展大小 30000M文件最大值)

extent management local

 

增加表空間的數據文件

ALTER TABLESPACE erpsys ADD DATAFILE(erpsys為你要增加文件的表單)
'D:\ORACLE\PRODUCT\10.2.0\ORADATA\EDWTEST\APP04.DBF'(數據庫文件存放地址)

 SIZE 32M(32M為你表單文件初始大小)
AUTOEXTEND ON

 NEXT 32M MAXSIZE 30000M; (32M數據文件滿后自動擴展大小 30000M文件最大值)

4、建立用戶

1)創建用戶: create user losuser identified by sys2012;

 

2)分配空間:alter user losuser default tablespace los;

 

3)授予dba權限:grant connect,resource,dba to losuser;

5、導出

C:\Users\Administrator>Expdp fxwmsuser/sys2016@wms schemas=wmsuser dumpfile=wmsu

ser.dmp directory=backup logfile=wmsuser.log

6、導入

impdp system/sys2017@erp DIRECTORY=backup DUMPFILE=wmsuser.dmp SCHEMAS=wmsuser logfile=wmsuser.log

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM