高清偷窥校园女浴室洗澡_old性欧美videos_我不卡影院秋霞理论片_将军不要啊h

GBase新聞

專注于數據庫軟件產品和服務,致力于成為用戶最信賴的數據庫產品供應商

GBASE南大通用數據庫“閃回”功能使用介紹

發布時間:2024-03-18

在數據庫管理領域,數據的保護與恢復一直是至關重要的任務。針對數據庫開發人員“誤刪”數據這一高危情境,南大通用基于共享存儲的數據庫集群GBase 8s內置“閃回”工具,提供閃回功能來確保數據的完整性和可靠性,(馬大哈們)再也不用擔心“跑路”了。

GBASE南大通用閃回工具 onflsbk.sh 能夠完成表的閃回功能,給用戶提供單張表回退到歷史某一位置的快照。具體包括 5 個步驟,如下表:

閃回工具安裝和配置

這一步驟涉及工具的安裝與配置文件的參數設置。閃回工具的安裝包為綠色版的 tar包,只需放到指定的服務器解壓即可,但需要注意解壓后目錄以及文件屬主需要擁有執行 onlog 的權限 。

閃回工具可以通過配置目錄:[安裝目錄名]/conf/ 下的參數文件config.properties來配置參數,包括:jdbc 的url,數據庫用戶名/密碼,字符集,是否支持 32K,數據庫目錄等等。

flashback.conf 配置文件參數說明

閃回工具使用

閃回工具通過執行 shell 腳本:[安裝目錄名]/onflsbk.sh 來實現閃回功能。

閃回語法圖

閃回程序分為“按照時間閃回”和“按照lsn號閃回”。

a. 按照時間閃回:

./onflsbk.sh -D database_name -d 'date_time' -r table_name 

  • -D database_name 是閃回命令用來選擇數據庫的參數,輸入database_name 是被選擇的數據庫名;

  • -d 'date_time' 是閃回命令指定還原時間點的參數,輸入的 'date_time' 是用來指定還原的目標時間點,格式: 'yyyy-mm-dd hh24:mi:ss',如果選擇該參數,說明這條閃回命令是將表的數據,命令行中不能出現 -l 'lsn_number';

  • -r table_name 是閃回命令用來選擇表的參數,該參數必須配合 -l 'lsn_number' 或 -d 'date_time' 中的一個參數使用,輸入的 table_name 是被選擇將要還原的表名,命令行中不能出現 -d 'date_time';

b. 按照 lsn 號閃回:

./onflsbk.sh -D database_name -l 'lsn_number' -r table_name

  • -D database_name 是閃回命令用來選擇數據庫的參數,輸入的 database_name 是 被選擇的數據庫名;

  • -l 'lsn_number' 是閃回命令指定邏輯日志的 LSN 位置的參數,輸入的'lsn_number' 是用來指定邏輯日志 LSN 位置,如果選擇該參數說明這條閃回命令是通過指定邏 輯日志的 LSN 位置進行表的數據還原;

  • -r table_name 是閃回命令用來選擇表的參數,該參數必須配合-l'lsn_number' 或 -d 'date_time' 中的一個參數使用,輸入的 table_name 是被選擇將要還原的表名,命令行中不能出現 -d 'date_time';

c. 閃回到新表:

通過 LSN 閃回到新表語法:
onflsbk.sh -D database_name -l 'lsn_number' -r table_name -t new_table_name

通過時間閃回到新表語法:
onflsbk.sh -D database_name -d 'date_time' -r table_name -t new_table_name

示例1:下面我們以“按照時間閃回”的方式進行演示。

首先,創建測試表 test_fls2;
create table test_fls2 (id int,name varchar(20),time1 datetime year to second,primary key (id));

插入測試數據,兩條記錄間隔 5 秒:
insert into test_fls2 values (1,'a',sysdate);
insert into test_fls2 values (2,'b',sysdate);

查詢結果如下:

執行按照時間閃回命令:

./onflsbk.sh -D test -d "2023-08-15 13:38:50" -r test_fls2

會出現一個交互窗口,提示內容大概意思是:如果當前時間回溯到指定還原時間點區間內存在DDL操作很可能會讓閃回報錯或者閃回成功后表數據是不準確的。

直接回車或者輸入“1”會繼續執行,輸入“2”則會直接退出;

我們這里輸入“1”繼續執行:

最后顯示處理完成,回到工具查看表數據,已經回退到插入數據之前:

再次執行按照時間閃回命令,時間選擇在插入第一條記錄和第二條記錄中間:
./onflsbk.sh -D test -d "2023-08-15 13:38:52" -r test_fls2

最后顯示處理完成,回到工具查看表數據,已經回退到插入數據之前:

再次執行按照時間閃回命令,時間選擇在插入第一條記錄和第二條記錄中間:
./onflsbk.sh -D test -d "2023-08-15 13:38:58" -r test_fls2

最后顯示處理完成,回到工具查看表數據,已經回退到插入數據之前:

示例2:按照 LSN 號閃回的示例如下:

通過 onlog -l 查看對應時間的 LSN 號:

執行 LSN 號閃回命令:

./onflsbk.sh -D test -l '77:0xc5ec018' -r test_fls2

最后顯示處理完成,回到工具查看表數據,已經回退到插入數據之前:

使用下一個 LSN 號進行閃回
./onflsbk.sh -D test -l '77:0xc5ec050' -r test_fls2

最后顯示處理完成,回到工具查看表數據,已經回退到插入第一條數據之后: