跳轉到內容

RAC 攻擊 - Oracle 叢集資料庫在家/設定備份

來自 Wikibooks,開放世界開放書籍


在本實驗中,我們將故意錯誤配置叢集資料庫備份,並在本地非共享儲存中犯一些常見錯誤。



  1. 以 oracle 使用者身份登入到 collabn1 上的終端。
  2. collabn1 上建立一個目錄 /u01/app/oradata,並嘗試透過 init 引數 db_recovery_file_dest 將其配置為閃回恢復區 (FRA)。操作將失敗。collabn1:/home/oracle[RAC1]$ mkdir /u01/app/oradata collabn1:/home/oracle[RAC1]$ ss SQL*Plus: Release 11.1.0.6.0 - Production on Mon May 4 07:39:57 2009 SQL> show parameter recovery_file NAME TYPE VALUE ------------------------------- ----------- ------------------------------ db_recovery_file_dest string +FRA db_recovery_file_dest_size big integer 4000M SQL> alter system set db_recovery_file_dest='/u01/app/oradata'; alter system set db_recovery_file_dest='/u01/app/oradata' * ERROR at line 1: ORA-32008: error while processing parameter update at instance RAC2 ORA-02097: parameter cannot be modified because specified value is invalid ORA-01261: Parameter db_recovery_file_dest destination string cannot be translated ORA-01262: Stat failed on a file destination directory Linux Error: 2: No such file or director


  3. 現在在遠端節點上建立該目錄並重新執行操作。這應該會成功,但它仍然是一個糟糕的配置;我們將在本實驗的後面調查原因。SQL> host ssh collabn2 mkdir /u01/app/oradata SQL> alter system set db_recovery_file_dest='/u01/app/oradata'; System altered.
  4. 在整個叢集中關閉資料庫。然後在 collabn1 上掛載它,並將資料庫置於歸檔日誌模式。沒有分配歸檔日誌目的地 - 歸檔日誌將去哪裡,為什麼?
    collabn1:/home/oracle[RAC1]$ srvctl stop database -d RAC
    collabn1:/home/oracle[RAC1]$ srvctl status database -d RAC
    Instance RAC1 is not running on node collabn1
    Instance RAC2 is not running on node collabn2
     
    collabn1:/home/oracle[RAC1]$ ss
    SQL*Plus: Release 11.1.0.6.0 - Production on Mon May 4 09:08:01 2009
     
    SQL> startup mount
     
    SQL> alter database archivelog;
    Database altered.
     
    SQL> alter database open;
     
    collabn1:/home/oracle[RAC1]$ srvctl start database -d RAC
    



華夏公益教科書