【變更】線上庫的變更操作
對於訪問頻繁的生產庫進行線上變更操作是比較危險的,因為倘若變更失敗將導致物件失效不可用,嚴重影響應用。
下面介紹一下進行線上庫變更的流程。
1 對package 中所有sql語句進行review,檢視它們的執行計劃,確認是否合理。
2 檢查包的依賴關係
IM@im1>select owner,name,type,DEPENDENCY_TYPE
2 from dba_dependencies
3 where REFERENCED_OWNER like upper('%&REFERENCED_OWNER_like%')
4 and REFERENCED_NAME like upper('%&REFERENCED_NAME_like%')
5 and REFERENCED_TYPE like upper('%&REFERENCED_TYPE_like%')
6 and type!='PACKAGE BODY';
3 檢視釋出前物件的有效個數和無效個數以便前後對比
IM@im1>select object_type,status,count(*) from user_objects group by object_type,status;
OBJECT_TYPE STATUS COUNT(*)
------------------ ------- ----------
TYPE VALID 11
VIEW INVALID 3
INDEX VALID 399
TABLE VALID 234
PACKAGE VALID 49
SYNONYM VALID 10
FUNCTION VALID 1
SEQUENCE VALID 173
PROCEDURE VALID 22
PACKAGE BODY VALID 49
DATABASE LINK VALID 6
INDEX PARTITION VALID 79
TABLE PARTITION VALID 79
13 rows selected.
4 準備回滾方案
為防止新的包釋出不成功,必須將舊的包放在伺服器上,當釋出失敗時,立即執行舊的包,進行操作回滾。
5 釋出包。
@/tmp/IM_SMS_20110727.pkg
6 再次檢查物件的有效個數和無效個數,檢測是否變更成!
IM@im1>select object_type,status,count(*) from user_objects group by object_type,status;
OBJECT_TYPE STATUS COUNT(*)
------------------ ------- ----------
TYPE VALID 11
VIEW INVALID 3
INDEX VALID 399
TABLE VALID 234
PACKAGE VALID 49
SYNONYM VALID 10
FUNCTION VALID 1
SEQUENCE VALID 173
PROCEDURE VALID 22
PACKAGE BODY VALID 49
DATABASE LINK VALID 6
INDEX PARTITION VALID 79
TABLE PARTITION VALID 79
13 rows selected.
7 如果有無效物件在使用utlrp.sql 進行修復以sysdba登入資料庫執行:
@?/rdbms/admin/utlrp.sql
8 如果該包被頻繁執行,還有監控系統未來30分鐘內是否正常!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22664653/viewspace-703277/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- GPO策略變更
- MySQL千萬級大表線上變更表結構MySql
- 使用SQLServerAudit記錄資料庫變更SQLServer資料庫
- cassandra版本變更列表
- 益華世科技域名變更公告 域名變更 www.evash.top
- LiquiBase 管理資料庫變更實踐UI資料庫
- 變更OS時間對資料庫的影響資料庫
- 資料庫的選定、建立、刪除和變更資料庫
- 【SAP-BASIS】稅碼變更,及賬號角色變更跟蹤查詢
- oracle_fdw 元件的版本變更Oracle元件
- 多級稽核狀態的變更
- 實戰篇:單庫單表變更成多庫多表
- Android P 加密程式變更Android加密
- 動態變更vue樣式Vue
- MySQL 配置InnoDB變更緩衝MySql
- 動態Zookeeper節點變更
- oracle 執行計劃變更Oracle
- 微信小程式——主體變更微信小程式
- DDL操作導致欄位長度變更修復方案
- 在SQL Server 2008中使用變更跟蹤獲得資料變更SQLServer
- 資料變更通知的一種方案
- DBus資料庫表結構變更處理方案資料庫
- 【SQL】Oracle資料庫變更後sql效能對比SQLOracle資料庫
- 「前端 BUG 錄」變更 UI 庫主題引發的問題前端UI
- 深入淺出 Angular 變更檢測Angular
- Chrome對自動播放作出變更Chrome
- switch控制元件(變更顏色)控制元件
- RAC變更ASMSPFILE儲存位置(轉)ASM
- 專案範圍變更管理(轉)
- C++ 必須變得更安全C++
- 藉助ServiceDesk Plus,更接近ISO 27001變更管理標準
- AntDB資料庫線上培訓開課啦!更靈活、更專業、更豐富資料庫
- 資料庫變更之後Event Sourcing怎樣重放?資料庫
- git伺服器ip變更後的配置Git伺服器
- [Angular][translate]有關Angular的變更檢測Angular
- 跟蹤model中屬性(值)的變更
- WLK 1.6中的Windows Touch測試變更Windows
- 資料庫系列:高併發下的資料欄位變更資料庫