虚拟字段?
133. CURRVAL 和 nextval?
? ? ?为表创建序列?
? ? ?CREATE SEQUENCE EMPSEQ ... ;?
? ? ?SELECT empseq.currval FROM DUAL ;?
? ? ?自动插入序列的数值?
? ? ?INSERT INTO emp?
? ? ? ? ?VALUES (empseq.nextval, 'LEWIS', 'CLERK',?
? ? ? ? ? ? ? ? ?7902, SYSDATE, 1200, NULL, 20) ;?
134. ROWNUM?
? ? ?按设定排序的行的序号?
? ? ?SELECT * FROM emp WHERE ROWNUM < 10 ;?
135. ROWID?
? ? ?返回行的物理地址?
? ? ?SELECT ROWID, ename FROM emp ?WHERE deptno = 20 ;?
136. 将N秒转换为时分秒格式??
? ? ?set serverout on?
? ? ?declare?
? ? ? ?N number := 1000000;?
? ? ? ?ret varchar2(100);?
? ? ?begin?
? ? ? ?ret := trunc(n/3600) || '小时' || to_char(to_date(mod(n,3600),'sssss'),'fmmi"分 ? "ss"秒"') ;?
? ? ? ?dbms_output.put_line(ret);?
? ? ?end;?
137. 如何查询做比较大的排序的进程??
? ? ?SELECT b.tablespace, b.segfile#, b.segblk#, b.blocks, a.sid, a.serial#, a.username, a.osuser, a.status?
? ? ?FROM v$session a,v$sort_usage b?
? ? ?WHERE a.saddr = b.session_addr?
? ? ?ORDER BY b.tablespace, b.segfile#, b.segblk#, b.blocks ;?
138. 如何查询做比较大的排序的进程的SQL语句??
? ? ?select /*+ ORDERED */ sql_text from v$sqltext a?
? ? ?where a.hash_value = (?
? ? ? ?select sql_hash_value from v$session b?
? ? ? ?where b.sid = &sid and b.serial# = &serial)?
? ? ?order by piece asc ;?
139. 如何查找重复记录??
? ? ?SELECT * FROM TABLE_NAME?
? ? ?WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D?
? ? ? ?WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);?
140. 如何删除重复记录??
? ? ?DELETE FROM TABLE_NAME?
? ? ?WHERE ROWID!=(SELECT MAX(ROWID) FROM TABLE_NAME D?
? ? ?WHERE TABLE_NAME.COL1=D.COL1 AND TABLE_NAME.COL2=D.COL2);?
141. 如何快速编译所有视图??
? ? ?SQL >SPOOL VIEW1.SQL?
? ? ?SQL >SELECT ‘ALTER VIEW ‘||TNAME||’?
? ? ?COMPILE;’ FROM TAB;?
? ? ?SQL >SPOOL OFF?
? ? ?然后执行VIEW1.SQL即可。?
? ? ?SQL >@VIEW1.SQL;?
142. ORA-01555 SNAPSHOT TOO OLD的解决办法?
? ? ?增加MINEXTENTS的值,增加区的大小,设置一个高的OPTIMAL值。?
143. 事务要求的回滚段空间不够,表现为表空间用满(ORA-01560错误),回滚段扩展到达参数 ? ? ?MAXEXTENTS的值(ORA-01628)的解决办法。?
? ? ?向回滚段表空间添加文件或使已有的文件变大;增加MAXEXTENTS的值。?
144. 如何加密ORACLE的存储过程??
? ? ?下列存储过程内容放在AA.SQL文件中?
? ? ?create or replace procedure testCCB(i in number) as?
? ? ?begin?
? ? ? ?dbms_output.put_line('输入参数是'||to_char(i));?
? ? ?end;?
? ? ?SQL>wrap iname=a.sql;?
? ? ?PL/SQL Wrapper: Release 8.1.7.0.0 - Production on Tue Nov 27 22:26:48 2001?
? ? ?Copyright (c) Oracle Corporation 1993, 2000. ?All Rights Reserved。?
? ? ?Processing AA.sql to AA.plb?
? ? ?运行AA.plb?
? ? ?SQL> @AA.plb ;?
145. 如何监控事例的等待??
? ? ?select event,sum(decode(wait_Time,0,0,1)) "Prev",?
? ? ?sum(decode(wait_Time,0,1,0)) "Curr",count(*) "Tot"?
? ? ?from v$session_Wait?
? ? ?group by event order by 4;?
146. 如何回滚段的争用情况??
? ? ?select name, waits, gets, waits/gets "Ratio"?
? ? ?from v$rollstat C, v$rollname D?
? ? ?where C.usn = D.usn;?
147. 如何监控表空间的 I/O 比例??
? ? ?select B.tablespace_name name, B.file_name "file", A.phyrds pyr, A.phyblkrd pbr, A.phywrts pyw, A.phyblkwrt pbw?
? ? ?from v$filestat A, dba_data_files B?
? ? ?where A.file# = B.file_id?
? ? ?order by B.tablespace_name;?
148. 如何监控文件系统的 I/O 比例??
? ? ?select substr(C.file#,1,2) "#", substr(C.name,1,30) "Name", C.status, C.bytes, D.phyrds, D.phywrts?
? ? ?from v$datafile C, v$filestat D?
? ? ?where C.file# = D.file#;?
149. 如何在某个用户下找所有的索引??
? ? ?select user_indexes.table_name, user_indexes.index_name,uniqueness, column_name?
? ? ?from user_ind_columns, user_index