Oracle12C用戶創(chuàng)建與表空間分配_第1頁
Oracle12C用戶創(chuàng)建與表空間分配_第2頁
Oracle12C用戶創(chuàng)建與表空間分配_第3頁
Oracle12C用戶創(chuàng)建與表空間分配_第4頁
Oracle12C用戶創(chuàng)建與表空間分配_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

Oracle12C用戶創(chuàng)建與表空間分配數(shù)據(jù)庫安裝完成后,首先用系統(tǒng)用戶鏈接數(shù)據(jù)庫容器(CDB),在數(shù)據(jù)庫容器(CDB)中創(chuàng)建表空間‘imei'SQL>create tablespaceiemi datafile'E:\Oracle_DB\cdb_iemi.dbf'size10240mautoextendonnext200m;表空間已創(chuàng)建。接下來在Oracle12C數(shù)據(jù)庫中創(chuàng)建用戶時會報ORA-65096錯誤。SQL〉createuserimeiidentifiedbyimeidefaulttablespaceimeitemporarytablespaceimei_temp;*ERRORatline1:ORA-65096:invalidcommonuserorrolenameORA-65096:公用用戶名或角色名無效以前沒見過這個錯誤,通用用戶(commonuser)是什么?之前的版本可是沒這概念啊,上網(wǎng)搜索看到了下面的圖片,原來和commonuser對應(yīng)的還有l(wèi)ocaluser。Oracle-SuppliedSYS.SYSTEMCammonUs^rSameIdentityinEveryContainerNamemuatbeyinv/ithC##orc##Loca^UseridentityRestrictedCdOnePDB這個commonuser和localuser是和oracle12c的新特性pluggabledatabase(PDB)有關(guān)。在PDB中創(chuàng)建的用戶就是localuser。從上圖可以看出,commonuser必須以大寫或小寫的c##開頭,嘗試建立以c##開頭的commonuser。SQL〉createuserc##imeiidentifiedbyimeidefaulttablespaceimeitemporarytablespaceimei_temp;;Usercreated.SQL>grantdbatoc##imei;Grantsucceeded.每個PDB都是獨立的單元,有自己的用戶(localuser)、表空間、數(shù)據(jù)文件,每個localuser只能訪問自己的PDB,而commonuser只要權(quán)限足夠,可以訪問任意PDB。

Oracle12C引入了CDB與PDB的新特性,在ORACLE12C引入的多租用戶環(huán)境(MultitenantEnvironment)中,允許一個數(shù)據(jù)庫容器(CDB)承載多個可插拔數(shù)據(jù)庫(PDB)。CDB全稱為ContainerDatabase,中文翻譯為數(shù)據(jù)庫容器,PDB全稱為PluggableDatabase,即可插拔數(shù)據(jù)庫。在ORACLE12C之前,實例與數(shù)據(jù)庫是一對一或多對一關(guān)系(RAC):即一個實例只能與一個數(shù)據(jù)庫相關(guān)聯(lián),數(shù)據(jù)庫可以被多個實例所加載。而實例與數(shù)據(jù)庫不可能是一對多的關(guān)系。當(dāng)進入ORACLE12C后,實例與數(shù)據(jù)庫可以是一對多的關(guān)系。下面是官方文檔關(guān)于CDB與PDB的關(guān)系圖。Figure36-1CDStvft/iPDSsCDHdESCEintinn CDBwithEQfls!!CDB文檔關(guān)于CDB與PDB的關(guān)系圖。Figure36-1CDStvft/iPDSsCDHdESCEintinn CDBwithEQfls!!CDB組件(ComponentsofaCDB)SeedI'PDBSSEED)7:1 t:1 t:r7:1 "卜/一J 0 - >—Root(CDBSROOTj一個CDB數(shù)據(jù)庫容器包含了下面一些組件:ROOT組件ROOT又叫CDB$ROOT,存儲著ORACLE提供的元數(shù)據(jù)和CommonUser,元數(shù)據(jù)的一個例子是ORACLE提供的PL/SQL包的源代碼,CommonUser是指在每個容器中都存在的用戶。

SEED組件Seed又叫PDB$SEED,這個是你創(chuàng)建PDBS數(shù)據(jù)庫的模板,你不能在Seed中添加或修改一個對象。一個CDB中有且只能有一個Seed.PDBSCDB中可以有一個或多個PDBS,PDBS向后兼容,可以像以前在數(shù)據(jù)庫中那樣操作PDBS,這里指大多數(shù)常規(guī)操作。這些組件中的每一個都可以被稱為一個容器。因此,ROOT(根)是一個容器,Seed(種子)是一個容器,每個PDB是一個容器。每個容器在CDB中都有一個獨一無二的的ID和名稱。用戶名改好了,我們再次執(zhí)行創(chuàng)建用戶的語句SQL〉createuserimeiidentifiedbyimeidefaulttablespaceimeitemporarytablespaceimei_temp;*第一行出現(xiàn)錯誤:ORA-65048:在可插入數(shù)據(jù)庫PDBORCL中處理當(dāng)前DDL語句時出錯ORA-00959:表空間'imei'不存在再上網(wǎng)查詢,得知CDB容器數(shù)據(jù)庫創(chuàng)建新用戶并分配表空間時必須在沒有PDB的情況下進行或PDB與CDB有相同表空間的時候進行,否則

會報錯。如果是在PDB與CDB有相同表空間的情況下給CDB用戶分配表空間,則會分配CDB的表空間給用戶PDB的表空間并不受影響。首先看第一種情況,是在沒有PDB的情況下創(chuàng)建用戶“C##imei”并分配表空間(系統(tǒng)自帶的表空間)。SQL〉createuserimeiidentifiedbyimeidefaulttablespaceSYSTEMtemporarytablespaceTEMP;用戶已創(chuàng)建。SQL>grantdbatoc##imei;授權(quán)成功。下來看第二種:先用系統(tǒng)用戶鏈接數(shù)據(jù)庫容器(CDB),切換到PDB。SQL〉selectcon_id,dbid,NAME,OPEN_MODEfromv$pdbs;CON_ID DBIDNAME 0PEN_M0DE24048821679

PDB$SEEDREADONLYPDBORCL33313918585MOUNTEDPDB$SEEDREADONLYPDBORCL33313918585MOUNTEDSQL〉alterPLUGGABLEdatabasePDBORCLopen;Pluggabledatabase已啟動.SQL>altersessionsetcontainer二PDBORCL;會話已更改。SQL>showcon_name;CON_NAMEPDBORCLSQL>createtablespace iemi datafile'E:\Oracle_DB\pdb_iemi.dbf'size10240mautoextend

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論