- 浏览: 5104310 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
silence19841230:
先拿走看看
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
masuweng 写道发下源码下载地址吧!三个相关文件打了个包 ...
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
发下源码下载地址吧!
SpringBoot2.0开发WebSocket应用完整示例 -
masuweng:
SpringBoot2.0开发WebSocket应用完整示例 -
wallimn:
水淼火 写道你好,我使用以后,图标不显示,应该怎么引用呢,谢谢 ...
前端框架iviewui使用示例之菜单+多Tab页布局
在ORACLE的维护过程中,目前ORACLE有很多易用的客户端工具,如plsql、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的相关文档,提高维护技能
---------------------------------------------------------------
set pagesize 0; -- 输出每页行数,缺省为24,为了避免分页,可设定为0
set heading off; -- 输出域标题,缺省为on
set echo off; -- 显示start启动的脚本中的每个sql命令,缺省为on
set feedback on; -- 回显本次sql命令处理的记录条数,缺省为on
set termout off; -- 显示脚本中的命令的执行结果,缺省为on
set trimout on; -- 去除标准输出每行的拖尾空格,缺省为off
set trimspool on; -- 去除重定向(spool)输出每行的拖尾空格,缺省为off
set linesize 30000; -- 输出一行字符个数,缺省为80
set numwidth 22; -- 输出number类型域长度,缺省为10
SET VERIFY OFF ; -- 去掉输出结果中的脚本回写
set colsep | -- 域输出分隔符 缺省为 TAB键
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; -- 修改日期显示格式
-----------------------------------------------------------------
技巧一:修改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的相关文档,提高维护技能
---------------------------------------------------------------
set pagesize 0; -- 输出每页行数,缺省为24,为了避免分页,可设定为0
set heading off; -- 输出域标题,缺省为on
set echo off; -- 显示start启动的脚本中的每个sql命令,缺省为on
set feedback on; -- 回显本次sql命令处理的记录条数,缺省为on
set termout off; -- 显示脚本中的命令的执行结果,缺省为on
set trimout on; -- 去除标准输出每行的拖尾空格,缺省为off
set trimspool on; -- 去除重定向(spool)输出每行的拖尾空格,缺省为off
set linesize 30000; -- 输出一行字符个数,缺省为80
set numwidth 22; -- 输出number类型域长度,缺省为10
SET VERIFY OFF ; -- 去掉输出结果中的脚本回写
set colsep | -- 域输出分隔符 缺省为 TAB键
alter session set nls_date_format='yyyy-mm-dd hh24:mi:ss'; -- 修改日期显示格式
-----------------------------------------------------------------
发表评论
-
Oracle数据库相关系统突然提示“SQLException:违反协议”
2024-02-19 15:50 385SQLException:违反协议这个异常可能由很多的 ... -
CentOS在Docker中安装Oracle
2024-02-06 12:13 5241.拉取Oracle镜像,并检 ... -
Windows Server安装oracle数据库一直停在82%
2023-02-04 12:01 417网上有个说法:服务器超过一定数量的CPU后,将不能正常安装 ... -
ORA-04030错误处理
2023-02-04 11:52 2217【错误描述】 错误信息如下: ORA-04030:在尝 ... -
ORA-04030错误处理
2023-02-04 11:45 403【错误描述】 错误信息如下: ORA-04030:在尝 ... -
Linux安装MySQL数据库
2019-06-10 22:27 16261.进入安装包所在目录,解压: tar zxvf mysql- ... -
确定MySQL在Linux系统中配置文件的位置
2019-04-14 19:30 26341.通过which mysql命令来查看mysql的安装位置。 ... -
mysql set names 命令和 mysql 字符编码问题
2019-04-12 00:34 1017转自:https://www.cnblogs.com/digd ... -
MYSQL中取当前周/月/季/年的第一天与最后一天
2018-11-17 23:16 2099转自:https://blog.csdn.net/ ... -
Oracle删除大量数据的实践
2016-11-07 18:03 5680一、引言 从来没有 ... -
Oracle 数据库简明教程 V0.1
2016-03-23 21:01 1923供初学者入门学习使用,以开发者常见、常用的知识为主,基本上 ... -
Oracle拆分字符串函数
2016-03-23 10:58 3237create or replace type string ... -
Oracle数据库远程连接无响应
2016-03-21 10:20 4158故障现象: 服务器本机使用sqlplus / as s ... -
Oracle PGA详解
2015-10-21 15:34 11280转自:http://yanguz123.iteye.com/b ... -
Oracle12C导入dmp数据
2015-10-08 23:43 20417Oracle12C,发生了较大的变化。以前熟悉的东西变得陌 ... -
SQLLDR数据导入小结
2015-07-25 22:06 73891.创建数据表 CREATE TABLE ... -
Window7安装Oracle10
2015-03-06 12:14 1506每次安装都要百度,转到自己的博客上,找起来方便,还能增加访 ... -
Oracle SQL Developer 连接 Mysql 数据库
2015-02-25 19:36 3558下载JDBC包,解压缩这里只要mysql-connector- ... -
Mysql数据备份与恢复
2015-02-25 19:15 1250备份/恢复策略 1. 要定期做 mysql备份,并考虑系统可以 ... -
Oracle中merge into的使用
2015-01-23 22:57 3914引自:http://www.cnblogs.com/highr ...
相关推荐
介绍了在sqlplus的常见语法,set linesize,set pagesize等,设置数据库时间格式,设置字符集
Uedit32与SQLPlus结合使用技巧 让你觉得Uedit32与SQLPlus完美结合
Oracle SQLPLUS 常用指令 技巧 详细解说
SQLPLUS 常用指令收集与技巧, 改文档中列举了sql脚本中使用的各种sqlplus命令技巧,在编写shell时很有用
sqlplus使用的一些技巧.txt SQLPLUS命令的使用大全.txt SQLPLUS命令的使用大全2.txt
SQLPlus中的复制和粘贴技巧 SQLPlus中的复制和粘贴技巧 SQLPlus中的复制和粘贴技巧
SQLPLUS相关技巧
...
...
oracle 应用指南 技巧 sqlplus常用命令
...
...
关于sqlplu在Bash_shell上使用技巧
之前的不能用,重新传一个! SQL*PLUS 详细介绍关系数据库的SQL语言及其在ORACLE中的应用技巧。 是学习与复习SQL语句,熟悉ORACLE的好教程。
主要介绍了使用sqlplus创建DDL和DML操作技巧,非常不错,具有参考借鉴价值,需要的朋友可以参考下
sqlplus在启动时会自动运行两个脚本:glogin.sql、login.sql这两个文件 ...可以在login.sql文件中加入一些常用设置使用SQLPLUS时更便捷,以下试验在ORACLE 11.2.0.1.0上进行 默认$ORACLE_HOME/sqlplus/admin路径下存在gl
oracle 学习记载笔记,记载了导入导出,sqlplus的使用技巧,还有各种独特函数等等
第十章 其它一些常见问题及技巧 212 §10.1 一些常见问题 212 §10.1.1 Oracle与2000年问题 212 §10.1.2 如何正确插入日期数据 213 §10.1.3 在查询中只返回满足条件的部分记录 214 §10.1.4 快速大量删除数据...
内容包括SQLPLUS的命令,sql的结构、sql语句的使用技巧以及PL/SQL的语言的详细介绍;Oracle高性能SQL调整.pdf