需求說明
s132877699668612為服務模板id,每乙個服務模板下面有多條服務模板配置資料,如下:
/config/cpf/bm_tp_service_cfg/data/s132877699668612_common_1
/config/cpf/bm_tp_service_cfg/data/s132877699668612_pipeline_1
/config/cpf/bm_tp_service_cfg/data/s132877699668612_m101_1
但是現在資料庫中出現了一些服務模板下面的配置資料缺失,主要是缺失_common_1和_pipeline_1,現在需要手動用sql指令碼去彌補缺失
-- created on 2012/12/20 by zhengtian
declare
--服務模板id
srv_tp_id varchar2(256);
--服務模板uri
srv_tp_uri varchar2(256);
--服務模板配置id
srv_tp_cfg_id varchar2(256);
--服務模板配置uri
srv_tp_cfg_uri varchar2(2000);
--是否存在common標誌位
common_flag integer;
--是否存在pipeline標誌位
pipeline_flag integer;
--common和pipeline的初始化資料
common_init_data varchar2(4000) := 'debug
dailyrollingfile
maxfilesize
datepattern
yyyy-mm-dd
intervalmin
maxbackupindex
flush_immediately
true
file
$logpath/aierr/
******layout
maxtrace
$logpath/
'; pipeline_init_data varchar2(4000) := '1tsbusiness';
--服務模板查詢條件
srv_tp_prefix varchar2(256) := '/config/cpf/bm_tp_service/data/';
--查詢資料庫中所有的服務模板的uri
cursor cursor_srv_tp_sel is select t.uri from cfg_runtime_data t where t.uri like srv_tp_prefix || '%';
--服務模板配置查詢條件
srv_tp_cfg_prefix varchar2(256) := '/config/cpf/bm_tp_service_cfg/data/';
srv_tp_cfg_sql varchar2(512);
cursor_srv_tp_cfg_sel sys_refcursor;
begin
--迴圈結果集
for flow_tp in cursor_srv_tp_sel loop
srv_tp_uri := flow_tp.uri;
--dbms_output.put_line('uri:' || srv_tp_uri);
srv_tp_id := substr(srv_tp_uri,length(srv_tp_prefix)+1,length(srv_tp_uri));
--dbms_output.put_line(srv_tp_id);
--組裝查詢服務模板配置的sql
srv_tp_cfg_sql := 'select t.uri from cfg_runtime_data t where t.uri like ''' || srv_tp_cfg_prefix || srv_tp_id || '%''';
--dbms_output.put_line(srv_tp_cfg_sql);
--初始化標誌位
common_flag := 0;
pipeline_flag := 0;
--查詢服務模板配置
open cursor_srv_tp_cfg_sel for srv_tp_cfg_sql;
loop fetch cursor_srv_tp_cfg_sel into srv_tp_cfg_uri;
exit when cursor_srv_tp_cfg_sel%notfound;
srv_tp_cfg_id := substr(srv_tp_cfg_uri,length(srv_tp_cfg_prefix)+length(srv_tp_id)+1,length(srv_tp_cfg_uri));
--dbms_output.put_line(srv_tp_cfg_id);
if srv_tp_cfg_id = '_common_1' then common_flag := 1;
end if;
if srv_tp_cfg_id = '_pipeline_1' then pipeline_flag := 1;
end if;
end loop;
if common_flag = 1
then
values(srv_tp_cfg_prefix || srv_tp_id || '_common_1', 'clound', rawtohex(common_init_data), sysdate, 0);
end if;
if pipeline_flag = 1
then
values(srv_tp_cfg_prefix || srv_tp_id || '_pipeline_1', 'clound', rawtohex(pipeline_init_data),sysdate, 0);
end if;
end loop;
--提交
--commit;
dbms_output.put_line('修改完成!');
exception
when others then dbms_output.put_line(sqlerrm);
end;
Oracle 10g資料庫游標的使用學習一
使用游標 1 9i以前的使用方法,一次取一條資料 1 顯示游標 declare 定義游標 cursor temp cursor is select t.name,t.english name from communitytype t where t.community type id ebook 定...
Oracle 10g資料庫游標的使用學習三(實踐)
b 需求說明 b s132877699668612為服務模板id,每乙個服務模板下面有多條服務模板配置資料,如下 config cpf bm tp service cfg data s132877699668612 common 1 config cpf bm tp service cfg data...
Oracle 10g資料庫管理
oracle 10g資料庫管理 課程介紹 本課程面向企業 oracle 10g 資料庫管理的學員。通過 oracle 10g 資料庫管理課程的系統培訓,使學員能夠在較短的時間內掌握 oralcle10g 資料庫管理和維護的各種技術,從而掌握最新版 oracle 的新特性和 oracle 資料通用技術...