[20170617]vim中调用sqlplus.txt

--//以前写过一篇emacs下调用sqlplus的文章,一直想学emacs,受限制自己掌握vim,对学习它没有兴趣,原链接如下:
--//http://blog.itpub.net/267265/viewspace-1309032/

--//实际上vim也有插件连接数据库,我觉得不好用,一直没这样用.

--//今天在整理vim相关设置时,发现我自己以前也定义一些方法,自己也拿出来分享:

noremap  <Leader>q1 Yp!!sqlplus -s scott/btbtms@test01p<CR>
noremap  <Leader>q2 Yp!!sqlplus -s sys/btbtms@test01p as sysdba<CR>
vnoremap  ;q1       "ay<ESC>gv!sqlplus -s scott/btbtms@test01p<CR>
vnoremap  ;q2       "by<ESC>gv!sqlplus -s sys/btbtms@test01p as sysdba<CR>

--//将以上信息放在vim配置文件中,注意打入命令一定要正确,后面要有分号.当然错误不执行就是了.
--//根据自己需要修改数据库连接串以及用户,口令信息.当然这样存在安全问题.^_^.

select * from dept;
--//移动到哪一行,打入\q1

DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     DALLAS

@ checkpoint
--//打入q2

REDO:

检查点队列
  检查点队列                                           on disk rba                                        检查点队列
    脏块数量                                           时间戳              当前时间                       on disk rba scn    检查点心跳
       CPDRT low_rba              on_disk_rba          CPODT               SYSDATE              DIFF_DATE CPODS                   CPHBT  CURRENT_SCN     DIFF_SCN         INDX
------------ -------------------- -------------------- ------------------- ------------------- ---------- ---------------- ------------ ------------ ------------ ------------
          32 1470.13787.0         1470.13971.0         2017-06-17 22:08:11 2017-06-17 22:08:28      17.00 25428734            946961434     25428740            6            0

REDO ( Hexadecimal ):

检查点队列
  检查点队列                                           on disk rba                                        检查点队列
    脏块数量                                           时间戳              当前时间                       on disk rba scn    检查点心跳
       CPDRT low_rba16            on_disk_rba16        CPODT               SYSDATE              DIFF_DATE CPODS                   CPHBT  CURRENT_SCN     DIFF_SCN         INDX
------------ -------------------- -------------------- ------------------- ------------------- ---------- ---------------- ------------ ------------ ------------ ------------
          32 0x5be.35db.0         0x5be.3693.0         2017-06-17 22:08:11 2017-06-17 22:08:28      17.00 25428734            946961434     25428741            7            0

FULL CHECKPOINT:

rtckp_rba            RTCKP_SCN         CURRENT_SCN     DIFF_SCN RTCKP_TIM           SYSDATE              DIFF_DATE
-------------------- ---------------- ------------ ------------ ------------------- ------------------- ----------
1470.2.16            25426654             25428742         2088 2017-06-17 21:39:53 2017-06-17 22:08:28    1715.00

v$instance_recovery:

INST_ID ACTUAL_REDO_BLKS TARGET_REDO_BLKS     90%_blks TIMEOUT_BLKS  TARGET_MTTR ESTIMATED_MTTR
------------ ---------------- ---------------- ------------ ------------ ------------ --------------
           1              183            30962       165888        30962            0             63

--//这种方式的缺点就是必须将sql语句写一行内.
--//也可以这样操作,按v或者V,选中文本,进入v模式,然后打入;q1.
--//提醒一下,如果使用shift+方向键选择的进入的是"选择模式",按ctrl+g就可以切换为"可视模式"

select
*
from
dept;

--//这样显示,缺点就是打入的sql语句消失了.你可以先copy 2份再执行.

DEPTNO DNAME          LOC
---------- -------------- -------------
        10 ACCOUNTING     NEW YORK
        20 RESEARCH       DALLAS
        30 SALES          CHICAGO
        40 OPERATIONS     DALLAS

--//另外我还把内容放在寄存器a,b,可以使用"ap ,"bp取出.

