配置SqlPlus输出格式及提示符显示登陆用户和数据库
2016-01-13 08:44
615 查看
cat $ORACLE_HOME/sqlplus/admin/login.sql
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
set linesize 154
col GROUP# for 99
col THREAD# for 99
col SEQUENCE# for 9999
col MEMBER for a50
col MEMBERS for 99
col name for a35
col username for a15
col file_name for a45
col tablespace_name for a30
col MACHINE for a30
col program for a34
col sid for 9999
col spid for a8
--col value for a50
col COMMENTS for a50
col object_owner for a20
col object_name for a30
col TABLE_OWNER for a20
col TABLE_NAME for a30
col COLUMN_NAME for a30
col owner for a15;
col table_owner for a15
col index_type for a10
col DB_BLOCK_SIZE for a20
col UNDO_RETENTION for a30
col sql_text for a74
col text for a60
col r_owner for a15
col index_owner for a15
col GRANTEE for a15
col GRANTOR for a15
col PRIVILEGE for a35
col PROPERTY_VALUE for a50
col LAST_RUN_DURATION for a28
col DEST_NAME for a20
col DESTINATION for a30
col PLAN_TABLE_OUTPUT for a130
col SCHEMA_NAME for a20
col OCCUPANT_NAME for a30
col MOVE_PROCEDURE for a35
col DESCRIPTION for a50
col p1 for a30
col p2 for a30
col p3 for a30
col p3text for a46
col p2text for a46
col OPERATION for a50
col OPTIONS for a50
col statement for a88
col object for a50
col error for a35
col ARCHIVE_NAME for a40
col segment_name for a25
col segment_type for a25
col COMPONENT for a25
col parameter1 for a35
col parameter2 for a35
col parameter3 for a35
col sql_redo for a90
col sql_undo for a90
col log_user for a10
col priv_user for a10
col schema_user for a11
col INTERVAL for a20
col what for a48
col seg_name for a30
col SQL_REDO for a90
col pval2 for a50
col event for a50
col dest_name for a30
col p1 for 99999999999999
col p2 for 99999999999999
col p3 for 99999999999999
col maxbytes for 999999999999999999
col MODE_REQUESTED for a30
col MODE_HELD for a30
col OPERATION for a30
col options for a30
--调度相关
COL JOB_NAME for A15
COL JOB_CREATOR for A11
COL PROGRAM_OWNER for A11
COL PROGRAM_NAME FOR A12
COL SCHEDULE_NAME FOR A15
COL SCHEDULE_OWNER FOR A14;
col SCHEDULE_TYPE for a13
COL RESOURCE_PLAN FOR A13;
COL JOB_CLASS FOR A20
col START_DATE for a20
col END_DATE FOR a19
col PROGRAM_ACTION for a45
col COMMENTS for a15
col WINDOW_NAME for a20
col REPEAT_INTERVAL for a22
col DURATION for a20
col NEXT_START_DATE for a18
col DURATION for a8
col LAST_START_DATE for a18
col job_action for a10
col job_type for a10
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
echo '@@login.sql' >> $ORACLE_HOME/sqlplus/admin/glogin.sql
注意:
每次登录sqlplus 时,会先执行$ORACLE_HOME/sqlplus/glogin.sql 或者当前目
录的login.sql 脚本。但是,会存在各种各样的限制。在9i 或以下版本里,假如你
的脚本里有如下内容:
set sqlprompt "_connect_identifier >"
当第一次启动并连接到数据库DB1 时,提示信息为:
DB1>
然后再连接到另外一个数据库上:
DB1> connectscott/tiger@db2
connected
DB1>
尽管连到了DB2,但提示信息还是DB1。说明这个提示有问题。其实原因很
简单,login.sql 只是在第一次启动sqlplus 时执行,而在每次重新连接时不会执行。
所以提示信息没有变。
在10g 中,这种限制没有了。脚本不仅在启动sqlplus 时执行,还会在每次连接数
据库时也会执行:
DB1> connectscott/tiger@db2
connected
DB2>
这样信息就是正确了。
set serveroutput on size 1000000
set trimspool on
set long 5000
set linesize 100
set pagesize 9999
set linesize 154
col GROUP# for 99
col THREAD# for 99
col SEQUENCE# for 9999
col MEMBER for a50
col MEMBERS for 99
col name for a35
col username for a15
col file_name for a45
col tablespace_name for a30
col MACHINE for a30
col program for a34
col sid for 9999
col spid for a8
--col value for a50
col COMMENTS for a50
col object_owner for a20
col object_name for a30
col TABLE_OWNER for a20
col TABLE_NAME for a30
col COLUMN_NAME for a30
col owner for a15;
col table_owner for a15
col index_type for a10
col DB_BLOCK_SIZE for a20
col UNDO_RETENTION for a30
col sql_text for a74
col text for a60
col r_owner for a15
col index_owner for a15
col GRANTEE for a15
col GRANTOR for a15
col PRIVILEGE for a35
col PROPERTY_VALUE for a50
col LAST_RUN_DURATION for a28
col DEST_NAME for a20
col DESTINATION for a30
col PLAN_TABLE_OUTPUT for a130
col SCHEMA_NAME for a20
col OCCUPANT_NAME for a30
col MOVE_PROCEDURE for a35
col DESCRIPTION for a50
col p1 for a30
col p2 for a30
col p3 for a30
col p3text for a46
col p2text for a46
col OPERATION for a50
col OPTIONS for a50
col statement for a88
col object for a50
col error for a35
col ARCHIVE_NAME for a40
col segment_name for a25
col segment_type for a25
col COMPONENT for a25
col parameter1 for a35
col parameter2 for a35
col parameter3 for a35
col sql_redo for a90
col sql_undo for a90
col log_user for a10
col priv_user for a10
col schema_user for a11
col INTERVAL for a20
col what for a48
col seg_name for a30
col SQL_REDO for a90
col pval2 for a50
col event for a50
col dest_name for a30
col p1 for 99999999999999
col p2 for 99999999999999
col p3 for 99999999999999
col maxbytes for 999999999999999999
col MODE_REQUESTED for a30
col MODE_HELD for a30
col OPERATION for a30
col options for a30
--调度相关
COL JOB_NAME for A15
COL JOB_CREATOR for A11
COL PROGRAM_OWNER for A11
COL PROGRAM_NAME FOR A12
COL SCHEDULE_NAME FOR A15
COL SCHEDULE_OWNER FOR A14;
col SCHEDULE_TYPE for a13
COL RESOURCE_PLAN FOR A13;
COL JOB_CLASS FOR A20
col START_DATE for a20
col END_DATE FOR a19
col PROGRAM_ACTION for a45
col COMMENTS for a15
col WINDOW_NAME for a20
col REPEAT_INTERVAL for a22
col DURATION for a20
col NEXT_START_DATE for a18
col DURATION for a8
col LAST_START_DATE for a18
col job_action for a10
col job_type for a10
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
echo '@@login.sql' >> $ORACLE_HOME/sqlplus/admin/glogin.sql
注意:
每次登录sqlplus 时,会先执行$ORACLE_HOME/sqlplus/glogin.sql 或者当前目
录的login.sql 脚本。但是,会存在各种各样的限制。在9i 或以下版本里,假如你
的脚本里有如下内容:
set sqlprompt "_connect_identifier >"
当第一次启动并连接到数据库DB1 时,提示信息为:
DB1>
然后再连接到另外一个数据库上:
DB1> connectscott/tiger@db2
connected
DB1>
尽管连到了DB2,但提示信息还是DB1。说明这个提示有问题。其实原因很
简单,login.sql 只是在第一次启动sqlplus 时执行,而在每次重新连接时不会执行。
所以提示信息没有变。
在10g 中,这种限制没有了。脚本不仅在启动sqlplus 时执行,还会在每次连接数
据库时也会执行:
DB1> connectscott/tiger@db2
connected
DB2>
这样信息就是正确了。
相关文章推荐
- Oracle 数据字典 说明
- oracle PL\SQl基础 变量的使用
- Oracle游标大全
- Oracle隐式游标小例子
- oracle分析函数技术详解(配上开窗函数over())
- 【转】图解SQL的各种连接join
- 数据库字段命名 --工作备忘2016/1/12
- MongoDB使用小结:一些不常见的经验分享
- mongodb初步使用
- MongoDB学习笔记九:分片
- 16-mysql数据库优化之普通索引的创建
- Ubuntu安装MySQL5.7.10
- 常用SQL语句查询分享
- SQL Server 触发器实例详解
- MySQL中distinct语句去查询重复记录及相关的性能讨论
- MySQL中索引优化distinct语句及distinct的多字段操作
- MySQL中distinct语句的基本原理及其与group by的比较
- MySQL中distinct与group by语句的一些比较及用法讲解
- ORACLE DBA 常用语句
- linux memcached 安装