在進行Oracle物理備份前,您需要參考本文完成準備工作,包含開啟Oracle資料庫的歸檔模式、擷取Oracle SID及擷取資料庫程式目錄。
前提條件
您的使用者角色為DBA。
開啟歸檔模式
Database BackupDBS通過Oracle的RMAN工具進行Database Backup。Oracle資料庫的歸檔模式預設為關閉狀態,需將其開啟才能進行備份。
使用系統管理員sysdba角色通過
as sysdba
命令登入Oracle資料庫。通過SQL命令
ARCHIVE LOG LIST
查詢當前資料庫的歸檔狀態,返回樣本如下:Database log mode No Archive Mode #非存檔模式 Automatic archival Disabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 1 Current log sequence 2
說明若
Database log mode
參數返回Archive Mode #存檔模式
,則表示當前已開啟歸檔模式,開啟歸檔模式步驟結束,無需進行後續操作。如果歸檔模式未開啟,請通過SQL命令
SHUTDOWN IMMEDIATE
關閉資料庫,因為無法在OPEN
狀態下開啟歸檔模式。警告請管理員在非業務高峰期進行此操作。
通過SQL命令
STARTUP MOUNT
啟動資料庫至MOUNT狀態。通過SQL命令
ALTER DATABASE ARCHIVELOG
開啟歸檔模式。再次通過SQL命令
ARCHIVE LOG LIST
查詢歸檔狀態,返回樣本如下:Databaselog mode Archive Mode #存檔模式 Automatic archival Enabled Archive destination USE_DB_RECOVERY_FILE_DEST Oldest online log sequence 1 Next log sequence to archive 2 Currentlog sequence 2
說明開啟後,Oracle預設的日誌歸檔路徑為閃回恢複區($ORACLE_BASE/fast_recovery_area),該目錄預設僅有4 GB的空間,同時也是備份檔案和閃回日誌的預設路徑。為避免該磁碟空間不足導致資料庫服務異常,您可按需調整該目錄的空間大小或修改日誌歸檔路徑。
通過SQL命令
ALTER DATABASE OPEN
啟動資料庫。
擷取Oracle SID
Linux
執行如下命令,從系統進程資訊中提取出正在啟動並執行Oracle資料庫執行個體的SID:
ps -ef | grep ora_pmon_ | grep -v grep | awk -F "ora_pmon_" '{print "oracle sid: "$NF }' | grep -v print
如下返回樣本表示Oracle SID為
orcl
:oracle sid: orcl
Windows
在Windows的命令列介面中快速擷取Oracle資料庫執行個體的SID和服務名:
sc query type=service | findstr SERVICE_NAME | findstr OracleService
如下返回樣本表示Oracle執行個體的SID為
orcl
,服務名為OracleServiceORCL
:SERVICE_NAME: OracleServiceORCL
擷取資料庫程式目錄
資料庫程式目錄即為ORACLE_HOME
地址。
開啟命令列介面,使用
su - oracle
命令切換到Oracle使用者。在Oracle資料庫中,使用
echo $ORACLE_HOME
命令查看當前系統中ORACLE_HOME
環境變數所設定的路徑地址。如下返回樣本表示
ORACLE_HOME
地址為/opt/oracle/product/19c/dbhome_1
:/opt/oracle/product/19c/dbhome_1
Oracle RAC檔案查詢
為了保證備份成功,您需要在備份Oracle RAC前對控制檔案、參數檔案、資料檔案、歸檔日誌、REDO記錄檔進行檢查,備份其他架構無需執行以下操作。查詢樣本如下:
查詢REDO記錄檔
SELECT member FROM v$logfile WHERE type='ONLINE';
返回樣本如下:MEMBER中顯示的值以
+
開頭,ASM為DBSBAKDAT1DG
。查詢歸檔記錄檔
SELECT name FROM v$archived_log WHERE DELETED='NO';
返回樣本如下:NAME中顯示的值以
+
開頭,ASM為DBSBAKDAT1DG
。查詢資料檔案
SELECT name FROM v$datafile;
返回樣本如下: VALUE中顯示的值以
+
開頭,ASM為DBSBAKDAT1DG
。查詢參數檔案
SHOW parameter spfile;
返回樣本如下:VALUE中顯示的值以
+
開頭,ASM為DBSBAKDAT1DG
。查詢控制檔案
SHOW parameter control_files;
返回樣本如下:VALUE中顯示的值以
+
開頭,ASM為DBSBAKDAT1DG
。