资源描述:
《sql语句整理大全(免费收藏)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库。
1、SQL语句整理大全(免费收藏)如何查看某个回滚段里面,跑的什么事物或者正在执行什么sql语句:SQL>SELECTD.SQL_TEXT,A.NAMEFROMV$ROLLNAMEA,V$TRANSACTIONB,V$SESSIONC,V$SQLTEXTDWHEREA.USN=B.XIDUSNANDB.ADDR=C.TADDRANDC.SQL_ADDRESS=D.ADDRESSANDC.SQL_HASH_VALUE=D.HASH_VALUEANDA.USN=1;(备注:你要看哪个,就把usn=?写成几就行
2、了)查看控制文件:SQL>SELECT*FROMV$CONTROLFILE;查看日志文件:SQL>COLMEMBERFORMATA50SQL>SELECT*FROMV$LOGFILE;如何查看当前SQL*PLUS用户的sid和serial#:SQL>SELECTSID,SERIAL#,STATUSFROMV$SESSIONWHEREAUDSID=USERENV('SESSIONID');如何查看当前数据库的字符集:SQL>SELECTUSERENV('LANGUAGE')FROMDUAL;SQL>SE
3、LECTUSERENV('LANG')FROMDUAL;怎么判断当前正在使用何种SQL优化方式:用EXPLAINPLAN產生EXPLAINPLAN¡檢查PLAN_TABLE中ID=0的POSITION列的值SQL>SELECTDECODE(NVL(POSITION,-1),-1,'RBO',1,'CBO')FROMPLAN_TABLEWHEREID=0;如何查看系统当前最新的SCN号:SQL>SELECTMAX(KTUXESCNW*POWER(2,32)+KTUXESCNB)FROMX$KTUXE;在
4、ORACLE中查找TRACE文件的脚本:SQL>SELECTU_DUMP.VALUE
5、
6、'/'
7、
8、INSTANCE.VALUE
9、
10、'_ORA_'
11、
12、V$PROCESS.SPID
13、
14、NVL2(V$PROCESS.TRACEID,'_'
15、
16、V$PROCESS.TRACEID,NULL)
17、
18、'.TRC'"TRACEFILE"FROMV$PARAMETERU_DUMPCROSSJOINV$PARAMETERINSTANCECROSSJOINV$PROCESSJOINV$SESSIONONV$PROCESS.A
19、DDR=V$SESSION.PADDRWHEREU_DUMP.NAME='USER_DUMP_DEST'ANDINSTANCE.NAME='INSTANCE_NAME'ANDV$SESSION.AUDSID=SYS_CONTEXT('USERENV','SESSIONID');SQL>SELECTD.VALUE
20、
21、'/ORA_'
22、
23、P.SPID
24、
25、'.TRC'TRACE_FILE_NAMEFROM(SELECTP.SPIDFROMSYS.V_$MYSTATM,SYS.V_$SESSIONS,SYS.V
26、_$PROCESSPWHEREM.STATISTIC#=1ANDS.SID=M.SIDANDP.ADDR=S.PADDR)P,(SELECTVALUEFROMSYS.V_$PARAMETERWHERENAME='USER_DUMP_DEST')D;如何查看客户端登陆的IP地址:SQL>SELECTSYS_CONTEXT('USERENV','IP_ADDRESS')FROMDUAL;如何在生产数据库中创建一个追踪客户端IP地址的触发器:SQL>CREATEORREPLACETRIGGERON_LOGO
27、N_TRIGGERAFTERLOGONONDATABASEBEGINDBMS_APPLICATION_INFO.SET_CLIENT_INFO(SYS_CONTEXT('USERENV','IP_ADDRESS'));END;REM记录登陆信息的触发器CREATEORREPLACETRIGGERLOGON_HISTORYAFTERLOGONONDATABASE--WHEN(USER='WACOS')--ONLYFORUSER'WACOS'BEGININSERTINTOSESSION_HISTORYSE
28、LECTUSERNAME,SID,SERIAL#,AUDSID,OSUSER,ACTION,SYSDATE,NULL,SYS_CONTEXT('USERENV','IP_ADDRESS'),TERMINAL,MACHINE,PROGRAMFROMV$SESSIONWHEREAUDSID=USERENV('SESSIONID');END;查看表空间的名称及大小:SQL>SELECTT.TABLESPACE_NAME,ROUND(SUM(BYTES/(102