RAC 攻擊 - Oracle 叢集資料庫在家/設定備份
外觀
在本實驗中,我們將故意錯誤配置叢集資料庫備份,並在本地非共享儲存中犯一些常見錯誤。
- 以 oracle 使用者身份登入到 collabn1 上的終端。
- 在 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
該錯誤發生在遠端節點上,但在此處報告。它也在遠端節點上記錄 - 你知道它在哪裡記錄嗎?需要什麼樣的監控才能透過此類訊息主動發出警報?
- 現在在遠端節點上建立該目錄並重新執行操作。這應該會成功,但它仍然是一個糟糕的配置;我們將在本實驗的後面調查原因。SQL> host ssh collabn2 mkdir /u01/app/oradata SQL> alter system set db_recovery_file_dest='/u01/app/oradata'; System altered.
- 在整個叢集中關閉資料庫。然後在 collabn1 上掛載它,並將資料庫置於歸檔日誌模式。沒有分配歸檔日誌目的地 - 歸檔日誌將去哪裡,為什麼?
為此,您不需要停用 cluster_database init 引數。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