始創于2000年 股票代碼:831685
咨詢熱線:0371-60135900 注冊有禮 登錄
  • 掛牌上市企業
  • 60秒人工響應
  • 99.99%連通率
  • 7*24h人工
  • 故障100倍補償
您的位置: 網站首頁 > 幫助中心>文章內容

Oracle數據庫的備份與恢復技術方案

發布時間:  2012/8/2 18:22:21

Oracle數據庫的備份與恢復技術方案
[Q]如何開啟/關閉歸檔
[A]如果開啟歸檔,請保證log_archive_start=true開啟自動歸檔,否則只能手工歸檔,如果是關閉了歸檔,則設置該參數為false
注意:如果是OPS/RAC環境,需要先把parallel_server = true注釋掉,然后執行如下步驟,最后用這個參數重新啟動
1、開啟歸檔
a. 關閉數據庫shutdown immediate -
 

b. startup mount
c. alter database archivelog
d. alter database opne
2、禁止歸檔
a. 關閉數據庫shutdown immediate
b. startup mount
c. alter database noarchivelog
d. alter database open
歸檔信息可以通過如下語句查看
SQL> archive log list
Database log mode Archive Mode
Automatic archival Enabled
Archive destination E:\Oracle\ora92\database\archive
Oldest online log sequence 131
Next log sequence to archive 133
Current log sequence 133
[Q]怎樣設置定時歸檔
[A]9i以上版本,保證歸檔的最小間隔不超過n秒
設置Archive_lag_target = n
單位:秒 范圍:0~7200
[Q]不同版本怎么導出/導入
[A]導出用低版本,導入用當前版本
如果版本跨越太大,需要用到中間版本過渡
[Q]不同的字符集之前怎么導數據
[A]a.前條件是保證導出/導入符合其他字符集標準,如客戶環境與數據庫字符集一致。
b.修改dmp文件的2、3字節為目標數據庫的字符集,注意要換成十六進制。
參考函數(以下函數中的ID是十進制的):
nls_charset_name 根據字符集ID獲得字符集名稱
nls_charset_id 根據字符集名稱獲得字符集ID
[Q]怎么樣備份控制文件
[A]再線備份為一個二進制的文件
alter database backup controlfile to '$BACKUP_DEPT/controlfile.000' [reuse];
備份為文本文件方式
alter database backup controlfile to trace [resetlogs|noresetlogs];
[Q]控制文件損壞如何恢復
[A]1、如果是損壞單個控制文件
只需要關閉數據庫,拷貝一個好的數據文件覆蓋掉壞的數據文件即可
或者是修改init.ora文件的相關部分
2、如果是損失全部控制文件,則需要創建控制文件或從備份恢復
創建控制文件的腳本可以通過alter database backup controlfile to trace獲取。
[Q]怎么樣熱備份一個表空間
[A]Alter tablespace 名稱 begin backup;
host cp 這個表空間的數據文件 目的地;
Alter tablespace 名稱 end backup;
如果是備份多個表空間或整個數據庫,只需要一個一個表空間的操作下來就可以了。
[Q]怎么快速得到整個數據庫的熱備腳本
[A]可以寫一段類似的腳本
SQL>set serveroutput on
begin
dbms_output.enable(10000);
for bk_ts in (select t.ts#,t.name from v$tablespace t,v$datafile d where t.ts#=d.ts#) loop
dbms_output.put_line('--'||bk_ts.name);
dbms_output.put_line('alter tablespace '||bk_ts.name||' begin backup;');
for bk_file in (select file#,name from v$datafile where ts#=bk_ts.ts#) loop
dbms_output.put_line('host cp '||bk_file.name||' $BACKUP_DEPT/');
end loop;
dbms_output.put_line('alter tablespace '||bk_ts.name||' end backup;');
end loop;
end;
/
[Q]丟失一個數據文件,但是沒有備份,怎么樣打開數據庫
[A]如果沒有備份只能是刪除這個數據文件了,會導致相應的數據丟失。
SQL>startup mount
--ARCHIVELOG模式命令
SQL>Alter database datafile 'file name' offline;
--NOARCHIVELOG模式命令
SQL>Alter database datafile 'file name' offline drop;
SQLl>Alter database open;
注意:該數據文件不能是系統數據文件
[Q]丟失一個數據文件,沒有備份但是有該數據文件創建以來的歸檔怎么恢復
[A]保證如下條件
a. 不能是系統數據文件
b. 不能丟失控制文件
如果滿足以上條件,則
SQL>startup mount
SQL>Alter database create datafile 'file name' as 'file name' size ... reuse;
SQL>recover datafile n; -文件號
或者
SQL>recover datafile 'file name';
或者
SQL>recover database;
SQL>Alter database open;
[Q]聯機日志損壞如何恢復
[A]1、如果是非當前日志而且歸檔,可以使用
Alter database clear logfile group n來創建一個新的日志文件
如果該日志還沒有歸檔,則需要用
Alter database clear unarchived logfile group n
2、如果是當前日志損壞,一般不能clear,則可能意味著丟失數據
如果有備份,可以采用備份進行不完全恢復
如果沒有備份,可能只能用_allow_resetlogs_corruption=true來進行強制恢復了,但是,這樣的方法是不建議的,最好在有Oracle support的指導下進行。
[Q]怎么樣在恢復的時候移動數據文件,恢復到別的地點
[A]給一個RMAN的例子
run {
set until time 'Jul 01 1999 00:05:00';
allocate channel d1 type disk;
set newname for datafile '/u04/Oracle/prod/sys1prod.dbf'
to '/u02/Oracle/prod/sys1prod.dbf';
set newname for datafile '/u04/Oracle/prod/usr1prod.dbf'
to '/u02/Oracle/prod/usr1prod.dbf';
set newname for datafile '/u04/Oracle/prod/tmp1prod.dbf'
to '/u02/Oracle/prod/tmp1prod.dbf';
restore controlfile to '/u02/Oracle/prod/ctl1prod.ora';
replicate controlfile from '/u02/Oracle/prod/ctl1prod.ora';
restore database;
sql "alter database mount";
switch datafile all;
recover database;
sql "alter database open resetlogs";
release channel d1;
}


本文出自:億恩科技【www.czbl888.cn】

服務器租用/服務器托管中國五強!虛擬主機域名注冊頂級提供商!15年品質保障!--億恩科技[ENKJ.COM]

  • 您可能在找
  • 億恩北京公司:
  • 經營性ICP/ISP證:京B2-20150015
  • 億恩鄭州公司:
  • 經營性ICP/ISP/IDC證:豫B1.B2-20060070
  • 億恩南昌公司:
  • 經營性ICP/ISP證:贛B2-20080012
  • 服務器/云主機 24小時售后服務電話:0371-60135900
  • 虛擬主機/智能建站 24小時售后服務電話:0371-60135900
  • 專注服務器托管17年
    掃掃關注-微信公眾號
    0371-60135900
    Copyright© 1999-2019 ENKJ All Rights Reserved 億恩科技 版權所有  地址:鄭州市高新區翠竹街1號總部企業基地億恩大廈  法律顧問:河南亞太人律師事務所郝建鋒、杜慧月律師   京公網安備41019702002023號
      0
     
     
     
     

    0371-60135900
    7*24小時客服服務熱線