轉(zhuǎn)自 http://www.jwinfo.com/html/technology/oracle/sqlplus.htm
SQL_Plus自動(dòng)跟蹤
sqlplus 中
set autotrace on explain // 顯示執(zhí)行計(jì)劃
set autotrace traceonly explain // 僅顯示執(zhí)行計(jì)劃
set autotrace on // 顯示執(zhí)行計(jì)劃、和統(tǒng)計(jì)數(shù)字
SQL_Plus EXPLAIN PLAN
執(zhí)行計(jì)劃:EXPLAIN PLAN
SET STATMENT_ID='query1'
FOR
SELECT * FROM SYS;
首先建立PLAN_TABLE
執(zhí)行文件:ORACLE_HOME/rdbms/admin/Utlxplan.sql
select lpad(' ',2*(level-1))||operation||' '||options||' '||object_name||' '
||decode(id,0,'Cost = '||position) step_description
from plan_table start with id = 0 and statement_id = 'query1'
connect by prior id= parent_id and statement_id='query1' order by id,position;
環(huán)境變量的含義
1.SET SQLBLANKLINES ON/OFF -- 打開或關(guān)閉SQL語句中是否支持空行
2.SET DEFINE ON/OFF -- 打開或關(guān)閉是否檢查SQL語句中的&符號,如果打開,遇到&符號時(shí),要求用戶輸入值去替換.
3.SET HEAD ON/OFF -- TITLE是否顯示
4.SET PAGESIZE n -- 每頁顯示的行數(shù),0不分頁
5.SET FEEDBACK ON/OFF -- 打開或關(guān)閉反饋信息
6.SET LINESIZE n -- 每行顯示的列數(shù)
7.SET TRIMSPOOL ON/OFF -- 去掉空格開關(guān)
常用命令
1.sqlplus /nolog在服務(wù)器上以內(nèi)部用戶進(jìn)入.可以做所有svrmgrl能做的工作
2.符號"-"表示連接符號
3.edit:調(diào)用外部編輯器編輯緩沖區(qū)中的SQL
4.save:保存緩沖區(qū)中SQL到文件中
5.get或@或start
6.spool filename ; spool off, 內(nèi)容輸出到文件
7.def[ine][variable = text]:定義替代變量
def:顯示所有定義的常量和變量,如
SQL> def
DEFINE _SQLPLUS_RELEASE = "801060000" (CHAR)
DEFINE _EDITOR = "vi" (CHAR)
DEFINE _O_VERSION = "Oracle8i Enterprise Edition Release 8.1.6.0.0 - Production
With the Partitioning option
JServer Release 8.1.6.0.0 - Production" (CHAR)
DEFINE _O_RELEASE = "801060000" (CHAR)
DEFINE _RC = "0" (CHAR)
def X = "HELLO"(define x = "HELLO")
undef x(undefine x)
8.&:在SQL語句中出現(xiàn)的&號,要求輸入替代值,但是臨時(shí)的替代變量,語句結(jié)束就消失(&&表示多個(gè)同名的替代變量不重復(fù)提示,僅輸入一次)
9.var 定義內(nèi)部變量
var x varchar2(30) //沒有日期類型
SQL> var
variable x
datatype VARCHAR2(30)
內(nèi)部變量在PL/SQL塊中運(yùn)用,而替代變量在SQL中使用
var x varchar2(8)
begin
select to_char(sysdate,'RRRRMMDD') into :x from dual;
end;
10.show:顯示環(huán)境變量
show all
show linesize
11.title
設(shè)置報(bào)表的上下標(biāo)題
ttitle
btitle
center,left,right,skip
如:TTITLE LEFT "oracle Cop" CENTER "SUMMUY REPORT" SKIP 2
BTITLE RIGHT "Page " FORMAT 999 SQL.PNO SKIP 3
12.column
設(shè)置列的顯示
column colname format 格式
13.compute
生成匯總信息
14.break
顯示匯總信息
行編輯命令
L——列出當(dāng)前緩沖區(qū)中的SQL語句
L n——顯示當(dāng)前SQL語句中第n行
L n m——顯示當(dāng)前SQL語句中第n行到m行
C/x/y——把第一行中第一次出現(xiàn)x換成y,這個(gè)命令對當(dāng)前操作
DEL——?jiǎng)h除當(dāng)前行
DEL n——?jiǎng)h除第n行
DEL n m——?jiǎng)h除n至m行
I——在當(dāng)前行下面插入一新行
A text——在當(dāng)前行的末尾附加文本
/——執(zhí)行緩沖區(qū)中的語句