drop表恢复方法
select gmt_create,ddl_stmt_str from
__all_virtual_ddl_operation where upper(ddl_stmt_str) like '%IM_XXX_DETAIL%' order by gmt_create desc limit 100;
找到ddl记录
| 2024-08-01 19:54:53.298915 | DROP TABLE "IM"."IM_XXX_DETAIL"
show variables like '%recycle%';

select log_archive_round,tenant_id,status,min_first_time,max_next_time from cdb_ob_backup_archivelog_summary;
select incarnation,tenant_id,bs_key,start_time,completion_time,elapsed_secondes,time_taken_display,status from cdb_ob_backup_set_details order by start_time,tenant_id;


create resource unit restore_unit min_cpu=3,max_cpu=3,min_memory=12884901888,max_memory
=12884901888,min_iops=10240,max_iops=10240,max_disk_size='10G',max_session_num=64;
create resource pool restore_pool unit ='restore_unit',unit_num=1,zone_list=('zone1','zone2','zone3');
show parameters like 'backup_dest';

select * from __all_tenant;

select * from __all_cluster;

alter system restore IM.IM_XXX_DETAIL for restore_zy from
obxxx at 'file:///OBDATABAK' until '2024-08-01 19:54:00' with 'backup_cluster_name=obxxxx&backup_cluster_id=10&pool_list=restore_pool';
Drop tenant restore_zy force;
Drop resource pool restore_pool;
delete表恢复操作
undo_retention 用于设置系统应保留的多版本数据范围,在转储时控制多版本数据的回收。默认是1800秒。
obclient> select * from USER01.T_TAB__SUM_BAK ;
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+----------------------------+
| YEARMON | PROV_CODE | REC_TYPE | CHARGE_DEBIT | CHARGE_CREDIT | CHARGE_SUM | V_DEBIT | V_CREDIT | V_SUM | IN_FILE | OUT_FILE |
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+----------------------------+
| 201409 |531 | MPAYFEE |101882864.19| 0 |101882864.19| 0 | 214524| -214524 | NULL | JSDZ_003_06_531_201409.txt |
| 201408 |531 | MPAYFEE |118422554.01| 0 |118422554.01| 0 |163452.5| -163452.5 | NULL | JSDZ_003_06_531_201408.txt |
| 201407 |531 | MPAYFEE |109217834.34| 0 |109217834.34| 0 |195169.98| -195169.98 | NULL | JSDZ_003_06_531_201407.txt |
| 201406 |531 | MPAYFEE |94986780.94| 0 |94986780.94| 0 |207488.7| -207488.7 | NULL | JSDZ_003_06_531_201406.txt |
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+--------------------------
insert into USER01.T_TAB__SUM_BAK values ('201410','531','MPAYFEE','101882864.19','0','101882864.19','0','214524','-214524','NULL','JSDZ_003_06_531_201409.txt') ;
obclient> select * from USER01.T_TAB__SUM_BAK ;
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+----------------------------+
| YEARMON | PROV_CODE | REC_TYPE | CHARGE_DEBIT | CHARGE_CREDIT | CHARGE_SUM | V_DEBIT | V_CREDIT | V_SUM | IN_FILE | OUT_FILE |
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+----------------------------+
| 201409 |531 | MPAYFEE |101882864.19| 0 |101882864.19| 0 | 214524| -214524 | NULL | JSDZ_003_06_531_201409.txt |
| 201408 |531 | MPAYFEE |118422554.01| 0 |118422554.01| 0 |163452.5| -163452.5 | NULL | JSDZ_003_06_531_201408.txt |
| 201407 |531 | MPAYFEE |109217834.34| 0 |109217834.34| 0 |195169.98| -195169.98 | NULL | JSDZ_003_06_531_201407.txt |
| 201406 |531 | MPAYFEE |94986780.94| 0 |94986780.94| 0 |207488.7| -207488.7 | NULL | JSDZ_003_06_531_201406.txt |
| 201410 |531 | MPAYFEE |101882864.19| 0 |101882864.19| 0 | 214524| -214524 | NULL | JSDZ_003_06_531_201409.txt |
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+----------------------------+
obclient> delete from USER01.T_TAB__SUM_BAK where YEARMON ='201410';
Query OK, 1 row affected (0.00 sec)
obclient> commit ;
Query OK, 0 rows affected (0.00 sec)
obclient> select * from USER01.T_TAB__SUM_BAK ;
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+----------------------------+
| YEARMON | PROV_CODE | REC_TYPE | CHARGE_DEBIT | CHARGE_CREDIT | CHARGE_SUM | V_DEBIT | V_CREDIT | V_SUM | IN_FILE | OUT_FILE |
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+----------------------------+
| 201409 |531 | MPAYFEE |101882864.19| 0 |101882864.19| 0 | 214524| -214524 | NULL | JSDZ_003_06_531_201409.txt |
| 201408 |531 | MPAYFEE |118422554.01| 0 |118422554.01| 0 |163452.5| -163452.5 | NULL | JSDZ_003_06_531_201408.txt |
| 201407 |531 | MPAYFEE |109217834.34| 0 |109217834.34| 0 |195169.98| -195169.98 | NULL | JSDZ_003_06_531_201407.txt |
| 201406 |531 | MPAYFEE |94986780.94| 0 |94986780.94| 0 |207488.7| -207488.7 | NULL | JSDZ_003_06_531_201406.txt |
+---------+-----------+----------+--------------+---------------+--------------+---------+-----------+------------+---------+----------------------------+
MySQL [oceanbase]> select svr_ip,data_version,count(*) from __all_virtual_meta_table group by 1,2;
+-------------+--------------+----------+
| svr_ip | data_version | count(*) |
+-------------+--------------+----------+
| XXX.XX.16.1 | 52 | 96211 |
+-------------+--------------+----------+
obclient> select *+ frozen_version(52)*/* from USER01.T_TAB__SUM_BAK where YEARMON ='201410' ;
Empty set (0.01 sec)
obclient> select *+ frozen_version(52)*/* from USER01.T_TAB__SUM_BAK where YEARMON ='201409' ;
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
| YEARMON | PROV_CODE | REC_TYPE | CHARGE_DEBIT | CHARGE_CREDIT | CHARGE_SUM | V_DEBIT | V_CREDIT | V_SUM | IN_FILE | OUT_FILE |
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
| 201409 | 531 | MPAYFEE | 101882864.19 | 0 | 101882864.19 | 0 | 214524 | -214524 | NULL | JSDZ_003_06_531_201409.txt |
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
obclient [SYS]> show variables like'%undo_retention%';
+----------------+-------+
| VARIABLE_NAME | VALUE |
+----------------+-------+
| undo_retention | 1800 |
+----------------+-------+
obclient> select * from USER01.T_TAB__SUM_BAK as of timestamp to_timestamp('2025-03-26 17:02:00','yyyy-mm-dd hh24:mi:ss') where YEARMON ='201410' ;
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
| YEARMON | PROV_CODE | REC_TYPE | CHARGE_DEBIT | CHARGE_CREDIT | CHARGE_SUM | V_DEBIT | V_CREDIT | V_SUM | IN_FILE | OUT_FILE |
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
| 201410 | 531 | MPAYFEE | 101882864.19 | 0 | 101882864.19 | 0 | 214524 | -214524 | NULL | JSDZ_003_06_531_201409.txt |
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
obclient> create table USER01.T_TAB__SUM_BAK_1 as
-> select * from USER01.T_TAB__SUM_BAK as of timestamp to_timestamp('2025-03-26 17:02:00','yyyy-mm-dd hh24:mi:ss') where YEARMON ='201410' ;
Query OK, 1 row affected (0.30 sec)
obclient> select * from USER01.T_TAB__SUM_BAK_1 ;
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
| YEARMON | PROV_CODE | REC_TYPE | CHARGE_DEBIT | CHARGE_CREDIT | CHARGE_SUM | V_DEBIT | V_CREDIT | V_SUM | IN_FILE | OUT_FILE |
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
| 201410 |531 | MPAYFEE |101882864.19| 0 |101882864.19| 0 | 214524| -214524 | NULL | JSDZ_003_06_531_201409.txt |
+---------+-----------+----------+--------------+---------------+--------------+---------+----------+---------+---------+----------------------------+
1 row in set (0.00 sec)
truncate操作恢复
obclient> truncate table USER01.T_TAB__SUM_BAK ;
Query OK, 0 rows affected (0.66 sec)
obclient> select *+ frozen_version(52)*/* from USER01.T_TAB__SUM_BAK where YEARMON in ('201406','201407','201408','201409') ;
Empty set (0.00 sec)
obclient> select * from USER01.T_TAB__SUM_BAK as of timestamp to_timestamp('2025-03-26 17:25:00','yyyy-mm-dd hh24:mi:ss') where YEARMON in ('201406','201407','201408','201409') ;
Empty set (0.00 sec)

本文作者:郝 斌(上海新炬中北团队)
本文来源:“IT那活儿”公众号

文章转载自IT那活儿,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




