一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

從數(shù)據(jù)庫(kù)創(chuàng)建深入學(xué)習(xí)Oracle技術(shù):那些年 mkplug 偷偷執(zhí)行的Plugin操作

 數(shù)據(jù)和云 2020-07-01

在很多Oracle文檔中,可能大家都注意過(guò)Oracle用來(lái)進(jìn)行測(cè)試的一個(gè)表空間,這個(gè)表空間中有一系列預(yù)置的用戶和數(shù)據(jù),可以用于數(shù)據(jù)庫(kù)或BI的很多測(cè)試實(shí)驗(yàn)。

這個(gè)表空間在使用模板建庫(kù)時(shí)是可以選擇的,在如下圖所示的這個(gè)界面中,可以選擇建庫(kù)時(shí)包含這個(gè)范例表空間(缺省是未選擇的)。

圖1 是否包含示例方案

在DBCA的的配置過(guò)程中,如果選擇了包含示例方案,則最后生成的 cloneDBCreation.sql 腳本將會(huì)與標(biāo)準(zhǔn)模式有所改變,主要增加了如下語(yǔ)句(在11g、12c等新版本中基本沒(méi)有變化):

看到這里,再次引用了模板目錄中的文件,通過(guò) mkplug.sql 腳本執(zhí)行了 PlugIN 操作,如果我們看到Oracle 12c的Pluggable Database覺(jué)得有點(diǎn)陌生,那么其實(shí)Plugin這個(gè)操作Oracle已經(jīng)在墨墨的幫我們執(zhí)行了好多年:

C:\>dir C:\oracle\10.2.0\assistants\dbca\templates\ex*

2005-09-07  13:02           983,040 example.dmp

2005-09-07  13:02        20,897,792 example01.dfb

通過(guò)mkplug.sql腳本來(lái)加載這個(gè)范例表空間,來(lái)看一下這個(gè)腳本的主要內(nèi)容。

同樣,最重要的是通過(guò)dbms_backup_restore包從example01.dfb文件中恢復(fù)數(shù)據(jù)文件:

這個(gè)恢復(fù)完成之后,接下來(lái)最重要的部分就是通過(guò)傳輸表空間技術(shù)將example表空間導(dǎo)入到當(dāng)前的數(shù)據(jù)庫(kù)。

考慮一下這種情況,當(dāng)進(jìn)行跨數(shù)據(jù)庫(kù)遷移時(shí),需要將一個(gè)用戶表空間中的數(shù)據(jù)遷移到另外一個(gè)數(shù)據(jù)庫(kù),應(yīng)該使用什么樣的方法呢?

最常規(guī)的做法可能是通過(guò)EXP工具將數(shù)據(jù)全部導(dǎo)出,然后在目標(biāo)數(shù)據(jù)庫(kù)上IMP導(dǎo)入,可是這種方法可能會(huì)比較緩慢。EXP工具同時(shí)還提供另外一種技術(shù)-可傳輸表空間技術(shù),可以用于加快這個(gè)過(guò)程。

在exp –help的幫助中,可以看到這樣一個(gè)參數(shù):

TRANSPORT_TABLESPACE 導(dǎo)出可傳輸?shù)谋砜臻g元數(shù)據(jù) (N)

通過(guò)這個(gè)選項(xiàng),我們可以對(duì)一組自包含、只讀的表空間只導(dǎo)出元數(shù)據(jù),然后在操作系統(tǒng)層將這些表空間的數(shù)據(jù)文件拷貝至目標(biāo)平臺(tái),并將元數(shù)據(jù)導(dǎo)入數(shù)據(jù)字典(這個(gè)過(guò)程稱為插入,plugging),即完成遷移。

注意

傳輸表空間技術(shù)不能應(yīng)用于SYSTEM表空間。

對(duì)于可傳輸表空間有一個(gè)重要概念:自包含(Self-Contained)。

在表空間傳輸?shù)闹校蟊砜臻g集為自包含的,自包含表示用于傳輸?shù)膬?nèi)部表空間集沒(méi)有引用指向外部表空間集。自包含分為兩種:一般自包含表空間集和完全(嚴(yán)格)自包含表空間集。

常見(jiàn)的以下情況是違反自包含原則的:

  • 索引在內(nèi)部表空間集,而表在外部表空間集(相反地,如果表在內(nèi)部表空間集,而索引在外部表空間集,則不違反自包含原則)。

  • 分區(qū)表一部分區(qū)在內(nèi)部表空間集,一部分在外部表空間集(對(duì)于分區(qū)表,要么全部包含在內(nèi)部表空間集中,要么全不包含)。

  • 如果在傳輸表空間時(shí)同時(shí)傳輸約束,則對(duì)于引用完整性約束,約束指向的表在外部表空間集,則違反自包含約束;如果不傳輸約束,則與約束指向無(wú)關(guān)。

  • 表在內(nèi)部表空間集,而lob列在外部表空間集,則違反自包含約束。

