程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> Oracle數據庫 >> Oracle教程 >> oracle冷備份恢復和oracle異機恢復使用方法

oracle冷備份恢復和oracle異機恢復使用方法

編輯:Oracle教程

一、冷備份
1、 冷備份發生在數據庫已經正常關閉的情況下,在進行冷備份之前通常要知道需要進行備份文件的名稱以及路徑
復制代碼 代碼如下:
SQL>select name from v$datefile;
SQL>select name from v$controlfile;
SQL>select member from v$logfile;

2、冷備份所需備份的文件包括以下幾種:
所有數據文件、所有控制文件、所有聯機REDO LOG 文件
3、冷備份的步驟
①正常關閉要備份的實例(instance)
②拷貝所有重要文件到備份目錄下
③完成備份後啟動數據庫
4、用冷備份進行數據庫恢復
無歸檔模式:將備份文件拷貝回原來的目錄即可,然後啟動數據庫。
歸檔模式:
①將數據文件、控制文件拷貝回原來目錄
②SQL>startup mount;
 SQL>recover database using backup controlfile;
③將相應的歸檔日志和聯機日志拖到CMD命令窗口進行跑日志。
④SQL>alter database open resetlogs;

二、異機恢復

冷備份恢復方式
A、不創建實例:(源機上的數據庫名字為orcl)
①在目標機上的oradata目錄下建立orcl文件夾,拷貝源機的所有data文件和聯機redo文件到此目錄下。
②在目標機上的admin目錄下建立orcl文件夾,然後在orcl裡面再建立adump、bdump、cdump、udump、dpdump、pfile六個文件夾
③把源機的密碼文件拷貝到目標機的database目錄下。
④使用oradim命令在cmd下oradim -new -sid orcl 表示建立一個服務,sid為orcl(最好名字和源機備份的數據庫名字一致,就不需要重建密碼文件)
⑤拷貝源機的pfile到目標機的一個目錄下,修改pfile裡面相關文件的路徑,然後通過SQL>create spfile from pfile=‘文件路徑'來創建參數文件。
⑥重建控制文件命令:SQL>alter database backup controlfile to trace;然後會在udump文件夾下產生一個追蹤文件,打開文件找到如下一段,復制到文本中,修改相應路徑然後保存為:createctl.sql文件(sql腳本文件),復制到目標機上。
注意:SQL>alter database backup controlfile to trace as 'aa.txt';linux系統中會在dbs目錄下建立
復制代碼 代碼如下:
STARTUP NOMOUNT
CREATE CONTROLFILE REUSE DATABASE "ORCL" RESETLOGS  ARCHIVELOG
    MAXLOGFILES 16
    MAXLOGMEMBERS 3
    MAXDATAFILES 100
    MAXINSTANCES 8
    MAXLOGHISTORY 292
LOGFILE
  GROUP 1 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO01.LOG'  SIZE 50M,
  GROUP 2 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO02.LOG'  SIZE 50M,
  GROUP 3 'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\REDO03.LOG'  SIZE 50M
-- STANDBY LOGFILE
DATAFILE
  'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF',
  'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DBF',
  'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF',
  'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF',
  'C:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\BANK_DATA02.DBF'
CHARACTER SET ZHS16GBK;

⑦ c:\>set ORACLE_SID=orcl
   c:\>sqlplus "/as sysdba"
   SQL>create spfile from pfile='c:\pfile.txt';
   SQL>@c:\createctl.sql;
   SQL>shutdown immediate;
   SQL>startup;
   SQL>alter database open resetlogs;
⑧在network\admin下的tnsnames.ora中添加如下片段
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

⑨用net configuration為orcl實例新建監聽

B、創建實例(實例SID與源機數據庫SID一致)
①刪除目標機的oradata\orcl底下的所有文件,把源機的所有data文件、redo文件拷貝到此目錄下
②刪除目標機的密碼文件,拷貝源機密碼文件到目標機下。
③在源機上重建目標機的控制文件:SQL>alter database backup controlfile to trace;然後會在udump文件夾下產生一個追蹤文件,打開文件找到上面那段,復制到文本中,修改相應路徑然後保存為:createctl.sql文件(sql腳本文件),復制到目標機上。

復制代碼 代碼如下:
c:\>sqlplus "/as sysdba"
   SQL>@c:\createctl.sql;
   SQL>shutdown immediate;
   SQL>startup;
   SQL>alter database open resetlogs;

⑤在network\admin下的tnsnames.ora中添加如下片段
復制代碼 代碼如下:
ORCL =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
    )
    (CONNECT_DATA =
      (SERVICE_NAME = orcl)
    )
  )

⑥用net configuration為orcl實例新建監聽

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved