[转载]SQL Plus Command Line
<P>信息来源:邪恶八进制信息安全团队</P><DIV id=art style="MARGIN: 15px; LINE-HEIGHT: 150%" width="560">
<DIV><SPAN style="FONT-SIZE: 13px"><SPAN style="FONT-SIZE: 13px"><FONT size=4><FONT color=blue>SQL Plus 命令列表</FONT>: <BR></FONT>假设当前执行命令为:select * from tab;<BR><BR>(a)ppend 添加文本到缓冲区当前行尾 a order by tname 结果:select * from tab order by tname;<BR> (注:a后面跟2个空格)<BR>(c)hange/old/new 在当前行用新的文本替换旧的文本 c/*/tname 结果:select tname from tab;<BR>(c)hange/text 从当前行删除文本 c/tab 结果:select tname from ;<BR>del 删除当前行<BR>del n 删除第n行<BR>(i)nput 文本 在当前行之后添加一行<BR>(l)ist 显示缓冲区中所有行<BR>(l)ist n 显示缓冲区中第 n 行<BR>(l)ist m n 显示缓冲区中 m 到 n 行<BR>run 执行当前缓冲区的命令<BR>/ 执行当前缓冲区的命令<BR>r 执行当前缓冲区的命令<BR>@文件名 运行调入内存的sql文件,如:<BR><BR>SQL>; edit s<回车>;<BR>如果当前目录下不存在s.sql文件,则系统自动生成s.sql文件,<BR>在其中输入“select * from tab;”,存盘退出。<BR><BR>SQL>; @s<回车>;<BR>系统会自动查询当前用户下的所有表、视图、同义词。<BR><BR>@@文件名 在.sql文件中调用令一个.sql文件时使用<BR><BR>save 文件名 将缓冲区的命令以文件方式存盘,缺省文件扩展名为.sql<BR>get 文件名 调入存盘的sql文件<BR>start 文件名 运行调入内存的sql文件<BR><BR>spool 文件名 把这之后的各种操作及执行结果“假脱机”即存盘到磁盘文件上,默认文件扩展名为.lst<BR>spool 显示当前的“假脱机”状态<BR>spool off 停止输出<BR><BR>例:<BR>SQL>; spool a<BR>SQL>; spool<BR>正假脱机到 A.LST<BR>SQL>; spool off<BR>SQL>; spool<BR>当前无假脱机<BR><BR><BR>exit 退出SQL*PLUS<BR>desc 表名 显示表的结构<BR>show user 显示当前连接用户<BR>show error 显示错误<BR>show all 显示所有68个系统变量值<BR>edit 打开默认编辑器,Windows系统中默认是notepad.exe,把缓冲区中最后一条SQL语句调入afiedt.buf文件中进行编辑<BR>edit 文件名 把当前目录中指定的.sql文件调入编辑器进行编辑<BR><BR>clear screen 清空当前屏幕显示</SPAN><FONT size=2> </FONT><BR></SPAN></DIV>
<DIV><SPAN style="FONT-SIZE: 13px">转自:[url]WWW.LOVEUNIX.COM[/url] MADE BY SDAWNYJ<BR><FONT color=red>1、查看表空间的名称及大小</FONT><BR>select t.tablespace_name, round(sum(bytes/(1024*1024)),0) ts_size<BR>from dba_tablespaces t, dba_data_files d<BR>where t.tablespace_name = d.tablespace_name<BR>group by t.tablespace_name;<BR><FONT color=red>2、查看表空间物理文件的名称及大小</FONT><BR>select tablespace_name, file_id, file_name,<BR>round(bytes/(1024*1024),0) total_space<BR>from dba_data_files<BR>order by tablespace_name;<BR><FONT color=red>3、查看回滚段名称及大小</FONT><BR>select segment_name, tablespace_name, r.status, <BR>(initial_extent/1024) InitialExtent,(next_extent/1024) NextExtent, <BR>max_extents, v.curext CurExtent<BR>From dba_rollback_segs r, v$rollstat v<BR>Where r.segment_id = v.usn(+)<BR>order by segment_name ;<BR><FONT color=red>4、查看控制文件</FONT><BR>select name from v$controlfile;<BR><FONT color=red>5、查看日志文件</FONT><BR>select member from v$logfile;<BR><FONT color=red>6、查看表空间的使用情况</FONT><BR>select sum(bytes)/(1024*1024) as free_space,tablespace_name <BR>from dba_free_space<BR>group by tablespace_name;<BR><BR>SELECT A.TABLESPACE_NAME,A.BYTES TOTAL,B.BYTES USED, C.BYTES FREE,<BR>(B.BYTES*100)/A.BYTES "% USED",(C.BYTES*100)/A.BYTES "% FREE"<BR>FROM SYS.SM$TS_AVAIL A,SYS.SM$TS_USED B,SYS.SM$TS_FREE C<BR>WHERE A.TABLESPACE_NAME=B.TABLESPACE_NAME AND A.TABLESPACE_NAME=C.TABLESPACE_NAME; <BR><FONT color=red>7、查看数据库库对象</FONT><BR>select owner, object_type, status, count(*) count# from all_objects group by owner, object_type, status;<BR><FONT color=red>8、查看数据库的版本</FONT> <BR>Select version FROM Product_component_version <BR>Where SUBSTR(PRODUCT,1,6)='Oracle';<BR><FONT color=red>9、查看数据库的创建日期和归档方式</FONT><BR>Select Created, Log_Mode, Log_Mode From V$Database; <BR><FONT color=red>10、捕捉运行很久的SQL</FONT><BR>column username format a12 <BR>column opname format a16 <BR>column progress format a8 <BR><BR>select username,sid,opname, <BR> round(sofar*100 / totalwork,0) || '%' as progress, <BR> time_remaining,sql_text <BR>from v$session_longops , v$sql <BR>where time_remaining <>; 0 <BR>and sql_address = address <BR>and sql_hash_value = hash_value <BR>/<BR><FONT color=red>11。查看数据表的参数信息</FONT><BR>SELECT partition_name, high_value, high_value_length, tablespace_name,<BR> pct_free, pct_used, ini_trans, max_trans, initial_extent,<BR> next_extent, min_extent, max_extent, pct_increase, FREELISTS,<BR> freelist_groups, LOGGING, BUFFER_POOL, num_rows, blocks,<BR> empty_blocks, avg_space, chain_cnt, avg_row_len, sample_size,<BR> last_analyzed<BR> FROM dba_tab_partitions<BR> --WHERE table_name = :tname AND table_owner = :towner<BR>ORDER BY partition_position<BR><BR><FONT color=red>12.查看还没提交的事务</FONT><BR>select * from v$locked_object;<BR>select * from v$transaction;<BR><FONT color=red>13。查找object为哪些进程所用</FONT><BR>select <BR>p.spid,<BR>s.sid,<BR>s.serial# serial_num,<BR>s.username user_name,<BR>a.type object_type,<BR>s.osuser os_user_name,<BR>a.owner,<BR>a.object object_name,<BR>decode(sign(48 - command),<BR>1,<BR>to_char(command), 'Action Code #' || to_char(command) ) action,<BR>p.program oracle_process,<BR>s.terminal terminal,<BR>s.program program,<BR>s.status session_status <BR>from v$session s, v$access a, v$process p <BR>where s.paddr = p.addr and<BR> s.type = 'USER' and <BR> a.sid = s.sid and<BR> a.object='SUBSCRIBER_ATTR'<BR>order by s.username, s.osuser<BR><BR><FONT color=red>14。回滚段查看</FONT><BR>select rownum, sys.dba_rollback_segs.segment_name Name, v$rollstat.extents <BR>Extents, v$rollstat.rssize Size_in_Bytes, v$rollstat.xacts XActs, <BR>v$rollstat.gets Gets, v$rollstat.waits Waits, v$rollstat.writes Writes, <BR>sys.dba_rollback_segs.status status from v$rollstat, sys.dba_rollback_segs, <BR>v$rollname where v$rollname.name(+) = sys.dba_rollback_segs.segment_name and <BR>v$rollstat.usn (+) = v$rollname.usn order by rownum<BR><BR><FONT color=red>15。耗资源的进程(top session)</FONT><BR>select s.schemaname schema_name, decode(sign(48 - command), 1, <BR>to_char(command), 'Action Code #' || to_char(command) ) action, status <BR>session_status, s.osuser os_user_name, s.sid, p.spid , s.serial# serial_num, <BR>nvl(s.username, '[Oracle process]') user_name, s.terminal terminal, <BR>s.program program, st.value criteria_value from v$sesstat st, v$session s , v$process p <BR>where st.sid = s.sid and st.statistic# = to_number('38') and ('ALL' = 'ALL' <BR>or s.status = 'ALL') and p.addr = s.paddr order by st.value desc, p.spid asc, s.username asc, s.osuser asc<BR><BR><FONT color=red>16。查看锁(lock)情况</FONT><BR>select /*+ RULE */ ls.osuser os_user_name, ls.username user_name, <BR>decode(ls.type, 'RW', 'Row wait enqueue lock', 'TM', 'DML enqueue lock', 'TX', <BR>'Transaction enqueue lock', 'UL', 'User supplied lock') lock_type, <BR>o.object_name object, decode(ls.lmode, 1, null, 2, 'Row Share', 3, <BR>'Row Exclusive', 4, 'Share', 5, 'Share Row Exclusive', 6, 'Exclusive', null) <BR>lock_mode, o.owner, ls.sid, ls.serial# serial_num, ls.id1, ls.id2 <BR>from sys.dba_objects o, ( select s.osuser, s.username, l.type, <BR>l.lmode, s.sid, s.serial#, l.id1, l.id2 from v$session s, <BR>v$lock l where s.sid = l.sid ) ls where o.object_id = ls.id1 and o.owner <BR><>; 'SYS' order by o.owner, o.object_name<BR><BR><FONT color=red>17。查看等待(wait)情况</FONT><BR>SELECT v$waitstat.class, v$waitstat.count count, SUM(v$sysstat.value) sum_value <BR>FROM v$waitstat, v$sysstat WHERE v$sysstat.name IN ('db block gets', <BR>'consistent gets') group by v$waitstat.class, v$waitstat.count<BR><BR><FONT color=red>18。查看sga情况</FONT><BR>SELECT NAME, BYTES FROM SYS.V_$SGASTAT ORDER BY NAME ASC<BR><BR><FONT color=red>19。查看catched object</FONT><BR>SELECT owner, name, db_link, namespace, <BR> type, sharable_mem, loads, executions, <BR> locks, pins, kept FROM v$db_object_cache<BR> <BR><FONT color=red>20。查看V$SQLAREA</FONT><BR>SELECT SQL_TEXT, SHARABLE_MEM, PERSISTENT_MEM, RUNTIME_MEM, SORTS, <BR>VERSION_COUNT, LOADED_VERSIONS, OPEN_VERSIONS, USERS_OPENING, EXECUTIONS, <BR>USERS_EXECUTING, LOADS, FIRST_LOAD_TIME, INVALIDATIONS, PARSE_CALLS, DISK_READS,<BR>BUFFER_GETS, ROWS_PROCESSED FROM V$SQLAREA<BR><BR>2<FONT color=red>1。查看object分类数量</FONT><BR>select decode (o.type#,1,'INDEX' , 2,'TABLE' , 3 , 'CLUSTER' , 4, 'VIEW' , 5 , <BR>'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) object_type , count(*) quantity from <BR>sys.obj$ o where o.type# >; 1 group by decode (o.type#,1,'INDEX' , 2,'TABLE' , 3 <BR>, 'CLUSTER' , 4, 'VIEW' , 5 , 'SYNONYM' , 6 , 'SEQUENCE' , 'OTHER' ) union select <BR>'COLUMN' , count(*) from sys.col$ union select 'DB LINK' , count(*) from <BR><BR><FONT color=red>22。按用户查看object种类</FONT><BR>select u.name schema, sum(decode(o.type#, 1, 1, NULL)) indexes, <BR>sum(decode(o.type#, 2, 1, NULL)) tables, sum(decode(o.type#, 3, 1, NULL)) <BR>clusters, sum(decode(o.type#, 4, 1, NULL)) views, sum(decode(o.type#, 5, 1, <BR>NULL)) synonyms, sum(decode(o.type#, 6, 1, NULL)) sequences, <BR>sum(decode(o.type#, 1, NULL, 2, NULL, 3, NULL, 4, NULL, 5, NULL, 6, NULL, 1)) <BR>others from sys.obj$ o, sys.user$ u where o.type# >;= 1 and u.user# = <BR>o.owner# and u.name <>; 'PUBLIC' group by u.name order by <BR>sys.link$ union select 'CONSTRAINT' , count(*) from sys.con$<BR><BR><FONT color=red>23。有关connection的相关信息</FONT><BR>1)查看有哪些用户连接<BR>select s.osuser os_user_name, decode(sign(48 - command), 1, to_char(command),<BR>'Action Code #' || to_char(command) ) action, p.program oracle_process, <BR>status session_status, s.terminal terminal, s.program program, <BR>s.username user_name, s.fixed_table_sequence activity_meter, '' query, <BR>0 memory, 0 max_memory, 0 cpu_usage, s.sid, s.serial# serial_num <BR>from v$session s, v$process p where s.paddr=p.addr and s.type = 'USER' <BR>order by s.username, s.osuser<BR>2)根据v.sid查看对应连接的资源占用等情况<BR>select n.name, <BR> v.value, <BR> n.class,<BR> n.statistic# <BR>from v$statname n, <BR> v$sesstat v <BR>where v.sid = 71 and <BR> v.statistic# = n.statistic# <BR>order by n.class, n.statistic#<BR>3)根据sid查看对应连接正在运行的sql<BR>select /*+ PUSH_SUBQ */<BR> command_type, <BR> sql_text, <BR> sharable_mem, <BR> persistent_mem, <BR> runtime_mem, <BR> sorts, <BR> version_count, <BR> loaded_versions, <BR> open_versions, <BR> users_opening, <BR> executions, <BR> users_executing, <BR> loads, <BR> first_load_time, <BR> invalidations, <BR> parse_calls, <BR> disk_reads, <BR> buffer_gets, <BR> rows_processed,<BR> sysdate start_time,<BR> sysdate finish_time,<BR> '>;' || address sql_address,<BR> 'N' status <BR>from v$sqlarea<BR>where address = (select sql_address from v$session where sid = 71)<BR><BR><FONT color=red>24.查询表空间使用情况</FONT>select a.tablespace_name "表空间名称",<BR> 100-round((nvl(b.bytes_free,0)/a.bytes_alloc)*100,2) "占用率(%)",<BR> round(a.bytes_alloc/1024/1024,2) "容量(M)",<BR> round(nvl(b.bytes_free,0)/1024/1024,2) "空闲(M)",<BR> round((a.bytes_alloc-nvl(b.bytes_free,0))/1024/1024,2) "使用(M)",<BR> Largest "最大扩展段(M)",<BR> to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') "采样时间" <BR>from (select f.tablespace_name,<BR> sum(f.bytes) bytes_alloc,<BR> sum(decode(f.autoextensible,'YES',f.maxbytes,'NO',f.bytes)) maxbytes <BR> from dba_data_files f <BR> group by tablespace_name) a,<BR> (select f.tablespace_name,<BR> sum(f.bytes) bytes_free <BR> from dba_free_space f <BR> group by tablespace_name) b,<BR> (select round(max(ff.length)*16/1024,2) Largest,<BR> ts.name tablespace_name <BR> from sys.fet$ ff, sys.file$ tf,sys.ts$ ts <BR> where ts.ts#=ff.ts# and ff.file#=tf.relfile# and ts.ts#=tf.ts# <BR> group by ts.name, tf.blocks) c <BR>where a.tablespace_name = b.tablespace_name and a.tablespace_name = c.tablespace_name<BR><BR><FONT color=red>25. 查询表空间的碎片程度</FONT> <BR><BR>select tablespace_name,count(tablespace_name) from dba_free_space group by tablespace_name <BR>having count(tablespace_name)>;10; <BR><BR>alter tablespace name coalesce; <BR>alter table name deallocate unused; <BR><BR>create or replace view ts_blocks_v as <BR>select tablespace_name,block_id,bytes,blocks,'free space' segment_name from dba_free_space <BR>union all <BR>select tablespace_name,block_id,bytes,blocks,segment_name from dba_extents; <BR><BR>select * from ts_blocks_v; <BR><BR>select tablespace_name,sum(bytes),max(bytes),count(block_id) from dba_free_space <BR>group by tablespace_name;<BR><BR><FONT color=red>26.查看有哪些实例在运行</FONT>:<BR><BR>select * from v$active_instances;<BR></DIV></SPAN></DIV>
页:
[1]