首先,我建议你看看在SQL*plus reference - 你可能会发现一些有用的提示有像调整列宽
COL column_name for a20
你可以在GLOGIN文件设置自己的设置。随着时间的推移,就像任何其他CMD一样,你会得到你的偏好恰到好处。
要描述一个表,你可以使用DESC
。如果你想要更多的数据写你自己的脚本并重复使用@
。
如果这一切都不适用于您,您可以随时切换到像Toad或SQL开发人员这样的GUI。
编辑:
我加入我自己的脚本来向您展示如何制作的SQL * Plus在命令行更友好一些技巧之一。这是为了获取细分市场的大小。
/* This is the trick - clears &1 and &2 if received an empty string */
set ver off feed off
col 1 new_v 1
col 2 new_v 2
select 1,2 from dual where 1=0;
variable p_owner varchar2(30)
variable p_segment varchar2(30)
/* set bind variables */
begin
:p_owner := '&1';
:p_segment := '&2';
end;
/
set feed 1
break on segment_type skip 1
column MB for a25
select
segment_type,
decode(gi_segment_name + gi_segment_type + gi_tablespace_name , 3 ,'...Grand Total', segment_name) SEGMENT_NAME,
to_char(round(MB,3),'99,999,999.99') MB ,
nvl(tablespace_name,'-*-') tablespace_name
from (
select tablespace_name , segment_type , segment_name , sum(bytes/1024/1024) MB ,
grouping_id(segment_name) gi_segment_name ,
grouping_id(segment_type) gi_segment_type ,
grouping_id(segment_type) gi_tablespace_name
from dba_segments
where ((:p_owner is null and owner = user) or owner like upper(:p_owner))
and (:p_segment is null or segment_name like upper('%'||:p_segment||'%'))
group by rollup(tablespace_name, segment_type , segment_name)
)
where not (gi_segment_name = 1 and gi_segment_type = 0 and gi_tablespace_name = 0)
order by decode(segment_type,'TABLE','0','TABLE PARTITION','1','INDEX','2','INDEX PARTITION','3',segment_type) ,
(case when segment_name like '.%' then 'z' else 'a' end) ,
gi_segment_name ,
MB desc ,
segment_name;
clear break
/* clear definition for &1 and &2 after being used.
allows the variable to be null the next run. */
undefine 1
undefine 2
我将向您介绍一些事情iv'e这里完成
- 脚本接受两个参数。如果没有收到,前4行清除参数
。如果您不这样做,SQL * Plus会为您提示 。我们不需要这个。
- 设置绑定在过去的版本中更重要。这是 旨在保存硬/软解析。最新版本解决了这个问题 的问题。尽管如此,这仍然是最佳做法。
break
是一个很好的接触。你会看到它。
- 分组ID可以显示几个级别的小计。
- 我已经添加了两个参数,所有者和细分名称。两者都可以包含 百搭牌。两者都可以为空。如果未提供,则该查询将获取当前用户段的 。
- 通过解码排序使我能够为不同的 段类型设置自定义排序顺序。您可以根据需要更改它。
我执行这样的脚本 我段:
@seg
斯科特的段
@seg scott
斯科特的Emp相关细分
@seg scott emp
我有一个类似的脚本会话,longops,等待事件,ta bles,constraints,locks,kill session等......在我的日常工作中,我很少编写SQL来查询这些东西。
我希望我可以使用蟾蜍或其他东西。不幸的是,数据库是在防火墙后面,我必须telnet进来。不,我们不想设置ssh端口转发,尽管我们希望我们可以。 –