日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

oracle重建控制文件流程,ORACLE之重建控制文件

發(fā)布時間:2024/9/30 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 oracle重建控制文件流程,ORACLE之重建控制文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

當(dāng)這些信息更改或者變動時,oracle數(shù)據(jù)庫會自動把最新信息更新到controlfile文件里面。

啟動數(shù)據(jù)庫時,Oracle從初始化參數(shù)文件(pfile/spfile)中獲得控制文件的名字及位置,打開控制文件,然后從控制文件中讀取數(shù)據(jù)文件和聯(lián)機日志文件的信息,最后打開數(shù)據(jù)庫。數(shù)據(jù)庫運行時,Oracle會修改控制文件,所以,一旦控制文件損壞,數(shù)據(jù)庫將不能正常運行。

創(chuàng)建控制文件有幾個前提和幾個區(qū)別:

前提:

1.如果是RAC下,則需要關(guān)閉群集:

alter system set cluster_database=FALSE scope=spfile sid=‘*‘;

否則恢復(fù)的時候會報錯;

2.數(shù)據(jù)庫在mount或者OPEN狀態(tài)下,才能夠重建。

區(qū)別:

重建控制文件有兩種1.resetlogs恢復(fù)和noresetlogs恢復(fù)方式

下面還是著手恢復(fù)步驟:

重建控制文件,

備份方式

Sql>alter? database?backup? controlfile to trace? as ‘/u01/controlfile.trcd’;

創(chuàng)建controlfile備份文件到本地

alter?database?backup?controlfile?to? ‘+UNDO/ORCL/control‘;

這個是備份控制文件到ASM管理存儲里面

如果不知道當(dāng)前控制文件在哪里

查看位置:select?*?from?v$controlfile;

首先,庫能夠進入mount狀態(tài)或者處于OPEN狀態(tài):

SQL>startup mount;或者直接open狀態(tài)

SQL>alter?database?backup?controlfile?to?trace?as?‘/u01/controlfile.trc‘;

進入/u01/下面

然后編輯這個控制文件

里面包含兩部分恢復(fù)腳本

一個就是使用norestlogs和另外一個是使用resetlogs恢復(fù)的腳本:

內(nèi)容就不詳細(xì)全部列出來了:

標(biāo)識Set #1.NORESETLOGS? case的是使用noresetlogs恢復(fù)的

標(biāo)識Set #1.RESETLOGS? case的是使用resetlogs恢復(fù)的

內(nèi)容如下:

第一個是noresetlogs恢復(fù)的腳本

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE"ORCL"NORESETLOGSARCHIVELOG

MAXLOGFILES 192

MAXLOGMEMBERS 3

MAXDATAFILES 1024

MAXINSTANCES 32

MAXLOGHISTORY 292

LOGFILE

GROUP 1‘+UNDO/orcl/onlinelog/group_1.257.912261307‘? SIZE 50M BLOCKSIZE 512,

GROUP 2‘+UNDO/orcl/onlinelog/group_2.258.912261307‘? SIZE 50M BLOCKSIZE 512,

GROUP 3‘+UNDO/orcl/onlinelog/group_3.259.912261453‘? SIZE 50M BLOCKSIZE 512,

GROUP 4‘+UNDO/orcl/onlinelog/group_4.260.912261453‘? SIZE 50M BLOCKSIZE 512

DATAFILE

‘+DATA/orcl/datafile/system.256.912261237‘,

‘+DATA/orcl/datafile/sysaux.257.912261239‘,

‘+DATA/orcl/datafile/undotbs1.258.912261239‘,

‘+DATA/orcl/datafile/users.259.912261239‘,

‘+DATA/orcl/datafile/undotbs2.261.912261395‘

CHARACTER SET UTF8

VARIABLE RECNO NUMBER;

EXECUTE :RECNO :=SYS.DBMS_BACKUP_RESTORE.SETCONFIG(‘CONTROLFILE AUTOBACKUP‘,‘ON‘);

RECOVER DATABASE

ALTER SYSTEM ARCHIVE LOG ALL;

