⑴ oracle 10g 怎麼備份和恢復資料庫。
Oracle10G資料庫中,資料庫文件的備份與恢復可以有很多的方式來實現,這里介紹一種基於用戶管理的備份與恢復。基於用戶管理的備份是指使用OS命令來備份資料庫物理文件。
備份資料庫
資料庫一致性備份:關閉資料庫以後備份資料庫物理文件,這時數據文件scn值完全一致,所以稱之為資料庫的一致性備份或冷備份,適用於歸檔模式與非歸檔模式。
對基於用戶管理的冷備份的暫時理解:在資料庫shutdown狀態下使用OS命令直接拷貝資料庫物理文件。
資料庫非一致性備份:在open狀態下備份資料庫物理文件,這時資料庫內容可能會改變導致數據文件scn不一致,所以稱之為資料庫的非一致性備份或熱備份,只適用於歸檔模式。
基於用戶管理的完全恢復(歸檔模式下)
1.在open狀態下備份資料庫物理文件(資料庫非一致性備份,熱備份,不影響業務運行)
2.刪除數據文件來模擬文件丟失(只是刪除了所有的數據文件;控制文件等其它文件處於正常狀態)
3.對數據文件進行恢復
4.應用歸檔日誌
5.查看數據是否完全恢復
--sysdba執行備份
SQL>
conn
/
as
sysdba
Connected.
SQL>
select
name
from
v$datafile;
NAME
--------------------------------------------------------------------------------
/oracle/10g/oracle/proct/10.2.0/oradata/oralife/system01.dbf
/oracle/10g/oracle/proct/10.2.0/oradata/oralife/undotbs01.dbf
/oracle/10g/oracle/proct/10.2.0/oradata/oralife/sysaux01.dbf
/oracle/10g/oracle/proct/10.2.0/oradata/oralife/users01.dbf
/oracle/10g/oracle/proct/10.2.0/oradata/oralife/example01.dbf
SQL>
alter
database
begin
backup;
Database
altered.
SQL>
host
cp
/oracle/10g/oracle/proct/10.2.0/oradata/oralife/*.dbf
/oracle/10g/oracle/bakup/database/
--備份所有數據文件
SQL>
alter
database
backup
controlfile
to
'/oracle/10g/oracle/bakup/database/oralife.ctl';
--備份控制文件
Database
altered.
SQL>
alter
system
archive
log
current;
--歸檔當前日誌組
System
altered.
進行完全恢復
備份的數據文件到指定的目標位置,進行恢復:
SQL>
recover
database
--open狀態
ORA-00283:
recovery
session
canceled
e
to
errors
ORA-01124:
cannot
recover
data
file
1
-
file
is
in
use
or
recovery
ORA-01110:
data
file
1:
'/oracle/10g/oracle/proct/10.2.0/oradata/oralife/system01.dbf'
SQL>
shutdown
immediate
--open狀態
ORA-01122:
database
file
1
failed
verification
check
ORA-01110:
data
file
1:
'/oracle/10g/oracle/proct/10.2.0/oradata/oralife/system01.dbf'
ORA-01208:
data
file
is
an
old
version
-
not
accessing
current
version
SQL>
startup
force
mount;
--進入mount狀態進行恢復
ORACLE
instance
started.
Total
System
Global
Area
528482304
bytes
Fixed
Size
1220360
bytes
Variable
Size
163578104
bytes
Database
Buffers
356515840
bytes
Redo
Buffers
7168000
bytes
Database
mounted.
SQL>
recover
database
Media
recovery
complete.
SQL>
alter
database
open;
Database
altered.
沒有出現應用歸檔日誌,應用歸檔日誌有幾種方式:
Specify
log:
{<RET>=suggested
|
filename
|
AUTO
|
CANCEL}
當在open狀態下對數據文件進行恢復時,應該將其offline,恢復完成後,再將其online;所有的恢復應該盡量在open狀態下完成。