Timesten 日常管理命令合集

以下所有操作都是基于TT  11 版,早前版本本人没用过,命令是否适用我不清楚啊!

各类服务管理

一、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  一下

Timesten 日常管理命令合集的更多相关文章

  1. Linux常用命令合集

    常用命令合集 命令选项和参数 Linux中的命令格式为:command [options] [arguments]  //中括号表示可选的,即有些命令不需要选项也不需要参数,但有的命令在运行时需要多个 ...

  2. [转载]VIM命令合集

    Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录, ...

  3. linux-Vim命令合集

    Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...

  4. Git 经常使用命令合集

    ====== Git 经常使用命令合集 ====== === 1.Git 文档 ===     Git 中文文档观看地址:http://git.oschina.net/progit/      === ...

  5. 05-Vim命令合集

    Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...

  6. Git&GitHun 命令合集

    Git&GitHun 命令合集 基本操作 git --version 查看git版本信息 git add 本地库初始化 设置签名 git config user.name xxx git co ...

  7. Vim命令合集(四)

    Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...

  8. 【转】Vim命令合集

    Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...

  9. (转)Oracle RAC日常管理命令

    转自:http://www.xuebuyuan.com/1206937.html 一.查看RAC环境 RAC架构,2节点信息 节点1 SQL> show parameter instance N ...

随机推荐

  1. Sqlserver 存储过程 返回-6

    存储过程中没有返回 手动返回-6的代码,但是一直接收到-6返回值. 经最后研究发现,是粗心导致的,Insert插入数据时在非空字段插入了Null值导致出现异常,所以返回了-6. 所以说在事务中,可能会 ...

  2. pip安装tensorflow出错怎么办

    随着人工智能的开发越来越多人参与,现在下载tensorflow 1.2版本也经常出错了,如下: 这时怎么办呢? 其实比较简单,可以通过pypi的网站来下载: https://pypi.python.o ...

  3. linux给一个文件夹开启权限

    假如要给一个叫做xiaobang的文件夹权限,CD到这一级目录 chmod -R 777 xiaobang

  4. Java并发--volatile详情

    volatile这个关键字可能很多朋友都听说过,或许也都用过.在Java 5之前,它是一个备受争议的关键字,因为在程序中使用它往往会导致出人意料的结果.在Java 5之后,volatile关键字才得以 ...

  5. BZOJ1113 Poi2008 海报PLA【单调栈】【水】

    BZOJ1113 Poi2008 海报PLA Description N个矩形,排成一排. 现在希望用尽量少的矩形海报Cover住它们. Input 第一行给出数字N,代表有N个矩形.N在[1,250 ...

  6. windows下PyCharm运行和调试scrapy

    Scrapy是爬虫抓取框架,Pycharm是强大的python的IDE,为了方便使用需要在PyCharm对scrapy程序进行调试 python PyCharm Scrapy scrapy指令其实就是 ...

  7. 【angularJS】Route路由

    介绍 AngularJS 路由允许我们通过不同的 URL 访问不同的内容. 通过 AngularJS 可以实现多视图的单页Web应用(single page web application,SPA). ...

  8. 【angularJS】Controller控制器

    1. 定义 控制器(Controller)在AngularJS中作用是增强视图(View),AngularJS控制器是一个构造方法,用来向视图(View)中添加额外功能. ng-controller指 ...

  9. 基于jquery的可查询多级select控件(可记录历史选择)

    一.功能和使用 公司有功能需求,还要一条代码引入的控件,网上找完全符合的控件比较难,寻找所花的时间还不如自己写一个,所以找个空闲时间自己写了一个   控件功能:1.可手动输入查询,也可点击下拉框查询, ...

  10. Siddhi cep java 集成简单使用

    Siddhi 是一个开源的cep (Complex Event Processing)类库,有一个明显的例子是uber 的事件处理,具体可以google 几张参考cep 以及siddhi 图 java ...