SecureCRT 常用快捷按钮

作者 | JiekeXu
来源 |公众号 JiekeXu DBA之路(ID: JiekeXu_IT)
如需转载请联系授权 | (个人微信 ID:JiekeXu_DBA)

大家好,我是 JiekeXu,很高兴又和大家见面了,今天和大家一起来看看 SecureCRT 常用快捷按钮,欢迎点击上方蓝字“JiekeXu DBA之路”关注我的公众号,标星或置顶,更多干货第一时间到达!

前面写过一篇 SecureCRT 超时自动断开的解决方法阅读量比较高,一直想着要再次分享一下这个 CRT 快捷按钮,可是一拖再拖,大概就拖了两年的时间了,虽然没有什么技术含量,但心中的这个执念依旧存在,这个月一直没有写文章,这算是第一篇吧,在本篇后面也会补上我 CRT 常用 SQL 的命令,这样也算是带上了分享技术的话题。

常用的 Linux 命令行远程连接工具有以下几种:

PuTTY:
优点:支持 SSH、rlogin、Telnet 等协议;绿色软件,无需安装;操作简单,所有操作都在个控制面板中实现。
缺点:不支持同时登陆多个 Linux,需要打开多个窗口才能登陆多个 Linux,这样会造成混乱;算是老牌的 SSH 客户端软件,UI 界面部分有点丑。

Xshell:
优点:支持 SSH1, SSH2, 以及 Windows 平台的 TELNET 协议;界面设计简洁,人性化,用起来让人觉得很舒服;支持标签,打开多个会话链接的时候很方便;可以保存密码,方便下次直接使用,当然要做好电脑安全防护;支持 rz 和 sz 命令,这两个命令在传输少量小文件时非常方便。
缺点:需要付费购买专业版才能享受更多高级功能。

SecureCRT:
优点:支持 SSH、Telnet、rlogin 和串口等协议;提供会话记录功能,可以查看历史会话记录;支持多标签会话窗口;支持从第三方系统导入设置;提供会话脚本编程功能。
缺点:是付费软件,生产环境不建议使用破解版,以免出现安全问题;使用前需要进行比复杂的配置;价格较高。

MobaXterm:
优点:集成了 SSH、Telnet、rlogin、FTP、SFTP 等协议;支持标签,方便同时打开多个会话链接;提供免费版和专业版,专业版拥有更多高级功能;操作简单,界面简洁。

缺点:免费版只支持连接两个终端;专业版需要付费购买才能享受更多高级功能。

下面来分享一直使用的 SecureCRT 快捷按钮设置方法,CRT 快捷按钮是指在 CRT 下方设置了一些常用的命令的按钮,点击某一个按钮就会执行设置好的一些命令,比如下方的查看进程按钮,点击它就可以执行命令行中的“ps -ef |grep smon| grep -v grep”命令来查看进程是否存在,这里的绿色的“进程”或者“查看进程”是个人自定义的中英文名称。

那么,这个下方的按钮怎么显示呢?点击菜单中的“view”子菜单,在“view”子菜单中有一个“Button Bar”的按钮,去勾选上就有了。如果你的 CRT 是绿色破解版的,支持中文,应该是在“查看”菜单中有一个叫“按钮栏”的菜单也是能达到同样的效果。

然后我们就开始新建一个按钮,在出现的状态栏中鼠标右击就会出现下图所示的“New Button”、“Edit Button”等多个选项,首次使用我们一般选项新建,后期在考虑使用编辑或者移动等功能。

我们点击新建按钮时,会出现下图所示的四块可以编辑的区域,左边区域 “Action Function”可以选择发送字符串、运行脚本等多个功能,右边区域写一些常用命令,注意要有换行,这里一般为“\n”换行,每一个换行都需要有“\n”才可以,最后结尾也最好有换行命令才可以执行。左下方区域标签名字暂时叫做“查看进程”,右边区域可以选择按钮颜色,这里选择 Green 绿色,可能其他版本的 CRT 有一定的差别,还请注意识别。

