o2-SQL *Plus设置login.sql登录设置

本文介绍了如何通过创建并利用login.sql文件来自动化配置SQL*Plus环境,包括设置pagesize、linesize、serveroutput等参数,以减少每次使用时的繁琐操作。特别指出在数据库未启动的情况下,此方法可能遇到的问题,并提供了相关解决方案。
摘要由CSDN通过智能技术生成
在使用SQL *Plus过程中,常用sqlplus 每次可能都要set pagesize \set linesize \set serveroutput很麻烦。为了方便起见,可以通过oracle提供的login.sql方式,在login.sql中设置好自定义参数,每次打开SQL *Plus的时候自动进行调用。而不用我们每次手动设置。

  可以将login.sql文件拷贝到oracle用户的当前目录下(home/oracle)或者设置SQLPATH环境变量,指向login.sql所在的目录。

注:放在当前目录,直接sqlplus / as sysdba 即会使用login.sql,

如果是设置SQLPATH,可以export SQLPATH='login.sql所放目录'

在我的实验中出现个问题,如果数据库没有启动,则这样启动的话,显示是有问题的。

  以后我们在使用别到别的参数时,可以自己手动在login.sql文件中添加。

define _editor=vi
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
column plan_plus_exp format a80
column global_name new_value gname
set termout off
define gname=idle
column global_name new_value gname
select lower(user)||'@'||substr(global_name, 1, decode(dot, 0, length(global_name), dot-1))global_name
 from (select global_name, instr(global_name,'.')dot from global_name);
set sqlprompt '&gname>'
set termout on  

 

:login.sql文件中部分参数说明:

1. define _editor=vi: 设置SQL *Plus使用的默认编辑器。

2. set serveroutput on size 1000000:这样会默认的打开DBMS_OUTPUT(这样不必每次在键入这个命令了)。另外也将默认缓冲区大小设置的仅可能大。

3. set trimspool on: 假脱机输出文本时,会去除文本行两端的空格,而且行宽不定,如果设置为off(默认设置),假脱机输出的文本行宽度则等于所设置的linesize。

4. set long 5000: 设置选择LONG和CLOB列时显示的默认字节数。

5. set linesize 100 设置SQL*Plus显示的文本宽为100个字符

6. set pagesize 9999: pagesize可以控制SQL *Plus多久打印一次标题。

7. column plan_plus_exp format a80: 设置由AUTOTRACE得到的解释计划输出的默认宽度。

8.set termout off   不显示输出结果

9.

define gname=idle

column global_name new_value gname

select lower(user)||'@'||substr(global_name, 1, decode(dot, 0, length(global_name), dot-1))global_name

from (select global_name, instr(global_name,'.')dot from global_name;

set sqlprompt '&gname>'

set termout on

column global_name new_value gname 指令告诉SQL *Plus取得global_name列中的最后一个值,并将这个值赋给替换变量gname,接下来从数据库中选出global_name,并与我的登录用户名连接。得到的SQL *Plus提示符为:user_analysis@ORA9I>这样就可以知道当前用户是谁,以及连接的数据库SID


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值