91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

Oracle 12c R2版本 Application Containers的特性是什么

發布時間:2021-11-12 09:51:11 來源:億速云 閱讀:197 作者:柒染 欄目:關系型數據庫

本篇文章給大家分享的是有關Oracle 12c R2版本 Application Containers的特性是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

在Oracle Database 12c R2版本中,Oracle帶來新的Application Containers特性,該特性對原有的多租戶功能進行了增強,在CDB root容器中可以創建一個叫做Application root的容器,類似于CDB root,可在其內創建多個依賴于Application root的Application PDBs。

“Application”

在Application Container特性下還有另一個概念,被命名為“Application”,我們可以把“Application”理解為一個區域,“Application”只能創建在Application root中,其內可以創建表、視圖、函數等公共對象,然后可在Application PDBs中使用sync同步命令,來實現“Application”內的公共對象共享到Application PDBs中。

本篇文章中,通過"Application Root/PDBs"與"Application"的創建開始帶你認識Application Container特性,在第二篇中將帶你了解“Application”內的公共對象(Application Common Objects),并通過實驗讓你對其有一個更加直觀的認識。

Application root的創建

Application root與普通的PDB創建語句相似,在創建語句中需要指定“as application container”子句。

首先我們先設置db_create_file_dest

創建一個名qdatacon1的Application root

這樣一個名為qdatacon1的Application root就已經成功創建 ,可以通過視圖dba_pdbs.application_root字段查看是否是Application rootdba_pdbs.application_root字段為YES

將QDatacon1打開

注意,當在使用Application Containers特性時需要使用數據文件的OMF的管理方式,雖然在不使用OMF管理時依然可以成功創建Application root以及Application PDBs,但當“Application”內包含表空間后,在Application PDBs中進行同步“Application”時會報ORA-01537錯誤,無法將“Application”內的表空間同步到Application PDBs中。

Application root的基本管理與普通的PDB基本上沒有區別, 包括Application root的cloning/unplug/plugin等。但需要注意as application container的使用

當然,如果你想將Application root拔出后,以普通PDB的方式插入CDB中,那么去掉

as application container子句即可。

Application PDBs的創建

Application PDB在創建時必須連接到相應Application root中,而不是CDB root,當連接到Application root中時,只需按照創建普通PDB的方式創建即可,無需額外子句指定,創建完成的PDB既是相應Application root中的Application PDB。

切換到Application root中創建Application PDB:qdcpdb1,切換到CDB中

在CDB$root中通過show pdbs顯示時,可以看到的Application PDB與普通的PDB并沒有什么區別。

可以通過cdb_pdbs視圖,來查看Application PDB屬于哪個Application root

當Applicatoin PDB創建成功,可以使用sync命令將它與Application root中定義的Application進行同步。

alter pluggable database application all sync;

Applications

文章的開篇提到,可以把“Application”做為一個區域來理解,而“Application”只能在Application root中創建及管理

在“Application”的維護命令中可能最常用的就是install、patch、upgrade以及uninstall,下面對三個命令做簡單描述。

Install an Application

當使用alter pluggable database帶有begin install子句時,即開始一個“Application”的安裝,這里可以理解為一個區域的開始,當安裝完成后在Application PDB中使用sync命令同步相應的“Application”將會被自動安裝在本PDB內。

這樣我們開始了一個qdcon1_reg1的“Application”,使用end install命令封閉qdcon1_reg1,

可以通過dba_applications視圖查看,已經安裝的Application

Application安裝完成后,可以在該Application root下的Application PDB中使用sync命令來進行同步,如下:

查看dba_applications視圖,確認qdcon1_reg1是否已經安裝

可以看到qdcon1_reg1已經安裝完成,安裝完成后qdcon1_reg1中的公共對象會以特定的方式被共享到相應的Application PDB中,

表tdata已經被共享到qdcpdb1中。

在Application root中可以通過dba_app_pdb_status視圖,查看Application被安裝到哪些Application PDB中

Patch an Application

在上面的小結中,當我們使用end install子句將“Application”封閉后,如果想再次在“Application”中創建對象(table/view/packages/sequence等),以及對“Application”內已經存在的對象進行alter操作時,我們可以使用patch子句對現有的“Application”進行修補操作。

如下示例,開始一個patch,并且在application內創添加表以及更改現存表的表結構:

刪除Application內的表

刪除失敗

結束patch

查看patch信息

在qdcpdb1中同步qdcon1_reg1

tdata的表結構與texte表均同步完成

Upgrade an Application

對“Application”我們可以使用patch來對其進行修補操作,但修補操作只限添加/更改等,無法對已經存在“Application”中的公共對象進行刪除操作,如果我們想對公共對象進行刪除操作,可以使用UPGRADE子句對現有的“Application”進行升級,在升級的過程中,Oracle會首先自動創建Application root的Clone版本,Clone版本創建完成后,Application PDBs將指向Clone版本的Application root,“Application”將繼續執行升級操作,升級完成之后,Application root的Clone版本將繼續被保留,并且為不同步“Application”的Application PDB提供服務,同步“Application”后的Application PDB將指向升級后的Application root。

升級現有的qdcon1_reg1:F1956732192_4_1即為qdatacon1的clone版本

刪除tdata表,并且創建新表tmeta:

結束升級,并查看版本信息

在qdcpdb1中同步qdcon1_reg1

tdata被刪除/tmeata的創建已同步到qdcpdb1中。

Uninstall an Application

“Application”的卸載后并不會從數據字典中將該“Application”刪除,它會被標記為UNINSTALL,以便“Application”不可以進行upgrade/patch/uninstall等操作,當uninstall命令發出后,需要將該“Application”中包含的對象全部刪除。

uninstall同樣會產生clone版本的Application root

刪除對象且結束uninstall

因為對象并沒有全部刪除,導致end uninstall失敗,下面繼續drop用戶和表空間:

查看被uninstall的qdcon1_reg1狀態

在qdcpdb1中查看公共對象情況

表texte是extended data-linked方式,數據存儲在Application root的qdata_tbs中,因為qdata_tbs已經被刪除,所以在qdcpdb1中查詢時報錯,而tmeta為metadata-linked方式,數據存儲在本地,所以可以在未做同步時可以查詢。

同步qdcon1_reg1

同步完成。

以上就是Oracle 12c R2版本 Application Containers的特性是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。

向AI問一下細節

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

AI

雷州市| 泰顺县| 沂源县| 天台县| 龙州县| 筠连县| 沙坪坝区| 景德镇市| 临朐县| 明光市| 新宾| 巢湖市| 陇西县| 阳江市| 吴桥县| 余干县| 红原县| 镇巴县| 望都县| 诏安县| 金溪县| 揭西县| 镇雄县| 德钦县| 黎平县| 堆龙德庆县| 莲花县| 绥棱县| 开鲁县| 关岭| 呼图壁县| 平武县| 将乐县| 台北市| 大英县| 盐山县| 正安县| 武川县| 县级市| 清徐县| 张家界市|