yangtingkun個人BLOG文章索引(Oracle文章)

tolywang發表於2007-03-29

SQL方面:


對字串的“sum”——在Oracle中自定義聚集函式的例子:如果利用Oracle的自定義功能實現使用者自定義的聚集函式,這個例子給出了一個實現字串合併的例子。


MERGE語句奇怪的錯誤提示MERGE語法的錯誤提示問題。



Oracle9i使用閃回操作:介紹Oracle9i的閃回功能。


測試TOM的例子居然發現bug :介紹9201的一個MERGE檢視的錯誤。


構造的巢狀表如何指定列名:使用巢狀表時,如何指定巢狀表中的列。


sql語句中常量的處理:在使用SQL中,怎樣處理常量效率更高。


ROLLUP和CUBE:介紹GROUP BY語句中的ROLLUPCUBE語句。


自定義分析函式:自定義分析函式的一個例子。


MERGE語法Oracle9i新增的MERGE語句。


INSERT ALL和INSERT FIRST語法Oracle9i新增的INSERT ALLINSERT FIRST語法。


INSERT ALL語句的一點研究:透過一個例項來說明INSERT ALL語法的優點。


10g中purge和flashback語句的重名問題PURGE語句和FLASHBACK出現重名的問題。


樹狀查詢兩例:樹狀查詢的兩個小例子。


樹狀查詢新特性:介紹10G的兩個新特性CONNECT_BY_ISLEAFCONNECT_BY_ISCYCLE


樹狀查詢新特性(二):介紹10G的另一個新特性CONNECT_BY_ROOT


樹狀查詢ROOT問題的9i解決方案:利用SYS_CONNECT_BY_PATH函式解決問題。


TO_DATE函式的小問題:小心’YYYY’格式。


Like操作的bug9204LIKE操作可能造成bug


DISTINCT的BUG9204子查詢中使用DISTINCT,外層查詢可能得到錯誤的結果。


包含同名觸發器的表執行PURGE TABLE出錯:包含同名觸發器的表進行PURGE出錯。


WITH語法小議:介紹Oraclewith語法。


ROWNUM偽列返回空9204的一個bug


DISTINCT和GROUP BY的區別:簡要介紹DISTINCTGROUP BY的區別。


用SQL處理分段查詢的問題SQL使用技巧。


查詢正常作為條件報錯的問題:描述問題,並給出相應的解決方案。


查詢正常作為條件報錯的問題(續):對上一篇文章中兩個問題進行深入描述。


ORA-600的qks3tGCL:1錯誤:執行SQL碰到的600錯誤。


得到系統時間戳的毫秒值:將以前得到秒值的方法進行了修改。


計算字串中包含中文、英文字元長度:計算字串中中文字元長度、英文字元長度、以及數字字元長度的方法。


PL/SQL方面:


對字串的“sum”——在Oracle中自定義聚集函式的例子:如果利用Oracle的自定義功能實現使用者自定義的聚集函式,這個例子給出了一個實現字串合併的例子。


DBMS_REPAIR的使用:介紹了DBMS_REPAIR包的作用,並給出了使用DBMS_REPAIR包進行修改的例子。


DBMS_REPAIR的使用(二):在上一篇文章的基礎上,利用自己編寫的恢復過程,從已經儲存的索引中恢復資料。


Oracle的線上重定義表功能:介紹9i引入的線上重定義功能。


Oracle的線上重定義表功能(二):一個線上重定義的使用例項。


如何定位DUMP所需的檔案號和BLOCKDUMP資料檔案需要指定DATAFILEBLOCK,這篇文章介紹如何最方便的透過ROWID獲取上面的資訊。


Oracle9i使用閃回操作:介紹Oracle9i的閃回功能。


NUMBER型別轉化為二進位制Oracle沒有將數值轉化為二進位制的方式,這裡實現了轉換的功能。


鬱悶的911錯誤:一箇中文字元引起的問題。


自定義分析函式:自定義分析函式的一個例子。


給使用者授予許可權時應該儘量避免ANY系統許可權:給出了一個透過ANY許可權獲得管理員許可權的例子。


Deterministic函式:介紹ORACLE函式的DETERMINISTIC特性。


計算月還款的小過程(一):寫了一個簡單的計算月還款的小程式。


計算月還款的小過程(二):對第一篇文章中的函式進行了封裝、過載,增加了新功能。


計算月還款的小過程(三):增加了提前還款的功能。


透過觸發器複製包含LONG型別的表:給出了透過觸發器將LONG型別資料複製到一張BLOB型別的表中,同時這個例子還演示瞭如何避免變易表。


BULK COLLECT的小毛病BULK COLLECT可能產生空記錄的問題。


日期轉換函式的格式引數大小寫規則:介紹Oracle日期轉化函式的格式引數大小寫問題。


FORALL語句的小問題:描述FORALL語句的一個限制。


FOR ALL語法淺析:對比FOR ALL語句和FOR LOOP的效率。


PLSQL計算質數:利用PLSQL計算質數,例子主要展示演算法對效率的影響。


判斷是否數字型別:兩種判斷一個字串是否包含的是合法數值的方法。


10g的MAX、MIN的bug:在10g中使用MAXMINCHAR型別操作,並將結果輸出到變數,可能造成計算結果超長的問題。


編碼規範的重要性——一次PLSQL程式問題診斷:透過例項說明編碼規範的重要性。


RETURNING語句幾個小問題:介紹PLSQLRETURNING語句。


過程執行報錯ORA-4068:對4068這個錯誤的產生進行了深入的分析。


自定義聚集函式訪問遠端物件(一):問題描述。


自定義聚集函式訪問遠端物件(二):多種角度進行測試,全方位展示問題。


自定義聚集函式訪問遠端物件(三):解決方法及總結。


一個處理作業系統檔案屬性的小函式:利用Oracle得到批次處理系統檔案屬性的指令碼。


計算個人所得稅的函式:一個計算個人所得稅的小函式。


UTL_FILE包的簡單例子:介紹UTL_FILE包的使用,給出一個將查詢結果寫到CSV檔案中的例子。


將任意表資料匯出為CSV檔案的過程:上面一篇文章的升級,支援任意查詢結果生成CSV檔案。


將IP地址轉化為數值:一個將IP地址轉換為數值的函式。


新建物件也可能導致儲存過程的失效:描述新建物件導致儲存過程失效的情況。


新增物件對呼叫者許可權儲存過程的影響:新建物件可能導致呼叫者許可權儲存過程執行出錯。


呼叫者許可權過程的許可權問題:描述呼叫者許可權儲存過程的特點。


呼叫者許可權儲存過程的許可權特點:利用動態SQL來避免許可權問題。


名稱空間的小問題:名稱空間問題。


VIEWS是關鍵字嗎VIEWS居然是PLSQL的關鍵字。


TO_LOB函式TO_LOB函式的特殊性。


數值超過NUMBER最大表示範圍的問題(一):透過一個小的函式引出數值超過NUMBER最大範圍的問題。


數值超過NUMBER最大表示範圍的問題(二):給出外部C儲存過程的解決方案。


數值超過NUMBER最大表示範圍的問題(三):給出外部JAVA儲存過程的解決方案。


數值超過NUMBER最大表示範圍的問題(四):利用Oracle儲存過程自定義加和乘的方法,解決問題。


數值超過NUMBER最大表示範圍的問題(五):利用Oracle的物件,採用另一種演算法實現。


ORA-28595錯誤:配置外部C過程時碰到的錯誤。


ORA-19206錯誤:錯誤描述及解決。


資料型別:


Oracle基本資料型別儲存格式淺析(一)——字元型別:介紹字元型別在Oracle中是如何儲存的。


Oracle本資料型別儲存格式淺析(二)——數字型別:介紹數值型別在Oracle中是如何儲存的。


Oracle基本資料型別儲存格式淺析(三)——日期型別(一):介紹日期型別DATEOracle中是如何儲存的。


Oracle基本資料型別儲存格式淺析(三)——日期型別(二):介紹日期型別TIMESTAMPOracle中是如何儲存的。


Oracle基本資料型別儲存格式淺析(三)——日期型別(三): 介紹日期型別SYSDATEOracle中是如何儲存的。


Oracle基本資料型別儲存格式淺析(三)——日期型別(四):介紹日期型別SYSTIMESTAMPOracle中是如何儲存的。


Oracle基本資料型別儲存格式淺析(四)——ROWID型別(一): 介紹物理ROWID型別在Oracle中是如何儲存的。


Oracle基本資料型別儲存格式淺析(四)——ROWID型別(二):介紹邏輯ROWID型別在Oracle中是如何儲存的。


Oracle基本資料型別儲存格式淺析(五)——RAW型別:介紹RAW型別在Oracle中是如何儲存的。


解析Oracle各種資料型別:這篇文章總結了前面資料型別格式分析和DBMS_REPAIR包的分析結果,透過編寫一個函式,就可以將資料庫中儲存的資料恢復出來。


NULL的資料型別:透過測試得到NULL的預設資料型別。


Oracle中'AA '和'AA'是否相等:說明不同資料型別會導致不同結果。


Long欄位的限制long型別的又一個限制。


TO_LOB函式TO_LOB函式的特殊性。


如何對LONG列進行查詢:給出查詢LONG欄位的幾種方法。


Oracle中的NULL(一):介紹NULL的概念。


Oracle中的NULL(二)NULLAND/OR布林運算特點。


Oracle中的NULL(三)NULLNOT布林運算特點。


Oracle中的NULL(四)NULL的字元表示形式’’

JOB相關內容:


JOB自動執行出錯,但手工執行正常——淺談job和database link的一個特點:描述了匿名資料庫鏈的特點,以及和JOB配合使用時會出現的情況。


利用TRUNC函式定製JOB的時間間隔:利用TRUNC函式來設定JOB的執行間隔。


透過JOB增加分割槽:利用JOB定時增加分割槽。


如何刪除非當前使用者下的JOB:介紹了DBMS_IJOB包的使用。


JOB和匯入匯出EXP/IMP時可能丟失JOB的問題。


解決JOB的interval輸入引數過長的問題:一般透過設定INTERVAL引數的方式控制JOB的執行間隔,這篇文章給出JOBINTERVAL引數過長的解決方案。


奇怪的JOB程式9204linux環境下可能存在的bug


一次JOB任務的診斷:一次實際問題的診斷。


利用儲存過程的輸出引數控制JOB的執行狀態:利用儲存過程的輸出引數控制JOB的狀態。


分割槽表:


分割槽表使用ENABLE ROW MOVEMENT的副作用:將分割槽表設定為ENABLE ROW MOVEMENT可能帶來的問題。


幾個關於分割槽的小的儲存過程:透過表中的記錄的ROWID得到這條記錄所在的分割槽名稱;計算表中各個分割槽的記錄數;計算表中各個子分割槽的記錄數。


在同義詞上執行ALTER TABLE ADD PARTITION語句會導致BUG:基於分割槽表的同義詞上執行新增分割槽操作會產生bug


將普通錶轉變為分割槽表:介紹了將普通錶轉化為分割槽表的幾種方法。


透過JOB增加分割槽:利用JOB定時增加分割槽。


本地分割槽索引如何確定表空間:分割槽表增加分割槽時,怎樣確定LOCAL分割槽索引的表空間。


物化檢視的PCT特性(一):基於分割槽表的物化檢視的PCT特性介紹。


物化檢視的PCT特性(二):基於分割槽表的物化檢視的PCT特性的限制條件。


透過同義詞訪問遠端分割槽表的某個分割槽:透過同義詞訪問遠端分割槽的問題。


HASH分割槽表增加新的分割槽的一點研究:增加HASH分割槽對現有分割槽的影響。


分割槽操作後索引的狀態:研究怎樣進行分割槽操作對GLOBAL索引影響最小。


效能最佳化:


oracle的執行計劃居然出錯!9204中查詢重寫的bug


BITMAP索引的結構:介紹BITMAP索引的儲存結構。


sql語句中常量的處理:在使用SQL中,怎樣處理常量效率更高。


奇怪的Cluster提示CLUSTER提示的特點。


函式索引和初始化引數的關係9i後函式索引使用不再需要設定初始化引數。


透過USE_CONCAT提示想到的HINT與執行計劃的關係問題。


在RULE模式下NL_AJ和NL_SJ提示無效NL_AJNL_SJ提示在RULE模式下被忽略。


NO_PUSH_SUBQ提示無效Oracle提示無效的bug


利用Oracle的bug進行測試——UNNEST提示的測試記錄:利用BUG測試UNNEST提示的功能。


奇怪的PUSH_PRED和NO_PUSH_PRED提示Oracle認出了提示,但是將其忽略掉了。


EXPAND_GSET_TO_UNION提示不起作用:又一個無效的提示。


執行COUNT(COLUNM_NAME)不使用索引:介紹了9i和10g最佳化器處理COUNT(COLUMN)的區別。


Oracle的RBO最佳化器RBO最佳化器優先順序排名。


RBO下表連線順序的確定:介紹RBO表連線的順序。


CBO使用CHECK的一個Bug:當CHECK條件恆為NULL時的問題。


NOT NULL約束與CHECK約束:介紹直接設定NOT NULL約束和CHECK(COL IS NOT NULL)的區別。


常數索引Oracle支援常數索引。


取得表中總記錄數最快的方法:給出快速從表中讀取記錄總數的多種方法。


建立索引對執行中的SQL語句的影響(一):建立索引對於大部分正在執行的SQL語句是不會帶來效能提升的。


建立索引對執行中的SQL語句的影響(二):帶來效能提升的特例。


組合索引限制條件的驗證:驗證組合索引的限制條件。


CACHE和NOCACHE提示無效:描述了對CACHENOCACHE提示的測試。


CACHE和NOCACHE提示的進一步研究(一):進一步討論NOCACHE提示。


CACHE和NOCACHE提示的進一步研究(二):討論CACHENOCACHE對錶的影響。


KEEP池的CACHE特點(一)KEEP池的使用。


KEEP池的CACHE特點(二)KEEP池不足時的CACHE特點。


KEEP池的CACHE特點(三):描述索引在KEEP池的CACHE特點。


KEEP池的CACHE特點(四)KEEP池的記憶體清理特點。


RECYCLE池的CACHE特點(一)RECYCLE池的使用。


RECYCLE池的CACHE特點(二):描述RECYCLE不足時的CACHE特點。


RECYCLE池的CACHE特點(三):描述索引在RECYCLE池的CACHE特點。


RECYCLE池的CACHE特點(四)CACHE提示對RECYCLE池的影響。


Oracle分頁查詢語句(一):分頁查詢標準寫法。


Oracle分頁查詢語句(二):分頁查詢標準寫法與錯誤寫法效率對比。


Oracle分頁查詢語句(三):表連線情況效率對比。


Oracle分頁查詢語句(四):內部子查詢排序的情況。


Oracle分頁查詢語句(五)UNION ALLGROUP BY等操作會導致分頁查詢的效率優勢消失。


Oracle分頁查詢語句(六):分頁查詢翻頁到最後的效能問題。


Oracle分頁查詢語句(七)ORDER BY STOPKEYORDER BY在翻頁最後幾頁的效能差別。


Oracle分頁查詢格式(八):如何對包含UNION ALL的分頁語句編寫特殊的分頁查詢語句。


Oracle分頁查詢格式(九):如何對包含DISTINCT/GROUP BY/UNIQUE的分頁語句編寫特殊的分頁查詢語句。


Oracle分頁查詢格式(十):10g的新執行計劃GROUP BY STOPKEY,解決了GROUP BY分頁效率低的問題。


分頁查詢的排序問題:對排序演算法的簡單推測。


查詢作業系統統計資訊:尋找作業系統統計資訊的儲存位置。


Statspack的唯一衝突bug:設定了CURSOR_SHARINGSIMILAR後,可能導致STATSPACK收集資訊時出現唯一衝突的BUG


解決的statspack bug的後續問題Oracle推薦的解決問題的方法存在著一定的問題。


Oracle9i Cursor_sharing設定為similar引起的bug:設定了CURSOR_SHARINGSIMILAR後出現了一堆的問題,這篇文章進行簡單的總結。


如何判斷索引是系統產生還是使用者建立的:區分索引是使用者自己建立的還是Oracle自動生成的。


RBO如何確定使用索引的順序:描述RBO確定索引順序的規則。


ANALYZE的ESTIMATE語法處理全文索引的bugANALYZEESTIMATE語法在分析全文索引表時的問題。


域索引提示無效:域索引提示DOMAIN_INDEX_SORTDOMAIN_INDEX_NO_SORT無效。


FIRST_ROWS和FIRST_ROWS(N)的區別:描述了FIRST_ROWSFIRST_ROWS(N)的區別。


同時查詢MAX和MIN的SQL:如何最佳化同時查詢MAXMINSQL語句。


小議笛卡兒連線:對CARTESIAN連線進行簡單的分析。


全文索引效能分析(一):整體分析。


全文索引效能分析(二):統計資訊對全文索引效能影響。


全文索引效能分析(三):直方圖對全文索引效能影響。


全文索引效能分析(四):多個全文索引查詢條件的情況。


全文索引效能分析(五):包含兩個全文索引查詢欄位的情況。


全文索引效能分析(六):兩張關聯表都包

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/35489/viewspace-84549/,如需轉載,請註明出處,否則將追究法律責任。

相關文章