Oracle Database 12c簡(jiǎn)稱(chēng)Oracle 12C,是甲骨文公司推出的一款十分經(jīng)典的關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)。Oracle 12c擁有穩(wěn)定的操作結(jié)構(gòu)和強(qiáng)大的運(yùn)行邏輯,系統(tǒng)可移植性好、使用方便、功能強(qiáng),適用于各類(lèi)大、中、小微機(jī)環(huán)境,在數(shù)據(jù)庫(kù)領(lǐng)域一直處于領(lǐng)先地位!
Oracle12c官方版軟件特色
1.內(nèi)建的多分租(multi-tenancy)
每個(gè)pluggable database均獨(dú)立于其他pluggable database;resource manager特性被擴(kuò)展到pluggable database中
2.一個(gè)容器數(shù)據(jù)庫(kù)(container database)中可以存放多個(gè)pluggable databases
對(duì)于外部應(yīng)用程序和開(kāi)發(fā)者來(lái)說(shuō)pluggable databases看上去就是一個(gè)普通的版本12.1之前的數(shù)據(jù)庫(kù);用戶(hù)連接到pluggable databases時(shí)看到的是一個(gè)單一數(shù)據(jù)庫(kù)和從前一樣
3.新的管理模式
數(shù)據(jù)庫(kù)管理員dba可以連接到pluggable database并僅僅管理該數(shù)據(jù)庫(kù);超級(jí)dba可以連接到容器數(shù)據(jù)庫(kù)并如同管理單系統(tǒng)鏡像那樣管理;rac中的每一個(gè)實(shí)例均打開(kāi)容器數(shù)據(jù)庫(kù)并可以選擇打開(kāi)哪些pluggable database
4.pluggable databases特性可以帶來(lái)的好處
加速重新部署現(xiàn)有的數(shù)據(jù)庫(kù)到新的平臺(tái)的速度;加速現(xiàn)有數(shù)據(jù)庫(kù)打補(bǔ)丁和升級(jí)的速度;從原有的dba的職責(zé)中分離部分責(zé)任到應(yīng)用管理員;集中式管理多個(gè)數(shù)據(jù)庫(kù);提升rac的擴(kuò)展性和故障隔離;與oracle sql developer 和oracle enterprise manager高度融合
Oracle12c官方版軟件功能
1、PL/SQL性能增強(qiáng):類(lèi)似在匿名塊中定義過(guò)程,現(xiàn)在可以通過(guò)WITH語(yǔ)句在SQL中定義一個(gè)函數(shù),采用這種方式可以提高SQL調(diào)用的性能。
2、改善Defaults:包括序列作為默認(rèn)值;自增列;當(dāng)明確插入NULL時(shí)指定默認(rèn)值;METADATA-ONLY default值指的是增加一個(gè)新列時(shí)指定的默認(rèn)值,和11g中的區(qū)別在于,11g的default值要求NOT NULL列。
3、放寬多種數(shù)據(jù)類(lèi)型長(zhǎng)度限制:增加了VARCHAR2、NVARCHAR2和RAW類(lèi)型的長(zhǎng)度到32K,要求兼容性設(shè)置為12.0.0.0以上,且設(shè)置了初始化參數(shù) MAX_SQL_STRING_SIZE為EXTENDED,這個(gè)功能不支持CLUSTER表和索引組織表;最后這個(gè)功能并不是真正改變了VARCHAR2的限制,而是通過(guò)OUT OF LINE的CLOB實(shí)現(xiàn)。
4、TOP N的語(yǔ)句實(shí)現(xiàn):在SELECT語(yǔ)句中使用“FETCH next N rows”或者“OFFSET”,可以指定前N條或前百分之多少的記錄。
5、行模式匹配:類(lèi)似分析函數(shù)的功能,可以在行間進(jìn)行匹配判斷并進(jìn)行計(jì)算。在SQL中新的模式匹配語(yǔ)句是“match_recognize”。
6、分區(qū)改進(jìn):Oracle Database 12c中對(duì)分區(qū)功能做了較多的調(diào)整,Oracle ACE總監(jiān)楊廷琨花了較大的篇幅對(duì)分區(qū)提升進(jìn)行了解讀,其中共分成6個(gè)部分:
①、INTERVAL-REFERENCE分區(qū):把11g的interval分區(qū)和reference分區(qū)結(jié)合,這樣主表自動(dòng)增加一個(gè)分區(qū)后,所有的子表、孫子表、重孫子表、重重重...孫子表都可以自動(dòng)隨著外接列新數(shù)據(jù)增加,自動(dòng)創(chuàng)建新的分區(qū)。
②、TRUNCATE和EXCHANGE分區(qū)及子分區(qū):無(wú)論是TRUNCATE還是EXCHANGE分區(qū),在主表上執(zhí)行,都可以級(jí)聯(lián)的作用在子表、孫子表、重孫子表、重重重...孫子表上同時(shí)運(yùn)行。對(duì)于TRUNCATE而言,所有表的TRUNCATE操作在同一個(gè)事務(wù)中,如果中途失敗,會(huì)回滾到命令執(zhí)行之前的狀頭。這兩個(gè)功能通過(guò)關(guān)鍵字CASCADE實(shí)現(xiàn)。
③、在線(xiàn)移動(dòng)分區(qū):通過(guò)MOVE ONLINE關(guān)鍵字實(shí)現(xiàn)在線(xiàn)分區(qū)移動(dòng)。在移動(dòng)的過(guò)程中,對(duì)表和被移動(dòng)的分區(qū)可以執(zhí)行查詢(xún)、DML語(yǔ)句以及分區(qū)的創(chuàng)建和維護(hù)操作。整個(gè)移動(dòng)過(guò)程對(duì)應(yīng)用透明。這個(gè)功能極大的提高了整體可用性,縮短了分區(qū)維護(hù)窗口。
④、多個(gè)分區(qū)同時(shí)操作:可以對(duì)多個(gè)分區(qū)同時(shí)進(jìn)行維護(hù)操作,比如將一年的12個(gè)分區(qū)MERGE到1個(gè)新的分區(qū)中,比如將一個(gè)分區(qū)SPLIT成多個(gè)分區(qū)??梢酝ㄟ^(guò)FOR語(yǔ)句指定操作的每個(gè)分區(qū),對(duì)于RANGE分區(qū)而言,也可以通過(guò)TO來(lái)指定處理分區(qū)的范圍。多個(gè)分區(qū)同時(shí)操作自動(dòng)并行完成。
⑤、異步全局索引維護(hù):對(duì)于非常大的分區(qū)表而言,UPDATE GLOBAL INDEX不再是痛苦。Oracle可以實(shí)現(xiàn)了異步全局索引異步維護(hù)的功能,即使是幾億條記錄的全局索引,在分區(qū)維護(hù)操作,比如DROP或TRUNCATE后,仍然是VALID狀態(tài),索引不會(huì)失效,不過(guò)索引的狀態(tài)是包含OBSOLETE數(shù)據(jù),當(dāng)維護(hù)操作完成,索引狀態(tài)恢復(fù)。
⑥、部分本地和全局索引:Oracle的索引可以在分區(qū)級(jí)別定義。無(wú)論全局索引還是本地索引都可以在分區(qū)表的部分分區(qū)上建立,其他分區(qū)上則沒(méi)有索引。當(dāng)通過(guò)索引列訪(fǎng)問(wèn)全表數(shù)據(jù)時(shí),Oracle通過(guò)UNION ALL實(shí)現(xiàn),一部分通過(guò)索引掃描, 另一部分通過(guò)全分區(qū)掃描。這可以減少對(duì)歷史數(shù)據(jù)的索引量,極大的增加了靈活性。
7、Adaptive執(zhí)行計(jì)劃:擁有學(xué)習(xí)功能的執(zhí)行計(jì)劃,Oracle會(huì)把實(shí)際運(yùn)行過(guò)程中讀取到返回結(jié)果作為進(jìn)一步執(zhí)行計(jì)劃判斷的輸入,因此統(tǒng)計(jì)信息不準(zhǔn)確或查詢(xún)真正結(jié)果與計(jì)算結(jié)果不準(zhǔn)時(shí),可以得到更好的執(zhí)行計(jì)劃。
8、統(tǒng)計(jì)信息增強(qiáng):動(dòng)態(tài)統(tǒng)計(jì)信息收集增加第11層,使得動(dòng)態(tài)統(tǒng)計(jì)信息收集的功能更強(qiáng);增加了混合統(tǒng)計(jì)信息用以支持包含大量不同值,且個(gè)別值數(shù)據(jù)傾斜的情況;添加了數(shù)據(jù)加載過(guò)程收集統(tǒng)計(jì)信息的能力;對(duì)于臨時(shí)表增加了會(huì)話(huà)私有統(tǒng)計(jì)信息。
9、臨時(shí)UNDO:將臨時(shí)段的UNDO獨(dú)立出來(lái),放到TEMP表空間中,優(yōu)點(diǎn)包括:減少UNDO產(chǎn)生的數(shù)量;減少REDO產(chǎn)生的數(shù)量;在ACTIVE DATA GUARD上允許對(duì)臨時(shí)表進(jìn)行DML操作。
10、數(shù)據(jù)優(yōu)化:新增了ILM(數(shù)據(jù)生命周期管理)功能,添加了“數(shù)據(jù)庫(kù)熱圖”(Database heat map),在視圖中直接看到數(shù)據(jù)的利用率,找到哪些數(shù)據(jù)是最"熱"的數(shù)據(jù)??梢宰詣?dòng)實(shí)現(xiàn)數(shù)據(jù)的在線(xiàn)壓縮和數(shù)據(jù)分級(jí),其中數(shù)據(jù)分級(jí)可以在線(xiàn)將定義時(shí)間內(nèi)的數(shù)據(jù)文件轉(zhuǎn)移到歸檔存儲(chǔ),也可以將數(shù)據(jù)表定時(shí)轉(zhuǎn)移至歸檔文件。也可以實(shí)現(xiàn)在線(xiàn)的數(shù)據(jù)壓縮。
11、應(yīng)用連續(xù)性:Oracle Database 12c之前RAC的FAILOVER只做到SESSION和SELECT級(jí)別,對(duì)于DML操作無(wú)能為力,當(dāng)設(shè)置為SESSION,進(jìn)行到一半的DML自動(dòng)回滾;而對(duì)于SELECT,雖然FAILOVER可以不中斷查詢(xún),但是對(duì)于DML的問(wèn)題更甚之,必要要手工回滾。而Oracle Database 12c中Oracle終于支持事務(wù)的FAILOVER。
12、Oracle Pluggable Database:Oracle PDB體系結(jié)構(gòu)由一個(gè)容器數(shù)據(jù)庫(kù)(CDB)和多個(gè)可組裝式數(shù)據(jù)庫(kù)(PDB)構(gòu)成,PDB包含獨(dú)立的系統(tǒng)表空間和SYSAUX表空間等,但是所有PDB共享CDB的控制文件、日志文件和UNDO表空間。
Oracle12c軟件安裝教程
1、下載并解壓后運(yùn)行(建議使用右鍵,選擇管理員身份運(yùn)行)安裝程序setup.exe后,Oracle會(huì)檢查系統(tǒng)參數(shù),然后是如下界面:
2、配置郵箱用于接收通知,不過(guò)此處也可以跳過(guò):電子郵件項(xiàng)不填,然后取消下面的復(fù)選框勾選,點(diǎn)“下一步”,彈出的對(duì)話(huà)框點(diǎn)“是”即可:
3、創(chuàng)建和配置數(shù)據(jù)庫(kù):安裝數(shù)據(jù)庫(kù)軟件并創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)實(shí)例,僅安裝數(shù)據(jù)庫(kù)軟件:安裝數(shù)據(jù)庫(kù)軟件,不會(huì)創(chuàng)建數(shù)據(jù)庫(kù)實(shí)例,升級(jí)現(xiàn)有的數(shù)據(jù)庫(kù):升級(jí)低版本的Oracle數(shù)據(jù)庫(kù):
4、如果是安裝到服務(wù)器上,請(qǐng)選擇服務(wù)器類(lèi)。本人此處選擇桌面類(lèi)。
5、使用現(xiàn)有的Windows用戶(hù):如果選擇該項(xiàng),則需要指定沒(méi)有管理權(quán)限的用戶(hù)。創(chuàng)建新Windows用戶(hù):創(chuàng)建一個(gè)新用戶(hù),輸入用戶(hù)名和密碼,確認(rèn)密碼。使用Windows內(nèi)置賬戶(hù)選擇該項(xiàng):內(nèi)置賬戶(hù),Oracle也建議使用權(quán)限受限的賬戶(hù)。
6、主要設(shè)置安裝位置,字符集選utf-8,然后是管理密碼。如果密碼設(shè)計(jì)太簡(jiǎn)單會(huì)報(bào)警告,不過(guò)可以忽略警告繼續(xù)。其他有默認(rèn)值的,也可以改為自己希望的那樣。
7、等待......漫長(zhǎng)的等待......然后會(huì)有包含“管理口令”的窗口,請(qǐng)點(diǎn)擊“管理口令”設(shè)置sys以及system用戶(hù)的口令,記得不要忘了哦。
網(wǎng)盤(pán)提取碼:t37t