快到新一年了 ,複習一下oracle爲之後作多準備sql
1、Oracle備份方式分類:
Oracle有兩類備份方式:
(1)物理備份:將實際組成數據庫的操做系統文件從一處拷貝到另外一處的備份過程,就是冷備份、熱備份;
(2)邏輯備份:是利用SQL語言從數據庫中抽取數據並存於二進制文件的過程,邏輯備份須要使用導入導出工具: EXPDP/IMPDP或EXP/IMP;數據庫
兩種方式有什麼優缺點:安全
oracle備份 |
概述 | 優勢 | 缺點 | |
冷備份 | 數據庫能夠暫時處於關閉狀態時,咱們須要將它在這一穩定時刻的數據相關文件轉移到安全的區域,當數據庫遭到破壞,再從安全區域將備份的數據庫相關文件拷貝回原來的位置,這樣,就完成了一次快捷安全等數據轉移。因爲是在數據庫不提供服務的關閉狀態,因此稱爲冷備份。 | 備份安全迅速,容易維護 | 必須關閉數據庫,不能隨意在任意時間點上備份數據庫 | |
熱備份 |
熱備份能夠很是精確的備份表空間級和用戶級的數據,因爲它是根據歸檔日誌的時間軸來備份恢復的,理論上能夠恢復到前一個操做,甚至就是前一秒的操做 | 不須要關閉數據庫 ,時間點精確. | 過程複雜,操做不可恢復,數據量較小的時候 | |
邏輯備份 | 是利用SQL語言從數據庫中抽取數據並存於二進制文件的過程。 |
不可關閉,跨平臺操做和遷移數據 | ||
下面來詳細冷熱備份的簡單操做,邏輯備份須要使用工具,之後在進行概述app
1.冷備份工具
當數據庫能夠暫時處於關閉狀態時,咱們須要將它在這一穩定時刻的數據相關文件轉移到安全的區域,當數據庫遭到破壞,再從安全區域將備份的數據庫相關文件拷貝回原來的位置,這樣,就完成了一次快捷安全等數據轉移。因爲是在數據庫不提供服務的關閉狀態,因此稱爲冷備份。冷備份具備不少優良特性,好比上面圖中咱們提到的,快速,方便,以及高效。一次完整的冷備份步驟應該是:
(1)首先關閉數據庫(shutdown normal)
(2)拷貝相關文件到安全區域(利用操做系統命令拷貝數據庫的全部的數據文件、日誌文件、控制文件、參數文件、口令文件等(包括路徑))
(3)從新啓動數據庫(startup)
以上的步驟咱們能夠用一個腳原本完成操做:
su – oracle < sqlplus /nolog
connect / as sysdba
shutdown immediate;spa
//注意11G須要使用copy,能夠先經過等命令找到須要copy的文件位置操作系統
2.1 控制文件:日誌
SQL: select * from V$CONTROLFILEorm
2.2 參數文件:
SQL: select * from V$PARAMETER where name like '%spfile%'
2.3 密碼文件
D:\Oracle11g\product\11.2.0\dbhome_1\database\PWDorcl.ora
2.4 數據文件
SQL: select * from V$DATAFILE
2.5 日誌文件
SQL: select * from V$LOGFILE
copy 文件 備份位置(全部的日誌、數據、控制及參數文件);
startup;
exit;
這樣,咱們就完成了一次冷備份,請肯定你對這些相應的目錄(包括寫入的目標文件夾)有相應的權限。
物理冷備份的恢復:
恢復的時候,相對比較簡單了,咱們停掉數據庫,將文件拷貝回相應位置,重啓數據庫就能夠了,固然也能夠用腳原本完成。
2.熱備份
當咱們須要作一個精度比較高的備份,並且咱們的數據庫不可能停掉(少量訪問量)時,這個狀況下,咱們就須要歸檔方式下的備份,就是下面討論的熱備份。熱備份能夠很是精確的備份表空間級和用戶級的數據,因爲它是根據歸檔日誌的時間軸來備份恢復的,理論上能夠恢復到前一個操做,甚至就是前一秒的操做。具體步驟以下:
1關閉數據庫
SQL> shutdown immediate;
數據庫已經關閉。
已經卸載數據庫。
ORACLE 例程已經關閉。
2
SQL> startup mount;
ORACLE 例程已經啓動。
Total System Global Area 293601280 bytes
Fixed Size 1290208 bytes
Variable Size 130023456 bytes
Database Buffers 155189248 bytes
Redo Buffers 7098368 bytes
數據庫裝載完畢。
3
SQL> alter database archivelog;
數據庫已更改。
4
SQL> select open_mode from v$database;
OPEN_MODE
------------------
READ WRITE
SQL> archive log list;
數據庫日誌模式 存檔模式
自動存檔 啓用
存檔終點 D:\oracle\arch
最先的聯機日誌序列 3
下一個存檔日誌序列 5
當前日誌序列 5
5 若是設置成自動歸檔
alter system set log_archive_start=true scope=spfile;
6聯機備份
先啓動數據庫
alter database open;
將表空間設置爲備份模式
alter tablespace users begin backup;
當表空間設置爲備份模式後就能夠對其中的數據文件進行復制了,使用命令以下
host copy D:\ora11g\*.DBF E:\backup\
複製以後 就不要設置爲備份模式了,所以能夠返回正常模式
alter tablespace users end backup;
7脫機備份,脫機備份的優勢是會產生較少的重作日誌文件,但缺點是當用戶正在進行脫機備份時所備份的表空間將不能訪問,因爲system 系統表空間和正在使用
的undo表空間不能脫機,所以脫機備份不適用於system 表空間和正在使用的undo表空間
SQL> alter tablespace users offline;
表空間已更改。
SQL> host copy F:\app\Administrator\oradata\orcl\*dbf F:\backup\
F:\app\Administrator\oradata\orcl\EXAMPLE01.DBF
F:\app\Administrator\oradata\orcl\SYSAUX01.DBF
SQL> alter tablespace users online;
表空間已更改。
邏輯備份:未完待續!