oracle 表空间热备份,oracle对表空间的热备
1.保證數據庫處于歸檔模式
SQL> archive log list;
Database log mode????????????? Archive Mode
Automatic archival???????????? Enabled
Archive destination??????????? USE_DB_RECOVERY_FILE_DEST
Oldest online log sequence???? 10
Next log sequence to archive?? 12
Current log sequence?????????? 12
2.查看我們要備份的表空間和對應的數據文件。SQL>? select? t1.name,t2.name? from? v$tablespace t1,v$datafile t2 where t1.ts#=t2.ts#;
NAME?????????????????????????? NAME
------------------------------ ----------------------------------------------------------
SYSTEM???????????????????????? F:\KKMAN-ORA\KKMAN\SYSTEM01.DBF
UNDOTBS1?????????????????????? F:\KKMAN-ORA\KKMAN\UNDOTBS01.DBF
SYSAUX???????????????????????? F:\KKMAN-ORA\KKMAN\SYSAUX01.DBF
USERS????????????????????????? F:\KKMAN-ORA\KKMAN\USERS01.DBF
3.開啟目標表空間到備份狀態。
SQL>alter?? tablespace? users? begin? backup;
note:當這個表空間進入到了備份模式后,系統用戶仍然可以對其進行操作,但并不是把數據直接寫到數據文件中,而是記錄到日志文件中。等到備份完成后再進行重做那些日志里面的操作。
4.拷貝目標表空間相應的數據文件。SQL>host? copy??? 表空間數據文件???? 目標地址
或者直接使用到資源管理器里面拷貝。
5.驗證表空間是否進入到備份狀態。
我們可以查看如下的兩個表v$backup.
SQL> select? *? from? v$backup;
FILE# STATUS??????????????? CHANGE# TIME
---------- ------------------ ---------- --------------
1 NOT ACTIVE????????????????? 0
2 NOT ACTIVE????????????????? 0
3 NOT ACTIVE????????????????? 0
4 ACTIVE???????????????? 363960 21-9月 -09
6.關閉表空間的備份狀態
SQL>alter? tablespace? users? end? backup;
7.切換一次日志組
當我們在備份的時候,系統用戶也可能在對表空間進行操作,而這些操作是保存在日志文件中,雖然系統開啟了歸檔但是又可能系統還沒把這些日志寫到歸檔日志里面的時候,系統突然斷電什么的。導致以后備份的表空間不同步。所以我們建議最好進行一次日志組切換,強制把這些日志信息寫入到歸檔日志里面。
SQL>alter? system?? switch? logfile;
8.測試備份的文件
oracle中提供了一個叫DBV的工具,專門用于測試備份文件。
CMD>dbv???? help=y??? ------獲取幫助信息
CMD>dbv???? file=dbvfile=E:\oracle\orcl\USERS01.DBF
CMD>dbvfile=E:\oracle\orcl\USERS01.DBFlogfile=e:\dbv.log
9.在備份時出故障后如何打開數據庫
當我們在備份的時候,系統突然短電。或者我們開啟了begin? backup后忘了,end? backup關閉備份模式就關閉系統。重新啟動數據庫都會出現錯誤,好像是提示需要介質恢復數據文件。
例如:
ORA-01113:文件8需要介質恢復
ORA-01110:數據文件 8:'E:\oracle\orcl\USERS01.DBF'
這個時候我們可以這樣做
SQL>alter? tablespace? users? end? backup;
SQL>alter? database? open;
或者
SQL> alter?? database? datafile? 8? end? backup;
SQL>alter? database? open;
10.恢復表空間
SQL>shutdown immediate;
SQL>startup? mount;
用備份的表空間替代之前的表空間數據文件,確保數據名字要一致、目錄也要一致。因為我們打開到mount模式下,控制文件里面都有數據庫的物理信息。
SQL> recover ?datafile? 'E:\oracle\orcl\USERS01.DBF'
總結
以上是生活随笔為你收集整理的oracle 表空间热备份,oracle对表空间的热备的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: oracle中col 的用法,Oracl
- 下一篇: jpa oracle mysql,ora