【新炬網路名師大講堂】TimesTen記憶體碎片(高水位)回收步驟詳解
(本文轉自新炬網路專家湯雲ITPUB部落格)
記憶體是TimesTen記憶體資料庫中最重要的資源,就好比我們熟悉的Oracle資料庫中只有一個System表空間一樣;遺憾的是TimesTen的記憶體資源不單類似Oracle資料庫只有一個System表空間一樣的特例, TimesTen的不單隻有一個表空間,還是一個不支援線上擴容更不能自動擴充套件的表空間。TimesTen的擴容很簡單,只需要修改sys.odbc.ini中的PermSize引數並重新裝載即可,但是畢竟記憶體資源是有限的,我們在實際 運維中,經常會出現為了回收記憶體而需要進行記憶體碎片回收,類似Oracle對錶空間的記憶體碎片回收,但是由於TimesTen記憶體碎片回收並不能像Oracle的表空間高水位回收那麼智慧,為了幫助有需要的童鞋,分享實際 運維中的記憶體碎片回收方法。
·使用TT記憶體庫自帶的ttMigrate工具遷移備節點記憶體庫
1、停止備節應用及其他程式
a)、檢查應用程式
ps -fu timesten ##除了TT資料庫程式,其餘程式全部停止
b)、檢查備節點的其他程式
ttstatus
c)、停止備節點的TTSERVER程式
ttdaemonadmin -stopserver ##這裡需要注意是否多個DSN
d)、核查主備節點checkpoint程式是否全部完成
call ttckpthistory
停止主備節點複製程式:
ttadmin -repstop $DSN
2、使用ttMigrate工具遷移備節點記憶體資料庫
ttMigrate -c $DSN /ttbackup/m$DSNstandby.dat
·刪除備節點DSN
1、備份TT記憶體庫物件的建立指令碼
ttSchema $DSN
2、unload備節點DSN
call ttckpt; ##unload前先做兩次checkpoint
call ttckpt;
ttadmin -ramunload $DSN
3、刪除備節點DS
ttdestroy $DSN
4、停止daemon,檢查記憶體段釋放情況
ttdaemonadmin -stop ##這裡停止daemon需要注意是否有多個DSN
ipcs -map |grep timesten
ps -fu timesten
topas
·採用之前遷移的備份檔案重建備節點DS
1、使用ttisql拉起例項
ttdaemonadmin -start
ttisql $DSN ##這裡需要確定autocreate引數是否等於1
Command> host ttadmin -rampolicy manual $DSN
2、使用管理賬號把之前遷移出去的備節點備份遷移回來
ttMigrate -r -connstr "dsn=$DSN;uid=timesten" /ttbackup/m$DSNstandby.dat
3、啟動主備節點的複製程式並檢查主備複製
主節點:
ttadmin -repstart $DSN
call ttrepstatget;
call ttlogholds; ##這裡的目的是檢查主節點是否出現長事務,引起主備節點不同步
備節點:
ttadmin -repstart $DSN
Command> call ttRepStateGet;
< STANDBY, NO GRID >
1 row found.
4、檢查記憶體碎片是否釋放,檢查主備複製是否正常
備節點:
Command> dssize m;
Command> call ttblockinfo;
ttadmin -noautoreload $DSN ##設定不自動載入
ttstatus -debug|grep -i auto
主節點:
call ttbookmark;
ttstatus
檢查主備節點的tterror.log日誌
二、主備切換,遷移並重建主節點記憶體庫
檢查主節點記憶體庫是否正常,檢查複製程式是否正常。
檢查主備同步是否正常
1、停止主備節點的複製程式
停止主備節點複製程式:
ttadmin -repstop $DSN
·刪除新備節點DSN
1、備份備節點物件的建立指令碼
ttSchema $DSN
2、unload備節點DSN。
call ttckpt; ##unload前先做兩次checkpoint
call ttckpt;
ttadmin -ramunload $DSN
3、刪除備節點DS
ttdestroy $DSN
4、停止daemon,檢查記憶體段釋放情況
ttdaemonadmin -stop ##這裡停止daemon需要注意是否有多個DSN
ipcs -map |grep timesten
ps -fu timesten
topas
·使用重建備機指令碼直接重建備機(新的備節點)
1、使用重建備機指令碼直接重建備機
參考《重建備機操作》http://blog.itpub.net/24930246/viewspace-1172765/
2、啟動新備節點的複製程式
ttadmin -repstart $DSN
Command> call ttRepStateGet;
< STANDBY, NO GRID >
1 row found.
3、檢查高水位是否釋放,檢查新主備複製是否正常
新備節點:
Command> dssize m;
Command> call ttblockinfo;
ttadmin -noautoreload $DSN ##
ttstatus -debug|grep -i auto
新主節點:
call ttbookmark;
ttstatus
檢查主備節點的tterror.log日誌
4、新備節點高水位回收已完成,啟動並檢查業務是否正常執行。
至此,主備節點的記憶體碎片回收操作已經完成。
注意事項:
1、在實施備節點記憶體碎片回收操作如果出現備節點IDLE,可以檢查主節點是否存在長事務,如果存在長事務,先處理長事務。
2、在實施過程中如果出現任何異常,採用緊急重建備機的方式回退。
3、在11.2.1.x版本中存在記憶體碎片回收後無法進入主備模式的情況,建議進行記憶體碎片回收前分析是否可以正常進入主備模式。
Created by Tony.Tang[TangYun]2015.03
------------------------End---------------------------
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29960155/viewspace-1450613/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- TimesTen記憶體碎片(高水位)回收步驟詳解記憶體
- 【新炬網路名師大講堂】TimesTen記憶體資料庫評估和計算表大小及碎片記憶體資料庫
- 【新炬網路名師大講堂】Oracle中的回收站(Recycle Bin)Oracle
- 【新炬網路名師大講堂】SOA套件介紹套件
- 【新炬網路名師大講堂】weblogic整合ejbWeb
- 【新炬網路名師大講堂】總結和結論
- 【新炬網路名師大講堂】理解TimesTen錯誤日誌資訊”waiting for latch”AI
- 【新炬網路名師大講堂】初識mysql的體系結構MySql
- 【新炬網路名師大講堂】svn在linux下的使用Linux
- 【新炬網路名師大講堂】關於LOG FILE SYNC的解惑
- 【新炬網路名師大講堂】不同資料庫取前幾條記錄資料庫
- 【新炬網路名師大講堂】Oracle Database 12c 新特性總結OracleDatabase
- 【新炬網路名師大講堂】Data Guard–物理主備庫切換
- 【新炬網路名師大講堂】TUXEDO的配置最佳化之路一UX
- 【新炬網路名師大講堂】TUXEDO的配置最佳化之路二UX
- 【新炬網路名師大講堂】cursor: pin S wait on X模擬AI
- 【新炬網路名師大講堂】clone oracle 12c pluggable databasesOracleDatabase
- 【新炬網路名師大講堂】關於IMSI/MSISDN/IMEI的介紹
- 【新炬網路名師大講堂】軟體測試中常見問題與解決辦法
- 【新炬網路名師大講堂】12c新特性:備份CDBs和PDBs
- 【新炬網路名師大講堂】12c新特性:使用RMAN連線CDB
- 【新炬網路名師大講堂】12c高可用新特性what-if command evaluation介紹
- 【新炬網路名師大講堂】AIX上的配置網路調優引數AI
- 【新炬網路名師大講堂】Oracle 11g rac 刪除節點Oracle
- 【新炬網路名師大講堂】j2ee與weblogic簡介Web
- 【新炬網路名師大講堂】oracle application server之核心技術opmnOracleAPPServer
- 【新炬網路名師大講堂】GoldenGate的ADD SCHEMATRANDATA命令研究Go
- 【新炬名師大講堂】使用ttTraceMon進行TimesTen故障分析
- 【新炬網路名師大講堂】RAC環境下SYSDATE返回錯誤時間
- 【新炬網路名師大講堂】MySQL複製與監控系列文章(1)——篇首MySql
- 【新炬網路名師大講堂】關於Oracle 12c Flex ASM特性的理解OracleFlexASM
- 【新炬網路名師大講堂】Oracle小知識- Oracle KILLED會話的釋放Oracle會話
- 【新炬網路名師大講堂】WAS控制檯資料來源資訊無故丟失
- 【新炬網路名師大講堂】有限條件下怎樣做好恢復演練
- 【新炬網路名師大講堂】記一次打PSU遇到的Copy failed的問題AI
- 【新炬網路名師大講堂】DATABASE REPLAY加壓播放引數之SCALE_UP_MULTIPLIERDatabase
- 【新炬網路名師大講堂】CBO中”與NULL在cardinality計算上的差別Null
- 【新炬網路大師講堂】CMMI/敏捷方法入門敏捷