Oracle9i流環境清除(二)
Oracle的文件上給出了流環境的配置過程,但是沒有給出如何才能徹底清除流環境。
這篇文章介紹一下流環境中傳播環境的清除過程。
Oracle9i流環境清除(一):http://yangtingkun.itpub.net/post/468/414098
首先確保所有於PROPAGATION相關的JOB已經停止,而且流應用過程已經根據上一篇的文章進行了清除。
檢查一下系統中的傳播配置:
SQL> SELECT PROPAGATION_NAME, RULE_SET_NAME FROM ALL_PROPAGATION;
PROPAGATION_NAME RULE_SET_NAME
------------------------------ ------------------------------
DATA_TO_REPORT RULESET$_144
SQL> SELECT RULE_SET_NAME, RULE_SET_EVAL_CONTEXT_OWNER, RULE_SET_EVAL_CONTEXT_NAME FROM USER_RULE_SETS
2 WHERE RULE_SET_NAME = 'RULESET$_144';
RULE_SET_NAME RULE_SET_EVAL_CONTEXT_OWNER RULE_SET_EVAL_CONTEXT_NAME
------------------------------ ------------------------------ ------------------------------
RULESET$_144 SYS STREAMS$_EVALUATION_CONTEXT
SQL> SELECT RULE_NAME FROM USER_RULES;
RULE_NAME
------------------------------
CAT_AREA_QUALITY_DEFINE143
CAT_AREA_QUALITY_DEFINE166
CAT_BUYER146
.
.
.
USER_DISTRICT165
USER_DISTRICT188
44 rows selected.
SQL> SELECT STREAMS_NAME, RULE_NAME FROM SYS.STREAMS$_RULES WHERE STREAMS_NAME = 'DATA_TO_REPORT';
STREAMS_NAME RULE_NAME
------------------------------ ------------------------------
DATA_TO_REPORT CAT_AREA_QUALITY_DEFINE143
DATA_TO_REPORT CAT_BUYER_DISTRICT145
DATA_TO_REPORT CAT_BUYER146
.
.
.
DATA_TO_REPORT PLT_PLAT164
DATA_TO_REPORT USER_DISTRICT165
22 rows selected.
有了清除APPLY的經驗,PROPAGATION的清除就比較簡單了。
首先使用DBMS_STREAMS_ADM包來去掉流環境中配置的PROPAGATION規則:
SQL> SELECT 'EXEC DBMS_STREAMS_ADM.REMOVE_RULE(''' || RULE_NAME || ''', ''PROPAGATION'', ''DATA_TO_REPORT'')'
2 FROM SYS.STREAMS$_RULES
3 WHERE STREAMS_NAME = 'DATA_TO_REPORT';
'EXECDBMS_STREAMS_ADM.REMOVE_RULE('''||RULE_NAME||''',''PROPAGATION'',''DATA_TO_REPORT'')'
--------------------------------------------------------------------------------------------
EXEC DBMS_STREAMS_ADM.REMOVE_RULE('CAT_AREA_QUALITY_DEFINE143', 'PROPAGATION', 'DATA_TO_REPORT')
EXEC DBMS_STREAMS_ADM.REMOVE_RULE('CAT_BUYER_DISTRICT145', 'PROPAGATION', 'DATA_TO_REPORT')
.
.
.
EXEC DBMS_STREAMS_ADM.REMOVE_RULE('PLT_PLAT164', 'PROPAGATION', 'DATA_TO_REPORT')
EXEC DBMS_STREAMS_ADM.REMOVE_RULE('USER_DISTRICT165', 'PROPAGATION', 'DATA_TO_REPORT')
22 rows selected.
SQL> EXEC DBMS_STREAMS_ADM.REMOVE_RULE('CAT_AREA_QUALITY_DEFINE143', 'PROPAGATION', 'DATA_TO_REPORT')
PL/SQL procedure successfully completed.
利用SQL生成指令碼,然後透過REMOVE_RULE過程進行刪除。這裡需要注意,REMOVE_RULE過程中的RULE_TYPE型別應該為PROPAGATION,而不是文件上給出的PROPAGATE。
確認所有流配置的PROPAGATION規則已經被清除掉了。
SQL> SELECT STREAMS_NAME, RULE_NAME FROM SYS.STREAMS$_RULES WHERE STREAMS_NAME = 'DATA_TO_REPORT';
no rows selected
下面清除掉PROPAGATION:
SQL> EXEC DBMS_PROPAGATION_ADM.DROP_PROPAGATION('DATA_TO_REPORT')
PL/SQL procedure successfully completed.
SQL> SELECT * FROM ALL_PROPAGATION;
no rows selected
然後清除掉已經沒有作用的RULE_SET:RULESET$_144。
SQL> EXEC DBMS_RULE_ADM.DROP_RULE_SET('RULESET$_144', TRUE)
PL/SQL procedure successfully completed.
SQL> SELECT * FROM USER_RULE_SETS WHERE RULE_SET_NAME = 'RULESET$_144';
no rows selected
檢查RULE,發現規則並沒有被清除掉,這時候可以透過關聯SYS.STREAMS$_RULES將已經沒有使用的RULE刪除掉,不過為了保險起見,可以等到刪除CAPTURE資訊的時候,再將所有的RULE一起刪除掉。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/4227/viewspace-69506/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oracle9i流環境清除(三)Oracle
- Oracle9i流環境清除(一)Oracle
- GOLDENGATE 清除DDL環境Go
- REMOVE_STREAMS_CONFIGURATION過程清除流環境報錯ORA-24042REM
- (轉)Oracle rac環境下清除asm例項OracleASM
- 流機制環境準備
- 測試環境,oracle9i 快照重新整理失敗Oracle
- RocketMQ系列(二)環境搭建MQ
- Flutter(二)之環境搭建Flutter
- LNMP環境搭建(二):NginxLNMPNginx
- 二、Rust 開發環境Rust開發環境
- 聯合國環境規劃署:二手車與環境
- ZooKeeper 系列(二)—— Zookeeper單機環境和叢集環境搭建
- (二) electron 開發環境配置開發環境
- 第二章-漏洞環境
- Redash 二開 - 後端環境搭建後端
- 第二課 如何在WINDOWS環境下搭建以太坊開發環境Windows開發環境
- Exception in thread "main" ,設定Oracle9i,10g環境變數ExceptionthreadAIOracle變數
- 基於Gulp小程式開發工作流,區分開發環境和生產環境開發環境
- 搭建自己的React+Typescript環境(二)ReactTypeScript
- mac搭建hadoop開發環境(二)MacHadoop開發環境
- SSM開發環境的搭建(方式二)SSM開發環境
- 【Oracle】 RAC 環境刪除oracle 之二Oracle
- 真實業務環境-需求分析思路(二)
- Oracle9i如何監視索引並清除監視資訊(轉)Oracle索引
- STATSPACK資料清除(二)
- Windows環境中同時安裝Oracle9i 10g和11gWindowsOracle
- 在winxp + oracle9i環境下,進行手工啟動資料庫失敗Oracle資料庫
- 配置開發環境、生成環境、測試環境開發環境
- 在Oracle9i中,如何監視索引並清除監視資訊Oracle索引
- 《Java從入門到失業》第二章:Java環境(四):IDE整合環境JavaIDE
- 後端多環境治理的實踐(二)後端
- 安卓逆向(二) —— 常用工具及環境安卓
- Flutter入門教程(二)開發環境搭建Flutter開發環境
- ASM單例項(Oracle 11.2.0.4)環境(二)ASM單例Oracle
- Superset Windows二次開發環境搭建Windows開發環境
- windows環境下Django環境搭建WindowsDjango
- MongoDB副本集replica set (二)--副本集環境搭建MongoDB