Timesten 日常管理命令合集
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 日常管理命令合集的更多相关文章
- Linux常用命令合集
常用命令合集 命令选项和参数 Linux中的命令格式为:command [options] [arguments] //中括号表示可选的,即有些命令不需要选项也不需要参数,但有的命令在运行时需要多个 ...
- [转载]VIM命令合集
Vim命令合集 http://www.cnblogs.com/softwaretesting/archive/2011/07/12/2104435.html 命令历史 以:和/开头的命令都有历史纪录, ...
- linux-Vim命令合集
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- Git 经常使用命令合集
====== Git 经常使用命令合集 ====== === 1.Git 文档 === Git 中文文档观看地址:http://git.oschina.net/progit/ === ...
- 05-Vim命令合集
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- Git&GitHun 命令合集
Git&GitHun 命令合集 基本操作 git --version 查看git版本信息 git add 本地库初始化 设置签名 git config user.name xxx git co ...
- Vim命令合集(四)
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- 【转】Vim命令合集
Vim命令合集 命令历史 以:和/开头的命令都有历史纪录,可以首先键入:或/然后按上下箭头来选择某个历史命令. 启动vim 在命令行窗口中输入以下命令即可 vim 直接启动vim vim filena ...
- (转)Oracle RAC日常管理命令
转自:http://www.xuebuyuan.com/1206937.html 一.查看RAC环境 RAC架构,2节点信息 节点1 SQL> show parameter instance N ...
随机推荐
- 第6课:datetime模块、操作数据库、__name__、redis、mock接口
1. datetime模块 import datetime print(datetime.datetime.today()) # 当前时间 2018-01-23 17:22:35.739667 pr ...
- C# POST请求 json格式
/* * url:POST请求地址,例如:url = "http://localhost:35229/ddn/GetPostData"; * postData:json格式的请求报 ...
- vue.js 源代码学习笔记 ----- 工具方法 share
/* @flow */ /** * Convert a value to a string that is actually rendered. { .. } [ .. ] 2 => '' */ ...
- 提高你的javascript代码逼格系列之函数与数组
不知道大家有没有一种感觉,那就是自己写的javascript代码虽然能完全解决工作上的需要,但是,一眼望去,too simple!!!简直就是一个傻子都能看懂的水平,于是,在工作之余,我开始去收集一些 ...
- Caused by: java.lang.AbstractMethodError: org.hibernate.validator.internal.engine.ConfigurationImpl
1.错误描述 严重: StandardWrapper.Throwable org.springframework.beans.factory.BeanCreationException: Error ...
- java数组实现简单的DVD管理
package com; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Scanner; pub ...
- 看完前任三,想起我的前任java女程序员,她曾教会我……
前任三最近非常火了,票房蹭蹭往上升,昨天也去电影院看了,想起了我的前任,她是一名女程序员,为了让我学好java,她曾经亲自教我Java的算法,学算法是件非常重要的事,在这忍住回忆的悲伤,分享给你们. ...
- learn go error
package main // 参考文档: // https://github.com/Unknwon/the-way-to-go_ZH_CN/blob/master/eBook/05.2.md im ...
- Base64编码的 换行 转义
用Base64编码的时候如果出现\n 之类的字符,java中转义. 当字符串过长(一般超过76)时会自动在中间加一个换行符,字符串最后也会加一个换行符.导致和其他模块对接时结果不一致. 解决方法:将 ...
- BZOJ1407 NOI2002 Savage 【Exgcd】
BZOJ1407 NOI2002 Savage Description Input 第1行为一个整数N(1<=N<=15),即野人的数目. 第2行到第N+1每行为三个整数Ci, Pi, L ...