DBASK問答集萃第九期

enmotech發表於2019-09-02

引言


DBASK是一個線上瀏覽資料庫最新資訊和技術文章的微信小程式,還可以查閱知識庫提交問題。近期我們在DBASK小程式 新關聯了PingCAP公眾號,將最新資訊模組放在首頁第一欄顯示,同時調整了文章顯示樣式,最佳化知識庫顯示內容,歡迎大家到小程式內體驗。


問答集萃


接下來,我們分享本期整理出的問題和診斷總結,供大家參考學習,詳細的診斷分析過程可以透過標題連結跳轉到小程式中檢視。

問題一、oracle 12.2 rac SCM0程式佔用cpu高

1節點 scm0程式佔用cpu高,是什麼問題導致,scm0程式是否可以關閉? 關閉了該程式,是否有什麼影響?

診斷結論: DLM統計資訊收集和管理從站(SCM0)負責收集和管理與全域性入隊服務(GES)和全域性快取記憶體服務(GCS)相關的統計資訊。僅當啟用DLM統計資訊收集時,此從屬伺服器才存在,可以直接kill,關閉程式後沒有任何影響,12.2中根本就還沒用到DLM統計資訊(18c和19c才開始用到)。



問題二、ORA-19706:無效的SCN

dblink在正常使用時報錯: ORA-19706:無效的SCN ORA-02063:緊接著line ,原庫: oracle10.2.0.4  AIX Version 5.3 ,目標庫: 11.2.0.4  AIX Version 7.1,找了網上的說法,需要升級原庫,然後再修改隱含引數_external_scn_rejection_threshold_hours; 麻煩問下恩墨大師,有沒有不升級也可解決的辦法?

診斷結論: 今年6月SCN還會自動升級,如果要繼續使用DBLINK,官方建議必須升級打補丁,10g至少升級到10205再打補丁,詳情參看這個專題下面的文章modb.pro/db/topic/0/564



問題三、MySQL ERROR 1205 (HY000): Lock wait timeout exceeded

ERROR 1205 (HY000): Lock wait timeout exceeded; try restarting transaction,請教各位 資深前輩 Mysql Innodb 引擎資料庫 出現1205 鎖等待問題 這個問題會是什麼原因導致的呢?

診斷結論: 一般來說,這個錯誤表示行鎖等待超時。

InnoDB是事務引擎,每次對行操作(一般是update,delete)前,都需要拿到行鎖,(在一些特定場景下,還需要求到間隙鎖),之後才能實際更新資料,如果你的事務將要修改的資料對應的鎖已經被別的事務持有,在那個事務提交或者回滾之前,你的語句就一直會等待,這個等待超過指定時間(innodb_lock_wait_timeout)之後,就會讓你的會話結束等待,返回這個錯誤。

解決辦法的話,一個是看下當前是否有長耗時會話或者SQL.



問題四、OGG複製程式報錯ORA-01403: no data found

之前同事撘了個ogg程式,一直資料同步沒有問題。忽然某一天就報了這種類似的錯:ORA-01403,然後把複製程式dsc撐爆了寫不進去了,程式就斷掉了。然後同事又重新初始化了一遍,過了幾天又報了類似的錯,這是什麼原因呢?

診斷結論: 配了discard引數複製程式會將錯誤記錄輸出到discard檔案中,但該檔案雖然配置了近50M的大小,可錯誤資訊依然沒能完全寫下,所以你應該進行以下步驟來處理

1、使用view params reppd檢查discard的設定;
2、分析DISCARDFILE,看看是什麼原因導致複製中產生那麼多的錯誤資訊。



問題五、Oracle 設定NTP時間同步問題

有這樣一個問題,就是我的oracle 叢集時間同步是用自己的ctss服務同步的,但是系統時間就緩慢的變得越來越慢,我現在想要換成ntp服務來同步時間,大致的操作步驟是什麼樣的呢? 需要重啟資料庫叢集嗎,有什麼風險嗎? 沒做個這個沒什麼經驗,求指導。

診斷結論: 1、參考對應的平臺的ntp配置文件配置,2個節點指向同一個可用的ntp伺服器,2、關閉叢集服務,3、2個節點手工和ntp伺服器強制同步一次,4、啟動叢集服務



問題六、修改sys和system密碼會對DATAGUARD有影響嗎?

想詢問一下,修改oracle資料庫sys和system的密碼會對DATAGUARD主備庫之間的資料同步產生影響嗎?

診斷 結論: sys 的會有影響,12.2 可以自動同步口令檔案。如果是11g的話,可以設定redo_transport_user引數指定特定使用者作為redo同步。



問題七、split分割槽ora-01652

新建一個分割槽表LGY_201905,在t_gnlk表中,建立LGY_201905表空間成功,在建立分割槽的時候報錯,ora-01652:無法透過8192(在表空間LGY_201905)擴充套件temp段。

診斷結論: split在拆分分割槽時至少需要兩倍的空間。



問題八、vip轉移之後,無法連線

rac  兩個節點,節點一down掉之後,節點一的vip轉移到節點二了,但是透過連線節點一的vip連線不到資料庫,是不是把節點一的vip加到節點2的local_listener和remote_listener引數裡面進行配置就可以實現?

診斷結論: 節點一的vip飄到節點二了,透過節點一的VIP是無法連線資料庫的,要麼透過scanip,要麼在客戶端連線字串中同時配兩個節點的VIP並將failover設定成on。



問題九、Oracle sga記憶體如何分配

伺服器記憶體251G,目前sga 為70G,想修改sga大小,如何取個合理的值,db_cache_size 和shared_pool_size如何取值,目前引數另外cdb-sga為70g想修改sga的大小,調整多少合適?

專家解答: 1、參考老熊的文章如何給Oracle分配記憶體 modb.pro/db/article/0/126,2、如果SGA給的70G,可以先設定db_cache_size=35G,shared_pool_size=15G,後期根據資料庫執行情況再調整,3、記憶體都是根據自己需求一步一步調整的,合適自己的系統就行。



問題十、sqlplus連線和dblink連線區別

請教下,sqlplus連線和dblink連線的區別是什麼?例如,我用ora8/9的client,sqlplus可以連線12c,但在8的庫中就不能dblink連線12c?非常感謝

診斷結論: sqlplus是一個客戶端工具,而dblink是走的oracle內部連線,也就是兩個完全不相干的東西。DBLINK跨版本連線有個相容列表,可透過詳情檢視。



問題十一、oracle12c rac service TAF問題

透過srvcrl  add service新增的service,但是再shutdown 例項1後  scv服務不自動切換到例項2,請問是什麼原因?

診斷結論: 從12c開始,透過sqlplus和srvctl這種人為的命令關閉資料庫,叢集並不會轉移service,因為CRS覺得這是人為的例行事件。透過-failover或者直接kill pmon程式來測試service轉移。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69933133/viewspace-2655721/,如需轉載,請註明出處,否則將追究法律責任。

相關文章