使用OSB進行ORACLE rac資料庫的備份
1 ORACLE RAC資料庫備份概述
ORACLE資料庫備份支援disk和tape兩種型別,disk方式使用format指定備份的目錄,而使用tape型別,則需要第三方備份軟體或者採用ORACLE的OSB備份軟體來提供sbt備份儲存型別的支援。
本文主要講述OSB進行ORACLE資料庫RAC的備份設定,該備份軟體的具體設定,比如帶庫和帶機的設定在此不做詳細述說,如果備份伺服器端配置好了後,只需要使用RMAN指令碼,將裝置改成type sbt方式備份即可,所有的schedule定製都需要再ORACLE ENTERPRISE MANAGER介面上完成。
1.1 備份伺服器端的設定
1. RMAN訪問帶庫的設定
ORACLE 11g的database中,已經整合了OSB的相關軟體,所以以前的libobk.so符號連結不需要再做了。
OSB只要在資料庫伺服器上安裝client端即可,在setup的時候只選擇C選項。
2. RMAN使用者的設定
在OSB web管理介面上選擇configure的users中,一般選擇ORACLE使用者,點選EDIT,將rman和cmdline兩項賦予oracle使用者即可。同樣可以使用obtool命令來建立,示例如下:
mkuser -c oracle -p oracle -U oracle -G dba -N no -h *:*:*+rman+cmdline oracle
3. 建立MF(media family)
該步驟如果沒有手工建立media family,那麼rman備份的時候會自動預設使用rman-default的MF,建議建立自己的一個MF。
完成以上的步驟後,即可使用rman的指令碼進行資料庫的備份測試了,
4. 建立備份指令碼
#!/bin/sh
ORAHOME=/opt/oracle/app/oracle/product/11g/db
ORAOWNER=oracle
dt=`date +%m%d`
rman target / >> /export/home/oracle/db_level0_$dt.log << EOF
run{
allocate channel ch1 type sbt;
allocate channel ch2 type sbt;
backup incremental level 0 database;
sql 'alter system archive log current';
release channel ch1;
release channel ch2;
}
run
{
allocate channel ch1 type sbt connect sys/Shyzy123@SPZXDB1;
allocate channel ch2 type sbt connect sys/Shyzy123@SPZXDB2;
backup archivelog all;
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
release channel ch2;
release channel ch1;
}
EOF
以上指令碼已經透過測試,下面對指令碼稍加說明:
a. RAC的備份只要在一個節點上進行指令碼的執行就可以了,因為,RAC環境中,資料庫資料都是存放在在儲存上的,比如使用了ASM或者CLUSTER File System等方式進行存放。
b. 透過OSB備份軟體,只需要指定備份型別為sbt即可,OSB的程式能夠知道去哪兒找到帶庫,並mount相應的磁帶。
c. 如果RAC的歸檔日誌存放在不同的節點上話,如果需要備份這些日誌,以及備份好這些日誌刪除的話,由於只在一個節點上進行備份,這樣指令碼就有可能存在許可權問題,解決方法就是分別connect對應的例項,使用rman的configure命令。
d. 在執行指令碼節點的tnsnames.ora檔案中加入各個節點例項名的解析,比如inst1,inst2,需要注意的地方是,service?_name一定都要用RAC的service_name。
5. 備份策略的制定
備份策略可以按照0級備份和增量1級和2級的備份來制定靈活的備份方案policy,所涉及到的備份策略可以透過OEM管理軟體來進行設定和定製,也可以透過以上的備份指令碼,進行crontab的制定。
ORACLE資料庫備份支援disk和tape兩種型別,disk方式使用format指定備份的目錄,而使用tape型別,則需要第三方備份軟體或者採用ORACLE的OSB備份軟體來提供sbt備份儲存型別的支援。
本文主要講述OSB進行ORACLE資料庫RAC的備份設定,該備份軟體的具體設定,比如帶庫和帶機的設定在此不做詳細述說,如果備份伺服器端配置好了後,只需要使用RMAN指令碼,將裝置改成type sbt方式備份即可,所有的schedule定製都需要再ORACLE ENTERPRISE MANAGER介面上完成。
1.1 備份伺服器端的設定
1. RMAN訪問帶庫的設定
ORACLE 11g的database中,已經整合了OSB的相關軟體,所以以前的libobk.so符號連結不需要再做了。
OSB只要在資料庫伺服器上安裝client端即可,在setup的時候只選擇C選項。
2. RMAN使用者的設定
在OSB web管理介面上選擇configure的users中,一般選擇ORACLE使用者,點選EDIT,將rman和cmdline兩項賦予oracle使用者即可。同樣可以使用obtool命令來建立,示例如下:
mkuser -c oracle -p oracle -U oracle -G dba -N no -h *:*:*+rman+cmdline oracle
3. 建立MF(media family)
該步驟如果沒有手工建立media family,那麼rman備份的時候會自動預設使用rman-default的MF,建議建立自己的一個MF。
完成以上的步驟後,即可使用rman的指令碼進行資料庫的備份測試了,
4. 建立備份指令碼
#!/bin/sh
ORAHOME=/opt/oracle/app/oracle/product/11g/db
ORAOWNER=oracle
dt=`date +%m%d`
rman target / >> /export/home/oracle/db_level0_$dt.log << EOF
run{
allocate channel ch1 type sbt;
allocate channel ch2 type sbt;
backup incremental level 0 database;
sql 'alter system archive log current';
release channel ch1;
release channel ch2;
}
run
{
allocate channel ch1 type sbt connect sys/Shyzy123@SPZXDB1;
allocate channel ch2 type sbt connect sys/Shyzy123@SPZXDB2;
backup archivelog all;
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
release channel ch2;
release channel ch1;
}
EOF
以上指令碼已經透過測試,下面對指令碼稍加說明:
a. RAC的備份只要在一個節點上進行指令碼的執行就可以了,因為,RAC環境中,資料庫資料都是存放在在儲存上的,比如使用了ASM或者CLUSTER File System等方式進行存放。
b. 透過OSB備份軟體,只需要指定備份型別為sbt即可,OSB的程式能夠知道去哪兒找到帶庫,並mount相應的磁帶。
c. 如果RAC的歸檔日誌存放在不同的節點上話,如果需要備份這些日誌,以及備份好這些日誌刪除的話,由於只在一個節點上進行備份,這樣指令碼就有可能存在許可權問題,解決方法就是分別connect對應的例項,使用rman的configure命令。
d. 在執行指令碼節點的tnsnames.ora檔案中加入各個節點例項名的解析,比如inst1,inst2,需要注意的地方是,service?_name一定都要用RAC的service_name。
5. 備份策略的制定
備份策略可以按照0級備份和增量1級和2級的備份來制定靈活的備份方案policy,所涉及到的備份策略可以透過OEM管理軟體來進行設定和定製,也可以透過以上的備份指令碼,進行crontab的制定。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29874640/viewspace-1332536/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 使用MySQL Workbench進行資料庫備份MySql資料庫
- 使用離線工具dmbackup進行資料庫備份資料庫
- oracle資料庫使用rman備份指令碼Oracle資料庫指令碼
- Networker備份oracle racOracle
- oracle資料庫備份之exp增量備份Oracle資料庫
- 「Oracle」Oracle 資料庫備份還原Oracle資料庫
- Elasticsearch 使用 NFS 進行資料備份ElasticsearchNFS
- oracle 備份資料庫,匯出資料庫Oracle資料庫
- 每天自動備份Oracle資料庫Oracle資料庫
- oracle uncatalog資料庫備份檔案Oracle資料庫
- 使用Handy Backup 6.2進行資料備份方法
- python使用多執行緒備份資料庫Python執行緒資料庫
- 使用RMAN備份資料庫資料庫
- mssql資料庫異地進行異地備份的方法SQL資料庫
- oracle rac資料庫的安裝Oracle資料庫
- Oracle 12c 使用RMAN搭建物理備庫(RAC to RAC)Oracle
- Oracle資料庫的邏輯備份工具-expdp資料泵Oracle資料庫
- DM聯機執行SQL語句進行資料庫備份SQL資料庫
- Oracle資料庫備份、災備的23個常見問題Oracle資料庫
- 資料備份 reed-solomn 庫 的使用
- Oracle資料庫備份還原詳解XKUSOracle資料庫
- 將RAC備份集恢復為單例項資料庫單例資料庫
- 資料庫備份資料庫
- vgant 安裝oracle資料庫racOracle資料庫
- 使用python進行Oracle資料庫效能趨勢分析PythonOracle資料庫
- 如何在HarmonyOS對資料庫進行備份,恢復與加密資料庫加密
- oracle sqldeveloper選擇性複製備份資料庫OracleSQLDeveloper資料庫
- 【BUILD_ORACLE】Oracle 19c RAC搭建(六)建立RAC資料庫UIOracle資料庫
- Dedecms備份的資料檔案位置及備份資料庫的方法資料庫
- Oracle資料庫(RAC)巡檢報告Oracle資料庫
- Mysqldump 在備庫進行備份時會阻塞備庫的sql_threadMySqlthread
- 資料庫備份策略資料庫
- MongoDB資料庫備份MongoDB資料庫
- mysql 資料庫 備份MySql資料庫
- 容災備份 | 看我使用Powershell操作FTP進行資料檔案自動上傳備份FTP
- jdbc連線oracle rac資料庫的寫法JDBCOracle資料庫
- ORACLE 12C RAC資料庫的啟停Oracle資料庫
- MySQL資料庫的基本備份MySql資料庫
- DM7使用離線工具DMRMAN執行資料庫備份資料庫