--//提醒注意一点执行的语句不要是dml语句,比如insert,update,delete语句,还有truncate语句.因为缺省就是退出就是commit.存在一定的风险.
--//执行select语句一般问题不大.作为测试学习也应该避免dml语句,不然把这种习惯带到生产库出问题就麻烦了.
--//补充1点,还可以适当设置大一点linesize,这样避免出现折行想象.当然还有致命的缺点,每次执行都要打开与关闭数据库的连接.而且连接串是写死的.

--//附上checkpoint.sql脚本
$ cat checkpoint.sql
column low_rba format a20
column low_rba16 format a20
column on_disk_rba format a20
column on_disk_rba16 format a20
column rtckp_rba format a20
column diff_date format 999999.99
column CPOSD_ono_disk_rba_scn format 99999999999999999999999999999999
column cpdrt heading "检查点队列|脏块数量|CPDRT"
column cpodt_on_disk_rba heading "检查点队列|on disk rba|时间戳|CPODT"
column cpods heading "检查点队列|on disk rba scn|CPODS"
column cphbt heading "检查点心跳|CPHBT"
column current_sysdate heading "当前时间|SYSDATE"
set num 12
PROMPT
PROMPT REDO:
PROMPT
SELECT cpdrt ,
       cplrba_seq || '.' || cplrba_bno || '.' || cplrba_bof "low_rba",
       cpodr_seq || '.' || cpodr_bno || '.' || cpodr_bof "on_disk_rba",
       TO_DATE (CPODT, 'MM-DD-YYYY HH24:MI:SS') cpodt_on_disk_rba,
       SYSDATE current_sysdate,
       ROUND ( (SYSDATE - TO_DATE (CPODT, 'MM-DD-YYYY HH24:MI:SS')) * 86400,
              2)
          diff_date,
       CPODS ,
           CPHBT,
       current_scn,
       current_scn - cpods diff_scn,
       indx
  FROM x$kcccp, v$database
WHERE CPLRBA_SEQ <> 0;

PROMPT
PROMPT REDO ( Hexadecimal ):
PROMPT

SELECT cpdrt ,
       '0x'||to_char(cplrba_seq,'FMxxxxxxxx') || '.' || to_char(cplrba_bno,'FMxxxxxxxx')|| '.' || to_char(cplrba_bof,'FMxxxx') "low_rba16",
       '0x'||to_char(cpodr_seq,'FMxxxxxxxx') || '.' || to_char(cpodr_bno,'FMxxxxxxxx') || '.' || to_char(cpodr_bof,'FMxxxx') "on_disk_rba16",
       TO_DATE (CPODT, 'MM-DD-YYYY HH24:MI:SS') cpodt_on_disk_rba,
       SYSDATE current_sysdate,
       ROUND ( (SYSDATE - TO_DATE (CPODT, 'MM-DD-YYYY HH24:MI:SS')) * 86400,
              2)
          diff_date,
       CPODS ,
           CPHBT,
       current_scn,
       current_scn - cpods diff_scn,
       indx
  FROM x$kcccp, v$database
WHERE CPLRBA_SEQ <> 0;

PROMPT
PROMPT FULL CHECKPOINT:
PROMPT
SELECT rtckp_rba_seq || '.' || rtckp_rba_bno || '.' || rtckp_rba_bof
          "rtckp_rba",
       rtckp_scn,
       current_scn,
       current_scn - rtckp_scn diff_scn,
       TO_DATE (rtckp_tim, 'MM-DD-YYYY HH24:MI:SS') rtckp_tim,
       SYSDATE,
       ROUND (
          (SYSDATE - TO_DATE (rtckp_tim, 'MM-DD-YYYY HH24:MI:SS')) * 86400,
          2) diff_date
  FROM x$kccrt, v$database;

PROMPT
PROMPT v$instance_recovery:
PROMPT
SELECT inst_id,
       actual_redo_blks,
       target_redo_blks,
       LOG_FILE_SIZE_REDO_BLKS AS "90%_blks",
       LOG_CHKPT_TIMEOUT_REDO_BLKS AS timeout_blks,
       target_mttr,
       estimated_mttr
  FROM gv$instance_recovery;

