oracle實驗記錄 (恢復read only tablespace(1))
實驗記錄下幾種readonly tablespace恢復情況 及與controlfile情況
實驗環境
SQL> select * from v$version;
BANNER
----------------------------------------------------------------
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - Production
SQL> col tablespace_name format a20
SQL> col file_name format a50
SQL> select tablespace_name,file_name from dba_data_files;
TABLESPACE_NAME FILE_NAME
-------------------- --------------------------------------------------
TEST D:\TEST.DBF
EXAMPLE E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DB
F
USERS E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
SYSAUX E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
UNDOTBS1 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DB
F
SYSTEM E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
TESTTB D:\TESTTB.DBF
已選擇7行。
情況一:備份時候表空間為 read only 恢復時候為read only
SQL> alter tablespace testtb read only;
表空間已更改。
SQL> alter database begin backup;
資料庫已更改。
SQL> @d:\backup\backupscript.txt
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
SQL> alter database end backup;
資料庫已更改。
SQL> alter database end backup;
資料庫已更改。
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> host del d:\testtb.dbf~~~~~~~~~~~模擬錯誤刪除
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 327158660 bytes
Database Buffers 276824064 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 7: 'D:\TESTTB.DBF'
SQL> select file#,online_status from v$recover_file;
FILE# ONLINE_
---------- -------
7 ONLINE
SQL> host copy d:\backup\testtb.dbf d:\testtb.dbf
已複製 1 個檔案。
SQL> alter database open;
資料庫已更改。
~~~~~~~~~~~~~~~~~~~~這種情況直接 restore回備份就可以
第2種情況 備份時候 read only ,恢復時候已經變成read write
SQL> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 INACTIVE
2 CURRENT
3 INACTIVE
SQL> alter system switch logfile;
系統已更改。
SQL> alter system checkpoint;
系統已更改。
SQL> select group#,status from v$log;
GROUP# STATUS
---------- ----------------
1 CURRENT
2 INACTIVE
3 INACTIVE
SQL> select tablespace_name ,status from dba_tablespaces;
TABLESPACE_NAME STATUS
-------------------- ---------
SYSTEM ONLINE
UNDOTBS1 ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
TEST ONLINE
TESTTB READ ONLY
已選擇8行。
SQL> alter tablespace testtb read write;
表空間已更改。
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> host del d:\testtb.dbf
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 331352964 bytes
Database Buffers 272629760 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 7: 'D:\TESTTB.DBF'
SQL> select file#,online_status from v$recover_file;
FILE# ONLINE_
---------- -------
7 ONLINE
第 1 行出現錯誤:
ORA-01157: 無法標識/鎖定資料檔案 7 - 請參閱 DBWR 跟蹤檔案
ORA-01110: 資料檔案 7: 'D:\TESTTB.DBF'
SQL> host copy d:\backup\testtb.dbf d:\testtb.dbf
已複製 1 個檔案。
SQL> alter database open;
alter database open
*
第 1 行出現錯誤:
ORA-01113: 檔案 7 需要介質恢復~~~~~~~~~~~~~~~~~需要應用read only 到read write期間的redo
ORA-01110: 資料檔案 7: 'D:\TESTTB.DBF'
SQL> recover datafile 7;~~~~完全恢復資料檔案7
完成介質恢復。
SQL> alter database open;
資料庫已更改。
SQL> select tablespace_name ,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
UNDOTBS1 ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
TEST ONLINE
TESTTB ONLINE
已選擇8行。
第3種情況 備份時候是read write,但 recover時 是 read only
SQL> col file_name format a50
SQL> select file_id,file_name from dba_data_files;
FILE_ID FILE_NAME
---------- --------------------------------------------------
6 D:\TEST.DBF
5 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\EXAMPLE01.DB
F
4 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\USERS01.DBF
3 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSAUX01.DBF
2 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\UNDOTBS01.DB
F
1 E:\ORACLE\PRODUCT\10.2.0\ORADATA\ORCL\SYSTEM01.DBF
7 D:\TESTTB.DBF
已選擇7行。
SQL> alter database begin backup~~~~~~~~~~~會產生incremental checkpoint
2 ;
資料庫已更改。
SQL> @d:\backup\backupscript.txt
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。~~~~~~~~~~~~~~~~~~~~~~備份時候 是read only
已複製 1 個檔案。
已複製 1 個檔案。
已複製 1 個檔案。
SQL> alter database end backup;
資料庫已更改。
SQL> select current_scn from v$database;
CURRENT_SCN
-----------
1242366
SQL> alter tablespace testtb read only;
表空間已更改。
SQL> shutdown immediate;
資料庫已經關閉。
已經解除安裝資料庫。
ORACLE 例程已經關閉。
SQL> host del d:\testtb.dbf
SQL> host copy d:\backup\testtb.dbf d:\testtb.dbf
已複製 1 個檔案。
SQL> startup
ORA-32004: obsolete and/or deprecated parameter(s) specified
ORACLE 例程已經啟動。
Total System Global Area 612368384 bytes
Fixed Size 1250428 bytes
Variable Size 335547268 bytes
Database Buffers 268435456 bytes
Redo Buffers 7135232 bytes
資料庫裝載完畢。
ORA-01113: 檔案 7 需要介質恢復
ORA-01110: 資料檔案 7: 'D:\TESTTB.DBF'
SQL> recover datafile 7;~~~~~~~~~~~~~還是應用 redo 來恢復下就可以(備份後的所有redo應用,應用
到了readonly 時候)
完成介質恢復。
SQL> alter database open;
資料庫已更改。
SQL> select tablespace_name,status from dba_tablespaces;
TABLESPACE_NAME STATUS
------------------------------ ---------
SYSTEM ONLINE
UNDOTBS1 ONLINE
SYSAUX ONLINE
TEMP ONLINE
USERS ONLINE
EXAMPLE ONLINE
TEST ONLINE
TESTTB READ ONLY
已選擇8行。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12020513/viewspace-614095/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 【Oracle 恢復表空間】 實驗Oracle
- oracle 增量備份恢復驗證Oracle
- Oracle 11g 新特性:只讀表(Read-only)Oracle
- 【資料遷移1】Oracle 10gR2 rman異機恢復實驗(FS->RAW)(1)Oracle 10g
- oracle使用小記、刪除恢復Oracle
- 【TABLESPACE】Oracle表空間最佳實踐Oracle
- 微信聊天記錄的恢復
- 記錄一次Oracle 11.2.0.4 RAC異地恢復到單例項Oracle單例
- Oracle Database 12c RAC損壞ocr和votedisk恢復實驗OracleDatabase
- 【資料遷移1】Oracle 10gR2 rman異機恢復實驗(FS->RAW)(2)Oracle 10g
- NBU恢復oracleOracle
- Oracle 目錄許可權丟失故障恢復Oracle
- CSS :read-only 選擇器CSS
- [20200309]expdp 與read only.txt
- 3.2.3 Opening a Database in Read-Only ModeDatabase
- Oracle OCP(48):UNDO TABLESPACEOracle
- 表空間TSPITR恢復-實驗
- Oracle案例12——NBU Oracle恢復Oracle
- oracle冷備恢復Oracle
- oracle 異機恢復Oracle
- [20190130]刪除tab$記錄的恢復.txt
- 伺服器資料恢復案例:FreeNAS資料恢復過程記錄伺服器資料恢復
- DG -- READ ONLY模式開啟物理Standby模式
- oracle drop table purge無備份bbed恢復(1/3)Oracle
- 透過搭建恢復目錄實現RMAN異地備份和恢復
- Oracle RMAN恢復測試Oracle
- Oracle 不完全恢復Oracle
- oracle ocp 19c考題,科目082考試題(21)-read-only tableOracle
- 恢復聊天記錄手機軟體如何使用
- 【11g 庫異地恢復】實驗
- 【12c 庫異機恢復】實驗
- Mysql的read_only 只讀屬性說明 (運維筆記)MySql運維筆記
- [20190225]刪除tab$記錄的恢復5.txt
- [20190130]刪除tab$記錄的恢復2.txt
- [20190212]刪除tab$記錄的恢復3.txt
- Oracle RushQL勒索病毒恢復方法Oracle
- Oracle 備份 與 恢復 概述Oracle
- Oracle 備份恢復之 FlashbackOracle
- Oracle恢復誤刪資料Oracle