首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

ASM 環境下配置多重控制檔的最佳實務操作

     編輯:Oracle 資料庫基礎

為何需要多重控制檔

控制檔損壞會導致資料庫掛點。若僅建立單一 ASM 磁碟組,ASM 預設僅建立一個控制檔,風險極高。本文示範如何在 ASM 中配置三個控制檔並使用直觀命名。

操作流程

1. 將控制檔從檔案系統遷移至 ASM

SQL> SHOW PARAMETER control_files;
SQL> SHOW PARAMETER db_create_file_dest; -- 假設為 +DATA
SQL> ALTER SYSTEM RESET CONTROL_FILES SCOPE=SPFILE SID='*';
SQL> STARTUP NOMOUNT;

RMAN> RESTORE CONTROLFILE FROM '/home/oracle/control01.ctl';
-- 輸出檔名如 +DATA/test/controlfile/current.1623.640347437

2. 建立第一個具名控制檔並設定參數

SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE BACKUP CONTROLFILE TO '+DATA/test/controlfile/control01.ctl';
SQL> ALTER SYSTEM SET CONTROL_FILES='+DATA/test/controlfile/control01.ctl' SCOPE=SPFILE;
SQL> SHUTDOWN IMMEDIATE;

3. 以新控制檔啟動並建立第二、三個控制檔

SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT;
SQL> ALTER DATABASE BACKUP CONTROLFILE TO '+DATA/test/controlfile/control02.ctl';
SQL> ALTER DATABASE BACKUP CONTROLFILE TO '+DATA/test/controlfile/control03.ctl';
SQL> ALTER SYSTEM SET CONTROL_FILES=
  '+DATA/test/controlfile/control01.ctl',
  '+DATA/test/controlfile/control02.ctl',
  '+DATA/test/controlfile/control03.ctl' SCOPE=SPFILE;
SQL> STARTUP NOMOUNT;
SQL> ALTER DATABASE MOUNT;

4. ASMCMD 驗證

ASMCMD> ls
control01.ctl
control02.ctl
control03.ctl
current.1623.640347437
...

ASM 內部仍以系統命名方式儲存,上述具名檔案實為別名連結,滿足多重控制檔的高可用需求。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved