一、首先把資料庫啟動到歸檔模式下,具體操作如下:
1、shutdown immediate;
2、startup mount;
3、alter database archivelog;
4、alter database open;
這樣資料庫就啟動到歸檔模式下了。
二、一定要檢視是否在歸檔模式下,具體**如下:
1、archive log list ; 執行命令會出現三個序列號,然後執行下面的命令
2、alter system switch logfile;
3、archive log list ; 如果序列號改變了,說明已經成功切換到歸檔模式下了,下面就可以準備熱備份工作了。
三、開始備份工作,具體操作如下:
1、select tablespace_name from dba_data_files; 檢視所有的表空間
2、select name from v$datafile; 找出所有的資料檔案及路徑
3、 alter database begin backup;
4、 copy 所有的資料檔案到你指定的路徑下,例如:
(1)mkdir /u02/horcl 建立備份路徑
(2) select 'ho cp ' || name ||' /u02/horcl/ ' from v$ datafile; 查詢出來的 語句,全部複製,全部執行即可。
(3) 例如: cp /u01/oracle/oradata/orcl/*1.dbf /u02/horcl/
cp /u01/oracle/oradata/orcl/*2.dbf /u02/horcl/
cp /u01/oracle/oradata/orcl/*3.dbf /u02/horcl/
cp /u01/oracle/oradata/orcl/*4.dbf /u02/horcl/
cp /u01/oracle/oradata/orcl/*5.dbf /u02/horcl/
cp /u01/oracle/oradata/orcl/*6.dbf /u02/horcl/
等等全部執行。
(4)完成之後,執行:alter database end backup;將你的表空間解凍。
(5)當然這只是備份了資料檔案,還要備份控制檔案、引數檔案。
(6)備份控制檔案的具體操作:
sql>alter database backup controlfile to '/u02/horcl/controlfile/*.ctl'--路徑
(7)備份引數檔案的具體操作:
sql>create pfile='/u02/horcl/initorcl.ora' from spfile;
(8)如何書寫乙個完整的熱備份的指令碼:
vi /u02/hotbak.sql ---建立指令碼
spool /tmp/hot.sql
select 『ho cp '||name||'/u02/horcl/' from v$datafile;
spool off
ho sed -n '/^ho cp/p' /tmp/hot.sql > /tmp/hotorcl.sql
alter database begin backup;
start /tmp/hotorcl.sql
alter database end backup;
ho rm /tmp/hot*.sql ---刪除
alter database backup controlfile to '/u02/horcl/control01.ctl';
create pfile='/u02/horcl/initorcl.ora' from spfile;
(9)如何執行指令碼:
sql>@/u02/hotbak
/------以上是使用資料庫的熱備方式-----/
下面我們來看如何使用表空間來做熱備:
1、首先查詢一下你的表空間和名字:
sql>select tablaespace_name,file_name from dba_data_files;
2、開始備份工作:
sql>alter tablespace ulp begin backup; ---ulp 為表空間名
3、拷貝ulp下的資料檔案:
sql> ho cp 路徑1 路徑2 ----路徑1是你剛才查詢出來的資料檔案的路徑和名字
路徑2 是你要備份的路徑
sql>alter tablespace ulp end backup;
其他表空間一樣的操作。
完整的指令碼語句如下:
cat /u02/hot2.sql ---建立的指令碼名字
set heading off --- 指令碼內容從此開始
spool /tmp/hot.sql
select 'alter tablespace' || tablespace_name ||' begin backup; '||chr(10) '|| ho cp'|| file_name ||' /u02/horcl/' || chr(10) || ' alter tablespace ' || tablespace_name || ' end backup ; ' from dba_data_files order by tablespace_name;
spool off ---- 以上指令碼是資料檔案的備份
start /tmp/hot.sql ---執行
rm ho /tmp/hot.sql ---刪除
alter database backup controlfile to '/u02/horcl/control01.ctl'; ---備份控制檔案
create pfile='/u02/horcl/initorcl.ora' from spfile; --- 備份引數檔案
ho cat /u02/hot2.sql ----檢視以上指令碼
sql>@/u02/hot2.sql ---- 執行以上指令碼
oracle 雙機熱備份
一 建立 standby database 要求1 primary 與standby 資料庫所在主機上的 oracle server 及作業系統版本必須相同,且具有相同的補丁 2 primary 資料庫必須為 archive mode standby database 也必須為 archive mo...
oracle雙機熱備份
oracle雙機熱備份方法 一 建立standby database 要求 1 primary 與standby 資料庫所在主機上的oracle server及 作系統版本必須相同,且具有相同的補丁 2 primary 資料庫必須為archive mode standby database也必須為a...
Oracle 熱備份實踐
實踐oracle的熱備份操作過程 windows下進行 注意 1.oracle必須執行在歸檔模式下 檢視是否處於歸檔模式 archive log list 如果不是處於歸檔模式,需要shutdown資料庫並且把資料庫設定為在歸檔模式下執行 在mount狀態下進行修改 shutdown immedia...