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