溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

oracle 12c使用數(shù)據(jù)泵復制數(shù)據(jù)庫結構的注意事項有哪些

發(fā)布時間:2021-11-09 14:41:09 來源:億速云 閱讀:289 作者:小新 欄目:關系型數(shù)據(jù)庫

這篇文章主要為大家展示了“oracle 12c使用數(shù)據(jù)泵復制數(shù)據(jù)庫結構的注意事項有哪些”,內(nèi)容簡而易懂,條理清晰,希望能夠幫助大家解決疑惑,下面讓小編帶領大家一起研究并學習一下“oracle 12c使用數(shù)據(jù)泵復制數(shù)據(jù)庫結構的注意事項有哪些”這篇文章吧。

1. 創(chuàng)建目錄

create or replace directory dp_dir as '/u02/files';

2. 導出用戶SH,HR的所有結構,不需要數(shù)據(jù)

vi scott_meta.par

userid="/ as sysdba"

directory=dp_dir

dumpfile=scott_expdp.dmp

schemas=sh,hr

content=metadata_only

開啟4個并行來執(zhí)行導出

expdp parfile=scott_meta.par parallel=4

3. 導出數(shù)據(jù)庫表空間結構

vi scott_tbs.par

userid="/ as sysdba"

directory=dp_dir

dumpfile=scott_tbs.dmp

include=tablespace

full=y

content=metadata_only

開啟2個并行來執(zhí)行導出

expdp parfile=scott_tbs.par parallel=2

4. 復制密碼校驗規(guī)則腳本

源庫使用了密碼規(guī)則,通過修改下面的文件可以獲得。

cd $ORACLE_HOME/rdbms/admin

cp utlpwdmg.sql scott_utlpwdmg.sql

根據(jù)需要修改腳本內(nèi)容,如果只是需要一個密碼驗證的話可以按照下面的方式來修改。

vi scott_utlpwdmg.sql

...省去部分內(nèi)容

ALTER PROFILE DEFAULT LIMIT

/*

PASSWORD_LIFE_TIME 90

PASSWORD_GRACE_TIME 3

PASSWORD_REUSE_TIME 365

PASSWORD_REUSE_MAX 20

FAILED_LOGIN_ATTEMPTS 3

PASSWORD_LOCK_TIME 1

*/

PASSWORD_VERIFY_FUNCTION ora12c_verify_function;

...省去部分內(nèi)容

5. 復制profile腳本

源庫用戶有app_profile限制,需要手工導出

SYS@cdb > select distinct profile from dba_profiles;

PROFILE

---------------

APP_PROFILE

DEFAULT

select profile,resource_name,limit from dba_profiles where profile='APP_PROFILE';

通過上面的查詢結構修改腳本為

vi app_profile.sql

CREATE PROFILE "APP_PROFILE" LIMIT

CPU_PER_SESSION UNLIMITED

CPU_PER_CALL UNLIMITED

CONNECT_TIME UNLIMITED

IDLE_TIME UNLIMITED

SESSIONS_PER_USER UNLIMITED

LOGICAL_READS_PER_SESSION UNLIMITED

LOGICAL_READS_PER_CALL UNLIMITED

PRIVATE_SGA UNLIMITED

COMPOSITE_LIMIT UNLIMITED

FAILED_LOGIN_ATTEMPTS UNLIMITED

PASSWORD_LOCK_TIME UNLIMITED

PASSWORD_GRACE_TIME UNLIMITED

PASSWORD_LIFE_TIME UNLIMITED

PASSWORD_REUSE_MAX UNLIMITED

PASSWORD_REUSE_TIME UNLIMITED

PASSWORD_VERIFY_FUNCTION NULL;

scp 表空間結構腳本、schema腳本、密碼校驗腳本、profile腳本到目標數(shù)據(jù)庫

scp scott_tbs.dmp scott_expdp.dmp scott_utlpwdmg.sql app_profile.sql  oracle@<ip address>:/home/oracle/files

目標端

5. 創(chuàng)建一個目錄

create or replace directory dp_dir as '/home/oracle/files';

6. 使用數(shù)據(jù)泵的sqlfile參數(shù)將表空間語句導出

impdp \'/ as sysdba\' directory=dp_dir dumpfile=scott_tbs.dmp sqlfile=scott_tbs.sql

腳本內(nèi)容是create tablespace xxx ...

語句執(zhí)行完畢后會生成名為scott_tbs.sql的腳本,包含數(shù)據(jù)庫中創(chuàng)建所有表空間的語句。我們需要將業(yè)務所需的表空間(除去安裝系統(tǒng)時候自帶的system/sysaux/undo/users/temp)的腳本提取出來。如果目標端磁盤空間較小,需要將數(shù)據(jù)文件調(diào)小后再運行。

7. 創(chuàng)建表空間

SQL >@/home/oracle/files/scott_tbs.sql

8. 創(chuàng)建密碼約束

SQL >@/home/oracle/files/scott_utlpwdmg.sql

9. 創(chuàng)建用戶profile。如果沒有這個步驟在在導入腳本創(chuàng)建用戶的時候會找不到profile而報錯。

SQL > @/home/oracle/files/app_profile.sql

10. 導入表結構。在這一步會創(chuàng)建用戶,授權,創(chuàng)建表等操作。

impdp \'/ as sysdba\' directory=dp_dir dumpfile=scott_expdp.dmp logfile=scott_expdp.log parallel 4

總結:

數(shù)據(jù)泵的content=metadata_only選項為導出結構的需求提供了方便。導出對象可以為全庫full=y,表空間inclue=tablespace等等。

使用impdp的sqlfile參數(shù)可以導出dmp文件中的創(chuàng)建語句。使用dbms_metadata.get_ddl也可以導出表空間、表的創(chuàng)建語句。

在導入具體用戶結構之前需要將創(chuàng)建用戶所需的密碼規(guī)則和相關profile創(chuàng)建好再impdp導入,避免創(chuàng)建用戶時出錯。

以上是“oracle 12c使用數(shù)據(jù)泵復制數(shù)據(jù)庫結構的注意事項有哪些”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業(yè)資訊頻道!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內(nèi)容。

AI