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

最近公司將原數據庫服務器切換。以前沒整過這塊,也是一堆的度娘。通過不停的摸索,終於成功了。如今將這份艱辛記錄下來,方便本身之後查閱的同時,方便有相似需求的同窗參考。sql

咱們這次切換共分:ERP、LOS、WMS三個系統。數據庫

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

這次切換思路:oracle

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

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

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

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

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

結果:失敗; 緣由:同一表空間下多個用戶,以表空間的形式導入,部分用戶未創建的緣由(這個緣由純屬我的猜想,有機會再驗證一下)table

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

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

結果:成功!

錯誤提示:

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

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

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

 

遷移流程

 

一、創建實例

 

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

 

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

 

三、在新服務器創建源服務器相同表單空間(注意表單空間大小,表單空間數據文件可多個,一個最大數據爲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文件最大值)

四、創建用戶

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

 

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

 

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

五、導出

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

ser.dmp directory=backup logfile=wmsuser.log

六、導入

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

相關文章
相關標籤/搜索