資料庫升級之-資料泵
資料庫邏輯遷移 描述
1) 源端資料庫全庫匯出,並生成 *.dmp 檔案; 2) 將源端 *.dmp 檔案複製至目標端; 3) 將 *.dmp 資料全庫匯入目標資料庫。在資料遷移至目標資料庫後,目標庫的某些物件可能處於失效狀態, 指令碼對無效物件進行重編譯處理,編譯之後可進行業務測試,驗證資料的可用性和完整性。
源庫匯出
檢視源庫字符集
SQL> col value for a60 SQL> set line 200 SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; PARAMETER VALUE ------------------------------ ------------------------------------------------------------ NLS_CHARACTERSET ZHS16GBK |
統計源庫表空間資料量
檢視源庫當前表空間實際資料量
SQL> set line 200 SQL> set pagesize 0 SQL> select tablespace_name,sum(bytes)/1024/1024/1024 G from dba_segments group by tablespace_name order by sum(bytes)/1024/1024/1024 desc; KYERP 106.169922 NNC_DATA03 62.800354 INDX 61.12677 NNC_INDEX03 57.1514282 NNC_DATA01 36.8331299 IUFO 11.3796997 SYSTEM 2.91809082 NNC_INDEX01 2.49285889 NNC_DATA02 2.44415283 NNC_INDEX02 1.9274292 USERS 1.77923584 SYSAUX 1.33441162 UNDOTBS1 .477783203 PERFSTAT .154052734 KYBB .005371094 TEST .000061035 |
檢視源庫目錄物件
使用 DataPump 全庫匯出需要指定目錄物件引數,以下返回結果為預設的目錄物件。建議不要採用預設的目錄物件,可手動建立目錄物件(即自定義)
SQL> col directory_path for a60 SQL> set line 200 SQL> select * from dba_directories; OWNER DIRECTORY_NAME DIRECTORY_PATH ---------- -------------------- ------------------------------------------ SYS XMLDIR /oracle/app/product/11.2.0/db_1/rdbms/xml SYS DATA_PUMP_DIR /oracle/app/admin/orcl/dpdump/ |
手動建立目錄物件 dumpdir ,確保作業系統層面存在 /backup 目錄結構及預留足夠的磁碟空間
create directory dumpdir as '/backup'; grant all on directory dumpdir to public; |
源庫全庫匯出
源庫匯出並開啟 4 個並行
$cd /backup $curr_date=`date +%Y%m%d%H%M%S` $export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK $ nohup expdp "'"/ as sysdba"'" directory=dumpdir dumpfile=fulldb_${curr_date}_%U.dmp logfile=fulldb_${curr_date}.log full=y PARALLEL=4 EXCLUDE=STATISTICS & |
複製*.dmp 檔案至目標端/backup
源庫*.dmp 檔案確認
$ ls -rtl -rw-r----- 1 oracle dba 10496659456 Jul 23 00:06 fulldb_20170722185135_04.dmp -rw-r----- 1 oracle dba 50410315776 Jul 23 00:06 fulldb_20170722185135_03.dmp -rw-r----- 1 oracle dba 51765604352 Jul 23 00:06 fulldb_20170722185135_02.dmp -rw-r----- 1 oracle dba 66040819712 Jul 23 00:06 fulldb_20170722185135_01.dmp -rw-r--r-- 1 oracle dba 2870936 Jul 23 00:06 fulldb_20170722185135.log |
確認成功匯出
Master table "SYS"."SYS_EXPORT_FULL_01" successfully loaded/unloaded ****************************************************************************** Dump file set for SYS.SYS_EXPORT_FULL_01 is: /backup/fulldb_20170722185135_01.dmp /backup/fulldb_20170722185135_02.dmp /backup/fulldb_20170722185135_03.dmp /backup/fulldb_20170722185135_04.dmp Job "SYS"."SYS_EXPORT_FULL_01" successfully completed at 00:06:26 |
將源端*.dmp 檔案傳至目標端
ftp 傳輸 dmp 檔案
$cd /backup $ ftp 10.10.1.5 ftp> bin ftp> prompt ftp> lcd /backup ftp> cd /backup ftp> mput *.dmp |
目標端確認*.dmp
確認目標端 dmp 檔案與源端 dmp 大小一致
[oracle@ncdb02 backup]# ls -rlt -rw-r--r-- 1 oracle oinstall 2870936 Jul 23 00:25 fulldb_20170722185135.log -rw-r--r-- 1 oracle oinstall 66040819712 Jul 23 00:44 fulldb_20170722185135_01.dmp -rw-r--r-- 1 oracle oinstall 51765604352 Jul 23 01:01 fulldb_20170722185135_02.dmp -rw-r--r-- 1 oracle oinstall 50410315776 Jul 23 01:41 fulldb_20170722185135_03.dmp -rw-r--r-- 1 oracle oinstall 10496659456 Jul 23 01:50 fulldb_20170722185135_04.dmp |
目標庫匯入
檢視目標庫字符集
確認目標庫資料庫字符集
SQL> col value for a60 SQL> set line 200 SQL> select * from nls_database_parameters where parameter='NLS_CHARACTERSET'; PARAMETER VALUE ------------------------------ ------------------------------------------------------------ NLS_CHARACTERSET ZHS16GBK |
目標庫建立源庫對應表空間
目標庫表空間與源庫表空間要保持一致
create tablespace KYERP datafile '+DATA/ncerp/kyerp01.dbf' size 30g autoextend off; alter tablespace KYERP add datafile '+DATA/ncerp/kyerp02.dbf' size 30g autoextend off; alter tablespace KYERP add datafile '+DATA/ncerp/kyerp03.dbf' size 30g autoextend off; alter tablespace KYERP add datafile '+DATA/ncerp/kyerp04.dbf' size 30g autoextend off; create tablespace NNC_DATA03 datafile '+DATA/ncerp/nnc_data03_01.dbf' size 30g autoextend off; alter tablespace NNC_DATA03 add datafile '+DATA/ncerp/nnc_data03_02.dbf' size 30g autoextend off; alter tablespace NNC_DATA03 add datafile '+DATA/ncerp/nnc_data03_03.dbf' size 30g autoextend off; create tablespace INDX datafile '+DATA/ncerp/indx01.dbf' size 30g autoextend off; alter tablespace INDX add datafile '+DATA/ncerp/indx02.dbf' size 30g autoextend off; alter tablespace INDX add datafile '+DATA/ncerp/indx03.dbf' size 30g autoextend off; create tablespace NNC_INDEX03 datafile '+DATA/ncerp/nnc_index03_01.dbf' size 30g autoextend off; alter tablespace NNC_INDEX03 add datafile '+DATA/ncerp/nnc_index03_02.dbf' size 30g autoextend off; alter tablespace NNC_INDEX03 add datafile '+DATA/ncerp/nnc_index03_03.dbf' size 30g autoextend off; create tablespace NNC_DATA01 datafile '+DATA/ncerp/nnc_data01_01.dbf' size 30g autoextend off; alter tablespace NNC_DATA01 add datafile '+DATA/ncerp/nnc_data01_02.dbf' size 30g autoextend off; create tablespace IUFO datafile '+DATA/ncerp/iufo01.dbf' size 30g autoextend off; create tablespace NNC_INDEX01 datafile '+DATA/ncerp/nnc_index01_01.dbf' size 10g autoextend on next 1g maxsize 30g; create tablespace NNC_DATA02 datafile '+DATA/ncerp/nnc_data02_01.dbf' size 10g autoextend on next 1g maxsize 30g; create tablespace NNC_INDEX02 datafile '+DATA/ncerp/nnc_index02_01.dbf' size 10g autoextend on next 1g maxsize 30g; create tablespace PERFSTAT datafile '+DATA/ncerp/perfstat.dbf' size 1g autoextend on next 1g maxsize 30g; create tablespace KYBB datafile '+DATA/ncerp/kybb01.dbf' size 1g autoextend on next 1g maxsize 30g; create tablespace TEST datafile '+DATA/ncerp/test01.dbf' size 1g autoextend on next 1g maxsize 30g; |
檢視目標庫表空間預分配空間
目標庫表空間的預分配空間確保大於源庫對應表空間的實際使用空間
SQL> select tablespace_name,sum(bytes)/1024/1024/1024 G from dba_data_files where tablespace_name in ('KYERP','NNC_DATA03','NNC_INDEX03','INDX','NNC_DATA01','IUFO','NNC_DATA02','NNC_INDEX01','NNC_INDEX02','TEST','PERFSTAT','KYBB') group by tablespace_name order by sum(bytes)/1024/1024/1024 desc; KYERP 150 NNC_DATA03 120 NNC_INDEX03 90 INDX 90 NNC_DATA01 60 IUFO 30 NNC_INDEX01 10 NNC_DATA02 10 NNC_INDEX02 10 TEST 1 KYBB 1 PERFSTAT 1 |
檢視目標庫目錄物件
使用 DataPump 全庫匯入需要指定目錄物件引數,以下返回結果為預設的目錄物件。建議不要採用預設的目錄物件,可手動建立目錄物件(即自定義)
SQL> col directory_path for a60 SQL> set line 200 SQL> select * from dba_directories; OWNER DIRECTORY_NAME DIRECTORY_PATH ---------- -------------------- ------------------------------------------ SYS XMLDIR /oracle/app/product/11.2.0/db_1/rdbms/xml SYS DATA_PUMP_DIR /oracle/app/admin/orcl/dpdump/ |
手動建立目錄物件 dumpdir ,確保在作業系統層面存在 /backup 目錄結構及足夠的磁碟空間
create directory dumpdir as '/backup'; grant all on directory dumpdir to public; |
目標庫全庫匯入
$export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK $nohup impdp "'"/ as sysdba"'" directory=dumpdir dumpfile=fulldb_20170722185135_%U.dmp logfile=fulldb_20170723_impdp.log full=y PARALLEL=4 CLUSTER=n & |
目標庫編譯無效物件
無效物件重新編譯
SQL> @?/rdbms/admin/utlrp.sql |
目標庫統計物件收集
資料庫相關物件統計資訊收集
SQL> exec dbms_stats.gather_fixed_objects_stats; SQL> exec dbms_stats.gather_dictionary_stats(estimate_percent=>10,Degree=>8,Cascade=>TRUE,Granularity=>'ALL'); SQL> exec dbms_stats.gather_database_stats(estimate_percent=>10,Degree=>8,Cascade=>TRUE,Granularity=>'ALL'); |
目標庫連線測試
在新伺服器本地測試目標庫連線
sqlplus system/oracle@10.10.1.8:1521/ncerp sqlplus system/oracle@10.10.1.7:1521/ncerp sqlplus system/oracle@10.10.1.6:1521/ncerp sqlplus system/oracle@10.10.1.5:1521/ncerp sqlplus system/oracle@10.10.1.4:1521/ncerp |
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23732248/viewspace-2710656/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 資料庫升級之-XTTS資料庫TTS
- 資料庫升級之-Dataguard滾動升級資料庫
- android資料庫如何進行版本升級?架構之資料庫框架升級Android資料庫架構框架
- 資料庫升級和工具資料庫
- Oracle資料庫(資料泵)遷移方案(上)Oracle資料庫
- Oracle資料庫(資料泵)遷移方案(下)Oracle資料庫
- 靜默方式安裝、升級oracle(三): 升級資料庫軟體及資料庫Oracle資料庫
- iOS 資料庫升級資料遷移解決方案iOS資料庫
- 資料庫升級-物理重新整理資料字典資料庫
- 使用資料泵(expdp、impdp)遷移資料庫流程資料庫
- oracle資料庫11.2.0.3升級到11.2.0.4Oracle資料庫
- 13 使用SQL Apply 升級資料庫SQLAPP資料庫
- 故障分析 | MySQL 資料庫升級後,資料庫怎麼卡住了MySql資料庫
- Android 資料庫綜述(一) 資料庫片的升級與資料的遷移操作Android資料庫
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- Oracle資料庫升級或資料遷移的方法探討Oracle資料庫
- 自定義開發資料庫升級程式資料庫
- oracle邏輯備份之--資料泵Oracle
- 殺停資料泵
- Java之學生資訊管理系統升級版(資料庫程式設計)Java資料庫程式設計
- phpStudy2018 升級資料庫 MySQL5.7PHP資料庫MySql
- DM7資料複製之資料庫級複製資料庫
- 【資料庫】mysql5.6升級至5.7(物理方式)資料庫MySql
- iOS CoreData (二) 版本升級和資料庫遷移iOS資料庫
- Android 中的升級資料庫最佳方法實踐Android資料庫
- 成為MySQL DBA 部落格系列-資料庫升級MySql資料庫
- 如何理解騰訊雲資料庫戰略升級?資料庫
- 大資料:小白升級版大資料
- 【資料庫升級】Oracle指令碼升級12c CDB to 19c CDB資料庫Oracle指令碼
- 資料泵重建使用者
- 資料泵匯出匯入
- 不起介面,用response file的方式升級資料庫資料庫
- 靜默方式安裝、升級oracle(二): 建立資料庫Oracle資料庫
- 巨杉資料庫:金融級資料庫未來方向資料庫
- OGG之 各種資料泵初始化指令碼指令碼
- 資料庫索引層級資料庫索引
- java實現“資料平滑升級”Java
- LinkedIn大資料工程的升級大資料