每每执行sqlplus操作的时候,在select出来的格式,往往让人感到发指,很不友好,如何让select出来的数据排列整齐,看着舒服呢?其实是有办法的,我找到了一种方式,就拿dba_data_files这个视图来看吧。
SQL> desc dba_data_files;
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
FILE_NAME VARCHAR2(513)
FILE_ID NUMBER
TABLESPACE_NAME VARCHAR2(30)
BYTES NUMBER
BLOCKS NUMBER
STATUS VARCHAR2(9)
RELATIVE_FNO NUMBER
AUTOEXTENSIBLE VARCHAR2(3)
MAXBYTES NUMBER
MAXBLOCKS NUMBER
INCREMENT_BY NUMBER
USER_BYTES NUMBER
USER_BLOCKS NUMBER
ONLINE_STATUS VARCHAR2(7)
我们来看file_name,file_id,tablespace_name这三个字段,想必file_name就能让你的dos窗口无所适从了,其长度肯定很难搞定,连着本地的path,长度可想而知,首先来看显示很发指的、不友好输出。
SQL> select file_name,file_id,tablespace_name from dba_data_files;
FILE_NAME
--------------------------------------------------------------------------------
FILE_ID TABLESPACE_NAME
---------- ------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BANGEL\SYSTEM01.DBF
1 SYSTEM
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BANGEL\UNDOTBS01.DBF
2 UNDOTBS1
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BANGEL\SYSAUX01.DBF
3 SYSAUX
FILE_NAME
--------------------------------------------------------------------------------
FILE_ID TABLESPACE_NAME
---------- ------------------------------------------------------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BANGEL\USERS01.DBF
4 USERS
C:\ORACLEDATA\TESTUSER_TS01.DBF
5 TESTUSER_TS
C:\ORACLEDATA\TESTUSER_TS02.DBF
6 TESTUSER_TS
已选择6行。
您看这样的输出,是否算发指?太难看了,这让客户怎么接受?可能会有人说,你用toad,借助工具不就完事了嘛?但不是每个客户那边都有toad的license,即使有license,也不是每个你遇到的设备都安装了toad,但每个设备肯定有sqlplus,呵呵。好的,我们如何来让这个输出显示稍微好看一些呢?
先col file_name for a10试试。然后继续查询看看:
SQL> col file_name for a10
SQL> select file_name,file_id,tablespace_name from dba_data_file
FILE_NAME FILE_ID
---------- ----------
TABLESPACE_NAME
------------------------------------------------------------
C:\ORACLE\ 1
PRODUCT\10
.2.0\ORADA
TA\BANGEL\
SYSTEM01.D
BF
SYSTEM
C:\ORACLE\ 2
FILE_NAME FILE_ID
---------- ----------
TABLESPACE_NAME
------------------------------------------------------------
PRODUCT\10
.2.0\ORADA
TA\BANGEL\
UNDOTBS01.
DBF
UNDOTBS1
C:\ORACLE\ 3
PRODUCT\10
FILE_NAME FILE_ID
---------- ----------
TABLESPACE_NAME
------------------------------------------------------------
.2.0\ORADA
TA\BANGEL\
SYSAUX01.D
BF
SYSAUX
C:\ORACLE\ 4
PRODUCT\10
.2.0\ORADA
FILE_NAME FILE_ID
---------- ----------
TABLESPACE_NAME
------------------------------------------------------------
TA\BANGEL\
USERS01.DB
F
USERS
C:\ORACLED 5
ATA\TESTUS
ER_TS01.DB
F
FILE_NAME FILE_ID
---------- ----------
TABLESPACE_NAME
------------------------------------------------------------
TESTUSER_TS
C:\ORACLED 6
ATA\TESTUS
ER_TS02.DB
F
TESTUSER_TS
已选择6行。
至少在file_name这个字段的显示来说,规整了不少。然后col tablespace_name for a10,再试试。
SQL> col tablespace_name for a10
SQL> select file_name,file_id,tablespace_name from dba_data_files;
FILE_NAME FILE_ID TABLESPACE
---------- ---------- ----------
C:\ORACLE\ 1 SYSTEM
PRODUCT\10
.2.0\ORADA
TA\BANGEL\
SYSTEM01.D
BF
C:\ORACLE\ 2 UNDOTBS1
PRODUCT\10
.2.0\ORADA
TA\BANGEL\
FILE_NAME FILE_ID TABLESPACE
---------- ---------- ----------
UNDOTBS01.
DBF
C:\ORACLE\ 3 SYSAUX
PRODUCT\10
.2.0\ORADA
TA\BANGEL\
SYSAUX01.D
BF
C:\ORACLE\ 4 USERS
FILE_NAME FILE_ID TABLESPACE
---------- ---------- ----------
PRODUCT\10
.2.0\ORADA
TA\BANGEL\
USERS01.DB
F
C:\ORACLED 5 TESTUSER_T
ATA\TESTUS S
ER_TS01.DB
F
FILE_NAME FILE_ID TABLESPACE
---------- ---------- ----------
C:\ORACLED 6 TESTUSER_T
ATA\TESTUS S
ER_TS02.DB
F
心情一下舒畅了血多,至少,显示出来的格式稍微舒服了一些,呵呵。
在来调整一下,会看的更舒服:col file_name for a36, col tablespace_name for a12
let's go
SQL> col file_name for a36
SQL> col tablespace_name for a16
SQL> select file_name,file_id,tablespace_name from dba_data_files;
FILE_NAME FILE_ID TABLESPACE_NAME
------------------------------------ ---------- ----------------
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BAN 1 SYSTEM
GEL\SYSTEM01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BAN 2 UNDOTBS1
GEL\UNDOTBS01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BAN 3 SYSAUX
GEL\SYSAUX01.DBF
C:\ORACLE\PRODUCT\10.2.0\ORADATA\BAN 4 USERS
GEL\USERS01.DBF
FILE_NAME FILE_ID TABLESPACE_NAME
------------------------------------ ---------- ----------------
C:\ORACLEDATA\TESTUSER_TS01.DBF 5 TESTUSER_TS
C:\ORACLEDATA\TESTUSER_TS02.DBF 6 TESTUSER_TS
已选择6行。
已选择6行。
这下世界安静了,舒服极了。
sqlplus应该还有更多的格式设置,再续。。。。
---EOF----
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/25458798/viewspace-741726/
,如需转载,请注明出处,否则将追究法律责任。