Oracle資料庫(資料泵)遷移方案(下)
第三部分 源端執行資料匯出
3.1 源端生產庫執行狀態確認
為保證 資料嚴格一致性 , 關閉監聽,重啟資料庫 。
Shell> su - oracle Shell> lsnrctl stop SQL> shutdown immediate SQL> startup
確認 沒有 活動 客戶端連線,確認監聽已經停止 。
Shell> ps -ef | grep tns Shell> ps -ef | grep LOCAL=NO | grep -v grep | wc -l
3.2 目標端掛載 N FS 至生產端
目標端( Linux )開啟 NFS 服務
Shell> su - root Shell> vi /etc/exports /backup {源端IP**.**}(rw,async,no_root_squash) Shell> /etc/rc.d/init.d/portmap start Shell> /etc/init.d/nfs start #啟動NFS服務端程式 Shell> exportfs -a #輸出配置資訊命令 Shell> chkconfig nfs on #增加到自啟動指令碼中 Shell> chkconfig portmap on #增加到自啟動指令碼中
源端掛載 N FS 檔案系統
su - root mkdir -p /backup mount {目標端IP**.**}:/backup /backup
注: Linux 不同作業系統版本, N FS 服務配置有差異,需要根據實際版本做調整。
3.3 源端查詢資料庫物件數量
比對 表格的建立,方便後期的資料比對 :
create table object_tmp_201702 as select * from dba_objects ;
標 紅部分 ,需要 按照 遷移時 具體 業務 使用者 做替換,如下:
SELECT D.OWNER,COUNT(1) FROM dba_objects d WHERE d.OWNER in ('SJZLCK', 'YDJW_ZP', 'HZ2004','TEST','DRB','RMAN','MOCHA','CZRKRZSJ','ZJCONN','CZRKTJXX','OGGADMIN','ZJGAZHCX') and d.OWNER not in ('PUBLIC') AND NOT EXISTS (SELECT 1 FROM DBA_RECYCLEBIN B WHERE B.object_name=D.OBJECT_NAME AND D.OWNER=B.owner) GROUP BY D.OWNER ORDER BY D.OWNER ;
3.4 邏輯匯出生產端資料
透過掛載 的NFS 目錄,將 源端 資料 匯出到 對應的NFS 檔案系統上 ,如下:
Shell> expdp \'/ as sysdba\' directory=dump_dir dumpfile=JKfull.dmp logfile=JKfull.log full=y
第四部分 目標端執行資料匯入
4.1 目標端建立業務表空間
根據 2.1 節生成的建立 語句, 在目標庫 建立對應的 業務 表空間 ,要注意表空間預分配大小,建議直接分配(非自動擴充套件)提高匯入效能 。
SQL> @/home/oracle/tts_create_ts.sql
4.2 目標端資料邏輯匯入
Shell> impdp \'/ as sysdba\' directory=dump_dir dumpfile=JKfull.dmp logfile=JKfull.log full=y
4.3 目標端啟動監聽服務
複製源端生產庫的 tnsnames.ora 檔案到新環境目標端,並且開啟資料庫監聽檔案,確保資料庫例項資訊已經註冊到監聽中。
4.4 編譯無 效物件並確認
手動編譯目標庫 無 效物件:
@?/rdbms/admin/utlrp.sql
編譯完成之後,再確認 不存在無 效物件:
select a.owner, a.object_name, a.OBJECT_TYPE from dba_objects a, object_201702 b where a.OBJECT_NAME = b.OBJECT_NAME and a.STATUS = 'INVALID' and b.STATUS = 'VALID';
第五部分 應用測試部分
首先, 由 業務開發人員 進行 應用全模組通測 , 業務全生命週期測試 沒有問題後 ,將生產主機替換成臨時 IP 地址 ,將目標端 ip 改成老生產端的 ip 接管業務。
第六部分 R AC 叢集 I P 修改
與最終客戶確認,是否需要將目標端的 I P 地址替換成老生產環境 I P 地址,如果需要,則手動進行修改源端和目標端 R AC SCAN 、 VIP 和 Pu blic IP 等工作。
6.1 修改 R AC 兩節點 / etc/ hosts
1 節點:
Vi /etc/hosts 10.10.17.101 host-fefcfedb0f4f 10.10.17.13 host-fefcfedb0f4f-vip 10.253.253.101 host-fefcfedb0f4f-priv 10.10.17.102 host-fefcfebc5b0d 10.10.17.14 host-fefcfebc5b0d-vip 10.253.253.102 host-fefcfebc5b0d-priv 10.10.17.15 orcl-scan
2 節點:
Vi /etc/hosts 10.10.17.101 host-fefcfedb0f4f 10.10.17.13 host-fefcfedb0f4f-vip 10.253.253.101 host-fefcfedb0f4f-priv 10.10.17.102 host-fefcfebc5b0d 10.10.17.14 host-fefcfebc5b0d-vip 10.253.253.102 host-fefcfebc5b0d-priv 10.10.17.15 orcl-scan
6.2 先停SCAN 監聽,再停 SCAN VIP
[grid@host-fefcfebc5b0d ~]$/u01/app/12.2/grid/bin/srvctl stop scan_listener [grid@host-fefcfebc5b0d ~]$/u01/app/12.2/grid/bin/srvctl stop scan [grid@host-fefcfebc5b0d ~]$/u01/app/12.2/grid/bin/srvctl status scan
6.3 先停本地監聽,再停本地VIP
[grid@host-fefcfebc5b0d ~]$ srvctl stop listener [grid@host-fefcfebc5b0d ~]$ srvctl stop vip -n host-fefcfedb0f4f [grid@host-fefcfebc5b0d ~]$ srvctl stop vip -n host-fefcfebc5b0d
6.4 修改 R AC 兩節點 PUBLIC IP
[root@host-fefcfedb0f4f ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR=10.10.17.101 GATEWAY=10.10.17.254 [root@host-fefcfedb0f4f ~]# ifdown eth0 [root@host-fefcfedb0f4f ~]# ifup eth0 [root@host-fefcfedb0f4f ~]# ip a [root@host-fefcfebc5b0d ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 IPADDR=10.10.17.102 GATEWAY=10.10.17.254 [root@host-fefcfebc5b0d ~]# ifdown eth0 [root@host-fefcfebc5b0d ~]# ifup eth0 [root@host-fefcfebc5b0d ~]# ip a
6.5 修改 R AC 叢集 PUBLIC 註冊資訊
[root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/oifcfg delif -global eth0 [root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/oifcfg setif -global eth0/10.10.17.0:public
6.6 修改 R AC 兩節點 V IP
[root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/srvctl modify nodeapps -n host-fefcfedb0f4f -A 10.10.17.13/255.255.255.0/eth0 [root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/srvctl modify nodeapps -n host-fefcfebc5b0d -A 10.10.17.14/255.255.255.0/eth0 [root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/srvctl config vip -n host-fefcfedb0f4f VIP exists: /host-fefcfedb0f4f-vip/10.10.17.13/192.168.0.0/255.255.255.0/eth0, hosting node host-fefcfedb0f4f [root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/srvctl config vip -n host-fefcfebc5b0d VIP exists: /host-fefcfebc5b0d-vip/10.10.17.14/192.168.0.0/255.255.255.0/eth0, hosting node host-fefcfebc5b0d
6.7 修改 R AC 叢集 SCAN VIP
[root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/srvctl modify scan -n 10.10.17.15
6.8 先啟本地VIP ,再啟本地監聽
[root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/srvctl start vip -n host-fefcfedb0f4f [root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/srvctl start vip -n host-fefcfebc5b0d [root@host-fefcfedb0f4f ~]# /u01/app/12.2/grid/bin/srvctl start listener
6.9 先啟SCAN VIP ,再啟 SCAN 監聽
[root@host-fefcfedb0f4f ~]#/u01/app/12.2/grid/bin/srvctl start scan [root@host-fefcfedb0f4f ~]#/u01/app/12.2/grid/bin/srvctl start scan_listener
第七部分 遷移失敗回退方案
7.1 關閉目標端資料庫或主機
SQL> shutdown immediate 或者 Shell> shutdown -h now
7.2 啟動老生產資料庫和監聽
Shell> lsnrctl start Shell> sqlplus / as sysdba SQL> startup
注:由於老生產庫環境未作任何變更,因此在極端情況下,可以直接拉起資料庫例項和監聽,恢復業務。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30310891/viewspace-2939589/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(下)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(上)Oracle資料庫
- Oracle資料庫(DataGuard)遷移方案(中)Oracle資料庫
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- 【Datapump】Oracle資料泵遷移資料命令參考(expdp/impdp說明)Oracle
- 資料遷移(1)——通過資料泵表結構批量遷移
- OGG資料庫遷移方案(四)資料庫
- OGG資料庫遷移方案(一)資料庫
- OGG資料庫遷移方案(二)資料庫
- OGG資料庫遷移方案(三)資料庫
- 資料庫邏輯遷移方案資料庫
- 無外網Oracle資料庫遷移Oracle資料庫
- 使用impdp,expdp資料泵進入海量資料遷移
- 【BUILD_ORACLE】使用Oracle資料泵線上不停機克隆/遷移PDBUIOracle
- 資料庫遷移資料庫
- Oracle資料庫中資料行遷移與行連結Oracle資料庫
- Fastdfs資料遷移方案AST
- Oracle資料庫升級或資料遷移的方法探討Oracle資料庫
- AWS RDS Oracle資料遷移Oracle
- Oracle 19c adg全庫遷移資料Oracle
- laravel資料庫遷移Laravel資料庫
- 資料庫遷移 :理解資料庫
- redis資料庫遷移Redis資料庫
- 異構資料庫資料遷移 oracle to mysql之oracle sqlloader和mysql load data資料庫OracleMySql
- 資料遷移方案選擇
- 資料庫平滑遷移方案與實踐分享資料庫
- 雲資料庫管理與資料遷移資料庫
- Oracle資料庫遷移至PolarDb(阿里雲資料庫)Oracle資料庫阿里
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- dm資料庫遷移命令資料庫
- 用rman遷移資料庫資料庫
- 資料庫遷移手記資料庫
- 遷移MySQL 5.7資料庫MySql資料庫
- 資料庫遷移神器——Flyway資料庫
- linux mysql資料庫遷移LinuxMySql資料庫
- django資料庫遷移-15Django資料庫
- SQL Server資料庫遷移SQLServer資料庫