我这里的版本为 8.7.2 版本,最新的版本为 2023 年 7 月 18 日发布的 SecureCRT 9.4.1 版本,更多详细信息请访问官方链接(https://www.vandyke.com/cgi-bin/releases.php?product=securecrt)。

如果你的事绿色中文版的,应该是下图中的样子,注意,以上仅供个人学习使用,非商业用途,如有企业用户使用,请购买正版使用,谢谢!

下面是我作为一个 Oracle DBA 经常使用的命令快捷按钮,可以直接新建按钮使用,如需在 Shell 或者 SQLPLUS 命令行中使用,请自行删除每一行末尾的“\n”换行字符。

1、sqlplus





ps -ef | grep smon \necho $ORACLE_SID \nsqlplus / as sysdba \n set timing on time on \n


2、查看用户状态






set line  240 \nset pages 999 \ncol ACCOUNT_STATUS for a18 \nselect USERNAME,ACCOUNT_STATUS,DEFAULT_TABLESPACE,TEMPORARY_TABLESPACE from dba_users; \n

3、数据库启动时间




set line  240 \ncol HOST_NAME for a30 \nselect INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS from gv$instance; \n

4、查看ASM使用率








set lin 1000 pagesize 999 \ncol PATH for a33 \ncol NAME for a15 \ncol FAILGROUP for a15 \ncol path for a15 \nselect GROUP_NUMBER,DISK_NUMBER,TOTAL_MB/1024,FREE_MB/1024,NAME,FAILGROUP,PATH,FAILGROUP_TYPE from v$asm_disk order by 1; \nselect GROUP_NUMBER,NAME,STATE,TYPE,TOTAL_MB/1024,FREE_MB/1024,USABLE_FILE_MB/1024,HOT_USED_MB,COLD_USED_MB/1024 from v$asm_diskgroup; \n

5、查看用户状态







set line  240 \n col profile for a20 \n set pages 999 \n col username for a25 \ncol ACCOUNT_STATUS for a18 \nselect USERNAME,ACCOUNT_STATUS,CREATED,LOCK_DATE,PROFILE,PASSWORD_VERSIONS,DEFAULT_TABLESPACE from dba_users where account_status='OPEN' order by CREATED asc; \n

6、查看 ASM 使用率




set line  240 \ncol HOST_NAME for a30 \nselect INSTANCE_NAME,HOST_NAME,VERSION,STARTUP_TIME,STATUS from gv$instance; \n

7、查看数据量


select sum(bytes)/1024/1024/1024 Gb from dba_segments where segment_name not like 'BIN$%';\n

8、查看 LOCAL=NO 会话



ps -ef | grep LOCAL=NO | grep -v grep | awk '{print $2}' |wc -l \necho "ps -ef | grep LOCAL=NO | grep -v grep | awk '{print \$2}' | xargs kill -9" \n

9、查看等待事件






set lines 345 pages 345  \n select event, sql_id,sid,serial#,SECONDS_IN_WAIT  from gv$session  \nwhere type <> 'BACKGROUND' and STATUS='ACTIVE'   \n group by event,sql_id,sid,serial#,SECONDS_IN_WAIT   \norder by SECONDS_IN_WAIT desc; \n


10、查看索引列









SET LINE 234 \n COL INDEX_OWNER FOR A20 \n  COL TABLE_OWNER FOR A20 \n  COL TABLE_NAME FOR A25 \n COL INDEX_NAME FOR A30 \n  COL COLUMN_NAME FOR A25 \n  SELECT INDEX_OWNER,TABLE_OWNER,TABLE_NAME,INDEX_NAME,COLUMN_NAME FROM DBA_IND_COLUMNS WHERE TABLE_NAME='&tablename'  and table_owner='&tb_owner'  ORDER BY INDEX_NAME; \n

11、连接会话总数



--select CON_ID,inst_id,count(*),status  from gv$session where type<>'BACKGROUND' group by  con_id,inst_id,status order by 1;\n select inst_id,count(*),status  from gv$session where type<>'BACKGROUND'  group by inst_id,status order by 1; \n

12、表空间使用率












--purge dba_recyclebin; \n col TABLESPACE_NAME for a30 \n set pages 456 \n   SELECT a.tablespace_name,round(total/1024/1024/1024) "Total g", \nround(free/1024/1024/1024) "Free g",ROUND((total-free)/total,4)*100 "USED%" \nFROM (SELECT tablespace_name,SUM(bytes) free FROM DBA_FREE_SPACE \nGROUP BY tablespace_name ) a, \n(SELECT tablespace_name,SUM(bytes) total FROM DBA_DATA_FILES \nGROUP BY tablespace_name) b \nWHERE a.tablespace_name=b.tablespace_name \nORDER BY 4; \n


13、查看有哪些 IP 连接数据库



netstat -anop | grep ESTABLISHED | awk '$4 ~/:1521/' |awk '{print $5}' \n

14、查数据文件大小


select file_id,file_name,bytes/1024/1024,AUTOEXTENSIBLE from dba_data_files  where tablespace_name='&tabs_name'; \n

15、查表空间内前十大表







col TABLE_NAME for a30 \n col OWNER for a30 \nset pagesize 200  \nset linesize 200   \ncol TABLE_NAME for a30  \nselect * from (select TABLESPACE_NAME,OWNER,SEGMENT_NAME "TABLE_NAME",to_number(decode(substr(BYTES/1024/1024,1,1),'.','0'||BYTES/1024/1024,BYTES/1024/1024)) total_MB \nfrom dba_segments where TABLESPACE_NAME ='&tablespacename' and SEGMENT_TYPE='TABLE' order by total_MB desc ) where rownum<=10; \n

16、查看用户下 Lob 字段大小




















SET LINE 345 PAGES 456 \nCOL OWNER FOR a20   \nCOL TABLE_NAME FOR A40 \nCOL SEGMENT_TYPE FOR A20  \ncol COLUMN_NAME FOR A35   \nSELECT \nA.OWNER, \nB.TABLE_NAME, \nB.COLUMN_NAME,  \na.SEGMENT_TYPE,  \nROUND(SUM(A.BYTES/1024/1024/1024),2) G  \nFROM DBA_SEGMENTS A  \nLEFT JOIN DBA_LOBS B \nON A.OWNER = B.OWNER \nAND A.SEGMENT_NAME = B.SEGMENT_NAME \nWHERE A.SEGMENT_TYPE='LOBSEGMENT' \nAND A.OWNER in('&OWNER')   \nGROUP BY A.OWNER,B.TABLE_NAME,B.COLUMN_NAME,a.SEGMENT_TYPE \nORDER BY 5 DESC; \n


17、查隐含参数






set line 345 \n col name for a50 \ncol value for a30  \n col description for a80 \nselect a.ksppinm name, b.ksppstvl value,a.ksppdesc description from x$ksppi a, x$ksppcv b where a.indx = b.indx and a.ksppinm like '%&name%'; \n

18、查看 ADG 延迟








set linesize 150;  \nset pagesize 9999; \ncolumn name format a13; \n column value format a20; \ncolumn unit format a30;  \ncolumn TIME_COMPUTED format a30; \n select name,value,unit,datum_time,time_computed from v$dataguard_stats where name in ('transport lag','apply lag');\n

19、外键没创建索引的表



















set linesize 250   \nset pagesize 9999  \ncol CONSTRAINT_NAME for a40 \nwith cons as \n (select /*+materialize*/   \n   owner, table_name, constraint_name \n    from dba_constraints \n   where owner = '&OWNER' \n     and constraint_type = 'R'), \nidx as  \n (select /*+materialize*/     \n   table_owner, table_name, column_name \n    from dba_ind_columns     \n   where table_owner = '&TABLE_OWNER')   \nselect owner, table_name, constraint_name, column_name   \n  from dba_cons_columns  \n where (owner, table_name, constraint_name) in (select * from cons)  \n   and (owner, table_name, constraint_name) not in (select * from idx);  \n

20、需要收集直方图的列






















--最后一个纯属凑数,注意这个没有 \n 换行,可直接使用--select a.owner,       a.table_name,       a.column_name,       b.NUM_ROWS,       a.num_distinct Cardinality,       round(a.num_distinct / b.NUM_ROWS * 100, 2) selectivity  from dba_tab_col_statistics a, dba_tables b where a.owner = b.OWNER   and a.table_name = b.TABLE_NAME   and a.owner = '&OWNER'   and round(a.num_distinct / b.NUM_ROWS * 100, 2) < 5   and num_rows > 50000   and (a.table_name, a.column_name) in       (select o.name, c.name          from sys.col_usage$ u, sys.obj$ o, sys.col$ c, sys.user$ r         where o.obj# = u.obj#           and c.obj# = u.obj#           and c.col# = u.intcol#           and r.name = '&OWNER') order by 2,6;


全文完,希望可以帮到正在阅读的你,如果觉得此文对你有帮助,可以分享给你身边的朋友,同事,你关心谁就分享给谁,一起学习共同进步~~~

欢迎关注我的公众号【JiekeXu DBA之路】,第一时间一起学习新知识!以下三个地址可以找到我,其他地址都属于盗版侵权爬取我的文章,而且代码格式、图片等均有错乱,不方便阅读,欢迎来我公众号或者墨天轮地址关注我,第一时间收获最新消息。

欢迎关注我的公众号【JiekeXu DBA之路】,第一时间一起学习新知识!

————————————————————————————
公众号:JiekeXu DBA之路
CSDN :https://blog.csdn.net/JiekeXu
墨天轮:https://www.modb.pro/u/4347
————————————————————————————



分享几个数据库备份脚本

Oracle 表碎片检查及整理方案

OGG|Oracle GoldenGate 基础2022 年公众号历史文章合集整理

Oracle 19c RAC 遇到的几个问题

OGG|Oracle 数据迁移后比对一致性

OGG|Oracle GoldenGate 微服务架构

Oracle 查询表空间使用率超慢问题一则

Oracle 11g升级到19c需要关注的几个问题

国产数据库|TiDB 5.4 单机快速安装初体验

Oracle ADG 备库停启维护流程及增量恢复

Linux 环境搭建 MySQL8.0.28 主从同步环境

从国产数据库调研报告中你都能了解哪些信息及我的总结建议

请使用浏览器的分享功能分享到微信等