ORACLE資料庫切換和遷移方案
前言:
環境與要求:兩個ORACLE資料庫版本必須相同,大版本和小版本都要,大體思路是先安裝B機資料庫,然後從A機上匯出資料庫的結構,然後在B機上進行匯入,然後從A機上匯出歷史資料,並匯入至B機,但不匯入當天資料,
直到當天晚上,在業務停止之後,把A機上的資料庫儲存的當天資料匯入至B機,並且修改機器IP地址,完成切換。
A機為老資料庫 B機為新資料庫
1. 一.遷移前的準備工作:
在B機上安裝資料庫軟體,例項名和A機一樣.
安裝結束之後,在B機上進行新增使用者和表空間的操作:
(1) 先建立表空間,由A機的後設資料得出:
SQL>SELECT DBMS_METADATA.GET_DDL('TABLESPACE', TS.tablespace_name)
FROM DBA_TABLESPACES TS
wheretablespace_name = 'TBS_***'
給表空間新增資料檔案,直接給32G。
CREATE TABLESPACE "TBS_APTSTA"
DATAFILE 'D:\ORADATA\APTS\TBS_APTSTA01.DBF' SIZE 10G
AUTOEXTEND ON NEXT 1000M MAXSIZE 32767M LOGGING
EXTENT MANAGEMENT LOCAL SEGMENT SPACE MANAGEMENT AUTO;
CREATETABLESPACE "TBS_APTSTA"
DATAFILE'D:\ORADATA\APTS\TBS_APTSTA01.DBF'SIZE10G
AUTOEXTENDONNEXT1000M MAXSIZE32767M LOGGING
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
CREATETABLESPACE "TBS_APTSTA_ASGN"
DATAFILE'D:\ORADATA\APTS\TBS_APTSTA_ASGN01.DBF'SIZE10G
AUTOEXTENDONNEXT1000M MAXSIZE32767M LOGGING
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
CREATETABLESPACE "TBS_APTSTA_FDIS"
DATAFILE'D:\ORADATA\APTS\TBS_APTSTA_FDIS01.DBF'SIZE10G
AUTOEXTENDONNEXT1000M MAXSIZE32767M LOGGING
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
CREATETABLESPACE "TBS_APTSTA_INDX"
DATAFILE'D:\ORADATA\APTS\TBS_APTSTA_INDX01.DBF'SIZE2G
AUTOEXTENDONNEXT1000M MAXSIZE32767M LOGGING
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
CREATETABLESPACE "TBS_APTSTA_DEVEVENT"
DATAFILE'D:\ORADATA\APTS\TBS_APTSTA_DEVEVENT01.DBF'SIZE10G
AUTOEXTENDONNEXT1000M MAXSIZE32767M LOGGING
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
CREATETABLESPACE "TBS_APTSTA_LOG"
DATAFILE'D:\ORADATA\APTS\TBS_APTSTA_LOG01.DBF'SIZE10G
AUTOEXTENDONNEXT1000M MAXSIZE32767M LOGGING
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO
CREATETABLESPACE "TBS_APTSTA_BSVC_ARRLFT"
DATAFILE'D:\ORADATA\APTS\TBS_APTSTA_BSVC_ARRLFT01.DBF'SIZE32767M
AUTOEXTENDONNEXT1000M MAXSIZE32767M LOGGING
EXTENTMANAGEMENTLOCALSEGMENTSPACEMANAGEMENTAUTO;
altertablespace“TBS_APTSTA_BSVC” add datafile
'D:\ORADATA\APTS\TBS_APTSTA_BSVC02.DBF'SIZE32767 Mautoextend on
(2)
建立使用者:基本只要建立APTS使用者即可。(具體根據每個專案的情況,我們的測試專案中只有一個使用者,那就是APTS)
這一步用plsql自帶的功能檢視建立使用者的sql語句,注意:這裡需要在語句上加上:
Identified by 密碼:
-- Create the user
createuser APTS dentified by APTS
default tablespace TBS_APTSTA
temporary tablespace TEMP
profile DEFAULT
quota unlimitedontbs_aptsta
quota unlimitedontbs_aptsta_asgn
quota unlimitedontbs_aptsta_bsvc
quota unlimitedontbs_aptsta_bsvc_arrlft
quota unlimitedontbs_aptsta_devevent
quota unlimitedontbs_aptsta_fdis
quota unlimitedontbs_aptsta_indx
quota unlimitedontbs_aptsta_log;
-- Grant/Revoke object privileges
grant executeon DBMS_AQ to APTSTA;
grant executeon DBMS_AQADM to APTSTA;
grant executeon DBMS_AQ_BQVIEW to APTSTA;
grant selecton QT52616_BUFFER to APTSTA;
-- Grant/Revoke role privileges
grantconnectto APTSTA;
grantresourceto APTSTA;
-- Grant/Revoke system privileges
grantalteranytableto APTSTA;
grantalteruserto APTSTA;
grantcreatematerializedviewto APTSTA;
grantcreatetableto APTSTA;
grantcreatetablespaceto APTSTA;
grantcreateviewto APTSTA;
grantdebugconnectsessionto APTSTA;
grantdroptablespaceto APTSTA;
grantunlimitedtablespaceto APTSTA;
二:資料匯入:
3. 在A機上匯出資料庫的結構,在B機上進行匯入。
Exp aptsta/ta file=D:\exp\full.dmp rows=n
impapts ta/ta file=E:\exp\full.dmp log=E:\exp\logs\imp_objects.log ignore=y
4. 把A機的歷史資料裡匯出,在B機上進行匯入,但不要匯入當天的資料庫
三.開始切換
5. 在晚上把aptsta使用者修改密碼,殺掉A機上所有的session
6. 根據表空間裡的表,進行資料的匯入,基礎表用dblink匯入。
7. 待全部資料都匯入了,用pl/sql developer 登陸B 機,點選sequence那一欄,把開始號都增加一位1.
8. 切換資料庫,注意,在B機上切換之前建議把aptsta使用者的密碼也設定成其他的。切換之後,一切資料都匯入完畢後,再把密碼改回來。
注:基礎資料的匯出:用字元拼接
select'insert into '||table_name||' select * from '||table_name||'@city'fromuser_tableswheretablespace_name='TBS_APTSTA'
按照表的大:
select'insert into '||table_name||' select * from '||table_name||'@city'||';'fromuser_tableswheretablespace_name='TBS_APTSJN'orderby blocks desc;
附:建立dblink在sys下建立public dblink,在description上寫下如下。
(DESCRIPTION =(ADDRESS_LIST =(ADDRESS =(PROTOCOL = TCP)(HOST = 10.23.1.16)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = apts)))
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/25116248/viewspace-2122522/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫(DataGuard)遷移方案(上)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(中)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(下)Oracle資料庫
- Oracle資料庫遷移方案比較Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(下)Oracle資料庫
- 【資料遷移】RMAN遷移資料庫到ASM(二)切換資料檔案到ASM資料庫ASM
- 資料庫遷移方案資料庫
- ORACLE資料庫遷移Oracle資料庫
- 資料庫-oracle-資料庫遷移資料庫Oracle
- 資料庫邏輯遷移方案資料庫
- Oracle資料庫資料遷移流程Oracle資料庫
- OGG資料庫遷移方案(一)資料庫
- OGG資料庫遷移方案(二)資料庫
- OGG資料庫遷移方案(三)資料庫
- OGG資料庫遷移方案(四)資料庫
- oracle資料庫服務切換Oracle資料庫
- oracle 遷移資料庫到asmOracle資料庫ASM
- Oracle資料庫關於錶行連線和行遷移處理方案Oracle資料庫
- 遷移資料時oracle字符集的轉換遷移資料時oracle字符集的轉換Oracle
- RMAN COPY實現ORACLE資料庫儲存遷移的方案Oracle資料庫
- oracle RAC 更換儲存遷移資料Oracle
- Oracle10g 資料遷移方案(zt)Oracle
- Oracle資料庫切換歸檔模式Oracle資料庫模式
- 無外網Oracle資料庫遷移Oracle資料庫
- 【DATAPUMP】使用DataPump遷移Oracle資料庫Oracle資料庫
- Oracle資料庫遷移之一:RMANOracle資料庫
- Fastdfs資料遷移方案AST
- 【遷移】使用rman遷移資料庫資料庫
- 資料庫遷移資料庫
- ORACLE 資料遷移Oracle
- 資料庫平滑遷移方案與實踐分享資料庫
- 使用RMAN進行Oracle資料庫遷移Oracle資料庫
- Oracle遷移資料庫過程記錄Oracle資料庫
- 跨平臺遷移oracle資料庫指南Oracle資料庫
- 資料遷移方案選擇
- 資料庫遷移 :理解資料庫
- laravel資料庫遷移Laravel資料庫