SQLPLUS 使用的一些技巧

为什么80%的码农都做不了架构师?>>>   hot3.png

SQLPLUS 使用的一些技巧

        在ORACLE的维护过程中,目前ORACLE有很多易用的客户端 工具,如pl sql、delveloer、TOAD,但作为 数据 管理员也需要经常和SQLPLUS 打交道,一些常用的操作往往需要在SQLPLUS完成,如果SQLPLUS不熟悉也在很大程度上降低我们的维护效率,本文主要介绍一些在 管理 数据过程中比较有用的的SQLPLUS技巧。

        技巧一:修改SQLPLUS的提示符

        1  问题描述:

        ORACLE的SQLPLUS默认情况下是没有 系统提示符的,由于在日常维护操作中经常要在SQLPLUS下做一些高危险的操作如shutdown之类的操作,如果操作的对象错误将导致设备事故。

        2  解决办法:

        通过修改SQLPLUS提示符号,可以明确地标识所要操作的数据库,避免操作错误;

        3  处理过程:

        SQLPLUS 程序在启动情况下可以通过 设置相关参数,让其执行login.sql,然后通过修改login.sql脚本可以定义一些语句,达到修改SQLPLUS的提示符的目的,便于识别,login.sql的 文件路径需要通过操作系统环境变量SQLPATH进行 设置

        WINDOWS环境下,通过修改 注册表项目在SQLPATH(位置一般在ORACLE-HOME下)在 注册表中,可以设置为D:/oracle/ora92/dbs

        UNIX的可以直接在ORACLE 用户的profile文件中加入SQLPATH环境变量,可以设置export SQLPATH=/home/oracle/app/oracle/product/9.2/dbs;具体的login.sql,如下所示,可以根据需要实际修改:         set serveroutput on size 1000000

        column old_name new_value pname

        set termout off

        select lower(user) || '@' ||instance_name old_name from v$INSTANCE;

        set sqlprompt '&pname> '

        set termout on



        通过这样修改每次通过SQLPLUS登陆系统的时候会显示username@instancname>更好地识别所要连接的数据库。注意:连接用户必须要有查看v$INSTANCE的 权限

        技巧二:在SQLPLUS 下执行操作系统 命令

        在使用SQLPLUS的过程中,经常要执行一些操作系统方面的命令,可以通过两种方法:

        1)在SQLPLUS命令行下执行host命令,可以切换到操作系统命令行下,执行完后exit可以切换回SQLPLUS命令行下。

        2)直接在SQLPLUS 下执行敲一个”!”后面跟上具体的命令行(但在windows下不支持)。

        技巧三:在SQLPLUS修改sql语句:

        使用SQLPLUS的过程中也经常需要修改sql语句,但是SQLPLUS下的修改sql语句的命令过于烦琐不好记忆,可以通过定义相关变量达到很好的效果。

        1)在UNIX 下可以定义define_editor=vi,如果需要修改sql语句,直接在命令行下用edit就可以进入vi环境,和vi操作 功能一样,方便操作,设置办法直接在sqlplus的命令行下敲:

        Define_editor=vi;

        在windows下可以定义define_editor=notepad,如果需要修改sql语句,直接在命令行下用edit就可以进入notepad编写环境,windows下操作就方便多了;

        技巧四:在SQLPLUS下查看sql语句的执行时间情况

        1)可以通过直接在sqlplus命令行下执行命令set time on(打开sql语句的执行时间显示);

        2)在sqlplus命令行下执行命令 set timing on(统计sql语句的执行时间);

        技巧五:在sqlplus 下查看SQL语句的执行计划

        在业务维护过程中,经常需要查看某个sql语句执行计划,看是否使用到合适的索引等,可以通过下操作来完成         set autotrace traceonly exp

        select * from cncdlp114.t_unit where unitcode='hwjsgs';

        set autotrace off



        执行完成后可以看到语句的执行计划:

        注意:执行操作前的前提该用户下有plan_table表(一般都有),如果没有可以通

        过语句来建立          -- Create table
        create table PLAN_TABLE
        (
          STATEMENT_ID      VARCHAR2(30),
          PLAN_ID           NUMBER,
          TIMESTAMP         DATE,
          REMARKS           VARCHAR2(4000),
          OPERATION         VARCHAR2(30),
          OPTIONS           VARCHAR2(255),
          OBJECT_NODE       VARCHAR2(128),
          OBJECT_OWNER      VARCHAR2(30),
          OBJECT_NAME       VARCHAR2(30),
          OBJECT_ALIAS      VARCHAR2(65),
          OBJECT_INSTANCE   INTEGER,
          OBJECT_TYPE       VARCHAR2(30),
          OPTIMIZER         VARCHAR2(255),
          SEARCH_COLUMNS    NUMBER,
          ID                INTEGER,
          PARENT_ID         INTEGER,
          DEPTH             INTEGER,
          POSITION          INTEGER,
          COST              INTEGER,
          CARDINALITY       INTEGER,
          BYTES             INTEGER,
          OTHER_TAG         VARCHAR2(255),
          PARTITION_START   VARCHAR2(255),
          PARTITION_STOP    VARCHAR2(255),
          PARTITION_ID      INTEGER,
          OTHER             LONG,
          DISTRIBUTION      VARCHAR2(30),
          CPU_COST          INTEGER,
          IO_COST           INTEGER,
          TEMP_SPACE        INTEGER,
          ACCESS_PREDICATES VARCHAR2(4000),
          FILTER_PREDICATES VARCHAR2(4000),
          PROJECTION        VARCHAR2(4000),
          TIME              INTEGER,
          QBLOCK_NAME       VARCHAR2(30)
        )


        结束语:

        其实ORACLE的SQLPLUS功能是很强大的,如果想研究其它的一些功能可以参考

        ORACLE的相关文档,提高维护技能