ALTER DATABASE OPEN;

ALTER TABLESPACE TEMP ADD TEMPFILE‘+DATA/orcl/tempfile/temp.260.912261313‘

SIZE 33554432?REUSE AUTOEXTEND ON NEXT 655360? MAXSIZE 32767M;

下面這就是一個resetlog恢復(fù)的腳本:

STARTUP NOMOUNT

CREATE CONTROLFILE REUSE DATABASE"ORCL"RESETLOGSARCHIVELOG

MAXLOGFILES 192

MAXLOGMEMBERS 3

MAXDATAFILES 1024

MAXINSTANCES 32

MAXLOGHISTORY 292

LOGFILE

GROUP 1‘+UNDO/orcl/onlinelog/group_1.257.912261307‘? SIZE 50M BLOCKSIZE 512,

GROUP 2‘+UNDO/orcl/onlinelog/group_2.258.912261307‘? SIZE 50M BLOCKSIZE 512

DATAFILE

‘+DATA/orcl/datafile/system.256.912261237‘,

‘+DATA/orcl/datafile/sysaux.257.912261239‘,

‘+DATA/orcl/datafile/undotbs1.258.912261239‘,

‘+DATA/orcl/datafile/users.259.912261239‘,

‘+DATA/orcl/datafile/undotbs2.261.912261395‘

CHARACTER SET UTF8

;

VARIABLE RECNO NUMBER;

EXECUTE :RECNO :=SYS.DBMS_BACKUP_RESTORE.SETCONFIG(‘CONTROLFILE AUTOBACKUP‘,‘ON‘);

RECOVER DATABASE USING BACKUP CONTROLFILE

ALTER DATABASE ADD LOGFILE THREAD 2

GROUP 3‘+UNDO/orcl/onlinelog/group_3.259.912261453‘ SIZE 50M BLOCKSIZE 512 REUSE,

GROUP 4‘+UNDO/orcl/onlinelog/group_4.260.912261453‘ SIZE 50M BLOCKSIZE 512 REUSE;

ALTER DATABASE OPEN RESETLOGS;

ALTER TABLESPACE TEMP ADD TEMPFILE‘+DATA/orcl/tempfile/temp.260.912261313‘

SIZE 33554432?REUSE AUTOEXTEND ON NEXT 655360? MAXSIZE 32767M;

好了,下面開始停庫恢復(fù):

啟動到nomount狀態(tài)下:

Startup? nomount

直接在nomount狀態(tài)下復(fù)制粘貼下面這段腳本:

CREATE CONTROLFILE REUSE DATABASE"ORCL" NORESETLOGSARCHIVELOG

MAXLOGFILES 192

MAXLOGMEMBERS 3

MAXDATAFILES 1024

MAXINSTANCES 32

MAXLOGHISTORY 292

LOGFILE

GROUP 1‘+UNDO/orcl/onlinelog/group_1.257.912261307‘? SIZE 50M BLOCKSIZE 512,

GROUP 2‘+UNDO/orcl/onlinelog/group_2.258.912261307‘? SIZE 50M BLOCKSIZE 512,

GROUP 3‘+UNDO/orcl/onlinelog/group_3.259.912261453‘? SIZE 50M BLOCKSIZE 512,

GROUP 4 ‘+UNDO/orcl/onlinelog/group_4.260.912261453‘?SIZE 50M BLOCKSIZE 512

DATAFILE

‘+DATA/orcl/datafile/system.256.912261237‘,

‘+DATA/orcl/datafile/sysaux.257.912261239‘,

‘+DATA/orcl/datafile/undotbs1.258.912261239‘,

‘+DATA/orcl/datafile/users.259.912261239‘,

‘+DATA/orcl/datafile/undotbs2.261.912261395‘

CHARACTER SET UTF8;

好了

現(xiàn)在控制文件創(chuàng)建好了;如果有報錯,查看是不是RAC狀態(tài)下沒有關(guān)閉集群

查看當(dāng)前狀態(tài):已經(jīng)到了MOUNTED狀態(tài)下了

