Timesten 日常管理命令合集


一、TT的啟停
  停服務:
  1、停止復制與cache 進程;
  2、停掉server進程 ;
  3、卸載內存(對於RAM為手動管理的)
  4、停掉 Daemon
  啟服務:
   與停服務操作相反。
  注:操作命令見(二、三)
二、RAM管理
1、設置內存手動策略
    ttadmin -rampolicy manual tt_1122
2、加載與卸載內存
    ttadmin -ramloadtt_1122
    ttadmin -ramunload tt_1122
三、復制進程與cache 進程的啟停
  1、復制進程管理
     ttAdmin -repStop tt_1122
     Command> call ttrepstop ;
     Command> call ttrepstart ;
  2、cache 進程管理
     Command> call ttCacheStop;
     Command> call ttCacheStart;
  3、Daemon進程管理
     ttDaemonAdmin -stop
     ttDaemonAdmin -start
  4、服務的管理(類似於oracle中的監聽)
     ttDaemonAdmin  -startserver    
     ttDaemonAdmin   -stopserver
性能優化
一、查看事務信息
ttxactadmin  tt_1122   (查看一個DSN下的所有事務等待)
ttxactadmin -xact  1.1640  tt_1122    (查看一個具體的事務)
二、事務回滾
ttxactadmin -xactIdRollback <xid> <DSN>
ttXactAdmin -xactIdRollback 8.223901 tt_1122
三、根據SQLid 找語句
可以依據 ttXactAdmin 中的SqlCmdID 找到具體的SQL語句
Command> cmdcache by cmdid xxx;
四、找內存中緩存的SQL語句
   我們可以通過以下命令去查看當前內存中執行過的SQL語句。
    cmdcache [[by {sqlcmdid | querytext | owner}] <query_substring>
    該命令后可以跟三種類型的參數,sqlid ,查詢語句,owner
例子:
Command> cmdcache exp ;
< 104919183080, 2048, 0, 1, 0, 1, 5720, TIMESTEN                       , select count(st.id) from
....
五、執行計划
    The syntax for the explain command is as follows:
    explain [plan for] {[<Connid>.]<ttisqlcmdid> | sqlcmdid <sqlcmdid> | <sqlstmt>
    | !<historyitem>}
例:  Command> explain sqlcmdid 104901635296 ;
             Query Optimizer Plan:
             .....
例2: Command> explain select * from dual ;
六、統計信息收集
  語法:
  CALL ttOptEstimateStats ( '表或用戶', 1, '51 PERCENT' );
  可以在服務器上部署以下小腳本,用以自動手機統計信息:
[timesten@memdb01 daily_scripts]$ cat collecte_stats.sh
#!/usr/bin/env bash
# This script is used for collecting statistic
. ~/.bash_profile
ttisql "dsn=tt_order;uid=ord;pwd=ord" << EOF
set timing on
call ttOptEstimateStats('',1,'100 PERCENT');
connect "dsn=tt_order;uid=ord2;pwd=ord2";
call ttOptEstimateStats('',1,'100 PERCENT');
EOF
exit
注: 第一個參數為空,表示對用戶進行收集,否則是收集表的統計信息。
故障收集與問題診斷

一、查看cg最近十次刷新狀態
ttisql "dsn=tt_rpt;uid=cacheuser;pwd=xxx;oraclepwd=xxx"
Command> call ttcacheautorefreshstatsget('user1','testcache');
< 9878968, 2015-02-05 09:38:57.000000, 335808300, 4423, 0, 0, 0, 0, 0, 6100, 0, 78430307, 7329877383, 78339899, 14916250, InProgress, 0, 78958692, 100, 2015-02-05 09:36:37.000000, 0 >
< 9878968, 2015-02-05 09:36:57.000000, 335688290, 4422, 72870, 20759, 1939631, 20759, 67850, 4080, 940, 78430307, 7329877383, 78339899, 14916250, Complete, 20785, 78958692, 100, 2015-02-05 09:36:37.000000, 0 >
< 9878968, 2015-02-05 09:34:57.000000, 335568280, 4421, 78170, 20993, 1972278, 20993, 73350, 3960, 860, 78409548, 7327937752, 78319140, 14843380, Complete, 21273, 78937907, 100, 2015-02-05 09:31:22.000000, 0 >
.....
二、查看TT實例的參數配置情況
ttIsql -connstr "dsn=tt_1122" -e "vertical on; version; select sysdate from dual; call tthostnameget; vertical off; call ttrepstateget; call ttconfiguration; call ttlogholds; monitor; exit;"
三、當cg 數據積壓后需收集以下信息(開SR的時候oracle 工程師可能會要求提供這些信息)
    1、用cache info.sql 輸出oracle端有多少實例連接
    拷貝以下路徑的 cacheinfo.sql腳本到可登陸sqlplus 路徑,並在目標Oracle數據庫中執行該腳本。
    % cd TimesTen_install_dir/oraclescripts
    % sqlplus cacheuser/oracle@xxx <===根據實際用戶密碼和服務名登錄目標數據庫
    SQL> @cacheInfo
    2、 ttCapture 輸出信息
       e.g. ttCapture
       ttCapture -dest "/home/timesten" tt_1122
    3、 ttSchema -connstr "dsn=<dsn>"
       ttschema -list all tt_mdjk >> schema_1122.txt
    4、  ttIsql -connstr "dsn=<dns>" -e "vertical on; version; select sysdate from dual; call tthostnameget; vertical off; call ttrepstateget; call           ttconfiguration; call ttlogholds; monitor; exit;"
    5、 All ttmesg, tterror, ttcwmesg and ttcwerror logs ( default location is TimesTen info directory )
    6、All <db>.inval, <db>.assert or <db>.trace files ( find in database directory )
四、其它關鍵信息的收集
建議收集以下信息,方便故障時問題的診斷。
1、call ttbackupstatus ; (建議每30分鍾收集一次)
  示例腳本:
  [timesten@memdb02 ~]$ cat /sdb2/scripts/ttbackupstatus.sh
          #!/usr/bin/env bash
          . ~/.bash_profile
          ttisql tt_mat  << EOF
          spool /sdb2/scripts/ttbackupstatus_info_mat.txt  append
          select sysdate from dual ;
          call ttbackupstatus ;
          EOF
          exit;
2、call ttbookmark ; (建議每30分鍾收集一次)
  示例腳本:
[timesten@memdb02 ~]$ cat /sdb2/scripts/ttbookmark_mat.sh
#!/usr/bin/env bash
. ~/.bash_profile
ttisql tt_mat  << EOF
spool /sdb2/scripts/ttbookmark_info_mat.txt  append
select sysdate from dual ;
call ttbookmark ;
EOF
exit;
3、call ttckpthistory ; (建議每30分鍾收集一次)
  示例腳本:
[timesten@memdb02 ~]$ cat /sdb2/scripts/ttckpthistory_mat.sh
#!/usr/bin/env bash
. ~/.bash_profile
ttisql tt_mat  << EOF
spool /sdb2/scripts/ttckpthistory_info_mat.txt  append
select sysdate from dual ;
call ttckpthistory ;
EOF
exit;
4、call ttlogholds ; (建議每30分鍾收集一次)
  示例腳本:
[timesten@memdb02 ~]$ cat /sdb2/scripts/ttlogholds_mat.sh
#!/usr/bin/env bash
. ~/.bash_profile
ttisql tt_mat  << EOF
spool /sdb2/scripts/ttlogholds_info_mat.txt  append
select sysdate from dual ;
call ttlogholds ;
EOF
exit;
5、 sys.monitor 表的信息(建議每分鍾收集一次)
  示例腳本:
#!/usr/bin/env bash
. ~/.bash_profile
ttisql "dsn=tt_mat" << EOF
spool /data/sys_monitor_date/t_monitor_mat.txt append
select sysdate , a.* from sys.monitor a  ;
exit
備份與還原
1、表機構的備份
   ttschema -list all tt_1122   >> backup_db.txt
2、數據的導出導入
---數據快速備份和恢復
導出數據: ttBulkCp -o mystore mytbl mytbl.dump
導入數據: ttBulkCp -i -e mytbl.err mystore mytbl mytbl.dump
3、實例的備份與還原
增備:
ttbackup -dir /home/timesten/ttbackup -type fileIncrorFull tt_1122
ttbackup -dir /home/timesten/ttbackup -type incrementablStop tt_1122
普通備份:
ttBackup -dir /sdb2/backup_dir/tt_1122_backup   -connstr "DSN=tt_1122"
4、恢復
$ ttRestore -dir /home/timesten/ttbackup -connstr "DSN=tt_1122"
Restore started ...
Restore complete
恢復之后建議cachegroup 全部刪掉重建。
如果直接恢復報錯的話,可以  ttDestroy tt_1122  一下


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM