Tag: 存儲

  • 在Oracle 9中偽造存儲概要

    當妳知道如何通過給壹段DML語句添加提示就可以讓它運行的快很多,但是妳卻沒有訪問源代碼並將提示放到適當位置的途徑, 妳會怎麽做?   在上壹篇文章中,我展示了妳可以如何用存儲概要(也被稱為執行計劃穩定性)來驅使數據庫引擎為妳做這種工作.   壹個存儲概要由兩個組件組成(寬泛地講)-壹個妳希望控制的SQL語句,壹組每當Oracle發現這條SQL被優化都將在它上面應用的提示.這兩個組件都被保存在壹個被稱為outln的數據庫schema中.   我們可以使用壹組如圖-1中類似的查詢語句來檢查保存在其中的SQL語句,以及附著在這條SQL語句上的提示.   1 select  name, used, sql_text   2 from    user_outlines   3 where   category = ‘DEFAULT’   4 ;   5   6 select  stage, node, hint   7 from    user_outline_hints   8 where   name = ‘{one of the names}’   9 ;   Figure 1 Examining stored outlines.   在前面的文章中,我介紹了這樣壹種想法來欺騙系統, 使用合法的方法創建壹個存儲概要, 接著,使用壹個文本相似的但已經添加過提示的語句來創建壹個存儲概要,最後,使用壹組SQL語句來交換這兩個存儲概要的實際結果來修復存儲概要.   當時,我曾提到這種方法對Oracle 8來講或許是安全的,但是由於在新版本中引入的變化, 在Oracle 9中可能會導致問題.   這篇文章將對這些變化進行考查, 介紹壹種合法的方法來得到妳想要的壹組存儲到outln中的提示,用來解決妳的那些問題語句.   相關變化   如果妳登錄到outln…

  • ORACLE STREAMS存儲過程中的壹些參數

    1,maintain_mode參數   可取golbal或transportable tablepsaces,當該參數取global時,表示streams進行全庫復制,否則表示streams進行表空間復制,需要在tablespace_names參數中指定待復制的壹個或多個表空間。   2,perform_actions參數   此參數設置為true時,streams配置腳本執行過程將記錄在dba_recoverable_script字典表,如果pre_instantiation_setup 執行時遇到錯誤,可以通過執行dbms_streams_adm的recover_operation過程在更正錯誤後繼續執行streams復制配置。參數為false的話則生成配置腳本到script_directory_object/script_name參數指定的位置。   3,source_database/destination_database參數   是指向源庫與目標庫的database link,必須確保正確,否則pre_instantiation_setup過程將會失敗,報ora-23621錯誤,如果錯誤發生,可以利用dbms_streams_adm的recover_operation過程回滾或者是清除上次操作,更正錯誤後再執行pre_instantiation_setup過程。   4,bi_directional   此參數設置為true時,表示streams是多源復制,即目標庫與源庫雙向復制對象與數據,否則只從源庫向目標庫復制對象與數據。   5,include_ddl   此參數表示復制的過程中,也復制DDL操作。   6,start_processes   此參數指streams配置完成後啟動捕獲、傳播及應用進程。   7,exclude_schemas   此參數指出全庫復制時不參與復制的用戶,如果有多個用戶不參加復制的話,可以用逗號分開,*號則排除所有schemas,NULL則不排除任何schemas(sys/system/stxsys始終不復制),該參數只有在全庫復制時有效。   8,exclude_flags   這裏表示多源復制的時候,為了避免redo entry的遞歸應用問題,應當避免的壹些操作。   pre_instantiation_setup存儲過程示例:   SQL>connect strmadmin/strmadmin   SQL>declare   2 empty_tbs dbms_streams_tablespace_adm.tablespace_set;   3 begin   4  dbms_streams_adm.pre_instantiation_setup(   5  maintain_mode => ‘global’,   6  tablespace_names => enpty_tbs,   7  source_database => ‘dbsour.net’,   8  destination_database => ‘dbdest.net’,   9  perform_actions => true,   10 bi_directional => true,…