通??梢酝ㄟ^(guò)系統(tǒng)包DBMS_TTS來(lái)檢查表空間是否自包含,驗(yàn)證可以以兩種方式執(zhí)行:非嚴(yán)格方式和嚴(yán)格方式。

以下是一個(gè)簡(jiǎn)單的驗(yàn)證過(guò)程,假定在eygle表空間存在一個(gè)表eygle,其上存在索引存儲(chǔ)在USERS表空間:、

SQL> create table eygle as select rownum id ,username from dba_users;

SQL> create index ind_id on eygle(id) tablespace users;

以SYS用戶執(zhí)行非嚴(yán)格自包含檢查(full_check=false):

執(zhí)行嚴(yán)格自包含檢查(full_check=true):

反過(guò)來(lái)對(duì)于USERS表空間來(lái)說(shuō),非嚴(yán)格檢查也是無(wú)法通過(guò)的:

但是可以對(duì)多個(gè)表空間同時(shí)傳輸,則一些自包含問(wèn)題就可以得到解決:

表空間自包含確認(rèn)之后,進(jìn)行表空間傳輸就很方便了,一般包含如下幾個(gè)步驟。

1.將表空間設(shè)置為只讀:

alter tablespace users read only;

2.導(dǎo)出表空間。在操作系統(tǒng)提示符下執(zhí)行:

exp username/passwd tablespaces=users transport_tablespace=y file=exp_users.dmp

此處的導(dǎo)出文件只包含元數(shù)據(jù),所以導(dǎo)出文件很小,導(dǎo)出速度也會(huì)很快。

3.轉(zhuǎn)移。

將導(dǎo)出的元數(shù)據(jù)文件(此處是exp_users.dmp)和傳輸表空間的數(shù)據(jù)文件(此處是users表空間的數(shù)據(jù)文件user01.dbf)轉(zhuǎn)移至目標(biāo)主機(jī)(轉(zhuǎn)移過(guò)程如果使用FTP方式,應(yīng)該注意使用二進(jìn)制方式)。

4.傳輸。

在目標(biāo)數(shù)據(jù)庫(kù)將表空間插入到數(shù)據(jù)庫(kù)中,完成表空間傳輸。在操作系統(tǒng)命令提示符下執(zhí)行下面的語(yǔ)句:

imp username/passwd tablespaces=users transport_tablespace=y file=exp_users.dmp datafiles='users01.dbf'

了解了Oracle的可傳輸表空間技術(shù)后,來(lái)看一下example表空間的插入,以下腳本仍然來(lái)自mkplug.sql腳本:

完成plugging之后,這個(gè)表空間就被包含在了新建的數(shù)據(jù)庫(kù)之中。


加入"云和恩墨大講堂",參與討論學(xué)習(xí)

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    日本中文在线不卡视频| 99久久国产综合精品二区| 亚洲另类女同一二三区| 国产内射一级二级三级| 亚洲精品中文字幕无限乱码| 精品一区二区三区免费看| 丰满熟女少妇一区二区三区| 色小姐干香蕉在线综合网| 国产精品久久香蕉国产线| 国产又粗又猛又爽又黄| 欧美区一区二区在线观看| 国产成人精品久久二区二区| 九九蜜桃视频香蕉视频| 欧美午夜一级特黄大片| 亚洲国产欧美精品久久| 国产专区亚洲专区久久| 99久久精品久久免费| 少妇熟女亚洲色图av天堂| 暴力三级a特黄在线观看| 国产亚洲二区精品美女久久| 中国美女草逼一级黄片视频| 精品久久av一二三区| 女人精品内射国产99| 色综合视频一区二区观看 | 国产一级二级三级观看| 色丁香之五月婷婷开心| 永久福利盒子日韩日韩| 免费大片黄在线观看国语| 日韩毛片视频免费观看| 在线亚洲成人中文字幕高清| 国产又色又爽又黄的精品视频| 欧美成人久久久免费播放| 出差被公高潮久久中文字幕| 久久精品中文字幕人妻中文| 男人和女人干逼的视频| 91超精品碰国产在线观看| 护士又紧又深又湿又爽的视频| 久久精品国产99精品最新| 色婷婷国产精品视频一区二区保健| 欧美一二三区高清不卡| 又黄又硬又爽又色的视频|