- Oracle 12c數(shù)據(jù)庫(kù)應(yīng)用與開(kāi)發(fā)
- 杜獻(xiàn)峰
- 8字
- 2019-03-07 13:02:30
第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ù)。
- Visual C++程序設(shè)計(jì)教程
- Mastering JavaScript Object-Oriented Programming
- 數(shù)據(jù)結(jié)構(gòu)和算法基礎(chǔ)(Java語(yǔ)言實(shí)現(xiàn))
- 華為HMS生態(tài)與應(yīng)用開(kāi)發(fā)實(shí)戰(zhàn)
- Java加密與解密的藝術(shù)(第2版)
- 零基礎(chǔ)學(xué)Java程序設(shè)計(jì)
- Java程序設(shè)計(jì):原理與范例
- SAP BusinessObjects Dashboards 4.1 Cookbook
- Building Machine Learning Systems with Python(Second Edition)
- ElasticSearch Cookbook(Second Edition)
- Principles of Strategic Data Science
- Nagios Core Administration Cookbook(Second Edition)
- 3D Printing Designs:The Sun Puzzle
- JavaScript語(yǔ)法簡(jiǎn)明手冊(cè)
- PHP程序開(kāi)發(fā)參考手冊(cè)