[20170617]vim中调用sqlplus.txt相关推荐

  1. 在shell脚本中调用sqlplus

    #!/bin/bashsqlplus dc_file_data_js/dc_file_data_js << EOF1 set linesize 500; set pagesize 1000 ...

  2. 转:Vim中显示不可见字符

    https://blog.csdn.net/wusecaiyun/article/details/50435416 在Linux中,cat -A file可以把文件中的所有可见的和不可见的字符都显示出 ...

  3. sqlplus中调用shell_(转)shell 调用sqlplus各种情况示例

    一.最简单的shell里调用sqlplus. $ vi test1.sh #!/bin/bash sqlplus -S /nolog > result.log < set heading ...

  4. 如何在Vim中复制到剪贴板?

    是否可以直接从Vim复制到剪贴板? yy只复制东西给Vim的内部缓冲区. 我想复制到操作系统的剪贴板. 在Vim中有没有这样的命令,或者你只能在Vim中猛拉东西? #1楼 在vimrc文件中,您可以指 ...

  5. vim中taglist使用

    other links:vim插件 ctags 和 taglist 的安装和使用  http://kelaocai.javaeye.com/blog/105853 本节所用命令的帮助入口: :help ...

  6. lsdyna如何设置set中的node_list_技术成长日记-Vim-3.Vim中重要的概念

    3.1 配置文件.vimrc或_vimrc .vimrc文件是个人定制Vim的脚本文件,该文件中的每一行都会被当作Ex命令在Vim进行初始化的时候执行.一般在类Unix系统中把该文件存放在$HOME/ ...

  7. Vim中输入法与编码设置

    目录 输入法与编码设置的FAQ 1 中文输入法 1.1 Windows 1.2 Linux 2 编码问题 2.1 怎么让Vim正确识别编码? 2.1.1 关于编码的一些基础 2.2 为什么有乱码? 2 ...

  8. C#中调用Windows API的要点

    在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...

  9. 如何获取Vim中所有已安装颜色方案的列表?

    有没有办法获得Vim中所有已安装颜色方案的列表? 这样可以很容易地选择一个而不查看.vim目录. #1楼 您可以在/usr/share/vim/vimNN/colors下看到颜色方案列表( NN是版本 ...

最新文章

  1. ABAP实现本地化的资产负债表和损益表
  2. 【渝粤教育】国家开放大学2018年秋季 0434-22T高级英语口语 参考试题
  3. java.net.url 中文乱码_jsp get Url请求方式中文乱码问题解决办法
  4. 虚拟机python建站_搭建本地虚拟服务器linux(CentOS 7)的python虚拟环境(Hyper-V演示)...
  5. oopc——6.oopc的好处
  6. python installer 在 mac 运行_python – 如何在Mac OS X 10.7中的virtualenv中安装PyAudio
  7. VMWare workstation Pro 14 For Linux key
  8. union all关联两个不相关的表,按时间排序
  9. LINK : fatal error LNK1168
  10. Atitit arch design context软件架构设计的内容 目录 1. 考虑到架构设计原则 1 1.1. 开发效率 稳定性 可靠些等 性能 1 1.2. 简单原则则 1 1.3. 配置
  11. vb.net 读写cookie
  12. vb.net 自定义progressbar
  13. latex写姓名_LaTeX:拥有(中文)姓名
  14. Arduino 用Proteus仿真基础知识和实例
  15. 水电缴费系统php源码_水电缴费管理系统(示例代码)
  16. 2016年银行业专业人员初级资格考试《个人理财》考试大纲
  17. git submodule update --init时报错:Failed to recurse into submodule path third_party/protobuf
  18. 让更多人用到自己的代码,让信仰在风中飘扬
  19. Navicat下载,安装,PJ和简单使用的详细图文教程
  20. 如何让自己专注于工作

热门文章

  1. 刚刚有水了一道,用递归实现进制转换
  2. linux信号学习02
  3. 哈希表(闭散列、拉链法--哈希桶)
  4. c语言查找字符串au,几个C语言词汇不懂,望老鸟们相助(俺是新手哦)
  5. Linux编程手册读书笔记第四章(20140407)
  6. 每日一题:leetcode80.删除有序数组中的重复元素贰
  7. (C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
  8. 计算机组成原理(一)计算机系统概述
  9. STM32时钟树解析
  10. IA-32 Architecture: the function of segment regitster(CS DS SS ES)