您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關如何進行oracle數據泵導數據實踐,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
需求:
將zxjfdb2、zxjfdb4上面的ocdbhis庫中的用戶OCHIS整體遷移到migudb3、migudb4上面的migudb2庫。
ocdbhis 與 migudb2均為rac數據庫。
步驟:
1.檢查環境:
1)該用戶涉及的表空間,保證目標庫的表空間包含原庫表空間,而且容量充足:
select tablespace_name,sum(bytes/1024/1024/1024) gb from dba_segments where owner='&OCHIS' group by tablespace_name;
2)臨時表空間,確保兩邊的表空間一致。
SELECT a.tablespace_name "TABLESPACE_NAME", a.total "TOTAL(MB)", (a.total - nvl(b.used, 0)) "FREE(MB)" , nvl(b.used,0) "USED(MB)", round(nvl(b.used,0) * 100 / a.total, 3) "USED_PERCENT(%)" FROM (SELECT tablespace_name, SUM (bytes)/1024/1024 total FROM dba_temp_files GROUP BY tablespace_name) a, (SELECT tablespace_name, SUM (bytes_cached)/1024/1024 used FROM v$temp_extent_pool GROUP BY tablespace_name) b WHERE a.tablespace_name = b.tablespace_name(+);
3)檢查role
select distinct GRANTED_ROLE from dba_role_privs where grantee in ('&OCHIS') order by 1;
4)檢查profile
select distinct PROFILE from dba_users where username in ('&OCHIS') order by 1;
5)檢查tnsnames.ora
cat $ORACLE_HOME/network/admin/tnsnames.ora
6)檢查dblink
select * from DBA_DB_LINKS where OWNER in ('PUBLIC','&OCHIS');
7)檢查源端與目標端的網絡連通,因為需要使用scp講dmp文件復制到對端。
8)檢查源端與目標端的文件系統是否足夠容納所有的dump文件。
9)檢查目標端的歸檔空間是否充足,避免導入期間,歸檔滿。
2.通知應用同事關閉與OCHIS用戶相關的應用
3.將OCHIS用戶鎖上,避免用戶數據變化。
alter user OCHIS account lock;
4.在源庫導出數據
1)創建directory
chmod oracle:oinstall /oratemp
create directory ggdump as '/oratemp';
2)編寫parfile
#####按照用戶導出
zxjfdb2:/oratemp$cat expdp_ochis.par
userid='/ as sysdba'
directory=ggdump
dumpfile=expdp_ochis_%U.dmp
logfile=expdp_ochis.log
parallel=8 ----8個并行
compression=all ----壓縮
CLUSTER=N
exclude=statistics ----取消導出統計信息
SCHEMAS=(
OCHIS
)
#####按照用戶導出元數據,供參考
#userid='/ as sysdba'
#directory=ggdump
#dumpfile=expdp_ich_metadata.dmp
#logfile=expdp_ich_metadata.log
#CONTENT=METADATA_ONLY
#CLUSTER=N
#SCHEMAS=(
#PUBDBA,
#OCHIS
#)
#####按照表導出純數據,供參考
#userid='/ as sysdba'
#directory=ggdump
#dumpfile=expdp_ich_pubdba_data.dmp
#logfile=expdp_ich_pubdba_data.log
#CONTENT=DATA_ONLY
#CLUSTER=N
#TABLES=(
#PUBDBA.ACCNT_AGREEMENT
#PUBDBA.CARRIER_ACCNT_BANK_INFO
#)
3)導出并查看日志
nohup expdp parfile=expdp_ochis.par > expdp_ochis.par.out &
tail -f expdp_ochis.par.out
5.拷貝數據
scp expdp_*.dmp migudb3:/backup
6.目標端導入數據
1)創建directory
2)編寫parfile
migudb3:/backup#cat impdp_ochis.par
userid='/ as sysdba'
directory=ggdump
dumpfile=expdp_ochis_%U.dmp
logfile=impdp_ochis.log
parallel=8
CLUSTER=N
3)導入并查看日志
nohup impdp parfile=impdp_ich_metadata.par > impdp_ich_metadata.par.out &
tail -f impdp_ich_metadata.par.out
7.收集統計信息
migudb3:/backup#cat gather_ochis_info.sh
sqlplus / as sysdba <<EOF
set echo on
set verify on
spool gather_ochis_info.log
exec dbms_stats.gather_schema_stats(ownname=>'OCHIS',estimate_percent=>10,method_opt=>'for all columns size 1',cascade=>true,force=>true,degree=>8,no_invalidate=>false);
spool off
exit
EOF
8.目標庫解鎖OCHIS用戶
alter user ochis account unlock;
9.通知應用同事檢查應用。
看完上述內容,你們對如何進行oracle數據泵導數據實踐有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。