Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537
2020數(shù)據(jù)技術(shù)嘉年華近50個PPT下載、視頻回放已上傳墨天輪平臺,可在“數(shù)據(jù)和云”公眾號回復(fù)關(guān)鍵詞“DTC2020”獲得!
本文根據(jù) 張維照 老師在 分享的主題《Oracle的自治數(shù)據(jù)庫和自動化運(yùn)維新特性與新進(jìn)展》整理而成。
張維照:云和恩墨技術(shù)總監(jiān),Oracle ACE-A。2006年起從事數(shù)據(jù)庫管理工作,2009年起從事ORACLE DBA維護(hù)工作,十余年來專注于 技術(shù)和架構(gòu)的研究,熱衷于oracle數(shù)據(jù)庫故障診斷、性能優(yōu)化、內(nèi)部原理、新特性的學(xué)習(xí)與分享,在BLOG分享大量的學(xué)習(xí)和案例經(jīng)驗(yàn)。從事過多套TB級省級工商、醫(yī)療、交通、人社、政府、電信運(yùn)營商等行業(yè)數(shù)據(jù)庫項(xiàng)目從業(yè)經(jīng)驗(yàn)。個人網(wǎng)站
以下為正文:
近兩年各類數(shù)據(jù)庫百花齊放,國產(chǎn)及開源數(shù)據(jù)庫崛起,數(shù)據(jù)庫運(yùn)維進(jìn)入了新階段,從上午的大會內(nèi)容了解到國內(nèi)大廠如騰訊、阿里、華為也在數(shù)據(jù)庫中引入了自治和機(jī)器學(xué)習(xí),很欣慰同樣期待國產(chǎn)數(shù)據(jù)庫在自治領(lǐng)域能夠不斷創(chuàng)新。
個人感覺商業(yè)數(shù)據(jù)庫Oracle基于20多年在數(shù)據(jù)庫自動化技術(shù)積累和多年基礎(chǔ)設(shè)施(Exadata)發(fā)展,依然引領(lǐng)數(shù)據(jù)庫智能化管理發(fā)展方向,2018年Oracle發(fā)布第一款 (自治數(shù)據(jù)庫),實(shí)現(xiàn)數(shù)據(jù)庫的完全自治,進(jìn)入數(shù)據(jù)庫自動駕駛時代。未來IT會成為一種真正的資源工具,像水、電一樣方便的使用,按需申請,自動管理、自動優(yōu)化、自動安全等對業(yè)務(wù)和開發(fā)帶來更佳體驗(yàn),無需關(guān)心后端數(shù)據(jù)庫類型,亦或是不再區(qū)分OLAP和OLTP。解放過去ORACLE DBA們繁重重復(fù)的基礎(chǔ)運(yùn)維工作,轉(zhuǎn)變角色做更有價值的內(nèi)容。Oracle自治數(shù)據(jù)庫應(yīng)用目前還不是很多,本次我會分享自己在自治數(shù)據(jù)庫了解及Oracle數(shù)據(jù)庫在自動化運(yùn)維方向的部分特性。
第一部分 Oracle自治數(shù)據(jù)庫為什么需要自治?
自治數(shù)據(jù)庫基礎(chǔ)構(gòu)成
Oracle自治數(shù)據(jù)庫類型
Oracle提供了3種工作負(fù)載的數(shù)據(jù)庫用于分析、交易、非關(guān)系型JSON場景的處理。
Oracle自治管理
Oracle自治數(shù)據(jù)庫實(shí)現(xiàn)了數(shù)據(jù)庫的快速交付,實(shí)現(xiàn)自動監(jiān)控、備份、性能調(diào)估、數(shù)據(jù)庫升級,對于數(shù)據(jù)庫安全風(fēng)險的在線修復(fù)、強(qiáng)制透明加密,數(shù)據(jù)的訪問隔離,云服務(wù)將提供熱補(bǔ)丁和實(shí)時調(diào)整,Bug等問題將得到及時的解決,極大可能地消除系統(tǒng)運(yùn)行時的手動維護(hù)活動,分分鐘實(shí)現(xiàn)一鍵DG創(chuàng)建和切換演練,及透明應(yīng)用轉(zhuǎn)移。
在自治數(shù)據(jù)中客戶只關(guān)心數(shù)據(jù):創(chuàng)建用戶、秘鑰, 數(shù)據(jù),自動數(shù)據(jù)庫提供全生命周期自動化管理,自治數(shù)據(jù)庫后臺并不是大量DBA而是AI, 內(nèi)置MAA最佳實(shí)踐、物理資源智能伸縮,自治數(shù)據(jù)庫管理有用戶定義策略維護(hù)任務(wù)實(shí)現(xiàn)更多自治。
公有云挑戰(zhàn)
Oracle自治數(shù)據(jù)庫離不開Oracle云運(yùn)維,有些客戶可能無法把數(shù)據(jù)存儲于公有云,主要有以下原因:
混合云C@C
對于無法把數(shù)據(jù)庫遷移致公有云的客戶,Oracle推出了基于Exadata的混合云cloud@服務(wù), Exadata存放在客戶的數(shù)據(jù)庫中心,同時配合遠(yuǎn)程的ORACLE云運(yùn)維優(yōu)勢,組合 on Exadata Cloud@環(huán)境,實(shí)現(xiàn)自治數(shù)據(jù)庫的本地化部署。
Oracle自治數(shù)據(jù)庫提供了更方便的數(shù)據(jù)庫運(yùn)維體驗(yàn), 利用云彈性特性,減少過去靜態(tài)根據(jù)峰值+預(yù)算購買帶來硬件和軟件license浪費(fèi),資源動態(tài)按實(shí)際負(fù)載分鐘收費(fèi),實(shí)現(xiàn)數(shù)據(jù)庫的化。另外集成了開發(fā)IDE環(huán)境,支持SQL、Python、 R、GO語言進(jìn)行數(shù)據(jù)科學(xué)的研究。
自治時代DBA
云在很大程度上接管了系統(tǒng)DBA的功能,并使云中許多功能自動化,DBA正在從系統(tǒng)DBA角色轉(zhuǎn)移到更多以應(yīng)用程序?yàn)橹行模ˋpp DBA)的職責(zé)。同時也意味著DBA工作范圍的擴(kuò)大,正如當(dāng)Oracle Exadata出現(xiàn)時,DBA角色與系統(tǒng)管理員和存儲管理員的角色的融合。眾多的瑣碎的數(shù)據(jù)庫創(chuàng)建部署和維護(hù)任務(wù)(如監(jiān)視,錯誤檢查,定期備份/恢復(fù),打補(bǔ)丁…)將不再需要。轉(zhuǎn)型做領(lǐng)導(dǎo)看的見的能給企業(yè)帶來價值的工作中,如架構(gòu)設(shè)計(jì)、應(yīng)用優(yōu)化、數(shù)據(jù)生命周期管理、 數(shù)據(jù)科學(xué)等。同樣對于一些場景,自治能解決問題但無法知道問題根本原因,是無法完全替代高級DBA的,云和自治數(shù)據(jù)庫將釋放出DBA的雙手,一個DBA將輕松管理更多的數(shù)據(jù)庫。相信未來幾年不只是Oracle數(shù)據(jù)庫, 其它國產(chǎn)數(shù)據(jù)庫或云數(shù)據(jù)庫都將引入自治改變傳統(tǒng)DBA。
第二部分 Oracle自動化特性
Oracle數(shù)據(jù)庫在近20年來在數(shù)據(jù)庫自動化管理上不斷創(chuàng)新,在性能、內(nèi)存管理、健康分析、高可用、易用性投入大量的時間和新特性,并成熟穩(wěn)定運(yùn)行。如AWR, ASM,SPM,AUTO INDEX等廣泛應(yīng)用。
19c
Oracle 19c引入了自動索引特性,好似一個系統(tǒng)專家在7*24小時分析SQL性能, 基于表列上的使用情況,以最小化影響的原則,利用oracle數(shù)據(jù)庫里的特性,逐步自動創(chuàng)建索引,驗(yàn)證、性能管理,并實(shí)現(xiàn)長時間不使用索引的刪除。
使用了哪些技術(shù)
create index ANBOB.SYS_AI_XXXXXX ON ANBOB.T1(ID) TABLESPACE USERS
??????????UNUSABLE?INVISIBLE?AUTO?COMPRESS?ADVANCED?LOW?ONLINE;??
自動索引創(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ù)庫提供的view 查看自動索引的創(chuàng)建情況,前后性能的對比和語句。
自動索引創(chuàng)建的錯誤
DBA_ADVISOR_FINDINGS
JOIN DBA_ADVISOR_EXECUTIONS USING EXECUTION_NAME
Where type=‘ERROR’
數(shù)據(jù)庫提供的view 查看自動索引的創(chuàng)建失敗的原因。
自動索引刪除
oracle默認(rèn)不允許人為刪除AI索引, 如果想不使用AI索引:
Drop indexes,用于手動清理表上的索引,可以刪除pk,uk,fk外索引
exec?sys.dbms_auto_index.drop_secondary_indexes('SCOTT','EMP'); ?
19c (No THP)
是Linux平臺上oracle最佳實(shí)踐建議的配置,是Oracle共享內(nèi)存使用大頁相關(guān)的參數(shù)。
有效值
測試
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
*******************************************************
已自動使用上了, 并且大小幾乎是我們配置的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ù)庫參數(shù),OS內(nèi)核自動修改了vm.配置,但是并未改變參數(shù)文件/etc/sysctl.conf的配置,重啟操作系統(tǒng)將會釋放或只按/etc/sysctl.conf指定的大小。實(shí)際是有oradism 進(jìn)程擴(kuò)展了linux kenel 的個數(shù),該進(jìn)程是root的屬主,原來是應(yīng)用于SunOS平臺的動態(tài)內(nèi)存管理。另外如果啟動時linux 預(yù)分配的夠db實(shí)例使用,實(shí)例啟動時也不會啟動oradism。
20c Auto Machine
我們正處于機(jī)器學(xué)習(xí)應(yīng)用程序引領(lǐ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ù)庫內(nèi)運(yùn)行機(jī)器學(xué)習(xí)。這種方法最大程度地減少或消除了數(shù)據(jù)移動,實(shí)現(xiàn)了可伸縮性,保留了數(shù)據(jù)安全性,并加快了模型部署時間。Oracle提供了機(jī)器學(xué)習(xí)算法的并行數(shù)據(jù)庫內(nèi)實(shí)現(xiàn),并與領(lǐng)先的開源環(huán)境R和Python集成。Oracle機(jī)器學(xué)習(xí)可提供企業(yè)規(guī)模的數(shù)據(jù)科學(xué)項(xiàng)目所需的性能,可伸縮性和自動化,包括本地部署和云計(jì)算。
Oracle Python機(jī)器學(xué)習(xí)(OML4Py)引入了一項(xiàng)新功能,稱為AutoML,該功能包括自動模型選擇,功能選擇和超參數(shù)調(diào)整。AutoML采用元學(xué)習(xí)或使用機(jī)器學(xué)習(xí)來指導(dǎo)機(jī)器學(xué)習(xí)過程。“自動模型選擇”可識別可實(shí)現(xiàn)最高模型質(zhì)量并能夠更快找到最佳模型的算法。“自動特征選擇”通過識別對指定分類或回歸目標(biāo)最具預(yù)測性的特征來減少特征數(shù)量。“自動調(diào)參”避免了手動或詳盡的搜索技術(shù),這可以顯著提高模型的準(zhǔn)確性,同時使繁瑣的工作不再需要人工探索。
自動化機(jī)器學(xué)習(xí)是Oracle 中的一項(xiàng)新功能,它可以自動執(zhí)行這些步驟,從而以快速且可擴(kuò)展的方式生成準(zhǔn)確的模型。這種自動化不僅提高了數(shù)據(jù)科學(xué)家的工作效率,而且在AutoML的情況下減少了總體計(jì)算機(jī)時間,而且還使非專業(yè)用戶可以利用機(jī)器學(xué)習(xí),不需要了解機(jī)器學(xué)習(xí)過程的各個方面。
小結(jié)
多年來,Oracle已將數(shù)據(jù)庫演化為“聚合數(shù)據(jù)庫”,數(shù)據(jù)科學(xué)是一項(xiàng)團(tuán)隊(duì)運(yùn)動,因此Oracle機(jī)器學(xué)習(xí)支持SQL(OML4SQL),R集成(OML4R)和(即將推出)Python集成(OML4Py)。Oracle機(jī)器學(xué)習(xí)還通過Oracle自治數(shù)據(jù)庫和Oracle Data Miner的拖放式UI(SQL 擴(kuò)展)提供了Oracle Machine (基于)。嵌入式Python執(zhí)行,可從SQL部署Python腳本。借助Oracle的融合數(shù)據(jù)庫和30多種嵌入式機(jī)器學(xué)習(xí)算法,您可以更輕松地在整個企業(yè)中分發(fā)新的見解和預(yù)測,甚至可以構(gòu)建“預(yù)測性”應(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 動態(tài)渲染 HTML
Razor 提供了一種使用 HTML 和 C# 創(chuàng)建動態(tài) Web 內(nèi)容的簡單、干凈、輕型的方法。
借助 Razor,你可以使用任何 HTML 或 C# 功能。你會獲得針對兩者的更好的編輯器支持(包括 ),后者提供自動完成、實(shí)時類型和語法檢查等功能。
詳細(xì)了解 Razor
與數(shù)據(jù)無縫集成
常用實(shí)體框架(EF)數(shù)據(jù)訪問庫允許使用強(qiáng)類型對象與數(shù)據(jù)庫進(jìn)行交互。
支持大多數(shù)熱門數(shù)據(jù)庫,包括 SQLite、SQL Server、MySQL、、DB2 等,以及非關(guān)系存儲(例如 MongoDB、Redis 和 Azure Cosmos DB)。
實(shí)體框架數(shù)據(jù)訪問庫
生成安全的 Web 應(yīng)用
ASP.NET 提供內(nèi)置用戶數(shù)據(jù)庫,支持使用 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)站請求偽造(CSRF) 的侵害。
基架、表單和驗(yàn)證
快速搭建用戶界面的基架,以便與數(shù)據(jù)模型交互,包括查詢和更新。
根據(jù)強(qiáng)類型數(shù)據(jù)模型動態(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.
還可以部署到任何主要的云平臺、你自己的 Linux 或 Windows 服務(wù)器,或 多個托管提供程序中的其中一個。
使用 Azure 免費(fèi)托管
*請認(rèn)真填寫需求信息,我們會在24小時內(nèi)與您取得聯(lián)系。