This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
nms-nmsweb/sql/procedures20141031.sql

1048 lines
49 KiB
MySQL
Raw Normal View History

2018-09-27 16:21:05 +08:00
---------------------------------------------------
-- Export file for user NMS --
-- Created by dongxiaoyan on 2014/10/31, 9:17:28 --
---------------------------------------------------
spool procedures.log
prompt
prompt Creating procedure PRO_ADD_PART_ONE_DAY
prompt =======================================
prompt
CREATE OR REPLACE PROCEDURE pro_add_part_one_day(v_table_name IN VARCHAR2,v_par_sequence IN VARCHAR2)
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
AS
-------------------------------------------------------------------------------------------------------------
--<EFBFBD>˹<EFBFBD><EFBFBD>̵Ĺ<EFBFBD><EFBFBD><EFBFBD>
-- <20><><EFBFBD>ݴ<EFBFBD><DDB4>ݵIJ<DDB5><C4B2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6>ı<EFBFBD><C4B1>ռ<D5BC>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>1. 0
--<EFBFBD><EFBFBD> <EFBFBD>ߣ<EFBFBD>hyx
--<EFBFBD><EFBFBD> <EFBFBD>ڣ<EFBFBD>2013.10.31
---
-------------------------------------------------------------------------------------------------------------
---<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>= <EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ǰ׺ + <EFBFBD><EFBFBD><EFBFBD><EFBFBD> + _ + <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_table_name_prefix CONSTANT VARCHAR2(100) :=''; --<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD>ã<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD><EFBFBD>񳤶ȳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ǰ׺<EFBFBD><EFBFBD>ע<EFBFBD>һ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>
c_oracle_data_dir CONSTANT VARCHAR2(200) :='/data/d4/oradata/ict/nmspartition/'; --<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>·<EFBFBD><EFBFBD>
c_tablespace_init_size CONSTANT VARCHAR2(10) :='10M'; --<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
c_tablespace_extend_size CONSTANT VARCHAR2(10) :='5M'; --<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='pro_add_part_one_day'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
-------------------------------------------------------------------------------------------------------------
v_log_table_sql VARCHAR2(2000);----<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>־sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
v_last_tablespace_name_sql VARCHAR2(2000);----<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_last_tablespace_name VARCHAR2(200);----<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>
---
v_tablespace_prefix_length NUMBER;----<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
v_last_tablespace_name_date NUMBER; --<EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_next_tablespace_name_date NUMBER; --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_create_tablespace_sql VARCHAR2(2000); --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_partition_time_date NUMBER; ----ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Χֵ
v_add_partition_sql VARCHAR2(2000); --<EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_sub_table_name VARCHAR2(200);--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>21ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
-------------------------------------------------------------------------------------------------------------
BEGIN
----------------------------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'1'',''1.<2E>ж<EFBFBD>'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>21<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ȡ21<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD>жϱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>21<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӻ<EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>ȡ21<EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD>:<EFBFBD><EFBFBD>Ϊ֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>г<EFBFBD><EFBFBD>ȳ<EFBFBD><EFBFBD><EFBFBD>21<EFBFBD>ģ<EFBFBD>22+9=31<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>󳤶<EFBFBD><EFBFBD><EFBFBD>
v_sub_table_name := v_table_name;
if length(v_table_name)>21 then
v_sub_table_name := substr(v_table_name,-21);
end if;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'2'',''2.<2E><>ȡǰ<C8A1><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'||v_table_name||',<2C><>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>'||v_sub_table_name||' end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'3'',''3.<2E><>ȡ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>
v_last_tablespace_name_sql := 'select name from (select * from v$tablespace where name like''%'||c_table_name_prefix||v_sub_table_name||'_2%'''||'order by name desc ) where rownum<2';
execute immediate v_last_tablespace_name_sql into v_last_tablespace_name;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'4'',''4.<2E><>ȡ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'5'',''5.<2E><>ȡ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ǰ׺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+1 begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ǰ׺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+1
v_tablespace_prefix_length := LENGTH(CONCAT(c_table_name_prefix,v_sub_table_name)) + 2 ;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'6'',''6.<2E><>ȡ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ǰ׺<EFBFBD><EFBFBD><EFBFBD><EFBFBD>+1 end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'7'',''7.<2E><>ȡ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_last_tablespace_name_date := to_number(substr(v_last_tablespace_name, v_tablespace_prefix_length, 8));
--v_last_tablespace_name_date := to_number('20131106');--ָ<EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'8'',''8.<2E><>ȡ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>ȥ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:'||v_last_tablespace_name_date||' end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'9'',''9.<2E><>ȡ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_next_tablespace_name_date := to_char(to_date(v_last_tablespace_name_date,'yyyymmdd') + '1','yyyymmdd');
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'10'',''10.<2E><>ȡ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'11'',''11.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>
v_create_tablespace_sql := 'CREATE BIGFILE TABLESPACE '||c_table_name_prefix||v_sub_table_name||'_'||v_next_tablespace_name_date||' DATAFILE'||''''||c_oracle_data_dir||c_table_name_prefix||v_sub_table_name||'_'||v_next_tablespace_name_date||'.dbf'||''''||' SIZE '||c_tablespace_init_size||' AUTOEXTEND ON NEXT '||c_tablespace_extend_size||' MAXSIZE UNLIMITED';
execute immediate v_create_tablespace_sql;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'12'',''12.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>:'||c_table_name_prefix||v_sub_table_name||'_'||v_next_tablespace_name_date||' end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'13'',''13.'||v_table_name||'<EFBFBD><EFBFBD> <20><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ʱ<EFBFBD><CAB1> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
v_partition_time_date := to_char(to_date(v_last_tablespace_name_date,'yyyymmdd') + '2','yyyymmdd');
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'14'',''14.'||v_table_name||'<EFBFBD><EFBFBD> <20><>ȡ<EFBFBD><C8A1>һ<EFBFBD><D2BB>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ӧ<EFBFBD><D3A6>ʱ<EFBFBD><CAB1> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'15'',''15.<2E>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>'||v_table_name||'<EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD>ѱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>
v_add_partition_sql := 'ALTER TABLE '||v_table_name||' ADD PARTITION '||v_sub_table_name||'_' ||
v_next_tablespace_name_date || ' values less than(' ||
'to_date('''||v_partition_time_date||''','||''''||'yyyymmdd'||''''||')'|| ') TABLESPACE '||c_table_name_prefix||v_sub_table_name||'_'||v_next_tablespace_name_date;
execute immediate v_add_partition_sql;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_par_sequence||'16'',''16.<2E>ѱ<EFBFBD><D1B1><EFBFBD><EFBFBD><EFBFBD>'||v_sub_table_name||'_' ||v_next_tablespace_name_date||'<EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>'||v_table_name||'<EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------------------------
EXCEPTION
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ora<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
WHEN OTHERS THEN
BEGIN
ROLLBACK;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''-1'',''error:'||SQLERRM||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--ROLLBACK;
END;
END;
/
prompt
prompt Creating procedure PRO_CREATEINDEX
prompt ==================================
prompt
create or replace procedure pro_createIndex(tabName IN VARCHAR2,fileds IN VARCHAR2) is
---
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='pro_createIndex'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
v_log_table_sql VARCHAR2(5000);
sposition1 INTEGER;
sposition2 INTEGER;
mysubstr VARCHAR2(100);
starttimes INTEGER;
splitStr VARCHAR2(10);
v_sql1 VARCHAR2(100);
begin
starttimes := 1;
sposition1 := 1;
splitStr := ':';
loop
sposition2 := instr(fileds, splitStr, 1, starttimes);
mysubstr := substr(fileds, sposition1, sposition2 - sposition1);
if mysubstr is null
then
exit;
end if;
v_sql1:='create index '||tabName||'_'||starttimes ||' on '||tabName||'('||mysubstr||') local';
EXECUTE IMMEDIATE v_sql1;
sposition1 := sposition2 + 1;
starttimes := starttimes + 1;
dbms_output.put_line(mysubstr);
exit when sposition2 = 0;
end loop;
dbms_output.put_line('end');
EXCEPTION
WHEN OTHERS THEN
BEGIN
ROLLBACK;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''-1'',''error:'||SQLERRM||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
END;
end;
/
prompt
prompt Creating procedure PRO_CREATEQUTESPACE
prompt ======================================
prompt
create or replace procedure PRO_CREATEQUTESPACE(spaceName IN VARCHAR2,spacePath IN VARCHAR2)
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
space_sql VARCHAR2(5000);
execParm number;
proexecinfoid number;
execption_sql VARCHAR2(5000);
begin
execParm := 0;
space_sql :='create tablespace '||spaceName||' datafile '''||spacePath||''' size 50M autoextend on default storage(initial 10M next 10M minextents 1 maxextents unlimited pctincrease 1)';
execParm := 1;
EXECUTE IMMEDIATE space_sql;
--EXECUTE IMMEDIATE 'create tablespace '||spaceName||' datafile '''||spacePath||''' size 50M default
-- storage(initial 10M next 10M minextents 1 maxextents unlimited pctincrease 1)';
--execParm := 2;
EXCEPTION WHEN OTHERS THEN
select SEQ_PROEXECINFO.NEXTVAL into proexecinfoid from dual;
execption_sql := 'insert into PROEXECINFO(ID,proname,param,prodesc) values('||proexecinfoid||',''PRO_CREATEQUTESPACE'','||execParm||','''||to_char(sysdate,'YYYY-MM-DD HH:MI')||spaceName||spacePath||''')';
EXECUTE IMMEDIATE execption_sql;
--
--dbms_output.put_line(sqlerrm);
--ROLLBACK;
end PRO_CREATEQUTESPACE;
--end;
/
prompt
prompt Creating procedure PRO_CREATESEQ
prompt ================================
prompt
create or replace procedure pro_createSeq(tabName IN VARCHAR2) is
---
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='pro_createSeq'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
v_log_table_sql VARCHAR2(5000);
v_sql1 VARCHAR2(5000);
begin
v_sql1 :='create sequence SEQ_'||tabName||'
minvalue 1
maxvalue 999999999999
start with 1
increment by 1
cache 20
cycle
order';
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>seq<EFBFBD><EFBFBD>sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''1'',''1.<2E><><EFBFBD><EFBFBD>SEQ<45><51>SQL<51><4C><EFBFBD><EFBFBD>:'||v_sql1||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
EXECUTE IMMEDIATE v_sql1;
EXCEPTION
WHEN OTHERS THEN
BEGIN
ROLLBACK;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''-1'',''error:'||SQLERRM||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
END;
end pro_createSeq;
/
prompt
prompt Creating procedure PRO_CREATETRIGGER
prompt ====================================
prompt
create or replace procedure pro_createTrigger(tabName IN VARCHAR2) is
---
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='pro_createTrigger'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
v_log_table_sql VARCHAR2(5000);
v_sql1 VARCHAR2(5000);
begin
v_sql1 :='Create Or Replace Trigger B_I_'||tabName ||' before insert on '||tabName||' for each row
declare
begin
if ( :new.id is null ) --insert
then
select seq_'||tabName ||'.nextVal into :new.id from dual;
end if;
end B_I_'||tabName||';';
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''1'',''1.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>SQL<51><4C><EFBFBD><EFBFBD>:'||v_sql1||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
EXECUTE IMMEDIATE v_sql1;
EXCEPTION
WHEN OTHERS THEN
BEGIN
ROLLBACK;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''-1'',''error:'||SQLERRM||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
END;
end pro_createTrigger;
/
prompt
prompt Creating procedure PRO_CREATETABLE
prompt ==================================
prompt
create or replace procedure pro_createTable(tabName IN VARCHAR2,filedAndType IN VARCHAR2,indexfileds in varchar2)
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
---
c_oracle_data_dir CONSTANT VARCHAR2(200) :='/data/d4/oradata/ict/nmspartition/'; --<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ŵ<EFBFBD>·<EFBFBD><EFBFBD>
c_tablespace_init_size CONSTANT VARCHAR2(10) :='10M'; --<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
c_tablespace_extend_size CONSTANT VARCHAR2(10) :='5M'; --<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>ÿ<EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>С
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='pro_createTable'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
v_create_tablespace_sql VARCHAR2(5000);
v_log_table_sql VARCHAR2(5000);
v_sql1 VARCHAR2(5000);
---
part_time VARCHAR2(64);--<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD>׺<EFBFBD><EFBFBD>
part_time_format VARCHAR2(64);--<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
part_time2 VARCHAR2(64);--<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ĺ<EFBFBD>׺<EFBFBD><EFBFBD>
part_time2_format VARCHAR2(64);--<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><EFBFBD>ַ<EFBFBD><EFBFBD><EFBFBD>
begin
---------------------------------------
--<EFBFBD>޸<EFBFBD>Ϊ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>޸<EFBFBD>
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''1'',''1.<2E><><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ռ<D5BC><E4A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_create_tablespace_sql := 'CREATE BIGFILE TABLESPACE '||tabName||' DATAFILE '''||c_oracle_data_dir||tabName||'.dbf'' SIZE '||c_tablespace_init_size||' AUTOEXTEND ON NEXT '||c_tablespace_extend_size||' MAXSIZE UNLIMITED';
execute immediate v_create_tablespace_sql;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''2'',''2.<2E><><EFBFBD><EFBFBD><EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ռ<D5BC><E4A3A8><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
---------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''3'',''3.<2E><>ѯ<EFBFBD><D1AF>ǰʱ<C7B0><CAB1> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD>ѯ<EFBFBD><EFBFBD>ǰʱ<EFBFBD><EFBFBD>
select to_char(sysdate,'yyyyMMdd') into part_time from dual;
select to_char(sysdate,'yyyy-MM-dd HH24:MI:SS') into part_time_format from dual;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''4'',''4.<2E><>ѯ<EFBFBD><D1AF>ǰʱ<C7B0><CAB1>:'||part_time||' end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
---------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''5'',''5.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ռ<EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD>
v_create_tablespace_sql := 'CREATE BIGFILE TABLESPACE '||tabName||'_'||part_time||' DATAFILE '''||c_oracle_data_dir||tabName||'_'||part_time||'.dbf'' SIZE '||c_tablespace_init_size||' AUTOEXTEND ON NEXT '||c_tablespace_extend_size||' MAXSIZE UNLIMITED';
execute immediate v_create_tablespace_sql;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''6'',''6.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ռ<EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
---------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''7'',''7.<2E><>ѯ<EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD>ѯ<EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>
select to_char(sysdate+1,'yyyyMMdd') into part_time2 from dual;
select to_char(sysdate+1,'yyyy-MM-dd HH24:MI:SS') into part_time2_format from dual;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''8'',''8.<2E><>ѯ<EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>:'||part_time2||' end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
---------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''9'',''9.<2E><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ռ<EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD>
v_create_tablespace_sql := 'CREATE BIGFILE TABLESPACE '||tabName||'_'||part_time2||' DATAFILE '''||c_oracle_data_dir||tabName||'_'||part_time2||'.dbf'' SIZE '||c_tablespace_init_size||' AUTOEXTEND ON NEXT '||c_tablespace_extend_size||' MAXSIZE UNLIMITED';
execute immediate v_create_tablespace_sql;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''10'',''10.<2E><><EFBFBD><EFBFBD><EFBFBD>ڶ<EFBFBD><DAB6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><C4B1>ռ<EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''11'',''11.<2E><><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_sql1 :='create table '||tabName ||'(id number not null primary key,detection_info_id number not null ,'||filedAndType||',DETECTIONED_STATE varchar(2),SEQ_ID number,DETECTION_SET_INFO_ID number,data_check_time DATE,data_arrive_time DATE,data_check_time_digital number,data_arrive_time_digital number,foreign KEY(detection_info_id) REFERENCES detection_info(id))'||
'partition by range(DATA_CHECK_TIME)'||'(partition '||tabName||'_'||part_time||' values less than(to_date('''||part_time_format||''',''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) tablespace '||tabName||'_'||part_time||' storage(initial 10M next 10M maxextents unlimited ),'||
'partition '||tabName||'_'||part_time2||' values less than(to_date('''||part_time2_format||''',''SYYYY-MM-DD HH24:MI:SS'', ''NLS_CALENDAR=GREGORIAN'')) tablespace '||tabName||'_'||part_time2||' storage(initial 10M next 10M maxextents unlimited ))';
EXECUTE IMMEDIATE v_sql1;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''12'',''12.<2E><><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
---------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''13'',''13.<2E><><EFBFBD><EFBFBD>seq begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>seq
pro_createSeq(tabName);
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''14'',''14.<2E><><EFBFBD><EFBFBD>seq end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
---------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''15'',''15.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_createTrigger(tabName);
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''16'',''16.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
---------------------------------------
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''17'',''17.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_createindex(tabName,indexfileds);
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''18'',''18.<2E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
----------------------------------------
EXCEPTION
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ora<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
WHEN OTHERS THEN
BEGIN
ROLLBACK;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''-1'',''error:'||SQLERRM||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
END;
end pro_createTable;
/
prompt
prompt Creating procedure PRO_CREATEWEEKSPACE
prompt ======================================
prompt
create or replace procedure PRO_CREATEWEEKSPACE(spaceName IN VARCHAR2,spacePath IN VARCHAR2)
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
space_sql VARCHAR2(5000);
execParm number;
proexecinfoid number;
execption_sql VARCHAR2(5000);
begin
execParm := 0;
space_sql :='create tablespace '||spaceName||' datafile '''||spacePath||''' size 100M autoextend on default storage(initial 100M next 10M minextents 1 maxextents unlimited pctincrease 1)';
--space_sql :='create tablespace '||spaceName||' datafile '''||spacePath||''' size 100M autoextend on next 10M maxsize unlimited ';
execParm := 1;
EXECUTE IMMEDIATE space_sql;
--EXECUTE IMMEDIATE 'create tablespace '||spaceName||' datafile '''||spacePath||''' size 50M default
-- storage(initial 10M next 10M minextents 1 maxextents unlimited pctincrease 1)';
--execParm := 2;
EXCEPTION WHEN OTHERS THEN
select SEQ_PROEXECINFO.NEXTVAL into proexecinfoid from dual;
execption_sql := 'insert into PROEXECINFO(ID,proname,param,prodesc) values('||proexecinfoid||',''PRO_CREATEQUTESPACE'','||execParm||','''||to_char(sysdate,'YYYY-MM-DD HH:MI')||spaceName||spacePath||''')';
EXECUTE IMMEDIATE execption_sql;
--
--dbms_output.put_line(sqlerrm);
--ROLLBACK;
end PRO_CREATEWEEKSPACE;
--end;
/
prompt
prompt Creating procedure PRO_RECORD_LOG_INFO
prompt ======================================
prompt
create or replace procedure PRO_RECORD_LOG_INFO(log_table_name in VARCHAR2,id in number, proname in VARCHAR2, sequence in VARCHAR2,log_cont in VARCHAR2)
is
v_log_table_sql VARCHAR2(2000);----<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>־sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pragma autonomous_transaction;
begin
v_log_table_sql := 'INSERT INTO '||log_table_name||'(id,proname,sequence,log_cont) VALUES('||id||','''||proname||''','''||sequence||''','''||log_cont||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
end PRO_RECORD_LOG_INFO;
/
prompt
prompt Creating procedure PRO_DEL_PART_BY_DAY
prompt ======================================
prompt
create or replace procedure pro_del_part_by_day(v_table_name IN VARCHAR2,v_par_sequence IN VARCHAR2,v_partition_name IN VARCHAR2)
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
AS
-------------------------------------------------------------------------------------------------------------
--<EFBFBD>˹<EFBFBD><EFBFBD>̵Ĺ<EFBFBD><EFBFBD><EFBFBD>
--ÿ<EFBFBD><EFBFBD>ִ<EFBFBD>п<EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD>Զ<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD>1. 0
--<EFBFBD><EFBFBD> <EFBFBD>ߣ<EFBFBD>hyx
--<EFBFBD><EFBFBD> <EFBFBD>ڣ<EFBFBD>2013.11.01
---
-------------------------------------------------------------------------------------------------------------
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
----<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>= <EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ǰ׺ + <EFBFBD><EFBFBD><EFBFBD><EFBFBD> + _ + <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_table_name_prefix CONSTANT VARCHAR2(100) :=''; ----<EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD>ǰ׺<EFBFBD><EFBFBD>ע<EFBFBD>һ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>д<EFBFBD><EFBFBD>
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='pro_del_part_by_day'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-------------------------------------------------------------------------------------------------------------
--v_log_table_sql VARCHAR2(2000);----<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>־sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_del_partition_sql VARCHAR2(2000); --ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_log_id NUMBER;--<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼id
-------------------------------------------------------------------------------------------------------------
BEGIN
----------------------------------------------------------
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,v_par_sequence||'3','3.ɾ<><C9BE>'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin');
----ɾ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_del_partition_sql := 'alter table '||v_table_name||' drop partition '||v_partition_name||' update indexes';
execute immediate v_del_partition_sql;
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,v_par_sequence||'4','4.ɾ<><C9BE>'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end');
-------------------------- --------------------------------
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,v_par_sequence||'5','5.ɾ<><C9BE>'||v_table_name||'<EFBFBD><EFBFBD> <20><><EFBFBD>ռ<EFBFBD> begin');
----ɾ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>
execute immediate 'drop tablespace '||c_table_name_prefix||v_partition_name||' including contents and datafiles';
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,v_par_sequence||'6','6.ɾ<><C9BE>'||v_table_name||'<EFBFBD><EFBFBD> <20><><EFBFBD>ռ<EFBFBD> end');
----------------------------------------------------------
EXCEPTION
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ora<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
WHEN OTHERS THEN
BEGIN
ROLLBACK;
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'-1','error:'||SQLERRM);
END;
END pro_del_part_by_day;
/
prompt
prompt Creating procedure PRO_DELTABSPACE
prompt ==================================
prompt
create or replace procedure PRO_DELTABSPACE(v_par_sequence IN VARCHAR2,v_cur_sql IN VARCHAR2)
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
--------------------------------------------------------------
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='PRO_DELTABSPACE'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_table_name VARCHAR2(2000); --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_partition_name VARCHAR2(2000); --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_sequence_count NUMBER :=0; --<EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD>̵IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_full_sequence VARCHAR2(100);--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>
--v_log_table_sql VARCHAR2(2000);----<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>־sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_log_id NUMBER;--<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼id
--<EFBFBD>α<EFBFBD>
type cur_type is ref cursor;
cur cur_type;
CT_COLUMNS user_tab_partitions%ROWTYPE;--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>CT_COLUMNS<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%rowtype <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>α<EFBFBD><EFBFBD><EFBFBD>%rowtype
--------------------------------------------------------------
BEGIN
OPEN cur for v_cur_sql;
LOOP
v_sequence_count := v_sequence_count + 1;
FETCH cur INTO CT_COLUMNS;
EXIT WHEN cur%NOTFOUND;
--------------------------------------------------------------
v_table_name :=CT_COLUMNS.table_name;--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_partition_name :=CT_COLUMNS.partition_name;--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_full_sequence := v_par_sequence||v_sequence_count;
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,v_full_sequence,v_sequence_count||'<><C9BE>'||v_table_name||'<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin');
--ɾ<EFBFBD><EFBFBD>detection_info<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_del_part_by_day(v_table_name,v_full_sequence||'_',v_partition_name);
v_sequence_count := v_sequence_count + 1;
v_full_sequence := v_par_sequence||v_sequence_count;
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,v_full_sequence,v_sequence_count||'<><C9BE>'||v_table_name||'<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end');
--------------------------------------------------------------
END LOOP;
CLOSE cur;
EXCEPTION
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ora<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
WHEN OTHERS THEN
BEGIN
ROLLBACK;
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'-1','error:'||SQLERRM);
END;
END PRO_DELTABSPACE;
/
prompt
prompt Creating procedure PRO_DELTABSPACE_NAME
prompt =======================================
prompt
create or replace procedure PRO_DELTABSPACE_NAME(tempstr IN VARCHAR2,user_name IN VARCHAR2,tablename IN VARCHAR2)
Authid Current_User
----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
space_sql VARCHAR2(5000);
--execParm number;
proexecinfoid number;
begin
-- execParm := 1;
space_sql :='alter table '||user_name||'.'||tablename||' drop partition '||tempstr||' update indexes';
-- execParm := 2;
EXECUTE IMMEDIATE space_sql;
-- execParm := 3;
--EXCEPTION
--WHEN OTHERS THEN
-- dbms_output.put_line(sqlerrm);
-- ROLLBACK;
EXCEPTION
WHEN OTHERS THEN
select SEQ_PROEXECINFO.NEXTVAL into proexecinfoid from dual;
-- EXECUTE IMMEDIATE 'insert into PROEXECINFO(ID,proname,param,prodesc) values(seq_proexecinfo.nextval,''PRO_DELTABSPACE'','||CT_COLUMNS.segment_name||','''||to_char(sysdate,'YYYY-MM-DD HH:MI')||CT_COLUMNS.segment_name||tempstr||space_sql||''')';
dbms_output.put_line(sqlerrm);
ROLLBACK;
end PRO_DELTABSPACE_NAME;
/
prompt
prompt Creating procedure PRO_DEL_WEEK_TABSPACE
prompt ========================================
prompt
create or replace procedure PRO_DEL_WEEK_TABSPACE(tempstr IN VARCHAR2,user_name IN VARCHAR2)
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
space_sql VARCHAR2(5000);
--execParm number;
proexecinfoid number;
--extendtabName VARCHAR2(30);--Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
--<EFBFBD>α<EFBFBD>
--<EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Cursor cur is
--SELECT distinct x.table_name
-- FROM dba_tab_partitions x, dba_tab_partitions y
--- WHERE x.tablespace_name =tempstr AND y.tablespace_name <> tempstr AND x.table_name=y.table_name
-- order by x.table_name;
select distinct segment_name from user_extents where SEGMENT_TYPE='TABLE PARTITION' AND partition_name = tempstr and segment_name <> 'DETECTION_INFO';
--select distinct segment_name from user_extents where partition_name = tempstr and segment_name <> 'DETECTION_INFO';
-- select segment_name from dba_segments where tablespace_name = tempstr and segment_type like '%TABLE%';
CT_COLUMNS cur%ROWTYPE;
begin
OPEN cur();
LOOP
FETCH cur INTO CT_COLUMNS;
EXIT WHEN cur%NOTFOUND;
-- execParm := 1;
space_sql :='alter table '||user_name||'.'||CT_COLUMNS.segment_name||' drop partition '||tempstr||' update indexes';
-- execParm := 2;
EXECUTE IMMEDIATE space_sql;
-- execParm := 3;
--EXCEPTION
--WHEN OTHERS THEN
-- dbms_output.put_line(sqlerrm);
-- ROLLBACK;
end LOOP;
CLOSE cur;
-- EXCEPTION
-- WHEN OTHERS THEN
-- select SEQ_PROEXECINFO.NEXTVAL into proexecinfoid from dual;
-- EXECUTE IMMEDIATE 'insert into PROEXECINFO(ID,proname,param,prodesc) values(seq_proexecinfo.nextval,''PRO_DEL_WEEK_TABSPACE'','||CT_COLUMNS.segment_name||','''||to_char(sysdate,'YYYY-MM-DD HH:MI')||CT_COLUMNS.segment_name||tempstr||space_sql||''')';
-- dbms_output.put_line(sqlerrm);
-- ROLLBACK;
end PRO_DEL_WEEK_TABSPACE;
/
prompt
prompt Creating procedure PRO_DEL_PARTITION
prompt ====================================
prompt
create or replace procedure pro_del_Partition
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
C_DATE VARCHAR2(64);
tempstr VARCHAR2(64);
user_name VARCHAR2(64);
--space_path varchar2(1000); --<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϴ<EFBFBD>ִ<EFBFBD>е<EFBFBD>ʱ<EFBFBD><EFBFBD>
--end_date VARCHAR2(32);--Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD>
space_sql VARCHAR2(1024);
begin
--<EFBFBD><EFBFBD>ȡϵͳ<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD>
select to_char(sysdate+7, 'yyyy') into C_DATE from dual;
--<EFBFBD><EFBFBD>ȡϵͳ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
select to_char(sysdate+7, 'iw') into tempstr from dual;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD>½<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD>ĵ<EFBFBD>һ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>
if tempstr = 1
then select to_char(sysdate-7, 'yyyy') into C_DATE from dual;
end if;
--Ҫɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>7<EFBFBD><EFBFBD>ǰ<EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>
--tempstr := to_number(tempstr)-7;
select to_char(sysdate-6*12, 'iw') into tempstr from dual;
--Ҫɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
tempstr := 'DI_W'||C_DATE||''||tempstr;
--tempstr := 'DI_W201341';
user_name := 'NMS';
--<EFBFBD><EFBFBD><EFBFBD>˱<EFBFBD><EFBFBD>ռ<EFBFBD>ʹ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>֮ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>µı<EFBFBD><EFBFBD>ռ<EFBFBD>֮<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD>ɵı<EFBFBD><EFBFBD>ռ
--һ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD>ʹ<EFBFBD>øñ<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ı<EFBFBD>
PRO_DEL_WEEK_TABSPACE(tempstr,'NMS');
--space_sql :='alter table '||user_name||'.DETECTION_INFO drop partition '||tempstr||' update indexes';
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱͣ<EFBFBD>ñ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--alter table NMS.detection_info disable primary key cascade;
space_sql :='alter table '||user_name||'.detection_info disable primary key cascade';
EXECUTE IMMEDIATE space_sql;
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD>
--alter table NMS.detection_info drop partition '||tempstr||' update indexes;
--alter table NMS.detection_info drop partition '||tempstr||' including contents;
space_sql :='alter table '||user_name||'.detection_info drop partition '||tempstr||' update indexes ';
EXECUTE IMMEDIATE space_sql;
--<EFBFBD>ġ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--alter table '||user_name||'.detection_info enable primary key;
--alter index /*nms.detection_info.*/SYS_C0010650 rebuild;
space_sql :='alter table '||user_name||'.detection_info enable primary key';
EXECUTE IMMEDIATE space_sql;
--<EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--drop tablespace '||tempstr||' including contents and datafiles cascade constraints update indexes;
space_sql :='drop tablespace '||tempstr||' including contents and datafiles';--and datafiles cascade constraints update indexes;
EXECUTE IMMEDIATE space_sql;
end pro_del_Partition;
/
prompt
prompt Creating procedure PRO_EXTENDTABSPACE
prompt =====================================
prompt
create or replace procedure PRO_EXTENDTABSPACE(v_par_sequence IN VARCHAR2)
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
----------------------------------------------------------
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='PRO_EXTENDTABSPACE'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_table_name VARCHAR2(2000); --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_sequence_count NUMBER:=0 ; --<EFBFBD>˴<EFBFBD><EFBFBD><EFBFBD>̵IJ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_full_sequence VARCHAR2(100);--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȫ<EFBFBD><EFBFBD>
v_log_table_sql VARCHAR2(2000);----<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>־sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD>α<EFBFBD>
--<EFBFBD>Ӽ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD>ѯ<EFBFBD><EFBFBD><EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD>Ҫ<EFBFBD>ӱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>в<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƿ񴴽<EFBFBD><EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>˵<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʶ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD><EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ͳ<EFBFBD><EFBFBD>ô<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
Cursor cur is
select distinct cti.table_name extendtabName
from check_type_info cti
left join user_tables ut on ut.table_name = cti.table_name
where cti.crete_state = 0 and ut.table_name is not null;
CT_COLUMNS cur%ROWTYPE;
-----------------------------------------------------------
BEGIN
OPEN cur();
LOOP
v_sequence_count := v_sequence_count + 1;
FETCH cur
INTO CT_COLUMNS;
EXIT WHEN cur%NOTFOUND;
-------------------------------------------------------------
v_table_name :=CT_COLUMNS.extendtabName;--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_full_sequence := v_par_sequence||v_sequence_count;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_full_sequence||''','''||v_sequence_count||''||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--Ϊdetection_info<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_add_part_one_day(v_table_name,v_full_sequence||'_');
v_sequence_count := v_sequence_count + 1;
v_full_sequence := v_par_sequence||v_sequence_count;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''','''||v_full_sequence||''','''||v_sequence_count||''||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql ;
COMMIT;
---------------------------------------------------------------
END LOOP;
CLOSE cur;
EXCEPTION
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ora<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
WHEN OTHERS THEN
BEGIN
ROLLBACK;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''-1'',''error:'||SQLERRM||')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--ROLLBACK;
END;
END;
/
prompt
prompt Creating procedure PRO_DRIVER_ADD_PARTITION
prompt ===========================================
prompt
create or replace procedure pro_driver_add_Partition
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
IS
-------------------------------------------------------------------------------------------------------------
--<EFBFBD>˹<EFBFBD><EFBFBD>̵Ĺ<EFBFBD><EFBFBD><EFBFBD>:
-- ÿ<><C3BF>ִ<EFBFBD>п<EFBFBD><D0BF><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƶ<EFBFBD><C6B6>ı<EFBFBD><C4B1>ռ<D5BC>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD>ӷ<EFBFBD><D3B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--<EFBFBD><EFBFBD> ǰ <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>1. 0
--<EFBFBD><EFBFBD> <EFBFBD>ߣ<EFBFBD>hyx
--<EFBFBD><EFBFBD> <EFBFBD>ڣ<EFBFBD>2013.10.31
-------------------------------------------------------------------------------------------------------------
---<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='pro_driver_add_Partition'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
-------------------------------------------------------------------------------------------------------------
---
v_log_table_sql VARCHAR2(2000);----<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>־sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_table_name VARCHAR2(2000); --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><EFBFBD>Ҫ<EFBFBD><EFBFBD>д
-------------------------------------------------------------------------------------------------------------
BEGIN
--Ϊ<EFBFBD>̶<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
-----------------------------------------------------------
v_table_name :='DETECTION_INFO';
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''1'',''1.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--Ϊdetection_info<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_add_part_one_day(v_table_name,'1_');
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''2'',''2.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
-----------------------------------------------------------
v_table_name :='DETECTION_INFO_WARNING';
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''3'',''3.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--Ϊdetection_info<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_add_part_one_day(v_table_name,'3_');
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''4'',''4.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
-----------------------------------------------------------
v_table_name :='DI_SYSTEMINFO_DISK';
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''5'',''5.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--Ϊdetection_info<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_add_part_one_day(v_table_name,'5_');
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''6'',''6.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
-----------------------------------------------------------
v_table_name :='DI_SYSTEMINFO_NET';
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''7'',''7.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--Ϊdetection_info<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_add_part_one_day(v_table_name,'7_');
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''8'',''8.Ϊ'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
-----------------------------------------------------------
--Ϊ<EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''9'',''9.Ϊ<><CEAA>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<D5BC><E4BCB0><EFBFBD><EFBFBD> begin'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--Ϊ<EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
pro_extendtabspace('9_');
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''10'',''10.Ϊ<><CEAA>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<D5BC><E4BCB0><EFBFBD><EFBFBD> end'')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
EXCEPTION
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ora<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
WHEN OTHERS THEN
BEGIN
ROLLBACK;
v_log_table_sql := 'INSERT INTO '||c_log_table_name||'(id,proname,sequence,log_cont) VALUES(SEQ_PRO_EXEC_LOG.nextval,'''||c_cur_pro_name||''',''-1'',''error:'||SQLERRM||''')';
EXECUTE IMMEDIATE v_log_table_sql;
COMMIT;
--ROLLBACK;
END;
END;
/
prompt
prompt Creating procedure PRO_DRIVER_DEL_PARTITION
prompt ===========================================
prompt
create or replace procedure pro_driver_del_Partition
Authid Current_User----ʹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̿<EFBFBD><EFBFBD><EFBFBD>ʹ<EFBFBD><EFBFBD>roleȨ<EFBFBD><EFBFBD>
is
------------- ----------------------------------------
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_log_table_name CONSTANT VARCHAR2(100) :='PRO_EXEC_LOG'; --<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼<EFBFBD>ڴ˱<EFBFBD><EFBFBD><EFBFBD>
-- c_user_name CONSTANT VARCHAR2(100) :='NMS'; --<2D>û<EFBFBD><C3BB><EFBFBD>
c_cur_pro_name CONSTANT VARCHAR2(100) :='pro_driver_del_Partition'; --<EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̵<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_day CONSTANT NUMBER :=2;----ָ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ǰ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͱ<EFBFBD><EFBFBD>ռ<EFBFBD>
c_count CONSTANT NUMBER :=3;----<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>û<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ͣ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
c_sleep_count CONSTANT NUMBER :=5;----<EFBFBD><EFBFBD><EFBFBD>γ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>,<EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
---
v_del_date VARCHAR2(200);----<EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
--v_log_table_sql VARCHAR2(2000);----<EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD>־sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_cur_sql VARCHAR2(2000);----<EFBFBD>α<EFBFBD>sql
space_sql VARCHAR2(2000);----sql<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_table_name VARCHAR2(2000); --<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_count NUMBER :=0; --<EFBFBD><EFBFBD>¼<EFBFBD>ѳ<EFBFBD><EFBFBD><EFBFBD>ͣ<EFBFBD>û<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>ͣ<EFBFBD>û<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
v_log_id NUMBER;--<EFBFBD><EFBFBD>־<EFBFBD><EFBFBD>¼id
-----------------------------------------------------
begin
------------------------------------------------------
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'1','1.<2E><>ȡ<EFBFBD><C8A1>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> begin');
----<EFBFBD><EFBFBD>ȡ<EFBFBD><EFBFBD>Ҫɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>--<EFBFBD><EFBFBD>ʱδ<EFBFBD>õ<EFBFBD>
select to_char(sysdate-c_day,'yyyymmdd') into v_del_date from dual;
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'2','2.<2E><>ȡ<EFBFBD><C8A1>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>:'||v_del_date||' end');
------------------------------------------------------
--ɾ<EFBFBD><EFBFBD>ָ<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD>
------------------------------------------------------
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'3','3.ɾ<><C9BE><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ı<EFBFBD><C4B1>ռ<EFBFBD><D5BC>ͷ<EFBFBD><CDB7><EFBFBD> begin');
--һ<EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>̬<EFBFBD><EFBFBD><EFBFBD>ı<EFBFBD><EFBFBD>ռ<EFBFBD><EFBFBD>ͷ<EFBFBD><EFBFBD><EFBFBD>
v_cur_sql :='select * from user_tab_partitions utp where utp.table_name <> ''DETECTION_INFO'' and to_date(substr(utp.partition_name,-8),''yyyy-MM-dd'')<=to_date('||v_del_date||',''yyyy-MM-dd'')';
PRO_DELTABSPACE('3_',v_cur_sql);
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'4','4.ɾ<><C9BE><EFBFBD><EFBFBD>̬<EFBFBD><CCAC><EFBFBD>ı<EFBFBD><C4B1>ռ<EFBFBD><D5BC>ͷ<EFBFBD><CDB7><EFBFBD> end');
------------------------------------------------------
v_table_name :='DETECTION_INFO';
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'5','5.ɾ<><C9BE>'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD> begin');
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɾ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD>
v_cur_sql :='select * from user_tab_partitions utp where utp.table_name = ''DETECTION_INFO'' and to_date(substr(utp.partition_name,-8),''yyyy-MM-dd'')<=to_date('||v_del_date||',''yyyy-MM-dd'')';
PRO_DELTABSPACE('5_',v_cur_sql);
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'6','6.ɾ<><C9BE>'||v_table_name||'<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ռ<EFBFBD> end');
------------------------------------------------------
EXCEPTION
--<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƣ<EFBFBD><EFBFBD><EFBFBD>¼<EFBFBD><EFBFBD><EFBFBD>ص<EFBFBD>ora<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Լ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
WHEN OTHERS THEN
BEGIN
ROLLBACK;
select SEQ_PRO_EXEC_LOG.nextval into v_log_id from dual;
PRO_RECORD_LOG_INFO(c_log_table_name,v_log_id,c_cur_pro_name,'-1','error:'||SQLERRM);
END;
end pro_driver_del_Partition;
/
-- Create sequence
create sequence SEQ_PRO_EXEC_LOG
minvalue 1
maxvalue 999999999999
start with 1
increment by 1
cache 20
cycle
order;
/
spool off