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