官术网_书友最值得收藏!

第2章 CDB和PDB操作

2.1 多租戶環(huán)境下用戶的操作及工具

2.1.1 多租戶環(huán)境

? 規(guī)劃多租戶環(huán)境:創(chuàng)建一個(gè)具體CDB需要進(jìn)行認(rèn)真的思考和規(guī)劃。當(dāng)計(jì)劃一個(gè)CDB時(shí),一般要考慮以下的因素:要插入到CDB中的PDB數(shù)量;支持CDB的資源需求;應(yīng)用到整個(gè)CDB中的配置包括哪些選項(xiàng),以及應(yīng)用到每一個(gè)PDB的配置包括哪些選項(xiàng)。

圖2-1 新創(chuàng)建的CDB結(jié)構(gòu)

? 創(chuàng)建一個(gè)或者多個(gè)的CDB:當(dāng)完成計(jì)劃后,用戶可以使用數(shù)據(jù)庫(kù)配置助手(DBCA)或者使用CREATE DATABASE SQL語(yǔ)句創(chuàng)建一個(gè)或者多個(gè)CDB。當(dāng)創(chuàng)建一個(gè)CDB后,也就創(chuàng)建了根(Root)容器和種子(Seed)容器,根包含了最小的用戶數(shù)據(jù)或非用戶數(shù)據(jù),種子包含非用戶數(shù)據(jù)。新創(chuàng)建的CDB結(jié)構(gòu)如圖2-1所示。

? 創(chuàng)建、插入和拔出PDB:PDB包括用戶數(shù)據(jù)。當(dāng)用戶創(chuàng)建了一個(gè)CDB后,就可以創(chuàng)建PDB,將PDB插入CDB中,或者從CDB中拔出PDB;也可以從一個(gè)CDB中拔出PDB,然后插入到另一個(gè)CDB中;如果用戶需要,也可以將PDB從一個(gè)CDB移到另一個(gè)CDB中。

? 管理和監(jiān)視CDB:管理和監(jiān)視CDB包括管理整個(gè)CDB、根和PDB的一些屬性。CDB和非CDB的一些管理任務(wù)相同。

? 管理和監(jiān)視PDB:管理和監(jiān)視PDB與管理和監(jiān)視非CDB相似,但是有區(qū)別。

由于在Oracle 12c數(shù)據(jù)庫(kù)服務(wù)器中一般只有一個(gè)CDB數(shù)據(jù)庫(kù),這個(gè)數(shù)據(jù)庫(kù)中有多個(gè)PDB,每個(gè)PDB有其相應(yīng)的用戶對(duì)其進(jìn)行操作,因此每個(gè)用戶通過(guò)操作一個(gè)應(yīng)用程序?qū)崿F(xiàn)對(duì)PDB中的數(shù)據(jù)對(duì)象操作,如圖2.2所示。Oracle 12c數(shù)據(jù)庫(kù)服務(wù)器放在世界任何可以連接Internet的地方,這個(gè)CDB數(shù)據(jù)庫(kù)中有三個(gè)PDB數(shù)據(jù)庫(kù),有三個(gè)應(yīng)用(“某學(xué)校教學(xué)管理” “某公司生產(chǎn)管理”“某醫(yī)院醫(yī)療管理”)對(duì)應(yīng)這三個(gè)PDB。這三個(gè)應(yīng)用屬于不同應(yīng)用領(lǐng)域的三個(gè)單位所有。假設(shè)三個(gè)PDB數(shù)據(jù)庫(kù)名分別叫PDB1、PDB2和PDB3,三個(gè)PDB數(shù)據(jù)庫(kù)分別由用戶Turing、Smith和Tom進(jìn)行管理。在CDB數(shù)據(jù)庫(kù)已經(jīng)啟動(dòng)的情況下,當(dāng)一個(gè)用戶要操作數(shù)據(jù)庫(kù)時(shí),首先要建立一個(gè)PDB數(shù)據(jù)庫(kù)例程,假設(shè)用戶Smith在歐洲先操作數(shù)據(jù)庫(kù),Smith就需要先建立一個(gè)PDB1數(shù)據(jù)庫(kù)例程,然后裝載數(shù)據(jù)庫(kù)和打開(kāi)數(shù)據(jù)庫(kù),建立會(huì)話session A。用戶Smith操作數(shù)據(jù)庫(kù)要求數(shù)據(jù)庫(kù)參數(shù)必須滿足其要求,例如時(shí)區(qū)、貨幣(單位符號(hào)是€)等,假設(shè)Smith在創(chuàng)建例程時(shí)按其在歐洲的要求定義了這些參數(shù),這樣用戶Smith就可以操作數(shù)據(jù)庫(kù)中“某公司生產(chǎn)管理”應(yīng)用中的數(shù)據(jù)表及其他的數(shù)據(jù)庫(kù)對(duì)象。假設(shè)在中國(guó)的用戶Turing要操作PDB2數(shù)據(jù)庫(kù),其操作的是“某學(xué)校教學(xué)管理”應(yīng)用中的表和其他的數(shù)據(jù)庫(kù)對(duì)象,由于CDB例程已經(jīng)啟動(dòng),因此,用戶Turing建立PDB2數(shù)據(jù)庫(kù)例程、裝載PDB2數(shù)據(jù)庫(kù)和打開(kāi)PDB2數(shù)據(jù)庫(kù)前就不需要再建立CDB例程了,直接建立會(huì)話session B即可,但是用戶Turing在中國(guó)操作數(shù)據(jù)庫(kù)時(shí)的參數(shù)要符合中國(guó)的習(xí)慣,例如時(shí)區(qū)、貨幣(單位符號(hào)是¥)等。這些參數(shù)由用戶Turing在創(chuàng)建數(shù)據(jù)庫(kù)例程時(shí)按習(xí)慣定義,用戶Turing可以在自己的會(huì)話session B中設(shè)置這些參數(shù)值,使其滿足我們的習(xí)慣和要求。