From: http://www.ixpub.net/thread-870623-1-5.html

原文链接: http://blog.csdn.net/t0nsha/article/details/3639935

转载于:https://my.oschina.net/dtec/blog/46841

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/548588.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RMAN 还原与恢复

为什么80%的码农都做不了架构师?>>> -- -- RMAN 还原与恢复 -- 在Oracle中,三大文件即控制文件,数据文件,日志文件的丢失与破坏都将需要使用还原或恢复来使数据库正常化。而RMAN还原与恢复 是实现数据库完整性、可靠性…

在阿里云服务器Windows Server 2012r IIS 上部署.NET网站

本文转载自这篇文章,转载记录一下,万一以后要用到可以作为参考。 1、添加站点 首先创建连接池,如下图所示: 然后添加网站,如下图所示: 添加网站这里,需要注意上图中这个画框的这个位置&#xf…

ASP.NET MVC 利用AreaRegistration进行Area区域模块化开发

背景资料: 随着业务的需要,结构需求越来越多,View文件夹下的文件夹也越来越多,又或者需要更改结构的页面路径,另外可能是多个人合作开发,有多个WEB项目需要合并在一个网站中访问。 用Areas可以解决上述问…

【吼吼睡cocos2d学习笔记】第四章 - 第一个游戏

来让我们开始第一个游戏的制作。 这个过程可能有点艰辛,但是只要坚持下来,第一个游戏往往能给我们带来巨大的收益(当然这个收益不是经济上的:-P) 先上截图: iPad中: 游戏构思 角色 在屏幕的上方,有一定数量…

如何从iPhone / iPod Touch / iPad连接

如何从iPhone / iPod Touch / iPad连接 本文将介绍从iPhone / iPod Touch / iPad等设备连接到已启用L2TP over IPsec功能的PacketiX 服务器的方法。 操作前需要按照“在服务器上启用IPsec功能”的提示,在服务器端进行设置。如何增加一个连接设置 首先,你…

POJ 3250 Bad Hair Day【单调队列】

Description Some of Farmer JohnsNcows (1 ≤N≤ 80,000) are having a bad hair day! Since each cow is self-conscious about her messy hairstyle, FJ wants to count the number of other cows that can see the top of other cows heads. Each cowihas a specified heig…

2012年3月编程语言排行榜:JavaScript超越Perl和Python

2012年3月编程语言排行榜:JavaScript超越Perl和Python TIOBE 于昨日公布了2012年3月编程语言指数排行榜。排名前三的语言是:Java、C 和 C#。 在本月排行榜中,JavaScript上升至第8位。由于网站越来越依赖JavaScript,因此JS的流行程…

ASP.NET MVC 多语言开发简单案例

