首頁 資料庫 mysql教程 同时丢失参数文件、控制文件及redologfile的不完全恢复(有数据

同时丢失参数文件、控制文件及redologfile的不完全恢复(有数据

Jun 07, 2016 pm 03:57 PM
遺失 參數 控制 文件

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/30839817 ##########恢复前的准备工作 1、做个热备 select alter tablespace ||tablespace_name|| begin backup; ||chr(10)|| host cp ||file_name|| /backup ||chr(10)|| alter tablespace |

转载请注明出处:http://blog.csdn.net/guoyjoe/article/details/30839817

 ##########恢复前的准备工作

1、做个热备
   select
    'alter tablespace '||tablespace_name|| ' begin backup;' ||chr(10)||
    'host cp '||file_name||' /backup' ||chr(10)||
    'alter tablespace '||tablespace_name|| ' end backup;'
   from dba_data_files order by tablespace_name;
登入後複製

sys@PROD> alter tablespace SYSAUX begin backup;

2、日志做切换

sys@PROD> alter system switch logfile;

System altered.

sys@PROD> alter system switch logfile;

System altered.

sys@PROD> alter system switch logfile;

System altered.

sys@PROD> conn gyj/gyj
Connected.
gyj@PROD> select * from gyj_test1;

        ID NAME
---------- ----------------------------------------------------------------------------------------------------
         1 guoyJ
         2 BBBBB

gyj@PROD> insert into gyj_test1 values(3,'CCCCC');

1 row created.

gyj@PROD> commit;

Commit complete.

gyj@PROD> alter system switch logfile;

System altered.

gyj@PROD> alter system switch logfile;

System altered.
登入後複製

3、丢失参数文件,控制文件,redo日志文件

[oracle@jfdb dbs]$ rm  -rf spfile.ora
[oracle@jfdb dbs]$ rm -rf spfilePROD.ora
[oracle@jfdb dbs]$ rm -rf initPROD.ora 
[oracle@jfdb PROD]$ rm -rf control0*
[oracle@jfdb PROD]$ rm -rf redo0* 
登入後複製

###########开始恢复
[oracle@jfdb trace]$ cat alert_PROD.log vi /tmp/pfile.ora processes = 150 sga_max_size = 900M sga_target = 900M control_files = "/u01/app/oracle/oradata/PROD/control01.ctl" control_files = "/u01/app/oracle/oradata/PROD/control02.ctl" _controlfile_update_check= "OFF" db_block_size = 8192 log_archive_dest_1 = "location=/arch" undo_tablespace = "UNDOTBS" _in_memory_undo = FALSE service_names = "PROD,crm,oa" local_listener = "(DESCRIPTION= (ADDRESS_LIST= (ADDRESS = (PROTOCOL=TCP)(HOST=jfdb)(PORT=1521)) (ADDRESS = (PROTOCOL=TCP)(HOST=jfdb)(PORT=1522))))" db_name = "PROD" pga_aggregate_target = 200M

2、启动实例
sys@PROD> startup pfile='/tmp/pfile.ora' nomount; ORACLE instance started. Total System Global Area 939495424 bytes Fixed Size 2233960 bytes Variable Size 251660696 bytes Database Buffers 679477248 bytes Redo Buffers 6123520 bytes sys@PROD> create spfile from pfile='/tmp/pfile.ora'; File created.
登入後複製
3、开始还原数据文件
oracle@jfdb arch]$ cd /backup
[oracle@jfdb backup]$ ll
total 1664052
-rw-r-----. 1 oracle oinstall 340795392 Jun  8 06:01 sysaux01.dbf
-rw-r-----. 1 oracle oinstall 524296192 Jun  8 06:01 system01.dbf
-rw-r-----. 1 oracle oinstall 524296192 Jun  8 06:01 tp01.dbf
-rw-r-----. 1 oracle oinstall 209723392 Jun  8 06:01 undotbs01.dbf
-rw-r-----. 1 oracle oinstall 104865792 Jun  8 06:02 users01.dbf
[oracle@jfdb backup]$ cp * -rf /u01/app/oracle/oradata/PROD
登入後複製

4、查数据库字符集

select distinct dbms_rowid.rowid_block_number(rowid) from props$;
DBMS_ROWID.ROWID_BLOCK_NUMBER(ROWID)
------------------------------------
                                 801
[oracle@jfdb PROD]$ dd if=system01.dbf of=guoyJoe bs=8192 skip=801 count=1

1+0 records in
1+0 records out
8192 bytes (8.2 kB) copied, 0.000159113 s, 51.5 MB/s
[oracle@jfdb PROD]$ strings guoyJoe
NO_USERID_VERIFIER_SALT 0438054C4F979EC5A5F74990346F5327,
WORKLOAD_REPLAY_MODE
bPREPARE implies external replay clients can connect; REPLAY implies workload replay is in progress,
WORKLOAD_CAPTURE_MODE
/CAPTURE implies workload capture is in progress,
EXPORT_VIEWS_VERSION
Export views revision #,
DEFAULT_PERMANENT_TABLESPACE
USERS$Name of default permanent tablespace,
GLOBAL_DB_NAME
PROD
Global database name,
NLS_RDBMS_VERSION
11.2.0.3.0 RDBMS version for NLS parameters,
NLS_NCHAR_CHARACTERSET  AL16UTF16
NCHAR Character set,
NLS_NCHAR_CONV_EXCP
FALSE
NLS conversion exception,
NLS_LENGTH_SEMANTICS
BYTE
NLS length semantics,
NLS_COMP
BINARY
NLS comparison,
NLS_DUAL_CURRENCY
Dual currency symbol,
NLS_TIMESTAMP_TZ_FORMAT
DD-MON-RR HH.MI.SSXFF AM TZR
Timestamp with timezone format,
NLS_TIME_TZ_FORMAT
HH.MI.SSXFF AM TZR
Time with timezone format,
NLS_TIMESTAMP_FORMAT
DD-MON-RR HH.MI.SSXFF AM
Time stamp format,
NLS_TIME_FORMAT
HH.MI.SSXFF AM
Time format,
NLS_SORT
BINARY
Linguistic definition,
NLS_DATE_LANGUAGE
AMERICAN
Date language,
NLS_DATE_FORMAT DD-MON-RR
Date format,
NLS_CALENDAR    GREGORIAN
Calendar system,
NLS_CHARACTERSET
ZHS16GBK
Character set,
NLS_NUMERIC_CHARACTERS
Numeric characters,
NLS_ISO_CURRENCY
AMERICA
ISO currency,
NLS_CURRENCY
Local currency,
NLS_TERRITORY
AMERICA Territory,
NLS_LANGUAGE
AMERICAN
Language,
DEFAULT_TBS_TYPE        SMALLFILE
Default tablespace type,
DST_SECONDARY_TT_VERSION
0'Version of secondary timezone data file,
DST_PRIMARY_TT_VERSION
14%Version of primary timezone data file,
DST_UPGRADE_STATE
NONE&State of Day Light Saving Time Upgrade,
DBTIMEZONE
+08:00
DB time zone,
TDE_MASTER_KEY_ID,
Flashback Timestamp TimeZone
GMT"Flashback timestamp created in GMT,
DEFAULT_EDITION
ORA$BASE$Name of the database default edition,
DEFAULT_PERMANENT_TABLESPACE
SYSTEM$Name of default permanent tablespace,
DEFAULT_TEMP_TABLESPACE
TEMPTS$Name of default temporary tablespace,
        DICT.BASE
2 dictionary base tables version #
登入後複製

5、创建控制文件

sys@PROD> CREATE CONTROLFILE REUSE DATABASE "PROD" RESETLOGS ARCHIVELOG
  2      MAXLOGFILES 32
  3      MAXLOGMEMBERS 2
  4      MAXDATAFILES 32
  5      MAXINSTANCES 1
  6      MAXLOGHISTORY 449
  7  LOGFILE
  8    GROUP 1 '/u01/app/oracle/oradata/PROD/redo01.log'  SIZE 50M,
  9    GROUP 2 '/u01/app/oracle/oradata/PROD/redo02.log'  SIZE 50M,
 10    GROUP 3 '/u01/app/oracle/oradata/PROD/redo03.log'  SIZE 50M
 11  DATAFILE
 12    '/u01/app/oracle/oradata/PROD/system01.dbf',
 13    '/u01/app/oracle/oradata/PROD/sysaux01.dbf',
 14    '/u01/app/oracle/oradata/PROD/undotbs01.dbf',
 15    '/u01/app/oracle/oradata/PROD/users01.dbf',
 16    '/u01/app/oracle/oradata/PROD/tp01.dbf'
 17  CHARACTER SET ZHS16GBK;

Control file created.
登入後複製
sys@PROD> select count(*) from v$archived_log;

  COUNT(*)
----------
         0
sys@PROD> alter database register physical logfile '/arch/1_134_842976958.dbf';

Database altered.

sys@PROD> alter database register physical logfile '/arch/1_135_842976958.dbf';

Database altered.

sys@PROD> alter database register physical logfile '/arch/1_136_842976958.dbf';

Database altered.

 sys@PROD> alter database register physical logfile '/arch/1_137_842976958.dbf';

Database altered.

sys@PROD> alter database register physical logfile '/arch/1_138_842976958.dbf';

Database altered.

sys@PROD> select count(*) from v$archived_log;

  COUNT(*)
----------
         5
登入後複製
sys@PROD> select file#,checkpoint_change# from v$datafile;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1            1658759
         2            1658739
         3            1658788
         4            1658802
         5            1658774

sys@PROD> select file#,checkpoint_change# from v$datafile_header;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1            1658759
         2            1658739
         3            1658788
         4            1658802
         5            1658774
登入後複製

8、开始不完全恢复

sys@PROD> recover database using backup controlfile until cancel;

ORA-00279: change 1658739 generated at 06/08/2014 06:01:29 needed for thread 1
ORA-00289: suggestion : /arch/1_134_842976958.dbf
ORA-00280: change 1658739 for thread 1 is in sequence #134


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
ORA-00279: change 1658838 generated at 06/08/2014 06:02:46 needed for thread 1
ORA-00289: suggestion : /arch/1_135_842976958.dbf
ORA-00280: change 1658838 for thread 1 is in sequence #135
ORA-00278: log file &#39;/arch/1_134_842976958.dbf&#39; no longer needed for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

ORA-00279: change 1658841 generated at 06/08/2014 06:02:47 needed for thread 1
ORA-00289: suggestion : /arch/1_136_842976958.dbf
ORA-00280: change 1658841 for thread 1 is in sequence #136
ORA-00278: log file &#39;/arch/1_135_842976958.dbf&#39; no longer needed for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

ORA-00279: change 1658844 generated at 06/08/2014 06:02:50 needed for thread 1
ORA-00289: suggestion : /arch/1_137_842976958.dbf
ORA-00280: change 1658844 for thread 1 is in sequence #137
ORA-00278: log file &#39;/arch/1_136_842976958.dbf&#39; no longer needed for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

ORA-00279: change 1658856 generated at 06/08/2014 06:03:17 needed for thread 1
ORA-00289: suggestion : /arch/1_138_842976958.dbf
ORA-00280: change 1658856 for thread 1 is in sequence #138
ORA-00278: log file &#39;/arch/1_137_842976958.dbf&#39; no longer needed for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}

ORA-00279: change 1658859 generated at 06/08/2014 06:03:21 needed for thread 1
ORA-00289: suggestion : /arch/1_139_842976958.dbf
ORA-00280: change 1658859 for thread 1 is in sequence #139
ORA-00278: log file &#39;/arch/1_138_842976958.dbf&#39; no longer needed for this recovery


Specify log: {<RET>=suggested | filename | AUTO | CANCEL}
cancel
Media recovery cancelled.
登入後複製

9、再次查看数据文件头的检查点与控制文件的检查点是否一致

sys@PROD> select file#,checkpoint_change# from v$datafile;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1            1658859
         2            1658859
         3            1658859
         4            1658859
         5            1658859

sys@PROD> select file#,checkpoint_change# from v$datafile_header;

     FILE# CHECKPOINT_CHANGE#
---------- ------------------
         1            1658859
         2            1658859
         3            1658859
         4            1658859
         5            1658859
登入後複製

10、用resetlogs打开数据库

sys@PROD> alter database open resetlogs;

Database altered.

#########恢复完成
登入後複製
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

<🎜>:泡泡膠模擬器無窮大 - 如何獲取和使用皇家鑰匙
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系統,解釋
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆樹的耳語 - 如何解鎖抓鉤
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

Java教學
1669
14
CakePHP 教程
1428
52
Laravel 教程
1329
25
PHP教程
1273
29
C# 教程
1256
24
出現0x80004005錯誤代碼怎麼辦 小編教你0x80004005錯誤代碼解決方法 出現0x80004005錯誤代碼怎麼辦 小編教你0x80004005錯誤代碼解決方法 Mar 21, 2024 pm 09:17 PM

在電腦中刪除或解壓縮資料夾,時有時會彈出提示對話框“錯誤0x80004005:未指定錯誤”,如果遇到這中情況應該怎麼解決呢?提示錯誤碼0x80004005的原因其實很多,但大部分因為病毒導致,我們可以重新註冊dll來解決問題,下面,小編給大夥講解0x80004005錯誤代碼處理經驗。有使用者在使用電腦時出現錯誤代碼0X80004005的提示,0x80004005錯誤主要是由於電腦沒有正確註冊某些動態連結庫文件,或電腦與Internet之間存在不允許的HTTPS連接防火牆所引起。那麼如何

斜線和反斜線在檔案路徑中的不同使用 斜線和反斜線在檔案路徑中的不同使用 Feb 26, 2024 pm 04:36 PM

檔案路徑是作業系統中用於識別和定位檔案或資料夾的字串。在檔案路徑中,常見的有兩種符號分隔路徑,即正斜線(/)和反斜線()。這兩個符號在不同的作業系統中有不同的使用方式和意義。正斜線(/)是Unix和Linux系統中常用的路徑分隔符號。在這些系統中,檔案路徑是以根目錄(/)為起始點,每個目錄之間使用正斜線進行分隔。例如,路徑/home/user/Docume

夸克網盤的檔案怎麼轉移到百度網盤? 夸克網盤的檔案怎麼轉移到百度網盤? Mar 14, 2024 pm 02:07 PM

  夸克網盤和百度網盤都是現在最常用的儲存文件的網盤軟體,如果想要將夸克網盤內的文件保存到百度網盤,要怎麼操作呢?本期小編整理了夸克網盤電腦端的檔案轉移到百度網盤的教學步驟,一起來看看是怎麼操作吧。  夸克網盤的檔案怎麼存到百度網盤?要將夸克網盤的文件轉移到百度網盤,首先需在夸克網盤下載所需文件,然後在百度網盤用戶端中選擇目標資料夾並開啟。接著,將夸克網盤中下載的檔案拖放到百度網盤用戶端開啟的資料夾中,或使用上傳功能將檔案新增至百度網盤。確保上傳完成後在百度網盤中查看檔案是否已成功轉移。這樣就

hiberfil.sys是什麼檔案? hiberfil.sys可以刪除嗎? hiberfil.sys是什麼檔案? hiberfil.sys可以刪除嗎? Mar 15, 2024 am 09:49 AM

  最近有很多網友問小編,hiberfil.sys是什麼文件? hiberfil.sys佔用了大量的C碟空間可以刪除嗎?小編可以告訴大家hiberfil.sys檔是可以刪除的。下面就來看看詳細的內容。 hiberfil.sys是Windows系統中的隱藏文件,也是系統休眠文件。通常儲存在C盤根目錄下,其大小與系統安裝記憶體大小相當。這個檔案在電腦休眠時被使用,其中包含了當前系統的記憶體數據,以便在恢復時快速恢復到先前的狀態。由於其大小與記憶體容量相等,因此它可能會佔用較大的硬碟空間。  hiber

Linux系統查看log日誌指令詳解! Linux系統查看log日誌指令詳解! Mar 06, 2024 pm 03:55 PM

在Linux系統中,可以使用下列指令來查看日誌檔案的內容:tail指令:tail指令用來顯示日誌檔案的末尾內容。它是查看最新日誌資訊的常用命令。 tail[選項][檔案名稱]常用的選項包括:-n:指定要顯示的行數,預設為10行。 -f:即時監視文件內容,並在文件更新時自動顯示新的內容。範例:tail-n20logfile.txt#顯示logfile.txt檔案的最後20行內容tail-flogfile.txt#即時監視logfile.txt檔案的更新內容head指令:head指令用於顯示記錄檔的開頭

C++ 函式參數型別安全檢查 C++ 函式參數型別安全檢查 Apr 19, 2024 pm 12:00 PM

C++參數類型安全檢查透過編譯時檢查、執行時間檢查和靜態斷言確保函數只接受預期類型的值,防止意外行為和程式崩潰:編譯時類型檢查:編譯器檢查類型相容性。運行時類型檢查:使用dynamic_cast檢查類型相容性,不符則拋出異常。靜態斷言:在編譯時對型別條件進行斷言。

MySQL中.ibd檔的作用詳解及相關注意事項 MySQL中.ibd檔的作用詳解及相關注意事項 Mar 15, 2024 am 08:00 AM

MySQL中.ibd檔案的作用詳解及相關注意事項MySQL是一種流行的關聯式資料庫管理系統,資料庫中的資料儲存在不同的檔案中。其中,.ibd檔案是InnoDB儲存引擎中的資料文件,用於儲存表格中的資料和索引。本文將對MySQL中.ibd檔案的作用進行詳細解析,並提供相關程式碼範例以幫助讀者更好地理解。一、.ibd檔的作用:儲存資料:.ibd檔是InnoDB存

Go 語言檔案重新命名操作全解析 Go 語言檔案重新命名操作全解析 Apr 08, 2024 pm 03:30 PM

Go語言中使用os.Rename函數重新命名文件,語法為:funcRename(oldpath,newpathstring)error。此函數將oldpath指定的檔案重新命名為new​​path指定的檔案。範例包括簡單重命名、移動檔案到不同目錄以及忽略錯誤處理。 Rename函數執行原子操作,在兩個檔案位於同一目錄時可能僅更新目錄項,跨磁碟區或正在使用的檔案重新命名可能會失敗。

See all articles