move表操作流程
今天收到開發人員說資料庫報錯,
今天檢視了一下阿里巴巴資料庫操作手冊,上面詳細註明了move表所帶來的風險,看來風險意識還沒到位。以後做生產操作需要加強風險意識。
一、 目的
明確MOVE TABLE操作的風險及標準流程,最大限度避免MOVE TABLE操作帶來的故障。
二、 適用範圍
l 最佳化操作中,為了降低表,分割槽,LOB的高水位
l 操作物件包括:普通表,分割槽,子分割槽,LOB欄位
備註:表中不能包含LONG 欄位
三、 風險評估
l MOVE 表期間,會阻塞所有關於此表的DML和DDL操作,且INDEX會失效
l
MOVE 表完成後,表統計資訊會失效,需要重新收集(9i)
select object_name from dba_objects where status='INVALID';(查詢move表前後是否有失效的物件)
select * from user_indexes where status <>'VALID' ;(查詢是否有失效的索引)
如果有失效的索引需要重建索引 alter index idx_t rebuild;
l 如果表上存在TRANSACTION,則無法使用MOVE操作,會報resource busy
l MOVE到其他表空間,保證表空間有足夠的空閒空間
四、 操作流程
1. 準備工作
a) 和應用確認MOVE表的持續時間和期間無法操作表(包括查詢)的風險,看是否能接受或者選擇停相關應用模組
b) 事先整理完成MOVE TABLE和REBUILD INDEX的指令碼
select index_name
from dba_indexes
where owner='LRWLPOS' and table_name='POSTXNJNLHIS'(檢視錶相關索引)
寫好rebuild index的相關指令碼
c) 確認原來表的大小@size,方便操作前後對比
d) 如果前後表空間不同,請確認空閒空間@tbs
2. 執行過程
a) alter table *** move tablespace ***
[partition *** tablspace_name ***]
[lob(***) store as (tablespace ***)] parallel ?;
b) MOVE操作期間,檢視資料庫等待事件@showlong和鎖情況@lock
c) 重建索引,需要考慮是否要收集統計資訊,詳見【重建INDEX】
d) 檢視失效物件@dbcheck
3. 驗證方案
a) 常規檢查:@dbcheck
b) 大小確認:@size
c) 資料庫是否正常:@active
五、 核心物件風險
不建議使用MOVE操作
六、 回退方案
無需回退
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28686045/viewspace-1481181/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- oracle 分割槽表move和包含分割槽表的lob moveOracle
- git操作流程Git
- WPF mvvm canvas move elements via mouse down, up and move eventsMVVMCanvas
- 泛微oa流程表單之js操作明細資料1JS
- LeetCode—283—Move ZeroesLeetCode
- DRF基礎操作流程
- WPF Image zoomin zoomout moveOOM
- AltiumDesigner原理相簿修改操作流程
- 遠端控制的操作流程
- DNS平滑遷移操作流程DNS
- 表的操作
- CK表操作
- oracle 普通表-分割槽表改造流程Oracle
- alter table move與shrink space
- Office365 OneDrive Geo Move
- 12C 線上MOVE
- 轉型大資料及操作流程大資料
- 初鏈TrueChain挖礦操作流程AI
- LDAP啟動TLS 完整操作流程LDATLS
- SAP Move to Rise是什麼意思? SAP Move的五條路徑是什麼?
- orm單表操作ORM
- 05-表操作
- MySQL DDL操作表MySql
- 每週一算:Move ZerosROS
- C++ 逆向之 move 函式C++函式
- MySQL 資料表操作MySql
- Django ORM 單表操作DjangoORM
- Hive表的基本操作Hive
- 流程執行期儲存流程變數的表有哪些變數
- 高效流程辦公,相信自定義流程表單開發
- 樹莓派入門操作流程詳解樹莓派
- 各類垃圾車的免徵操作流程
- SMT上板機工作原理與操作流程
- how to move a MediaWiki wiki from one server to anotherServer
- Lintcode539 Move Zeroes solution 題解
- 線性表的基本操作
- (JS基礎)操作表單JS
- Spark操作Hive分割槽表SparkHive
- openGauss 高危操作一覽表