|
| 1 | +system sleep 5; |
| 2 | +create user if not exists 'admin' IDENTIFIED BY 'admin'; |
| 3 | +use oceanbase; |
| 4 | +create database if not exists test; |
| 5 | + |
| 6 | +use test; |
| 7 | +grant all on *.* to 'admin' WITH GRANT OPTION; |
| 8 | + |
| 9 | + |
| 10 | + |
| 11 | +alter system set _use_odps_jni_connector = false; |
| 12 | +set @@session.ob_query_timeout = 200000000; |
| 13 | + |
| 14 | +set @mysqltest_mode = 'both'; |
| 15 | + |
| 16 | +delimiter / |
| 17 | +drop procedure if exists exec_sql;/ |
| 18 | +create procedure exec_sql(v varchar(4000)) |
| 19 | +begin |
| 20 | + declare continue handler for sqlexception |
| 21 | + begin |
| 22 | + GET DIAGNOSTICS CONDITION 1 @p1 = RETURNED_SQLSTATE, @p2 = MESSAGE_TEXT; |
| 23 | + select v; |
| 24 | + end; |
| 25 | + set @sql_text = v; |
| 26 | + prepare stmt from @sql_text; |
| 27 | + execute stmt; |
| 28 | + deallocate prepare stmt; |
| 29 | +end; |
| 30 | +/ |
| 31 | + |
| 32 | +-- specify_create_tenant: 创建指定的租户 |
| 33 | +drop procedure if exists specify_create_tenant;/ |
| 34 | +create procedure specify_create_tenant() |
| 35 | +begin |
| 36 | + declare my_mysqltest_mode varchar(20); |
| 37 | + select @mysqltest_mode into @my_mysqltest_mode; |
| 38 | +end / |
| 39 | + |
| 40 | +-- set_specify_create_tenant: 设置指定创建的租户 |
| 41 | +drop procedure if exists set_specify_create_tenant;/ |
| 42 | +create procedure set_specify_create_tenant() |
| 43 | +begin |
| 44 | + declare my_mysqltest_mode varchar(20); |
| 45 | + select @mysqltest_mode into @my_mysqltest_mode; |
| 46 | + if (@my_mysqltest_mode = 'oracle' or @my_mysqltest_mode = 'both') then |
| 47 | + call exec_sql("alter tenant oracle set variables ob_tcp_invited_nodes='%';"); |
| 48 | + call exec_sql("alter tenant oracle set variables autocommit='on';"); |
| 49 | + call exec_sql("alter tenant oracle set variables nls_date_format='YYYY-MM-DD HH24:MI:SS';"); |
| 50 | + call exec_sql("alter tenant oracle set variables nls_timestamp_format='YYYY-MM-DD HH24:MI:SS.FF';"); |
| 51 | + call exec_sql("alter tenant oracle set variables nls_timestamp_tz_format='YYYY-MM-DD HH24:MI:SS.FF TZR TZD';"); |
| 52 | + call exec_sql("alter tenant oracle set variables recyclebin = 'on';"); |
| 53 | + call exec_sql("alter tenant oracle set variables ob_enable_truncate_flashback = 'on';"); |
| 54 | + end if; |
| 55 | + |
| 56 | + if (@my_mysqltest_mode = 'mysql' or @my_mysqltest_mode = 'both') then |
| 57 | + call exec_sql("alter tenant mysql set variables ob_tcp_invited_nodes='%';"); |
| 58 | + call exec_sql("alter tenant mysql set variables recyclebin = 'on';"); |
| 59 | + call exec_sql("alter tenant mysql set variables ob_enable_truncate_flashback = 'on';"); |
| 60 | + end if; |
| 61 | +end / |
| 62 | +delimiter ; |
| 63 | + |
| 64 | +source init_create_tenant_routines.sql; |
| 65 | + |
| 66 | +-- 关闭租户创建 |
| 67 | +-- call test.specify_create_tenant(); |
| 68 | + |
| 69 | +/****************************** ATTENTION ******************************/ |
| 70 | +/* The tenant=all will be deprecated. If you want all tenants to be */ |
| 71 | +/* modified, use tenant=sys & tenant=all_user & tenant=all_meta. */ |
| 72 | +/***********************************************************************/ |
| 73 | +set @@session.ob_query_timeout = 10000000; |
| 74 | +system sleep 5; |
| 75 | +alter tenant sys set variables recyclebin = 'on'; |
| 76 | +alter tenant sys set variables ob_enable_truncate_flashback = 'on'; |
| 77 | +alter tenant sys set variables _nlj_batching_enabled = true; |
| 78 | +-- alter tenant oracle set variables _nlj_batching_enabled = true; |
| 79 | +-- alter tenant mysql set variables _nlj_batching_enabled = true; |
| 80 | +-- call test.set_specify_create_tenant(); |
| 81 | +alter system set ob_compaction_schedule_interval = '10s' tenant sys; |
| 82 | +alter system set ob_compaction_schedule_interval = '10s' tenant all_user; |
| 83 | +alter system set ob_compaction_schedule_interval = '10s' tenant all_meta; |
| 84 | +alter system set merger_check_interval = '10s' tenant sys; |
| 85 | +alter system set merger_check_interval = '10s' tenant all_user; |
| 86 | +alter system set merger_check_interval = '10s' tenant all_meta; |
| 87 | +alter system set _ss_major_compaction_prewarm_level = 2 tenant sys; |
| 88 | +alter system set _ss_major_compaction_prewarm_level = 2 tenant all_user; |
| 89 | +alter system set _ss_major_compaction_prewarm_level = 2 tenant all_meta; |
| 90 | +alter system set enable_sql_extension=true tenant sys; |
| 91 | +alter system set enable_sql_extension=true tenant all_user; |
| 92 | +alter system set enable_sql_extension=true tenant all_meta; |
| 93 | +alter system set _enable_adaptive_compaction = false tenant sys; |
| 94 | +alter system set _enable_adaptive_compaction = false tenant all_user; |
| 95 | +alter system set _enable_adaptive_compaction = false tenant all_meta; |
| 96 | +-- alter system set_tp in tools/deploy/set_tp.sql |
| 97 | +alter system set_tp tp_no = 509, error_code = 4016, frequency = 1; |
| 98 | +alter system set_tp tp_no = 368, error_code = 4016, frequency = 1; |
| 99 | +alter system set_tp tp_no = 1200, error_code = 4001, frequency = 1; |
| 100 | +alter system set_tp tp_no = 551, error_code = 5434, frequency = 1; |
| 101 | +alter system set_tp tp_no = 311, error_code = 4, frequency = 1; |
| 102 | +alter system set_tp tp_no = 555, error_code = 4016, frequency = 1; |
| 103 | +alter system set_tp tp_no = 558, error_code = 4016, frequency = 1; |
| 104 | +alter system set_tp tp_no = 561, error_code = 4016, frequency = 1; |
| 105 | +alter system set_tp tp_no = 565, error_code = 4007, frequency = 1; |
| 106 | +alter system set_tp tp_no = 408, error_code = 4016, frequency = 1; |
| 107 | +alter system set_tp tp_name = ERRSIM_FAST_NLJ_RANGE_GENERATOR_CHECK, error_code = 4016, frequency = 1; |
| 108 | +alter system set_tp tp_name = EN_THROW_DS_ERROR, error_code = 4016, frequency = 1; |
| 109 | +alter system set partition_balance_schedule_interval = 0 tenant sys; |
| 110 | +alter system set partition_balance_schedule_interval = 0 tenant all_user; |
| 111 | +alter system set partition_balance_schedule_interval = 0 tenant all_meta; |
| 112 | +alter system set _enable_var_assign_use_das = true tenant = sys; |
| 113 | +alter system set _enable_var_assign_use_das = true tenant = all_user; |
| 114 | +alter system set _enable_var_assign_use_das = true tenant = all_meta; |
| 115 | +alter system set _enable_spf_batch_rescan = true tenant = sys; |
| 116 | +alter system set _enable_spf_batch_rescan = true tenant = all_user; |
| 117 | +alter system set _enable_spf_batch_rescan = true tenant = all_meta; |
| 118 | +-- alter system set _use_hash_rollup = "forced" tenant = mysql; |
| 119 | +-- alter system set _use_hash_rollup = "forced" tenant = oracle; |
| 120 | +-- alter tenant oracle set variables ob_plan_cache_percentage = 20; |
| 121 | +-- alter tenant mysql set variables ob_plan_cache_percentage = 20; |
| 122 | +alter system set _max_px_workers_per_cpu = 10 tenant = all_user; |
| 123 | +alter system set _force_enable_plan_tracing = false tenant sys; |
| 124 | +alter system set _force_enable_plan_tracing = false tenant all_user; |
| 125 | +alter system set _force_enable_plan_tracing = false tenant all_meta; |
| 126 | + |
| 127 | +delimiter / |
| 128 | +drop procedure if exists exec_sql;/ |
| 129 | +create procedure exec_sql(v varchar(4000)) |
| 130 | +begin |
| 131 | + declare continue handler for sqlexception |
| 132 | + begin |
| 133 | + GET DIAGNOSTICS CONDITION 1 @p1 = RETURNED_SQLSTATE, @p2 = MESSAGE_TEXT; |
| 134 | + select v; |
| 135 | + end; |
| 136 | + set @sql_text = v; |
| 137 | + prepare stmt from @sql_text; |
| 138 | + execute stmt; |
| 139 | + deallocate prepare stmt; |
| 140 | +end; |
| 141 | +/ |
| 142 | + |
| 143 | +drop procedure if exists check_prepare;/ |
| 144 | +create procedure check_prepare() |
| 145 | +begin |
| 146 | + call exec_sql('alter system set leak_mod_to_check='''''); |
| 147 | + call exec_sql('alter system set leak_mod_to_check=''PlTemp'';'); |
| 148 | +end; |
| 149 | +/ |
| 150 | +drop procedure if exists check_memory;/ |
| 151 | +create procedure check_memory() |
| 152 | +begin |
| 153 | + declare result int default 0; |
| 154 | + declare result_tmp int default 0; |
| 155 | + begin |
| 156 | + retry: |
| 157 | + while true do |
| 158 | + select sum(alloc_size) from __all_virtual_mem_leak_checker_info into result_tmp; |
| 159 | + if result_tmp is not null and result_tmp != 0 and result_tmp != result then |
| 160 | + set result = result_tmp; |
| 161 | + iterate retry; |
| 162 | + end if; |
| 163 | + if result != 0 and result is not null then |
| 164 | + select * from __all_virtual_mem_leak_checker_info; |
| 165 | + signal sqlstate '45000' SET MESSAGE_TEXT = 'PlTemp Memory May Leak, please check!!'; |
| 166 | + end if; |
| 167 | + leave retry; |
| 168 | + end while; |
| 169 | + end; |
| 170 | +end; |
| 171 | +/ |
| 172 | +delimiter ; |
0 commit comments