[20231101]使用tpt seg2.sql指令碼問題.txt

lfree發表於2023-11-02

[20231101]使用tpt seg2.sql指令碼問題.txt

--//今天在使用tpt的seg2.sql指令碼時遇到1個奇怪問題.當執行 @ seg2 scott.il_01,我總是要打入一個回車才有輸出。
--//前幾天都沒有這樣的情況。

SYS@book> @ seg2 scott.il_01

SEG_MB OWNER SEGMENT_NAME SEGMENT_TYPE SEG_TABLESPACE_NAME BLOCKS HDRFIL HDRBLK
------ ----- ------------ ------------ ------------------- ------ ------ ------
     0 SCOTT IL_01        INDEX        USERS                    8      4    690

--//而第2次執行就不需要.
--//仔細檢視原始碼,才發現我做了小量修改加入預設情況下不顯示分割槽名,大多數情況下應用表都是沒有分割槽的表,顯示它有點多餘。
--//參考連結:[20230414]完善seg2.sql指令碼.txt
--//我做了小量修改加入如下程式碼:

col v_con new_value v_con

set term off
select decode('&&2',NULL,'noprint','1','print','p','print','print','print','noprint') v_con from dual;
set term on

col seg_partition_name head SEG_PART_NAME for a30 &v_con

--//測試如下:
SCOTT@book> @ver1
PORT_STRING                    VERSION        BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx            11.2.0.4.0     Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

SCOTT@book> define 2
SP2-0135: symbol 2 is UNDEFINED

--//一定我進入以後馬上執行,從來沒有對引數2賦值。而我程式碼加入set term off,set term on。根本看不到提示。
--//前幾天能正常執行是因為前面執行的語句已經給引數2賦值了。

--//作一個記錄,這類問題不知道有什麼好的方法解決。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2992677/,如需轉載,請註明出處,否則將追究法律責任。

相關文章