您的位置:首页 > 数据库 > Oracle

查询oracle正在执行的sql语句

2014-03-12 15:39 447 查看
1、显示oracle最近执行的sql信息

SELECT b.sid oracleID, 

       --b.username 登录Oracle用户名, 

      b.serial#, 

       spid 操作系统ID, 

       --paddr, 

       --c.LAST_LOAD_TIME,

      -- b.SID,

       --d.OBJECT,

       a.ADDR,

       c.LAST_ACTIVE_TIME 最后活动时间,

       b.LAST_CALL_ET 持续时间s,

       sql_text 正在执行的SQL, 

       b.machine 计算机名 

FROM v$process a, v$session b, v$sqlarea c  

WHERE a.addr = b.paddr  AND b.sql_hash_value = c.hash_value;

 

2、显示表空间的剩余大小

select tablespace_name,sum(bytes)/1024/1024 from dba_free_space

group by tablespace_name;

或者(单个表空间信息)

SELECT (SELECT SUM(BLOCKS*8192/1024/1024)  FROM DBA_FREE_SPACE WHERE TABLESPACE_NAME='表空间名') AS E ,(SELECT SUM(A.BYTES/1024/1024) FROM V$DATAFILE A,V$TABLESPACE B WHERE A.TS#=B.TS# AND B.NAME='表空间名') AS F ,(SELECT SUM(BYTES)/1024/1024 FROM DBA_SEGMENTS WHERE
TABLESPACE_NAME='表空间名') AS G  FROM DUAL

 

3、查询增加表空间的文件数

select file_name,file_id,tablespace_name from dba_data_files WHERE tablespace_name='表空间名'

4、增加表空间大小

alter tablespace 表空间名 ADD DATAFILE '/oradata2/nstldb/最大文件数+1.dbf' size 30720M;

5、将一个表的数据导入到另一个表中

insert into table_name (列名1,列名2,...) (select 列名1,列名2,... form old_table)

6、将一个表的数据更新到另一个表中

update table_name set (列名,列名) (select 列名,列名 from table where 条件)

7、使用oracle函数处理数据

    1)、update njdirect n set n.sortid=SUBSTR(REGEXP_REPLACE(n.startpage,'[^0-9]',''),0,9),n.pageinfo=(n.startpage||'-'||n.endpage) where n.seqno is not null

    2)、update njdirect n set (n.title,n.author,n.startpage,n.endpage,n.sortid,n.pageinfo,n.seqno)=(select w.title,w.author,w.startpage,w.endpage,SUBSTR     (REGEXP_REPLACE(w.startpage,'[^0-9]',''),0,9),(w.startpage||'-'||w.endpage),w.seqno from narticlew
w where w.urn=n.articleid) 

 where n.datatypes='J02' and n.articleid like 'H%'

8、oracle中sql语句分页

SELECT u FROM (select a.urn u,rownum rn from narticleW a where ROWNUM<=10000000) where rn >=10000

 

 
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle sql 分页