online/offline 表空間和資料檔案需謹慎!
1、不要想把表空間備份,然後刪除再restore回來。因為刪除時控制檔案裡不再包含表空間的資訊,RMAN備份資訊放在控制檔案的話,也一塊兒沒了。RMAN backup tablespace後,drop tablespace 無法再Restore回來,必須restore database(上一次的全備)。
2、10.2的alter tablespace drop datafile 不一定有效。已經alter database datafile 72 offline drop的,不能再用。
SQL> alter database datafile '/u01/oradata/t03.dbf' offline;
SQL> alter tablespace test drop datafile '/u01/oradata/t03.dbf';
alter tablespace test drop datafile '/u01/oradata/t03.dbf'
*
ERROR at line 1:
ORA-03264: cannot drop offline datafile of locally managed tablespace
且在DataGuard裡要打完Patch才能用。見ningoo的這篇
3、如果表空間有offline的datafile,表空間不能置為readonly
4、把含offline datafile的表空間offline,表空間無法再online,除非有歷史歸檔。
[@more@]itpub上的一個案例:
http://www.itpub.net/viewthread.php?tid=1014590&extra=&page=1
表空間有4個檔案,有3個有資料,有1個是沒有資料的,很久以前是offline drop的。不小心按了表空間立即離線,即alter tablespace test offline immediate.
sql>shutdown immediate;
sql>startup mount
sql>alter database datafile '/data/a001.dbf' online;
sql>alter database datafile '/data/a002.dbf' online;
sql>alter database datafile '/data/a003.dbf' online;
以上都沒問題,但第4個檔案就不行,提示要恢復
sql>recover datafile 121;
ORA-00289: suggestion : /arch/1_2123.dbf
ORA-00280: change 1974069278 for thread 1 is in sequence #2123
Specify log: {
資料暫時可以正常啟動,就是這個表空間的資料不能訪問了。
分析:
主要是因為是用了offline immediate將表空間離線,所以這樣的離線方式是不等Oracle對任何資料檔案做檢查。所以當Online時,當聯機表空間時就必須需要介質恢復。否則就是離線。
sql>alter database datafile 121 offline drop;
sql>alter tablespace a001 online;
*
ERROR at line 1:
ORA-01113: file 121 needs media recovery
ORA-01110: data file 121: '/data/b_001.dbf'
沒有辦法把tablespace online,先用dba_extents或dba_segments查表在哪個資料檔案,然後用aul這樣的工具抽取表資料吧,還有極端的方法就是透過bbed和dul修改該檔案的scn號,使的在online時,oracle不恢復該資料檔案。
Restrictions for Dropping Datafiles
The following are restrictions for dropping datafiles and tempfiles:
■ The database must be open.
■ If a datafile is not empty, it cannot be dropped
If you must remove a datafile that is not empty and that cannot be made empty by
dropping schema objects, you must drop the tablespace that contains the datafile.
■ You cannot drop the first or only datafile in a tablespace.
This means that DROP DATAFILE cannot be used with a bigfile tablespace.
■ You cannot drop datafiles in a read-only tablespace.
■ You cannot drop datafiles in the SYSTEM tablespace.
■ If a datafile in a locally managed tablespace is offline, it cannot be dropped.
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/668365/viewspace-1027874/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 表空間與資料檔案的offline和online操作
- 表空間OFFLINE和資料檔案OFFLINE的區別
- Data Guard 主端OFFLINE資料檔案和表空間
- 表空間online移動資料檔案
- 表空間offline,資料檔案offline 的區別(ZT)
- 資料檔案、表空間offline用法及區別
- 轉載-表空間和資料檔案offline的影響分析
- 表空間和資料檔案管理
- 歸檔模式下online已被offline的表空間模式
- 表空間&資料檔案和控制檔案(zt)
- 表空間和資料檔案的管理
- 重新命名資料檔案和表空間
- 移動資料檔案、系統表空間檔案、臨時表空間檔案
- oracle基礎管理——表空間和資料檔案Oracle
- Oracle 表空間與資料檔案Oracle
- oracle 資料檔案表空間管理Oracle
- MySQL innodb共享表空間新增表空間資料檔案方法MySql
- 表空間中有資料也可以壓縮表空間(資料檔案)大小
- 新程式語言選擇需謹慎
- 搞程式有風險 修bug需謹慎
- 基礎知識5——表空間和資料檔案
- 9.管理表空間和資料檔案(筆記)筆記
- 刪除表空間和表空間包含的檔案
- oracle 表空間 資料檔案 筆記Oracle筆記
- 資料檔案,表空間的移動
- 表空間資料檔案故障處理
- 線上遷移表空間資料檔案
- Oracle 表空間資料檔案遷移Oracle
- 表空間新增資料檔案的疑惑
- 檢視Oracle資料庫表空間大小,是否需要增加表空間的資料檔案Oracle資料庫
- oracle 普通表空間資料檔案壞塊Oracle
- 表空間(資料檔案shrink)收縮示例
- oracle 回收表空間的資料檔案大小Oracle
- 誤刪oracle資料庫表空間檔案Oracle資料庫
- InnoDB資料表空間檔案平滑遷移
- 錯誤新增表空間的資料檔案
- 表空間和資料檔案的離線是分開的
- oracle基礎練習6章 表空間和資料檔案Oracle