首先,新建一个空的MVC项目,增加一个名叫Language的文件夹用于存放资源文件,如下图所示: 在Language文件夹中,增加两个资源文件,分别用于存储中文和英文,如下图所示: 如何添加资源文件…

C#中使用NPIO实现导入导出Excel简单操作

本文介绍了在Winform中使用NPOI(PIO项目下的.Net组件)来操作Excel文件,而无需安装Office。 要实现的效果是这样的: 1、导出Excel:根据指定datatable,弹出导出窗口,用户自定义路径、导出名,然后导出。 2、…

3招seo技巧让你把关键词做进百度前三

这个技巧也没有什么,说白了就是个百度点击原理!当然,这个标题也就是一个标题党,但是的确能让你的排名靠前,因为我之前测试过,我做过一个词,有10个人,点击一下,隔天就第一…

ASP.NET MVC 中删除无用视图引擎

默认情况下,ASP.NET MVC 同时支持 WebForm 和 Razor 引擎,而我们通常在同一个项目中只用到了一种视图引擎,如Razor,那么我们就移除没有使用的视图引擎,提高View视图的检索效率。在没有删除WebForm引擎之前,…

VRRP在生产环境中的应用

该案例是笔者做过的一个网络改造项目,同时为了保密只介绍VRRP方面的配置以及要注意的事项。 该方案时某医院核心网络,通过两台S8610走VRRP(和网关相连)。网络拓扑如下 S8610_1配置 en config hostname S8610_1 enable sec ******* line vty 0 4 pass ***…

隐藏ASP.NET MVC版本

默认情况下,ASP.NET MVC网站会把版本号提供给浏览器,如下图所示: 只需在Global.asax中添加一句代码即可: MvcHandler.DisableMvcResponseHeader true; 如下图所示: protected void Application_Start(){MvcHandler.…

ASP.NET MVC 使用Log4Net记录系统运行中问题

log4net是.Net下一个非常优秀的开源日志记录组件。log4net记录日志的功能非常强大。它可以将日志分不同的等级,以不同的格式,输出到不同的媒介。 在NuGet程序包中下载log4Net组件,如下图所示: 打开Web.config文件,在&…

ASP.NET MVC 使用Log4Net在不同目录中记录不同类型的日志

在上一篇文章中,实现了利用Log4Net记录系统中出现的问题。如果同时还需要记录用户操作的监控日志,就需要一些修改 修改Web.Cofig配置文件 ,增加一个logger节点和appender节点,用于监控操作日志配置,并且设置不同的日志文件路径&am…

简明python教程 --C++程序员的视角(七):异常

当你的程序中出现某些 异常的 状况的时候,异常就发生了。例如,当你想要读某个文件的时候,而那个文件不存在。或者在程序运行的时候,你不小心把它删除了。上述这些情况可以使用异常来处理。 假如你的程序中有一些无效的语句&#x…

【流媒體】Android 实时视频采集—Camera预览采集

【流媒體】Android 实时视频采集—Cameara预览采集 SkySeraph Mar 26th 2012 SZ Email:skyseraph00163.com 更多精彩请直接访问SkySeraph个人站点:www.skyseraph.com 流媒体系列: http://skyseraph.com/2012/04/11/Media/流媒体专题/ 1 概…

C#中使用SqlBulk百万级数据秒级插入

本文转自这篇文章,提供了一种较快的数据插入的思路,转过来做个记录。 #region static void Insert() {Console.WriteLine("使用Bulk插入的实现方式");Stopwatch sw new Stopwatch();DataTable dt GetTableSchema(); using (SqlConnection …

利用JQuery插件CleverTabs实现多页签打开效果

在VS中,我们能打开多页签,并在不同的页签之间进行浏览和操作,这一功能通过JQuery插件CleverTabs也能实现此效果。CleverTabs下载请点击这里:JQuery CleverTabs 本文采用ASP.NET MVC技术实现效果:要在布局页中点击不同的…

精通ASP.NET MVC ——路由

本文章将关注定义路由,并使用它们去处理URL,使用户能够到达控制器和动作。 文章非常长,可以对路由机制有较初步的了解。首先创建示例项目,项目名为UrlAndRoutes,如下图所示: 然后是创建示例控制器和示例视图…