Oracle数据库迁移后变慢,迁移数据之后,读取数据库变得很慢
在某天晚上,業(yè)務(wù)人員把數(shù)據(jù)庫(kù)遷至新庫(kù),通過(guò)數(shù)據(jù)泵導(dǎo)入導(dǎo)出這種方式遷至新庫(kù)上。
新庫(kù)與老庫(kù)均為rac環(huán)境
在第二天上午,業(yè)務(wù)人員突然報(bào)說(shuō)數(shù)據(jù)庫(kù)處理單子的速度變的很慢,一上午壓了2000個(gè)單子。
出現(xiàn)這種情況的原因有這么幾種:
1.導(dǎo)數(shù)的時(shí)候沒(méi)有導(dǎo)統(tǒng)計(jì)信息
2.表和索引的統(tǒng)計(jì)信息變了
3.是否產(chǎn)生了不同的計(jì)劃任務(wù)
這里我就能想到這么三點(diǎn),可能會(huì)有各種不同的問(wèn)題,下面我們跟業(yè)務(wù)人員要一下跑的業(yè)務(wù)語(yǔ)句
select SERIAL_NUMBER,
ORD_NO,
USER_ID,
ACCNO,
ACTION_TYPE,
START_DATE,
RETURN_DATE,
RECONFIG_REASON,
DEAL_FLAG,
RETURN_CODE,
RETURN_DESC,
BACK_REASON,
LOGTIME,
CW_STATE,
CW_desc,
DL_STATE,
DL_DESC,
HD_FLAG,
ORDER_ID,
WORK_ORDER_ID
from (select *
from fwkt_new.tif_rs_info t2
where deal_flag = '0'
and rownum < 500
union
select *
from fwkt_new.tif_rs_info t
where deal_flag = '1'
and rownum < 80000);
以上是業(yè)務(wù)人員的處理單子的sql語(yǔ)句
拿到sql語(yǔ)句,我們首先分析下老庫(kù)和新庫(kù)的執(zhí)行計(jì)劃是否一致
老庫(kù)的執(zhí)行計(jì)劃
新庫(kù)的執(zhí)行計(jì)劃
對(duì)比兩個(gè)庫(kù),執(zhí)行計(jì)劃兩邊完全一致,并沒(méi)有說(shuō)執(zhí)行計(jì)劃有變。
那這個(gè)問(wèn)題出現(xiàn)在哪兒呢?
后來(lái)又有業(yè)務(wù)人員說(shuō)登陸數(shù)據(jù)庫(kù)慢,會(huì)不會(huì)是登錄數(shù)據(jù)庫(kù)慢導(dǎo)致業(yè)務(wù)處理的速度變慢了呢?
原來(lái)業(yè)務(wù)人員使用的是數(shù)據(jù)庫(kù)連接地址是scan,用scan ip可以負(fù)載均衡,但是會(huì)產(chǎn)生大量的gc,還會(huì)導(dǎo)致閂鎖的出現(xiàn)。所以讓業(yè)務(wù)人員把scan ip禁掉,讓應(yīng)用使用vip去連接數(shù)據(jù)庫(kù)
改完之后,數(shù)據(jù)庫(kù)的處理速度有改善,但是處理速度改善的不是很明顯,說(shuō)明還是有問(wèn)題,到底是什么問(wèn)題導(dǎo)致數(shù)據(jù)庫(kù)處理的速度變慢呢?
連接數(shù)據(jù)庫(kù)慢,會(huì)不會(huì)是監(jiān)聽(tīng)有問(wèn)題導(dǎo)致的呢?
遂登陸grid用戶查看監(jiān)聽(tīng)信息
在這之間沒(méi)有做截圖,我口述一下吧!!!
lsnrctl status
發(fā)現(xiàn)節(jié)點(diǎn)1和節(jié)點(diǎn)2的監(jiān)聽(tīng)注冊(cè)信息不一致。
然后登陸數(shù)據(jù)庫(kù)查看service_name
發(fā)現(xiàn)兩邊的service_name也不一致
更改數(shù)據(jù)庫(kù)的service_name名稱與節(jié)點(diǎn)1和節(jié)點(diǎn)2保持一致,并且節(jié)點(diǎn)1和節(jié)點(diǎn)2可以支持多個(gè)service_name的名稱。
更改完畢,重新加載一下數(shù)據(jù)庫(kù)的監(jiān)聽(tīng),并在數(shù)據(jù)庫(kù)里面注冊(cè)一下監(jiān)聽(tīng)的信息。
所有操作完成之后,業(yè)務(wù)人員說(shuō)積壓的單子瞬間就沒(méi)了。
至此,問(wèn)題解決。
總結(jié)一下:
這究其原因就是oracle數(shù)據(jù)庫(kù)里面的service_name不一致,導(dǎo)致監(jiān)聽(tīng)的注冊(cè)信息不一致,會(huì)導(dǎo)致數(shù)據(jù)庫(kù)處理速度變慢,所以大家在改任何數(shù)據(jù)庫(kù)參數(shù)的時(shí)候一定要小心謹(jǐn)慎。
總結(jié)
以上是生活随笔為你收集整理的Oracle数据库迁移后变慢,迁移数据之后,读取数据库变得很慢的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: oracle如何查询系统变量数据,Ora
- 下一篇: oracle数据库批量操作系统,Orac