2014.5.2 oracle set sqlprompt 提示

常用环境设置命令

1.改变data输出形式

set linesize 150
pagesize 100

select * from
emp;

2.显示/关闭
当前时间

set time
on/off

3.set
sqlprompt "session&get:"

4. 设置sqlplus登录的username和instance
SQL> set
sqlprompt ‘_user @&_CONNECT_IDENTIFIER> ‘
SYS
@demo >
5.
打开/关闭sql语句返回的记录条数 
    set
feedback on/off
6.
打开/关闭sql语句运行时间统计
    set
timing on/off

7.db_name
 instance_name

sqlplus启动时会查找和加载的两个文件login.sql和glogin.sql。
其中glogin.sql文件默认存放在$ORACLE_HOME/sqlplus/admin目录下,login.sql可以设置在SQLPATH中。

一、login.sql文件
login.sql文件可以存放sqlplus中能使用的任何命令,包括sqlplus命令和sql语句。
sqlplus启动时会首先查找当前目录下的login.sql文件,其次会在SQLPATH目录下查找。
如果找到login.sql文件,则在SQLPLUS显示"SQL>”前执行login.sql里的所有内容。
如果没找到login.sql文件,则停止查找。
所以可将个人喜欢的常用设置放在login.sql文件中,每次sqlplus启动时会自动加载。

设置SQLPATH
在ORACLE用户profile文件中加入SQLPATH环境变量。我的是.bash_profile
如:export
SQLPATH=/data/app/sqlpath(此路径是你login.sql所在的目录)
当然也可启动sqlplus后,再执行该文件(使用@命令)。
 
二、glogin.sql
文件glogin.sql是ORACLE为所有的数据库用户建立默认的SQLPLUS设置,默认存放在$ORACLE_HOME/sqlplus/admin目录下。
sqlplus启动时也会在出现"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

提示
我当前是以哪个用户登录的?当前身份是什么?在长时间使用9i的sqlplus后,很多DBA会犯这种“迷糊”。你需要通过查询语句来解决这些迷惑。在10g的sqlplus中,你可以通过设置在SQL>提示标识中增加这些信息了:

SQL> sets
qlprompt"_user _privilege> "
通过以上设置,你的sqlplus提示标识就成了以下格式了:

SYS
AS
SYSDBA>
这就表明当前的登录帐号是SYS,身份是SYSDBA。请注意在上面语句中使用了两个特殊的预定义道德变量:_user和_privilege,分别定义了当前用户和这个用户的登录

身份(权限)。现在我们再增加一些其他内容。比如我除了想知道以上信息外,还想知道当前的登录时间:

SQL> sets
qlprompt "_user _privilege on _date>"
SYS AS SYSDBA on
31-8月-05>
再增加一个连接信息看,这样就可以指出你登录的是哪个服务器的:

SQL>set
sqlprompt "_user on _date at _connect_identifier>"
SYS on 31-8月-05
atteng>
但是前面的当前时间信息只有日期,如果需要精确到当前的确切时间呢:

SYS
on 31-8月-05 atteng>alter session
setnls_date_format=‘yyyy-mm-ddhh24:mi:ss‘;
会话已更改。
SYS on 2005-08-31
16:20:15
atteng>
你只要将上面的内容存在$ORACLE_HOME/sqlplus/glogin.sql中,那每次登录的提示信息都是你所需要的了。

2014.5.2 oracle set sqlprompt 提示,布布扣,bubuko.com

时间: 2024-12-15 02:10:54

2014.5.2 oracle set sqlprompt 提示的相关文章

Oracle登录时提示错误,导致用户无法登录

Oracle登录时提示错误,导致用户无法登录,错误如下 ------------------------------------------------------------------------- ORA-00604:递归SQL级别1出现错误 ORA-01653表SYS.AUD$无法通过1024(在表空间SYSTEM中扩展) ORA-02002:写入审计线索时出错 ORA-01653表SYS.AUD$无法通过1024(在表空间SYSTEM中扩展) ---------------------

oracle启动错误提示---hostname原因导致

#刚开始直接root用户登录,在etc目录,切换到oracle,输入lsnrctl start启动oracle时提示"lsnrctl: command not found" [[email protected]_test etc]# su oracle [[email protected]_test etc]$ lsnrctl start bash: lsnrctl: command not found #切换回root用户,cd /根目录, 再次su - oracle ,输入lsnr

oracle启动,提示“LRM-00109: could not open parameter file”

oracle启动,提示“LRM-00109: could not open parameter file” LRM-00109: could not open parameter file '/home/oracle/oracle10g/dbs/initoms 今天连接Oracle数据库的时候,发现数据没启动,利用startup命令,出现错误提示如下: SQL> startupORA-01078: failure in processing system   parametersLRM-0010

2014年第一季度Oracle PSU更新(包括10.2.0.4+版本号全部PSU信息)

2014年第一季度的PSU更新主要是3个版本号:12.1.11.2.0.4.11.2.0.3以及11.1.0.7. 在第2季度Oracle 将公布12.1.0.2,同一时候11.2.0.4版本号也将是11.2的终极版本号,不会再出11.2.0.5. 例如以下是我整理的最新的10.2.0.4+版本号的最新psu信息,供大家參考!(包括12c psu信息). ++++10.2.0.4 Oracle Database Patch Set Update Unix Comments Includes Cp

Oracle 数据操作提示“记录被另一个用户锁住”

oracle数据中删除数据时提示“记录被另一个用户锁住” 解决方法: 1.查看数据库锁,诊断锁的来源及类型: select object_id,session_id,locked_mode from v$locked_object; 或者用以下命令: select b.owner,b.object_name,l.session_id,l.locked_mode from v$locked_object l, dba_objects b where b.object_id=l.object_id

oracle优化-leading提示和ordered提示以及materialize提示

以下内容适用于oracle 10.2.0.5及其以上版本 一个查询很慢,原始SQL如下: 1 select 2 a.* 3 from (select 4 ssi.ID, 5 'small_station_info' TB, 6 (select sbi.name 7 from scene_base_info sbi 8 where sbi.id = ssi.antenna_selection) as antenna_selection, 9 ssi.antenna_height, 10 ssi.d

【Oracle】ora-28002提示用户密码即将过期的解决办法

-- 1.首先查看用户的配置文件中的用户密码生命周期,一般情况下默认是180天.登录时系统提示ora-28002该用户即将过期 -- 如果我们不希望修改密码,可以修改一下oracle的配置文件 SELECT * FROM dba_profiles WHERE resource_name='PASSWORD_LIFE_TIME'; -- 2.修改default的profile密码策略为无限制(UNLIMITED) alter profile default limit password_life_

Oracle启动时提示map size mismatch; abort

今天在DELL服务器的Redhat 6.4上安装Oracle10.2.0.4,用sqlplus 登陆数据库,会出现如下的提示: map size mismatch; abort: Success,不过其他的功能都正常,只是有这个提示 解决方法: alter system set "_enable_NUMA_optimization"= false scope=spfile; alter system set "_db_block_numa"=1 scope=spfi

oracle 11g 一直提示 严重: 监听程序未启动或数据库服务未注册到该监听程序

From:http://blog.sina.com.cn/s/blog_6734ea6d0102v6sn.html 增加操作系统环境变量:ORACLE_HOSTNAME=localhost 然后在cmd下运行  emca -config dbcontrol db  (如果多个数据库实例,先 执行set oracle_unqname= oralcle_sid,其中oralcle_sid为你的实例名) C:\Documents and Settings\Administrator>emca -con