該例子說(shuō)明用戶在更改數(shù)據(jù)庫(kù)初始化參數(shù)時(shí),可以按要求更改PDB例程參數(shù),也可以按要求更改會(huì)話參數(shù)。

從該例子中可以看出,雖然在CDB中有三個(gè)PDB數(shù)據(jù)庫(kù),但是這三個(gè)PDB數(shù)據(jù)庫(kù)PDB1、PDB2和PDB3之間邊界非常明確,就是通過(guò)PDB數(shù)據(jù)庫(kù)名進(jìn)行界定,不同的數(shù)據(jù)庫(kù)用戶只能連接到自己對(duì)應(yīng)的PDB數(shù)據(jù)庫(kù)。

當(dāng)然,用戶也可以將圖2-2中的三個(gè)應(yīng)用放在一個(gè)PDB數(shù)據(jù)庫(kù)中進(jìn)行管理,那么,三個(gè)應(yīng)用的邊界仍然可以做到非常明確,就是通過(guò)表空間進(jìn)行界定。這是Oracle 12c之前版本的數(shù)據(jù)庫(kù)模式,與Oracle 12c要求的數(shù)據(jù)庫(kù)云計(jì)算不相適應(yīng),用戶在Oracle 12c中不要使用這種模式。

圖2-2 多個(gè)租戶操作PDB數(shù)據(jù)庫(kù)

本書(shū)闡述語(yǔ)法過(guò)程中,對(duì)命令中的語(yǔ)法約定見(jiàn)表2-1所列。

表2-1 命令中的語(yǔ)法約定

2.1.2 多租戶環(huán)境的操作工具

用戶可以使用以下工具完成多租戶環(huán)境的操作任務(wù)。

? SQL *PLUS工具:SQL *PLUS是一個(gè)命令行工具,在SQL *PLUS工具中,用戶使用SQL語(yǔ)句或者Oracle 12c支持的PL/SQL包可以創(chuàng)建、管理、監(jiān)視CDB和PDB。

? DBCA工具:Oracle的數(shù)據(jù)庫(kù)配置助手(Database Configuration Assistant, DBCA)是一個(gè)圖形用戶界面程序,用戶使用該程序可以配置CDB、創(chuàng)建PDB、將PDB插入到CDB或者拔出PDB。

? Oracle企業(yè)管理器云控制程序:云控制是一個(gè)圖形用戶界面的系統(tǒng)管理工具,使用該工具用戶可以管理和監(jiān)視CDB及其PDB。

? Oracle SQL Developer:該工具是圖形化的SQL *PLUS程序,使用過(guò)Oracle的用戶普遍反映該工具操作較為方便。

? Server Control程序:使用SRVCTL程序可以創(chuàng)建和管理PDB服務(wù)。

主站蜘蛛池模板: 苍梧县| 仁怀市| 嵊泗县| 浮山县| 台北市| 奇台县| 二手房| 灵寿县| 兴仁县| 枣阳市| 东安县| 西丰县| 大姚县| 旺苍县| 上杭县| 朝阳县| 和政县| 淮滨县| 卢湾区| 邢台县| 儋州市| 万荣县| 平果县| 喀喇沁旗| 泊头市| 琼海市| 辽阳县| 纳雍县| 五大连池市| 杭锦后旗| 青海省| 乌兰察布市| 白河县| 山东| 凉山| 四子王旗| 修文县| 兴仁县| 临夏市| 天峻县| 屯门区|