一、冷備份
1、 冷備份發(fā)生在數(shù)據(jù)庫(kù)已經(jīng)正常關(guān)閉的情況下,在進(jìn)行冷備份之前通常要知道需要進(jìn)行備份文件的名稱以及路徑
復(fù)制代碼 代碼如下:
SQL>select name from v$datefile;
SQL>select name from v$controlfile;
SQL>select member from v$logfile;
2、冷備份所需備份的文件包括以下幾種:
所有數(shù)據(jù)文件、所有控制文件、所有聯(lián)機(jī)REDO LOG 文件
3、冷備份的步驟
①正常關(guān)閉要備份的實(shí)例(instance)
②拷貝所有重要文件到備份目錄下
③完成備份后啟動(dòng)數(shù)據(jù)庫(kù)
4、用冷備份進(jìn)行數(shù)據(jù)庫(kù)恢復(fù)
無(wú)歸檔模式:將備份文件拷貝回原來(lái)的目錄即可,然后啟動(dòng)數(shù)據(jù)庫(kù)。
歸檔模式:
①將數(shù)據(jù)文件、控制文件拷貝回原來(lái)目錄
②SQL>startup mount;
SQL>recover database using backup controlfile;
③將相應(yīng)的歸檔日志和聯(lián)機(jī)日志拖到CMD命令窗口進(jìn)行跑日志。
④SQL>alter database open resetlogs;
二、異機(jī)恢復(fù)
冷備份恢復(fù)方式
A、不創(chuàng)建實(shí)例:(源機(jī)上的數(shù)據(jù)庫(kù)名字為orcl)
①在目標(biāo)機(jī)上的oradata目錄下建立orcl文件夾,拷貝源機(jī)的所有data文件和聯(lián)機(jī)redo文件到此目錄下。
②在目標(biāo)機(jī)上的admin目錄下建立orcl文件夾,然后在orcl里面再建立adump、bdump、cdump、udump、dpdump、pfile六個(gè)文件夾
③把源機(jī)的密碼文件拷貝到目標(biāo)機(jī)的database目錄下。
④使用oradim命令在cmd下oradim -new -sid orcl 表示建立一個(gè)服務(wù),sid為orcl(最好名字和源機(jī)備份的數(shù)據(jù)庫(kù)名字一致,就不需要重建密碼文件)
⑤拷貝源機(jī)的pfile到目標(biāo)機(jī)的一個(gè)目錄下,修改pfile里面相關(guān)文件的路徑,然后通過(guò)SQL>create spfile from pfile=‘文件路徑'來(lái)創(chuàng)建參數(shù)文件。
⑥重建控制文件命令:SQL>alter database backup controlfile to trace;然后會(huì)在udump文件夾下產(chǎn)生一個(gè)追蹤文件,打開文件找到如下一段,復(fù)制到文本中,修改相應(yīng)路徑然后保存為:createctl.sql文件(sql腳本文件),復(fù)制到目標(biāo)機(jī)上。
注意:SQL>alter database backup controlfile to trace as 'aa.txt';linux系統(tǒng)中會(huì)在dbs目錄下建立
復(fù)制代碼 代碼如下:
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)
)
)
B、創(chuàng)建實(shí)例(實(shí)例SID與源機(jī)數(shù)據(jù)庫(kù)SID一致)
①刪除目標(biāo)機(jī)的oradata/orcl底下的所有文件,把源機(jī)的所有data文件、redo文件拷貝到此目錄下
②刪除目標(biāo)機(jī)的密碼文件,拷貝源機(jī)密碼文件到目標(biāo)機(jī)下。
③在源機(jī)上重建目標(biāo)機(jī)的控制文件:SQL>alter database backup controlfile to trace;然后會(huì)在udump文件夾下產(chǎn)生一個(gè)追蹤文件,打開文件找到上面那段,復(fù)制到文本中,修改相應(yīng)路徑然后保存為:createctl.sql文件(sql腳本文件),復(fù)制到目標(biāo)機(jī)上。
④
復(fù)制代碼 代碼如下:
c:/>sqlplus "/as sysdba"
SQL>@c:/createctl.sql;
SQL>shutdown immediate;
SQL>startup;
SQL>alter database open resetlogs;
復(fù)制代碼 代碼如下:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)
新聞熱點(diǎn)
疑難解答
圖片精選