成人午夜激情影院,小视频免费在线观看,国产精品夜夜嗨,欧美日韩精品一区二区在线播放

當前位置:首頁>>開發編程>>數據庫>>新聞內容
ORACLE常用傻瓜問題1000問(之四)
作者:CCBZZP 發布時間:2003-10-16 22:33:04 文章來源:CSDN
       大家在應用ORACLE的時候可能會遇到很多看起來不難的問題, 特別對新手來說, 今天我簡單把它總結一下, 發布給大家, 希望對大家有幫助! 和大家一起探討, 共同進步!

 

        對ORACLE高手來說是不用看的.

 

   虛擬字段
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_indexes
   where user_ind_columns.index_name = user_indexes.index_name
   and user_ind_columns.table_name = user_indexes.table_name
   order by user_indexes.table_type, user_indexes.table_name,
   user_indexes.index_name, column_position;

150. 如何監控 SGA 的命中率?
   select a.value + b.value "logical_reads", c.value "phys_reads",
   round(100 * ((a.value+b.value)-c.value) / (a.value+b.value)) "BUFFER HIT RATIO"
   from v$sysstat a, v$sysstat b, v$sysstat c
   where a.statistic# = 38 and b.statistic# = 39
   and c.statistic# = 40;

151. 如何監控 SGA 中字典緩沖區的命中率?
   select parameter, gets,Getmisses , getmisses/(gets+getmisses)*100 "miss ratio",
   (1-(sum(getmisses)/ (sum(gets)+sum(getmisses))))*100 "Hit ratio"
   from v$rowcache
   where gets+getmisses <>0
   group by parameter, gets, getmisses;

152. 如何監控 SGA 中共享緩存區的命中率,應該小于1% ?
   select sum(pins) "Total Pins", sum(reloads) "Total Reloads",
   sum(reloads)/sum(pins) *100 libcache
   from v$librarycache;

   select sum(pinhits-reloads)/sum(pins) "hit radio",sum(reloads)/sum(pins)    "reload percent"
   from v$librarycache;

153. 如何顯示所有數據庫對象的類別和大?
   select count(name) num_instances ,type ,sum(source_size) source_size ,
   sum(parsed_size) parsed_size ,sum(code_size) code_size ,sum(error_size)    error_size,
   sum(source_size) +sum(parsed_size) +sum(code_size) +sum(error_size)    size_required
   from dba_object_size
   group by type order by 2;

154. 監控 SGA 中重做日志緩存區的命中率,應該小于1%
   SELECT name, gets, misses, immediate_gets, immediate_misses,
   Decode(gets,0,0,misses/gets*100) ratio1,
   Decode(immediate_gets+immediate_misses,0,0,
   immediate_misses/(immediate_gets+immediate_misses)*100) ratio2
   FROM v$latch WHERE name IN ('redo allocation', 'redo copy');

155. 監控內存和硬盤的排序比率,最好使它小于 .10,增加 sort_area_size
   SELECT name, value FROM v$sysstat WHERE name IN ('sorts (memory)', 'sorts      (disk)');


156. 如何監控當前數據庫誰在運行什么SQL語句?
   SELECT osuser, username, sql_text from v$session a, v$sqltext b
   where a.sql_address =b.address order by address, piece;

157. 如何監控字典緩沖區?
   SELECT (SUM(PINS - RELOADS)) / SUM(PINS) "LIB CACHE" FROM V$LIBRARYCACHE;
   SELECT (SUM(GETS - GETMISSES - USAGE - FIXED)) / SUM(GETS) "ROW CACHE" FROM    V$ROWCACHE;
   SELECT SUM(PINS) "EXECUTIONS", SUM(RELOADS) "CACHE MISSES WHILE EXECUTING" FROM    V$LIBRARYCACHE;
   后者除以前者,此比率小于1%,接近0%為好。

   SELECT SUM(GETS) "DICTIONARY GETS",SUM(GETMISSES) "DICTIONARY CACHE GET MISSES"
   FROM V$ROWCACHE


158. 監控 MTS
   select busy/(busy+idle) "shared servers busy" from v$dispatcher;
   此值大于0.5時,參數需加大
   select sum(wait)/sum(totalq) "dispatcher waits" from v$queue where    type='dispatcher';
   select count(*) from v$dispatcher;
   select servers_highwater from v$mts;
   servers_highwater接近mts_max_servers時,參數需加大

159. 如何知道當前用戶的ID號?
    SQL>SHOW USER;
    OR
    SQL>select user from dual;

160. 如何查看碎片程度高的表?
   SELECT segment_name table_name , COUNT(*) extents
   FROM dba_segments WHERE owner NOT IN ('SYS', 'SYSTEM') GROUP BY segment_name
   HAVING COUNT(*) = (SELECT MAX( COUNT(*) ) FROM dba_segments GROUP BY       segment_name);

162. 如何知道表在表空間中的存儲情況?
   select segment_name,sum(bytes),count(*) ext_quan from dba_extents where
   tablespace_name='&tablespace_name' and segment_type='TABLE' group by       tablespace_name,segment_name;

163. 如何知道索引在表空間中的存儲情況?
   select segment_name,count(*) from dba_extents where segment_type='INDEX' and       owner='&owner'
   group by segment_name;

164、如何知道使用CPU多的用戶session?
   11是cpu used by this session

   select a.sid,spid,status,substr(a.program,1,40)       prog,a.terminal,osuser,value/60/100 value
   from v$session a,v$process b,v$sesstat c
   where c.statistic#=11 and c.sid=a.sid and a.paddr=b.addr order by value desc;

165. 如何知道監聽器日志文件?
   以8I為例
   $ORACLE_HOME/NETWORK/LOG/LISTENER.LOG

166. 如何知道監聽器參數文件?
   以8I為例
   $ORACLE_HOME/NETWORK/ADMIN/LISTENER.ORA

167. 如何知道TNS 連接文件?
   以8I為例
   $ORACLE_HOME/NETWORK/ADMIN/TNSNAMES.ORA

168. 如何知道Sql*Net 環境文件?
   以8I為例
   $ORACLE_HOME/NETWORK/ADMIN/SQLNET.ORA

169. 如何知道警告日志文件?
   以8I為例
   $ORACLE_HOME/ADMIN/SID/BDUMP/SIDALRT.LOG

170. 如何知道基本結構?
   以8I為例
   $ORACLE_HOME/RDBMS/ADMIN/STANDARD.SQL

171. 如何知道建立數據字典視圖?
   以8I為例
   $ORACLE_HOME/RDBMS/ADMIN/CATALOG.SQL

172. 如何知道建立審計用數據字典視圖?
   以8I為例
   $ORACLE_HOME/RDBMS/ADMIN/CATAUDIT.SQL

173. 如何知道建立快照用數據字典視圖?
   以8I為例
   $ORACLE_HOME/RDBMS/ADMIN/CATSNAP.SQL


   待續...


最新更新
·SQL Server 2005刪除用戶失敗
·SQL Server中刪除重復數據的
·經典SQL語句大全
·SQL Server 2005與ASP.NET/A
·三種查看MySQL數據庫版本的方
·SQL Server 2005 Express 遠
·啟用SQL Server 2005 Expres
·Windows下如何安裝或卸載MyS
·解決MySQL5數據庫連接超時問
·清除SQL Server日志的兩種方
相關信息
·2008主流數據庫產品回顧與展望
·安裝Oracle后配置和啟動企業管理器的方法
·簡單介紹Oracle 9i的16種數據類型
·如何在Oracle中導入dmp數據庫文件
·把Oracle查詢轉換為SQL Server
·輕松修改Oracle數據庫表的大小
·實例講解Oracle里抽取隨機數的多種方法
·Oracle在Linux操作系統下的安裝小結
·用Oracle8i修復數據庫壞塊的三種方法
·在Oracle中導出、導入dmp數據庫文件
畫心
愚愛
偏愛
火苗
白狐
畫沙
犯錯
歌曲
傳奇
稻香
小酒窩
獅子座
小情歌
全是愛
棉花糖
海豚音
我相信
甩蔥歌
這叫愛
shero
走天涯
琉璃月
Nobody
我愛他
套馬桿
愛是你我
最后一次
少女時代
灰色頭像
斷橋殘雪
美了美了
狼的誘惑
我很快樂
星月神話
心痛2009
愛丫愛丫
半城煙沙
旗開得勝
郎的誘惑
愛情買賣
2010等你來
我叫小沈陽
i miss you
姑娘我愛你
我們都一樣
其實很寂寞
我愛雨夜花
變心的玫瑰
犀利哥之歌
你是我的眼
你是我的OK繃
貝多芬的悲傷
哥只是個傳說
丟了幸福的豬
找個人來愛我
要嫁就嫁灰太狼
如果這就是愛情
我們沒有在一起
寂寞在唱什么歌
斯琴高麗的傷心
別在我離開之前離開
不是因為寂寞才想你
愛上你等于愛上了錯
在心里從此永遠有個你
一個人的寂寞兩個人的錯
主站蜘蛛池模板: 遵义县| 天气| 新闻| 台前县| 星子县| 丹东市| 博罗县| 江油市| 越西县| 汝南县| 区。| 桂阳县| 高邮市| 潍坊市| 台南县| 什邡市| 比如县| 阳山县| 潞西市| 云林县| 双鸭山市| 汶上县| 隆子县| 泽库县| 景德镇市| 大英县| 宜春市| 武陟县| 临漳县| 丰镇市| 辽阳市| 自贡市| 公安县| 南木林县| 昆明市| 石台县| 酒泉市| 民权县| 巴里| 焦作市| 清水县|