全部產品
Search
文件中心

Database Backup:恢複Oracle Standalone資料庫的準備工作

更新時間:Jun 19, 2024

在恢複Oracle Standalone資料庫前,需在目標裝置上完成以下準備工作。

操作概覽

添加備份網關

Database BackupDBS支援通過資料庫網關DG(Database Gateway)將已備份的資料庫恢複至本地或第三方雲的私網。您需要在目標裝置上添加備份網關,詳情請參見添加備份網關

說明

資料庫網關支援無需本地開通公網連接埠,將本機資料庫與雲端服務串連起來。資料庫網關DG(Database Gateway)是一種支援私網資料庫遠端存取的資料庫連接服務,詳情請參見什麼是資料庫網關

若您想將該執行個體恢複至原始裝置上,您可選擇備份該執行個體時所用的備份網關即可。

確認源執行個體的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
    =======================
  • 登入DBS控制台,在備份計劃 > 備份計劃列表頁面單擊備份計劃名稱,在備份任務 > 全量資料備份頁面中查看全量資料集的大小,詳情請參見查看備份計劃

  1. 建立目錄。

    mkdir -p /Oracle/data_bak

    例如,您可以通過如上命令在Oracle檔案夾中建立一個名為data_bak的目錄。

    說明

    如果該目錄已經存在,請確保目錄下為空白,以免Database BackupDBS恢複時覆蓋目錄下的原資料。

  2. 賦予許可權。

    1. 您可以通過以下命令確認$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
      ====================
    2. 您可以通過以下命令將目標目錄變更使用者組。

      chown -R oracle:oinstall /Oracle/data_bak

擷取資料庫程式目錄

資料庫程式目錄即為ORACLE_HOME地址。

  1. 開啟命令列介面,使用su - oracle命令登入Oracle資料庫。

  2. 在Oracle資料庫中,使用SQL命令echo ORACLE_HOME查看ORACLE_HOME地址。

    如下返回樣本表示ORACLE_HOME地址為/opt/oracle/product/19c/dbhome_1

    /opt/oracle/product/19c/dbhome_1