重建控制檔案
重建控制檔案是不得已之選,如果沒有備份和控制檔案冗餘的情況下,但是我們仍需要一些資料庫資訊,下面簡單的介紹一下過程:
把資料庫啟動到mount:
SQL> startup mount;
ORACLE 例程已經啟動。
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 327158144 bytes
Database Buffers 88080384 bytes
Redo Buffers 6094848 bytes
資料庫裝載完畢。
SQL> alter database backup controlfile to trace;
資料庫已更改。
我們開啟trace檔案,裡面有我們重建控制檔案的指令碼:
CREATE CONTROLFILE REUSE DATABASE "ORCL3939" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl3939/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl3939/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl3939/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl3939/system01.dbf',
'/u01/app/oracle/oradata/orcl3939/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl3939/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl3939/users01.dbf',
'/u01/app/oracle/oradata/orcl3939/example01.dbf',
'/u01/app/oracle/oradata/orcl3939/wang.dbf',
'/u01/app/oracle/oradata/orcl3939/chao.dbf',
'/u01/app/oracle/oradata/orcl3939/big_file',
'/u01/app/oracle/oradata/orcl3939/undo_w.dbf',
'/u01/app/oracle/oradata/orcl3939/wang1.dbf',
'/u01/app/oracle/oradata/orcl3939/a.dbf',
'/u01/app/oracle/oradata/orcl3939/v.dbf'
CHARACTER SET AL32UTF8
;
透過此指令碼,我們可以重建控制檔案:
把資料庫啟動到mount:
SQL> startup mount;
ORACLE 例程已經啟動。
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 327158144 bytes
Database Buffers 88080384 bytes
Redo Buffers 6094848 bytes
資料庫裝載完畢。
SQL> alter database backup controlfile to trace;
資料庫已更改。
我們開啟trace檔案,裡面有我們重建控制檔案的指令碼:
CREATE CONTROLFILE REUSE DATABASE "ORCL3939" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl3939/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl3939/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl3939/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl3939/system01.dbf',
'/u01/app/oracle/oradata/orcl3939/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl3939/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl3939/users01.dbf',
'/u01/app/oracle/oradata/orcl3939/example01.dbf',
'/u01/app/oracle/oradata/orcl3939/wang.dbf',
'/u01/app/oracle/oradata/orcl3939/chao.dbf',
'/u01/app/oracle/oradata/orcl3939/big_file',
'/u01/app/oracle/oradata/orcl3939/undo_w.dbf',
'/u01/app/oracle/oradata/orcl3939/wang1.dbf',
'/u01/app/oracle/oradata/orcl3939/a.dbf',
'/u01/app/oracle/oradata/orcl3939/v.dbf'
CHARACTER SET AL32UTF8
;
透過此指令碼,我們可以重建控制檔案:
SQL> startup nomount;
ORACLE 例程已經啟動。
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 327158144 bytes
Database Buffers 88080384 bytes
Redo Buffers 6094848 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL3939" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl3939/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl3939/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl3939/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl3939/system01.dbf',
'/u01/app/oracle/oradata/orcl3939/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl3939/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl3939/users01.dbf',
'/u01/app/oracle/oradata/orcl3939/example01.dbf',
'/u01/app/oracle/oradata/orcl3939/wang.dbf',
'/u01/app/oracle/oradata/orcl3939/chao.dbf',
'/u01/app/oracle/oradata/orcl3939/big_file',
'/u01/app/oracle/oradata/orcl3939/undo_w.dbf',
'/u01/app/oracle/oradata/orcl3939/wang1.dbf',
'/u01/app/oracle/oradata/orcl3939/a.dbf',
'/u01/app/oracle/oradata/orcl3939/v.dbf'
CHARACTER SET AL32UTF8
alter tablespace temp add tempfile 'XXXXXXXX' size xx reuse autoextend on next xxx;
ORACLE 例程已經啟動。
Total System Global Area 422670336 bytes
Fixed Size 1336960 bytes
Variable Size 327158144 bytes
Database Buffers 88080384 bytes
Redo Buffers 6094848 bytes
SQL> CREATE CONTROLFILE REUSE DATABASE "ORCL3939" NORESETLOGS NOARCHIVELOG
MAXLOGFILES 16
MAXLOGMEMBERS 3
MAXDATAFILES 100
MAXINSTANCES 8
MAXLOGHISTORY 292
LOGFILE
GROUP 1 '/u01/app/oracle/oradata/orcl3939/redo01.log' SIZE 50M BLOCKSIZE 512,
GROUP 2 '/u01/app/oracle/oradata/orcl3939/redo02.log' SIZE 50M BLOCKSIZE 512,
GROUP 3 '/u01/app/oracle/oradata/orcl3939/redo03.log' SIZE 50M BLOCKSIZE 512
-- STANDBY LOGFILE
DATAFILE
'/u01/app/oracle/oradata/orcl3939/system01.dbf',
'/u01/app/oracle/oradata/orcl3939/sysaux01.dbf',
'/u01/app/oracle/oradata/orcl3939/undotbs01.dbf',
'/u01/app/oracle/oradata/orcl3939/users01.dbf',
'/u01/app/oracle/oradata/orcl3939/example01.dbf',
'/u01/app/oracle/oradata/orcl3939/wang.dbf',
'/u01/app/oracle/oradata/orcl3939/chao.dbf',
'/u01/app/oracle/oradata/orcl3939/big_file',
'/u01/app/oracle/oradata/orcl3939/undo_w.dbf',
'/u01/app/oracle/oradata/orcl3939/wang1.dbf',
'/u01/app/oracle/oradata/orcl3939/a.dbf',
'/u01/app/oracle/oradata/orcl3939/v.dbf'
CHARACTER SET AL32UTF8
接下來,我們恢復資料庫:
SQL>recover database using backup controlfile;這個過程會用到歸檔日誌,用完歸檔日誌,會用重做日誌檔案
SQL>recover database using backup controlfile;
然後我們開啟資料庫:
SQL>alter database open resetlogs;
Database altered;
因為控制檔案中沒有包括臨時表空間,我們可以透過手工新增臨時表空間:SQL>recover database using backup controlfile;這個過程會用到歸檔日誌,用完歸檔日誌,會用重做日誌檔案
SQL>recover database using backup controlfile;
然後我們開啟資料庫:
SQL>alter database open resetlogs;
Database altered;
alter tablespace temp add tempfile 'XXXXXXXX' size xx reuse autoextend on next xxx;
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29876893/viewspace-1575070/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Controlfile 重建控制檔案 noresetlogs, resetlogs..
- oracle快速拿到重建控制檔案語句的方法二Oracle
- 惡意軟體PE檔案重建指南
- Oracle 控制檔案Oracle
- 2.6.4 指定控制檔案
- 控制檔案損壞處理
- ORACLE 控制檔案(Control Files)概述Oracle
- 【RMAN】Oracle中如何備份控制檔案?備份控制檔案的方式有哪幾種?Oracle
- 【/proc/檔案淺析】另類辦法恢復資料檔案和控制檔案
- windwos檔案控制代碼數限制
- 把“點檔案”放到版本控制中
- oracle 控制檔案及引數檔案何時自動備份Oracle
- 重建共享(db或asm)密碼檔案 in Oracle 19c RAC-20220209ASM密碼Oracle
- 與控制檔案有關的恢復
- 使用git不希望檔案被版本控制Git
- Oracle 控制檔案損壞解決方案Oracle
- 【RMAN】如果控制檔案損壞那麼如何恢復?恢復控制檔案的方式有哪幾種?
- 新建的表空間(或資料檔案)丟失以及控制檔案丟失,有新建表空間(或資料檔案)前的控制文
- git移除已經加入版本控制的檔案Git
- 修改linux最大檔案控制程式碼數Linux
- [20210224]控制檔案序列號滿的分析.txt
- Oracle 11g 重新建立控制檔案Oracle
- 與控制檔案有關的恢復(二)
- oracle11g修改控制檔案路徑Oracle
- 填報表上下載檔案控制元件可寫許可權控制控制元件
- [20210225]控制檔案序列號滿的恢復.txt
- RAC控制檔案恢復(三種不同情況)
- 清除Oracle控制檔案中的歸檔資訊v$archived_logOracleHive
- windows10系統怎麼重建BCD或修復系統引導配置檔案Windows
- 技術分享 | OceanBase 資料處理之控制檔案
- 支援 ACL 訪問控制、引入 HOCON 全新配置檔案格式
- rman恢復控制檔案的一個小錯誤
- 控制檔案不一致引發的“血案”
- 幽默:重建模、重建和重構
- oracle ORA-01189 ORA-01110(控制檔案建立報錯)Oracle
- 透過修改控制檔案scn推進資料庫scn資料庫
- 關於Docx動態控制word模板檔案的資料
- 寶塔控制皮膚php.ini檔案在哪裡找PHP
- 索引重建索引