2020數(shù)據(jù)技術(shù)嘉年華近50個(gè)PPT下載、視頻回放已上傳墨天輪平臺(tái),可在“數(shù)據(jù)和云”公眾號(hào)回復(fù)關(guān)鍵詞“DTC2020”獲得!
本文根據(jù) 張維照 老師在 分享的主題《Oracle的自治數(shù)據(jù)庫(kù)和自動(dòng)化運(yùn)維新特性與新進(jìn)展》整理而成。
張維照:云和恩墨技術(shù)總監(jiān),Oracle ACE-A。2006年起從事數(shù)據(jù)庫(kù)管理工作,2009年起從事ORACLE DBA維護(hù)工作,十余年來專注于 技術(shù)和架構(gòu)的研究,熱衷于oracle數(shù)據(jù)庫(kù)故障診斷、性能優(yōu)化、內(nèi)部原理、新特性的學(xué)習(xí)與分享,在BLOG分享大量的學(xué)習(xí)和案例經(jīng)驗(yàn)。從事過多套TB級(jí)省級(jí)工商、醫(yī)療、交通、人社、政府、電信運(yùn)營(yíng)商等行業(yè)數(shù)據(jù)庫(kù)項(xiàng)目從業(yè)經(jīng)驗(yàn)。個(gè)人網(wǎng)站
以下為正文:
近兩年各類數(shù)據(jù)庫(kù)百花齊放,國(guó)產(chǎn)及開源數(shù)據(jù)庫(kù)崛起,數(shù)據(jù)庫(kù)運(yùn)維進(jìn)入了新階段,從上午的大會(huì)內(nèi)容了解到國(guó)內(nèi)大廠如騰訊、阿里、華為也在數(shù)據(jù)庫(kù)中引入了自治和機(jī)器學(xué)習(xí),很欣慰同樣期待國(guó)產(chǎn)數(shù)據(jù)庫(kù)在自治領(lǐng)域能夠不斷創(chuàng)新。
個(gè)人感覺商業(yè)數(shù)據(jù)庫(kù)Oracle基于20多年在數(shù)據(jù)庫(kù)自動(dòng)化技術(shù)積累和多年基礎(chǔ)設(shè)施(Exadata)發(fā)展,依然引領(lǐng)數(shù)據(jù)庫(kù)智能化管理發(fā)展方向,2018年Oracle發(fā)布第一款 (自治數(shù)據(jù)庫(kù)),實(shí)現(xiàn)數(shù)據(jù)庫(kù)的完全自治,進(jìn)入數(shù)據(jù)庫(kù)自動(dòng)駕駛時(shí)代。未來IT會(huì)成為一種真正的資源工具,像水、電一樣方便的使用,按需申請(qǐng),自動(dòng)管理、自動(dòng)優(yōu)化、自動(dòng)安全等對(duì)業(yè)務(wù)和開發(fā)帶來更佳體驗(yàn),無需關(guān)心后端數(shù)據(jù)庫(kù)類型,亦或是不再區(qū)分OLAP和OLTP。解放過去ORACLE DBA們繁重重復(fù)的基礎(chǔ)運(yùn)維工作,轉(zhuǎn)變角色做更有價(jià)值的內(nèi)容。Oracle自治數(shù)據(jù)庫(kù)應(yīng)用目前還不是很多,本次我會(huì)分享自己在自治數(shù)據(jù)庫(kù)了解及Oracle數(shù)據(jù)庫(kù)在自動(dòng)化運(yùn)維方向的部分特性。
第一部分 Oracle自治數(shù)據(jù)庫(kù)為什么需要自治?
自治數(shù)據(jù)庫(kù)基礎(chǔ)構(gòu)成
Oracle自治數(shù)據(jù)庫(kù)類型
Oracle提供了3種工作負(fù)載的數(shù)據(jù)庫(kù)用于分析、交易、非關(guān)系型JSON場(chǎng)景的處理。
Oracle自治管理
Oracle自治數(shù)據(jù)庫(kù)實(shí)現(xiàn)了數(shù)據(jù)庫(kù)的快速交付,實(shí)現(xiàn)自動(dòng)監(jiān)控、備份、性能調(diào)估、數(shù)據(jù)庫(kù)升級(jí),對(duì)于數(shù)據(jù)庫(kù)安全風(fēng)險(xiǎn)的在線修復(fù)、強(qiáng)制透明加密,數(shù)據(jù)的訪問隔離,云服務(wù)將提供熱補(bǔ)丁和實(shí)時(shí)調(diào)整,Bug等問題將得到及時(shí)的解決,極大可能地消除系統(tǒng)運(yùn)行時(shí)的手動(dòng)維護(hù)活動(dòng),分分鐘實(shí)現(xiàn)一鍵DG創(chuàng)建和切換演練,及透明應(yīng)用轉(zhuǎn)移。
在自治數(shù)據(jù)中客戶只關(guān)心數(shù)據(jù):創(chuàng)建用戶、秘鑰, 數(shù)據(jù),自動(dòng)數(shù)據(jù)庫(kù)提供全生命周期自動(dòng)化管理,自治數(shù)據(jù)庫(kù)后臺(tái)并不是大量DBA而是AI, 內(nèi)置MAA最佳實(shí)踐、物理資源智能伸縮,自治數(shù)據(jù)庫(kù)管理有用戶定義策略維護(hù)任務(wù)實(shí)現(xiàn)更多自治。
公有云挑戰(zhàn)
Oracle自治數(shù)據(jù)庫(kù)離不開Oracle云運(yùn)維,有些客戶可能無法把數(shù)據(jù)存儲(chǔ)于公有云,主要有以下原因:
混合云C@C
對(duì)于無法把數(shù)據(jù)庫(kù)遷移致公有云的客戶,Oracle推出了基于Exadata的混合云cloud@服務(wù), Exadata存放在客戶的數(shù)據(jù)庫(kù)中心,同時(shí)配合遠(yuǎn)程的ORACLE云運(yùn)維優(yōu)勢(shì),組合 on Exadata Cloud@環(huán)境,實(shí)現(xiàn)自治數(shù)據(jù)庫(kù)的本地化部署。
Oracle自治數(shù)據(jù)庫(kù)提供了更方便的數(shù)據(jù)庫(kù)運(yùn)維體驗(yàn), 利用云彈性特性,減少過去靜態(tài)根據(jù)峰值+預(yù)算購(gòu)買帶來硬件和軟件license浪費(fèi),資源動(dòng)態(tài)按實(shí)際負(fù)載分鐘收費(fèi),實(shí)現(xiàn)數(shù)據(jù)庫(kù)的化。另外集成了開發(fā)IDE環(huán)境,支持SQL、Python、 R、GO語言進(jìn)行數(shù)據(jù)科學(xué)的研究。
自治時(shí)代DBA
云在很大程度上接管了系統(tǒng)DBA的功能,并使云中許多功能自動(dòng)化,DBA正在從系統(tǒng)DBA角色轉(zhuǎn)移到更多以應(yīng)用程序?yàn)橹行模ˋpp DBA)的職責(zé)。同時(shí)也意味著DBA工作范圍的擴(kuò)大,正如當(dāng)Oracle Exadata出現(xiàn)時(shí),DBA角色與系統(tǒng)管理員和存儲(chǔ)管理員的角色的融合。眾多的瑣碎的數(shù)據(jù)庫(kù)創(chuàng)建部署和維護(hù)任務(wù)(如監(jiān)視,錯(cuò)誤檢查,定期備份/恢復(fù),打補(bǔ)丁…)將不再需要。轉(zhuǎn)型做領(lǐng)導(dǎo)看的見的能給企業(yè)帶來價(jià)值的工作中,如架構(gòu)設(shè)計(jì)、應(yīng)用優(yōu)化、數(shù)據(jù)生命周期管理、 數(shù)據(jù)科學(xué)等。同樣對(duì)于一些場(chǎng)景,自治能解決問題但無法知道問題根本原因,是無法完全替代高級(jí)DBA的,云和自治數(shù)據(jù)庫(kù)將釋放出DBA的雙手,一個(gè)DBA將輕松管理更多的數(shù)據(jù)庫(kù)。相信未來幾年不只是Oracle數(shù)據(jù)庫(kù), 其它國(guó)產(chǎn)數(shù)據(jù)庫(kù)或云數(shù)據(jù)庫(kù)都將引入自治改變傳統(tǒng)DBA。
第二部分 Oracle自動(dòng)化特性
Oracle數(shù)據(jù)庫(kù)在近20年來在數(shù)據(jù)庫(kù)自動(dòng)化管理上不斷創(chuàng)新,在性能、內(nèi)存管理、健康分析、高可用、易用性投入大量的時(shí)間和新特性,并成熟穩(wěn)定運(yùn)行。如AWR, ASM,SPM,AUTO INDEX等廣泛應(yīng)用。
19c
Oracle 19c引入了自動(dòng)索引特性,好似一個(gè)系統(tǒng)專家在7*24小時(shí)分析SQL性能, 基于表列上的使用情況,以最小化影響的原則,利用oracle數(shù)據(jù)庫(kù)里的特性,逐步自動(dòng)創(chuàng)建索引,驗(yàn)證、性能管理,并實(shí)現(xiàn)長(zhǎng)時(shí)間不使用索引的刪除。
使用了哪些技術(shù)
create index ANBOB.SYS_AI_XXXXXX ON ANBOB.T1(ID) TABLESPACE USERS
??????????UNUSABLE?INVISIBLE?AUTO?COMPRESS?ADVANCED?LOW?ONLINE;??
自動(dòng)索引創(chuàng)建 “”
update SMB$CONFIG set _AUTO_INDEX_TRACE=2
-- Or --
call?dbms_auto_index_internal.configure(‘_AUTO_INDEX_TRACE’,2,true,true)
從數(shù)據(jù)庫(kù)提供的view 查看自動(dòng)索引的創(chuàng)建情況,前后性能的對(duì)比和語句。
自動(dòng)索引創(chuàng)建的錯(cuò)誤
DBA_ADVISOR_FINDINGS
JOIN DBA_ADVISOR_EXECUTIONS USING EXECUTION_NAME
Where type=‘ERROR’
數(shù)據(jù)庫(kù)提供的view 查看自動(dòng)索引的創(chuàng)建失敗的原因。
自動(dòng)索引刪除
oracle默認(rèn)不允許人為刪除AI索引, 如果想不使用AI索引:
Drop indexes,用于手動(dòng)清理表上的索引,可以刪除pk,uk,fk外索引
exec?sys.dbms_auto_index.drop_secondary_indexes('SCOTT','EMP'); ?
19c (No THP)
是Linux平臺(tái)上oracle最佳實(shí)踐建議的配置,是Oracle共享內(nèi)存使用大頁(yè)相關(guān)的參數(shù)。
有效值
測(cè)試
1. 當(dāng)前系統(tǒng)并未配置
[root@oel7db1 ~]# cat /proc/meminfo
MemTotal: 3765384 kB
MemFree: 3557852 kB
MemAvailable: 3623672 kB
Buffers: 2108 kB
Cached: 107400 kB
SwapCached: 0 kB
Shmem: 8704 kB
Slab: 28048 kB
SReclaimable: 15932 kB
PageTables: 4432 kB
...
CmaFree: 0 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
2. 禁用AMM(AMM不支持), 配置=
alter system set use_large_pages=AUTO_ONLY scope=spfile;
System altered.
shut immediate;
startup mount
ORACLE instance started.
Total System Global Area 700445640 bytes
Fixed Size 9139144 bytes
Variable Size 419430400 bytes
Database Buffers 268435456 bytes
Redo Buffers 3440640 bytes
Database?mounted.
3. 觀察DB ALERT LOG,顯示使用了
Starting ORACLE instance (normal) (OS id: 3567)
****************************************************
Sys-V shared memory will be used for creating SGA
****************************************************
DISM started, OS id=3579
*******************************************************Dump of system resources acquired for SHARED GLOBAL AREA (SGA)
Per process system memlock (soft) limit = 128G
Expected per process system memlock (soft) limit to lock
instance MAX SHARED GLOBAL AREA (SGA) into memory: 672M
Available system pagesizes:
4K, 2048K
Supported system pagesize(s):
PAGESIZE AVAILABLE_PAGES EXPECTED_PAGES ALLOCATED_PAGES ERROR(s)
2048K 336 336 336 NONE
Reason for not supporting certain system pagesizes:
4K - Large pagesizes only
*******************************************************
已自動(dòng)使用上了, 并且大小幾乎是我們配置的SGA大小。
4. 檢查OS
/proc/meminfo
MemTotal: 3765384 kB
MemFree: 2246868 kB
MemAvailable: 2721796 kB
Buffers: 2108 kB
Cached: 515388 kB
Shmem: 8800 kB
HardwareCorrupted: 0 kB
AnonHugePages: 0 kB
ShmemHugePages: 0 kB
ShmemPmdMapped: 0 kB
CmaTotal: 0 kB
CmaFree: 0 kB
HugePages_Total: 336
HugePages_Free: 3
HugePages_Rsvd: 3
HugePages_Surp: 0
Hugepagesize: 2048 kB
-a|grep page
0 =
336 =
336 =
0 =
3 =
dbs]$ cat /etc/sysctl.conf |grep page
dbs]$
~]$ ps -ef|grep 3579|grep -v grep
root 3579 1 0 08:19 ? 00:00:00 ora_dism_anbob19c
~]$ ls -l `which oradism`
-rwsr-x---?1?root?oinstall?147848?Apr?17??2019?/u01/app/oracle/product/19.2.0/db_1/bin/oradism
只是通過修改數(shù)據(jù)庫(kù)參數(shù),OS內(nèi)核自動(dòng)修改了vm.配置,但是并未改變參數(shù)文件/etc/sysctl.conf的配置,重啟操作系統(tǒng)將會(huì)釋放或只按/etc/sysctl.conf指定的大小。實(shí)際是有oradism 進(jìn)程擴(kuò)展了linux kenel 的個(gè)數(shù),該進(jìn)程是root的屬主,原來是應(yīng)用于SunOS平臺(tái)的動(dòng)態(tài)內(nèi)存管理。另外如果啟動(dòng)時(shí)linux 預(yù)分配的夠db實(shí)例使用,實(shí)例啟動(dòng)時(shí)也不會(huì)啟動(dòng)oradism。
20c Auto Machine
我們正處于機(jī)器學(xué)習(xí)應(yīng)用程序引領(lǐng)的一場(chǎng)革命的中間,機(jī)器學(xué)習(xí)+大數(shù)據(jù)創(chuàng)造無限可能。成功的機(jī)器學(xué)習(xí)應(yīng)用不是擁有最好的算法,而是擁有更多的數(shù)據(jù)!
借助Oracle機(jī)器學(xué)習(xí),Oracle可以將算法轉(zhuǎn)移到數(shù)據(jù)中。Oracle在數(shù)據(jù)所在的數(shù)據(jù)庫(kù)內(nèi)運(yùn)行機(jī)器學(xué)習(xí)。這種方法最大程度地減少或消除了數(shù)據(jù)移動(dòng),實(shí)現(xiàn)了可伸縮性,保留了數(shù)據(jù)安全性,并加快了模型部署時(shí)間。Oracle提供了機(jī)器學(xué)習(xí)算法的并行數(shù)據(jù)庫(kù)內(nèi)實(shí)現(xiàn),并與領(lǐng)先的開源環(huán)境R和Python集成。Oracle機(jī)器學(xué)習(xí)可提供企業(yè)規(guī)模的數(shù)據(jù)科學(xué)項(xiàng)目所需的性能,可伸縮性和自動(dòng)化,包括本地部署和云計(jì)算。
Oracle Python機(jī)器學(xué)習(xí)(OML4Py)引入了一項(xiàng)新功能,稱為AutoML,該功能包括自動(dòng)模型選擇,功能選擇和超參數(shù)調(diào)整。AutoML采用元學(xué)習(xí)或使用機(jī)器學(xué)習(xí)來指導(dǎo)機(jī)器學(xué)習(xí)過程。“自動(dòng)模型選擇”可識(shí)別可實(shí)現(xiàn)最高模型質(zhì)量并能夠更快找到最佳模型的算法。“自動(dòng)特征選擇”通過識(shí)別對(duì)指定分類或回歸目標(biāo)最具預(yù)測(cè)性的特征來減少特征數(shù)量。“自動(dòng)調(diào)參”避免了手動(dòng)或詳盡的搜索技術(shù),這可以顯著提高模型的準(zhǔn)確性,同時(shí)使繁瑣的工作不再需要人工探索。
自動(dòng)化機(jī)器學(xué)習(xí)是Oracle 中的一項(xiàng)新功能,它可以自動(dòng)執(zhí)行這些步驟,從而以快速且可擴(kuò)展的方式生成準(zhǔn)確的模型。這種自動(dòng)化不僅提高了數(shù)據(jù)科學(xué)家的工作效率,而且在AutoML的情況下減少了總體計(jì)算機(jī)時(shí)間,而且還使非專業(yè)用戶可以利用機(jī)器學(xué)習(xí),不需要了解機(jī)器學(xué)習(xí)過程的各個(gè)方面。
小結(jié)
多年來,Oracle已將數(shù)據(jù)庫(kù)演化為“聚合數(shù)據(jù)庫(kù)”,數(shù)據(jù)科學(xué)是一項(xiàng)團(tuán)隊(duì)運(yùn)動(dòng),因此Oracle機(jī)器學(xué)習(xí)支持SQL(OML4SQL),R集成(OML4R)和(即將推出)Python集成(OML4Py)。Oracle機(jī)器學(xué)習(xí)還通過Oracle自治數(shù)據(jù)庫(kù)和Oracle Data Miner的拖放式UI(SQL 擴(kuò)展)提供了Oracle Machine (基于)。嵌入式Python執(zhí)行,可從SQL部署Python腳本。借助Oracle的融合數(shù)據(jù)庫(kù)和30多種嵌入式機(jī)器學(xué)習(xí)算法,您可以更輕松地在整個(gè)企業(yè)中分發(fā)新的見解和預(yù)測(cè),甚至可以構(gòu)建“預(yù)測(cè)性”應(yīng)用程序。
墨天輪原文鏈接:
PPT下載:
使用 HTML、CSS、JavaScript、C# 構(gòu)建全棧 Web 應(yīng)用
使用 .NET 和 C# 的新式可縮放 Web 應(yīng)用
使用 .NET 和 C# 創(chuàng)建基于 HTML5、CSS 和 的網(wǎng)站,這些網(wǎng)站安全、快速,可擴(kuò)展到數(shù)百萬名用戶。
具有 C# 的交互式 web
Blazor 是 ASP.NET 的一項(xiàng)功能,用于使用 C# 而不是 生成交互式 Web UI。Blazor 提供在 上的瀏覽器中運(yùn)行的真實(shí) .NET。
詳細(xì)了解 Blazor
使用 Razor 動(dòng)態(tài)渲染 HTML
Razor 提供了一種使用 HTML 和 C# 創(chuàng)建動(dòng)態(tài) Web 內(nèi)容的簡(jiǎn)單、干凈、輕型的方法。
借助 Razor,你可以使用任何 HTML 或 C# 功能。你會(huì)獲得針對(duì)兩者的更好的編輯器支持(包括 ),后者提供自動(dòng)完成、實(shí)時(shí)類型和語法檢查等功能。
詳細(xì)了解 Razor
與數(shù)據(jù)無縫集成
常用實(shí)體框架(EF)數(shù)據(jù)訪問庫(kù)允許使用強(qiáng)類型對(duì)象與數(shù)據(jù)庫(kù)進(jìn)行交互。
支持大多數(shù)熱門數(shù)據(jù)庫(kù),包括 SQLite、SQL Server、MySQL、、DB2 等,以及非關(guān)系存儲(chǔ)(例如 MongoDB、Redis 和 Azure Cosmos DB)。
實(shí)體框架數(shù)據(jù)訪問庫(kù)
生成安全的 Web 應(yīng)用
ASP.NET 提供內(nèi)置用戶數(shù)據(jù)庫(kù),支持使用 Google、X 等進(jìn)行多重身份驗(yàn)證和外部身份驗(yàn)證。
ASP.NET 支持行業(yè)標(biāo)準(zhǔn)身份驗(yàn)證協(xié)議。內(nèi)置功能有助于保護(hù)應(yīng)用免受跨站腳本(XSS)和跨網(wǎng)站請(qǐng)求偽造(CSRF) 的侵害。
基架、表單和驗(yàn)證
快速搭建用戶界面的基架,以便與數(shù)據(jù)模型交互,包括查詢和更新。
根據(jù)強(qiáng)類型數(shù)據(jù)模型動(dòng)態(tài)生成 HTML 窗體。使用在客戶端和服務(wù)器上應(yīng)用的 C# 屬性以聲明方式定義驗(yàn)證規(guī)則。
UI 框架的內(nèi)置支持
ASP.NET 與熱門的 框架無縫集成。使用預(yù)配置的模板快速入門,了解 ASP.NET 和 React 或 Angular。
詳細(xì)了解如何將 SPA 模板與 ASP 配合使用
模型視圖控制器(MVC)
MVC 是一種設(shè)計(jì)模式,用于分離用戶界面(視圖)、數(shù)據(jù)(模型)和應(yīng)用程序邏輯(控制器)。ASP.NET 內(nèi)置支持 MVC 模式,因此可以輕松遵循此設(shè)計(jì)模式。
了解有關(guān)與 ASP.NET 一起使用 MVC 的詳細(xì)信息
Your , your tools
ASP.NET is cross-, you to develop and deploy web apps on your OS.
Visual Studio 產(chǎn)品系列在 Windows、Linux 和 macOS 上提供了出色的 .NET 開發(fā)體驗(yàn)。
如果你希望使用不同的編輯器,則許多常用編輯器都有 .NET 命令行工具和插件。
詳細(xì)了解 .NET 工具
Free hosting on Azure
Get 10 ASP.NET for free with Azure.
還可以部署到任何主要的云平臺(tái)、你自己的 Linux 或 Windows 服務(wù)器,或 多個(gè)托管提供程序中的其中一個(gè)。
使用 Azure 免費(fèi)托管
*請(qǐng)認(rèn)真填寫需求信息,我們會(huì)在24小時(shí)內(nèi)與您取得聯(lián)系。