Oracle通過RMAN備份至MinIO且防止數(shù)據(jù)刪除的詳細(xì)步驟
前言
你想要實(shí)現(xiàn)的核心需求是:把Oracle數(shù)據(jù)庫通過RMAN備份到MinIO,并且要防止備份文件被誤刪除,你希望測試方案足夠簡單,小白也能上手,且重點(diǎn)在MinIO側(cè)的配置(RMAN無需復(fù)雜配置)。
下面我為你整理了一份零基礎(chǔ)友好的測試方案,從環(huán)境準(zhǔn)備到最終驗(yàn)證,每一步都有具體命令和操作說明,全程聚焦MinIO的防誤刪配置,RMAN僅做基礎(chǔ)備份操作。
一、測試前提(小白友好版)
1. 基礎(chǔ)環(huán)境(提前確認(rèn))
| 組件 | 要求 |
|---|---|
| Oracle | 安裝并啟動(dòng),有測試庫(如ORCL),RMAN工具可用(默認(rèn)安裝Oracle就有) |
| MinIO | 單節(jié)點(diǎn)/集群均可,已安裝mc客戶端(參考之前的mc安裝步驟) |
| 網(wǎng)絡(luò) | Oracle服務(wù)器能訪問MinIO的9000端口(telnet minio-ip 9000測試) |
| 權(quán)限 | Oracle服務(wù)器有執(zhí)行RMAN、mc的權(quán)限;MinIO有創(chuàng)建桶、配置版本/鎖定的權(quán)限 |
2. 核心思路
- RMAN:將Oracle備份集直接推送到MinIO(MinIO兼容S3協(xié)議,RMAN可直接對(duì)接);
- MinIO:通過版本控制(防誤刪/覆蓋)+ 對(duì)象鎖定(防惡意刪除)實(shí)現(xiàn)防誤刪;
- 測試重點(diǎn):驗(yàn)證備份成功、刪除/覆蓋備份文件后能恢復(fù)、鎖定后無法刪除。
二、詳細(xì)測試步驟(小白可照做)
步驟1:MinIO側(cè)配置(核心防誤刪)
1.1 配置MinIO別名(Oracle服務(wù)器上操作)
# 替換為你的MinIO地址、AccessKey、SecretKey mc alias set minio-test http://minio-ip:9000 minioadmin minioadmin # 驗(yàn)證配置:列出MinIO已有桶(無輸出也正常) mc ls minio-test
1.2 創(chuàng)建備份桶并啟用防誤刪配置
# 1. 創(chuàng)建專用備份桶(命名:oracle-backup) mc mb minio-test/oracle-backup # 2. 啟用版本控制(核心:刪除/覆蓋后保留舊版本) mc version enable minio-test/oracle-backup # 3. 啟用對(duì)象鎖定(可選,強(qiáng)化防刪:需桶創(chuàng)建時(shí)開啟,若已創(chuàng)建需重建) # 重新創(chuàng)建帶鎖定的桶(先刪舊桶,測試環(huán)境可刪) mc rb minio-test/oracle-backup --force mc mb --with-lock minio-test/oracle-backup # 4. 啟用版本控制(鎖定桶必須配版本控制) mc version enable minio-test/oracle-backup # 5. 驗(yàn)證配置:查看桶的版本和鎖定狀態(tài) echo "版本控制狀態(tài):" mc version info minio-test/oracle-backup echo "對(duì)象鎖定狀態(tài):" mc retention info minio-test/oracle-backup
說明:--with-lock是對(duì)象鎖定的前提,生產(chǎn)環(huán)境創(chuàng)建桶時(shí)直接加這個(gè)參數(shù),測試環(huán)境可重建。
1.3 (可選)設(shè)置默認(rèn)保留策略(防刪更嚴(yán)格)
# 設(shè)置桶的默認(rèn)保留策略:GOVERNANCE(管理級(jí),10天內(nèi)不可刪/改) mc retention set --default GOVERNANCE 10d minio-test/oracle-backup # 驗(yàn)證保留策略 mc retention info minio-test/oracle-backup
步驟2:RMAN配置(極簡,無需復(fù)雜配置)
2.1 編寫RMAN備份腳本(Oracle服務(wù)器上)
新建腳本文件rman_backup_minio.sh,內(nèi)容如下(替換括號(hào)內(nèi)內(nèi)容):
#!/bin/bash
# Oracle環(huán)境變量(小白必改:根據(jù)自己的Oracle配置)
export ORACLE_SID=ORCL # 你的Oracle實(shí)例名
export ORACLE_HOME=/u01/app/oracle/product/19c/dbhome_1 # 你的Oracle安裝目錄
export PATH=$ORACLE_HOME/bin:$PATH
# RMAN備份命令(直接備份到MinIO)
rman target / << EOF
RUN {
# 備份數(shù)據(jù)庫+歸檔日志,壓縮
BACKUP AS COMPRESSED BACKUPSET
DATABASE
PLUS ARCHIVELOG
# 備份集推送到MinIO(格式:s3://桶名/路徑)
FORMAT 's3://oracle-backup/orcl/backup_%d_%T_%U.bkp'
# MinIO的S3配置(替換為你的MinIO信息)
CONFIGURE CHANNEL DEVICE TYPE DISK PARMS 'S3_ACCESS_KEY=minioadmin, S3_SECRET_KEY=minioadmin, S3_ENDPOINT=http://minio-ip:9000, S3_REGION=us-east-1';
}
# 查看備份結(jié)果
LIST BACKUP SUMMARY;
EXIT;
EOF
2.2 執(zhí)行備份腳本
# 賦予執(zhí)行權(quán)限 chmod +x rman_backup_minio.sh # 執(zhí)行備份(小白注意:需用oracle用戶執(zhí)行) su - oracle -c "./rman_backup_minio.sh"
小白提示:
- 若報(bào)錯(cuò)
S3_ACCESS_KEY不存在:確認(rèn)Oracle版本≥12c(12c以上原生支持S3); - 若11g版本:需先安裝Oracle S3插件,或先備份到本地再用
mc cp上傳到MinIO(文末附替代方案)。
2.3 驗(yàn)證備份是否成功上傳到MinIO
# 列出MinIO桶中的備份文件 mc ls minio-test/oracle-backup/orcl/
能看到類似backup_ORCL_20260305_xxxx.bkp的文件,說明備份成功。
步驟3:測試防誤刪功能(核心驗(yàn)證)
場景1:手動(dòng)刪除備份文件,驗(yàn)證版本控制可恢復(fù)
# 1. 先記錄備份文件名(比如:backup_ORCL_20260305_123456.bkp) BACKUP_FILE=backup_ORCL_20260305_123456.bkp # 2. 模擬誤刪除:刪除MinIO中的備份文件 mc rm minio-test/oracle-backup/orcl/$BACKUP_FILE # 3. 查看刪除后的版本(仍能看到舊版本,標(biāo)記為DELETED) mc ls --versions minio-test/oracle-backup/orcl/$BACKUP_FILE # 4. 恢復(fù)誤刪的文件(替換VERSION_ID為上一步查到的版本ID) mc cp minio-test/oracle-backup/orcl/$BACKUP_FILE?versionId=VERSION_ID minio-test/oracle-backup/orcl/$BACKUP_FILE # 5. 驗(yàn)證恢復(fù)成功 mc ls minio-test/oracle-backup/orcl/$BACKUP_FILE
場景2:啟用對(duì)象鎖定后,驗(yàn)證無法刪除/修改
# 1. 給備份文件加法律保留(永久鎖定,手動(dòng)解除前不可刪) mc legalhold enable minio-test/oracle-backup/orcl/$BACKUP_FILE # 2. 嘗試刪除該文件(會(huì)報(bào)錯(cuò),無法刪除) mc rm minio-test/oracle-backup/orcl/$BACKUP_FILE # 3. 解除鎖定(如需刪除,測試完成后執(zhí)行) mc legalhold disable minio-test/oracle-backup/orcl/$BACKUP_FILE
場景3:模擬覆蓋備份文件,驗(yàn)證版本保留
# 1. 再次執(zhí)行RMAN備份(生成同名新文件) su - oracle -c "./rman_backup_minio.sh" # 2. 查看版本:能看到新舊兩個(gè)版本 mc ls --versions minio-test/oracle-backup/orcl/$BACKUP_FILE # 3. 恢復(fù)舊版本(比如恢復(fù)到備份前的版本) mc restore minio-test/oracle-backup/orcl/$BACKUP_FILE --version-id=舊版本ID
步驟4:測試恢復(fù)(可選,驗(yàn)證備份可用)
# 1. 將MinIO中的備份文件下載到本地 mc cp minio-test/oracle-backup/orcl/$BACKUP_FILE /tmp/ # 2. 用RMAN驗(yàn)證備份文件有效性(Oracle用戶執(zhí)行) rman target / << EOF RESTORE VALIDATE DATABASE FROM BACKUPSET '/tmp/$BACKUP_FILE'; EXIT; EOF
輸出validation succeeded說明備份文件有效。
三、小白避坑指南
- RMAN連接MinIO報(bào)錯(cuò):
- 檢查MinIO地址/端口是否通(
ping minio-ip+telnet minio-ip 9000); - AccessKey/SecretKey是否寫對(duì)(MinIO默認(rèn)是minioadmin/minioadmin,生產(chǎn)需改);
- Oracle 11g不支持直接S3:替代方案是先備份到本地,再用
mc cp上傳:
- 檢查MinIO地址/端口是否通(
# 1. RMAN備份到本地 rman target / << EOF BACKUP AS COMPRESSED BACKUPSET DATABASE PLUS ARCHIVELOG FORMAT '/tmp/%d_%T_%U.bkp'; EOF # 2. mc上傳到MinIO mc cp /tmp/*.bkp minio-test/oracle-backup/orcl/
- MinIO對(duì)象鎖定創(chuàng)建失敗:
- 對(duì)象鎖定必須在創(chuàng)建桶時(shí)啟用(
--with-lock),已創(chuàng)建的桶無法直接開啟,需重建;
- 對(duì)象鎖定必須在創(chuàng)建桶時(shí)啟用(
- 刪除文件后看不到版本:
- 確認(rèn)已執(zhí)行
mc version enable,未啟用版本控制則刪除后無法恢復(fù)。
- 確認(rèn)已執(zhí)行
總結(jié)
- MinIO側(cè)核心配置:創(chuàng)建帶
--with-lock的桶 + 啟用版本控制 + 可選保留策略,是防誤刪的關(guān)鍵; - RMAN側(cè)極簡操作:無需復(fù)雜配置,僅需在備份命令中指定MinIO的S3參數(shù)(12c+),11g可先本地再上傳;
- 核心驗(yàn)證點(diǎn):誤刪后能通過版本恢復(fù)、鎖定后無法刪除、備份文件可驗(yàn)證有效性。
整個(gè)測試方案全程用復(fù)制粘貼的命令,小白只需替換MinIO地址、Oracle實(shí)例名等少量參數(shù),即可完成從備份到防誤刪的全流程驗(yàn)證。
以上就是Oracle通過RMAN備份至MinIO且防止數(shù)據(jù)刪除的詳細(xì)步驟的詳細(xì)內(nèi)容,更多關(guān)于Oracle RMAN備份至MinIO的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
Oracle 數(shù)據(jù)庫特殊查詢總結(jié)
這篇文章主要介紹了Oracle 數(shù)據(jù)庫特殊查詢總結(jié)的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下2016-08-08
Oracle?查詢語句限制只選擇最前面幾行和最后面幾行的實(shí)現(xiàn)方式
在Oracle中,可以使用?ROWNUM?關(guān)鍵字來限制查詢結(jié)果的行數(shù),這篇文章主要介紹了Oracle?查詢語句限制只選擇最前面幾行和最后面幾行的實(shí)現(xiàn)方式,需要的朋友可以參考下2023-12-12
Oracle數(shù)據(jù)庫閃回功能詳解和相關(guān)命令總結(jié)
這篇文章主要給大家介紹了關(guān)于Oracle數(shù)據(jù)庫閃回功能詳解和相關(guān)命令總結(jié)的相關(guān)資料,閃回技術(shù)(Flashback),是Oracle提供的能使數(shù)據(jù)庫整體或局部回到"過去"的閃回功能的總稱,主要用于對(duì)抗人為錯(cuò)誤,需要的朋友可以參考下2023-07-07
oracle表空間的創(chuàng)建及dmp 文件的導(dǎo)入(推薦)
這篇文章主要介紹了oracle表空間的創(chuàng)建及dmp 文件的導(dǎo)入,需非常不錯(cuò),具有參考借鑒價(jià)值,要的朋友可以參考下2017-08-08
Oracle數(shù)據(jù)遠(yuǎn)程連接的四種設(shè)置方法和注意事項(xiàng)
Oracle數(shù)據(jù)庫的遠(yuǎn)程連接可以通過多種方式來實(shí)現(xiàn),本文我們主要介紹四種遠(yuǎn)程連接的方法和注意事項(xiàng),并通過示例來說明,接下來我們就開始介紹2014-04-04
Oracle查看和修改連接數(shù)(進(jìn)程/會(huì)話/并發(fā)等等)
查詢數(shù)據(jù)庫當(dāng)前進(jìn)程的連接數(shù)及會(huì)話的連接數(shù)、并發(fā)連接數(shù)以及會(huì)話情況等等,感興趣的你可以參考下哈,希望可以幫助到你2013-03-03

