發(fā)布于:2020-12-19 18:35:37
0
151
0
越來(lái)越多的客戶希望遷移到Oracle云中,其中許多人希望了解自治數(shù)據(jù)庫(kù)可以為他們做什么,但他們擔(dān)心性能可能會(huì)受到影響??紤]到這一點(diǎn),我決定寫一篇關(guān)于使用SQL Performance Analyzer(SPA)來(lái)驗(yàn)證從本地(或其他任何地方)遷移到運(yùn)行在專用基礎(chǔ)結(jié)構(gòu)上的自治數(shù)據(jù)庫(kù)時(shí)性能是否良好的博客文章。SQL Performance Analyzer(SPA)允許我們從“工作”環(huán)境中創(chuàng)建一組已知的SQL,在新環(huán)境中重播這些SQL,并生成比較報(bào)告。這也是在QA / Staging環(huán)境中運(yùn)行的出色工具,在該環(huán)境中,可以在將補(bǔ)丁應(yīng)用于生產(chǎn)之前對(duì)其進(jìn)行測(cè)試。
遷移到自治數(shù)據(jù)庫(kù)后,我可以隨時(shí)運(yùn)行SQL集,以確認(rèn)自治數(shù)據(jù)庫(kù)的性能是否符合預(yù)期,或者是否要對(duì)關(guān)鍵任務(wù)數(shù)據(jù)庫(kù)進(jìn)行驗(yàn)證的環(huán)境發(fā)生已知更改。讓我向您展示如何僅需少量設(shè)置即可運(yùn)行此分析。
我將使用在本地運(yùn)行的12.1.0.2數(shù)據(jù)庫(kù),并將傳統(tǒng)SAN存儲(chǔ)作為源。我們將用于生成SQL調(diào)整集的工作負(fù)載將來(lái)自Swingbench。
目標(biāo)數(shù)據(jù)庫(kù)將是在OCI中的自治專用基礎(chǔ)結(jié)構(gòu)(ADB-D)上運(yùn)行的19c自治數(shù)據(jù)庫(kù)(ADB)。首先,我們需要處理12.1.0.2數(shù)據(jù)庫(kù)并生成用于比較的SQL調(diào)整集。以特權(quán)用戶身份登錄到源系統(tǒng),并在根據(jù)需要更新過(guò)濾后運(yùn)行以下命令:
接下來(lái),我們需要?jiǎng)?chuàng)建登臺(tái)表,該登臺(tái)表將用于將此SQL調(diào)優(yōu)集移動(dòng)到自治數(shù)據(jù)庫(kù)中:
創(chuàng)建臨時(shí)表之后,可以使用以下命令將調(diào)整集打包到其中:
快速瀏覽一下我們的登臺(tái)表,我可以看到我們有18個(gè)獨(dú)特的SQL用于測(cè)試:
一旦填充了臨時(shí)表,就需要將該表移到自治數(shù)據(jù)庫(kù)中。我將使用數(shù)據(jù)泵來(lái)方便移動(dòng):
在擁有可用的轉(zhuǎn)儲(chǔ)文件之后,我們需要將其上傳到OCI對(duì)象存儲(chǔ)中,以便可以將其提取到自治數(shù)據(jù)庫(kù)中。
現(xiàn)在,我們已經(jīng)完成了準(zhǔn)備工作,現(xiàn)在可以移至自治數(shù)據(jù)庫(kù),并準(zhǔn)備就緒以運(yùn)行SPA。必須事先完成以下假設(shè)和工作:(1)可以訪問(wèn)自治專用基礎(chǔ)架構(gòu)并創(chuàng)建自治數(shù)據(jù)庫(kù);(2)從源系統(tǒng)加載模式/應(yīng)用程序數(shù)據(jù)(數(shù)據(jù)與STS來(lái)自的位置越接近,我們的分析就越好)。
首先,我們需要從12c數(shù)據(jù)庫(kù)中導(dǎo)入SQL調(diào)整集登臺(tái)表。我選擇使用SQL Developer數(shù)據(jù)泵導(dǎo)入向?qū)Вň哂斜4娴腛CI憑據(jù)以及指向?qū)ο蟠鎯?chǔ)中我的dmp文件的鏈接),但是您也可以使用mv2adb(文檔ID 2463574.1)或直接impdp
導(dǎo)入表后,我們需要將其解壓縮到SQL調(diào)整集中。
!在這兩個(gè)系統(tǒng)上的準(zhǔn)備工作都已完成,并且我們已經(jīng)準(zhǔn)備好根據(jù)需要運(yùn)行SPA多次,以測(cè)試我們對(duì)Autonomous的升級(jí)。
我們可以使用DBMS_SQLPA.EXECUTE_ANALYSIS_TASK的CONVERT_SQLSET執(zhí)行類型將SQL調(diào)優(yōu)集轉(zhuǎn)換為12c計(jì)時(shí)的“運(yùn)行前”,生成19c計(jì)時(shí),并使用以下命令運(yùn)行比較:
分析完成后,我們可以使用以下方法生成報(bào)告并查看結(jié)果:
這是我們工作量報(bào)告的示例屏幕截圖。如您所見,升級(jí)版本時(shí)我們對(duì)計(jì)劃進(jìn)行了一些更改。在大多數(shù)SQL上,總體性能更好!
這是一個(gè)報(bào)告示例,其中SQL有計(jì)劃更改并且性能下降了:
我可以查看該報(bào)告,找到回歸的SQL,然后單擊SQLID,然后確切了解發(fā)生了什么更改以及更改的原因。向下鉆取將報(bào)告查詢之間的度量標(biāo)準(zhǔn)更改,并列出更改內(nèi)容。
現(xiàn)在,我已經(jīng)在自治數(shù)據(jù)庫(kù)中擁有了STS,可以在系統(tǒng)發(fā)生任何更改或者想要開始測(cè)試某些自治功能時(shí)開始使用它!
最后一件事...雖然SPA是Oracle功能的附加組件,但該許可證包含在自治專用OCPU中。因此,出去那里并開始使用它。
最后一件事…如果您是Enterprise Manager 13.4+用戶,則有一個(gè)名為“遷移到Oracle自治數(shù)據(jù)庫(kù)”的指導(dǎo)工作流,它會(huì)指導(dǎo)您完成測(cè)試自治數(shù)據(jù)庫(kù)鏈接上的本地SQL調(diào)優(yōu)集的過(guò)程。
作者介紹
熱門博客推薦