執(zhí)行后面的:

VARIABLE RECNO NUMBER;

EXECUTE :RECNO :=SYS.DBMS_BACKUP_RESTORE.SETCONFIG(‘CONTROLFILE AUTOBACKUP‘,‘YES‘);

在后面的

RECOVERY DATABASE就不用執(zhí)行了,因為已經(jīng)有數(shù)據(jù)文件了。

這里僅僅只是控制文件沒有而已

直接ALTER DATABASE OPEN;

成功啟動數(shù)據(jù)庫

最后執(zhí)行以下TEM表空間

ALTER TABLESPACE TEMP ADD TEMPFILE‘+DATA/orcl/tempfile/temp.260.912261313‘

SIZE33554432? REUSE AUTOEXTEND ON NEXT 655360? MAXSIZE 32767M;

resetlogs方式重建controlfile

數(shù)據(jù)文件在,但是日志文件沒有是可以用這個方式回復(fù)

啟動到nomount狀態(tài)下:

Startup? nomount

直接在nomount狀態(tài)下復(fù)制粘貼下面這段腳本:

CREATE CONTROLFILE REUSE DATABASE"ORCL"RESETLOGSARCHIVELOG

MAXLOGFILES 192

MAXLOGMEMBERS 3

MAXDATAFILES 1024

MAXINSTANCES 32

MAXLOGHISTORY 292

LOGFILE

GROUP 1‘+UNDO/orcl/onlinelog/group_1.257.912261307‘? SIZE 50M BLOCKSIZE 512,

GROUP 2‘+UNDO/orcl/onlinelog/group_2.258.912261307‘? SIZE 50M BLOCKSIZE 512

DATAFILE

‘+DATA/orcl/datafile/system.256.912261237‘,

‘+DATA/orcl/datafile/sysaux.257.912261239‘,

‘+DATA/orcl/datafile/undotbs1.258.912261239‘,

‘+DATA/orcl/datafile/users.259.912261239‘,

‘+DATA/orcl/datafile/undotbs2.261.912261395‘

CHARACTER SET UTF8;

好了

查看當(dāng)前狀態(tài):已經(jīng)到了MOUNTED狀態(tài)下了

執(zhí)行后面的:

VARIABLE RECNO NUMBER;

EXECUTE :RECNO :=SYS.DBMS_BACKUP_RESTORE.SETCONFIG(‘CONTROLFILE AUTOBACKUP‘,‘YES‘);

這里因為是用resetlogs恢復(fù)的所以啟動數(shù)據(jù)庫的時候也要resetlogs

ALTER DATABASE OPEN resetlogs;

成功啟動數(shù)據(jù)庫

最后執(zhí)行以下TEM表空間

ALTER TABLESPACE TEMP ADD TEMPFILE‘+DATA/orcl/tempfile/temp.260.912261313‘

SIZE33554432? REUSE AUTOEXTEND ON NEXT 655360? MAXSIZE 32767M;

Ok這個也恢復(fù)成功了。

總結(jié):

兩種恢復(fù)方式基本一樣,只有在啟動數(shù)據(jù)庫的時候有差別,可以根據(jù)數(shù)據(jù)庫當(dāng)時情況具體操作。

但是一般情況下不可能出現(xiàn)控制文件丟失。而且控制文件最少要備份兩份以上放在不同的位置。

如有不足或缺漏請一起討論,共同進步

本文出自 “且行且珍惜” 博客,請務(wù)必保留此出處http://zjwbk.blog.51cto.com/8740969/1788659

ORACLE之重建控制文件

標(biāo)簽:oracle???數(shù)據(jù)庫???控制文件???controlfile

本條技術(shù)文章來源于互聯(lián)網(wǎng),如果無意侵犯您的權(quán)益請點擊此處反饋版權(quán)投訴

本文系統(tǒng)來源:http://zjwbk.blog.51cto.com/8740969/1788659

總結(jié)

以上是生活随笔為你收集整理的oracle重建控制文件流程,ORACLE之重建控制文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。