在恢複Oracle Standalone資料庫前,需在目標裝置上完成以下準備工作。
操作概覽
添加備份網關
確認源執行個體的Oracle版本號碼
Database BackupDBS恢複Oracle執行個體時要求目標裝置的Oracle版本號碼與源執行個體的小版本相同。
例如Oracle 11.2.0.4版本與Oracle11.2.0.1版本不相容,恢複時容易出錯。建議目標裝置上的Oracle版本與來源資料庫保持一致。
您可以在源執行個體中通過以下命令查詢Oracle版本號碼:
su - oracle export ORACLE_SID=orcl; sqlplus / as sysdba select version from v$instance;
如下返回結果表示Oracle為
19.0.0.0.0
版本。==================== VERSION ----------------- 19.0.0.0.0 ====================
若源庫已無法達到
mount
狀態,您可以按照以下方式查詢版本號碼:su - oracle ORACLE_HOME/OPatch/opatch lsinv -oh $ORACLE_HOME |grep ^"Oracle Database"
建立Oracle SID
由於Oracle不允許一台裝置上有同名的SID,您需要建立一個新的SID。
且由於Oracle不允許同庫名的執行個體同時在同一台裝置上線上,您可以執行以下命令關閉將原有的執行個體:
su - oracle
export ORACLE_SID=orcl;
sqlplus / as sysdba
shutdown abort; /* 或者執行shutdown immediate; */
exit;
您可以通過以下命令檢測是否已經正常關閉目標執行個體。
ps -ef|grep pmon|grep orcl
如果以上語句返回的列印存在,您可以通過kill -9
命令關閉該執行個體。
建立資料恢複目錄
建立資料恢複目錄之前,您需提前瞭解到待恢複執行個體所佔儲存空間的大小。為保證有足夠的空間來進行恢複,建議資料恢複目錄的空間大小為原執行個體大小的1.3倍以上,或者為DBS全量備份組大小的5~6倍以上(DBS備份時會有壓縮)。
您可以執行以下命令,以
oracle
使用者身份登入到Oracle資料庫執行個體,並查詢資料庫檔案的總大小。su - oracle export ORACLE_SID=orcl; sqlplus / as sysdba select sum(bytes) from ( select bytes from v$datafile union all select bytes from v$tempfile union all select bytes*members bytes from v$log);
如下返回結果表示資料庫檔案的總大小為
4904189952 BYTES
,單位為Bytes:======================= SUM(BYTES) ---------- 4904189952 =======================
建立目錄。
mkdir -p /Oracle/data_bak
例如,您可以通過如上命令在Oracle檔案夾中建立一個名為
data_bak
的目錄。說明如果該目錄已經存在,請確保目錄下為空白,以免Database BackupDBS恢複時覆蓋目錄下的原資料。
賦予許可權。
您可以通過以下命令確認
$ORACLE_HOME/bin/Oracle
檔案所在的使用者組。ls -alh $ORACLE_HOME/bin/oracle
如下返回結果表示
$ORACLE_HOME/bin/Oracle
檔案所在的使用者組為oracle:oinstall
:==================== -rwsr-s--x 1 oracle oinstall 421M Mar 15 03:04 /opt/oracle/product/19c/dbhome_1/bin/oracle ====================
您可以通過以下命令將目標目錄變更使用者組。
chown -R oracle:oinstall /Oracle/data_bak
擷取資料庫程式目錄
資料庫程式目錄即為ORACLE_HOME
地址。
開啟命令列介面,使用
su - oracle
命令登入Oracle資料庫。在Oracle資料庫中,使用SQL命令
echo ORACLE_HOME
查看ORACLE_HOME
地址。如下返回樣本表示
ORACLE_HOME
地址為/opt/oracle/product/19c/dbhome_1
:/opt/oracle/product/19c/dbhome_1