主備資料庫狀態手工比對(二)
接上篇===========================================================================
6. 比對源端和目標端包、函式、儲存過程、 type
比對源端和目標端 package 、 function 、 procedure 、 type 定義的行數(粗略比對 DDL 是否相同。)
select a.owner,a.name,a.type,a.ds_count, b.dt_count, ds_count - dt_count minus_count
from (select owner,name,type,count(line) ds_count
from dba_source@gsht69
where owner in ('TRADE')
group by owner,name,type) a
left join
(select owner,name,type,count(line) dt_count
from dba_source
where owner in ('TRADE')
group by owner,name,type) b
on a.owner=b.owner and a.name=b.name and a.type = b.type
where ds_count - dt_count <> 0
order by abs(ds_count - dt_count) desc;
7. 比對檢視
比對源端和目標端 view 是否相同。
select owner,view_name,read_only
from dba_views
where owner in ('TRADE')
minus
select owner,view_name,read_only
from dba_views@gsht69
where owner in ('TRADE');
select ds.owner,ds.view_name,ds.text_length,dt.text_length,ds.text_length-dt.text_length minus_text_length
from dba_views@gsht69 ds left outer join dba_views dt
on ds.owner=dt.owner and ds.view_name=dt.view_name
where ds.text_length<>dt.text_length
and ds.owner in (‘TRADE’)
order by (ds.text_length-dt.text_length) desc;
8. 比對同義詞
檢視源端和目標端 synonymn 的 DDL 是否相同。
select owner,synonym_name,table_owner,table_name,db_link from dba_synonyms@gsht69
where owner in ('TRADE')
minus
select owner,synonym_name,table_owner,table_name,db_link from dba_synonyms
where owner in ('TRADE');
9. 比對觸發器
比對源端和目標端 Trigger 的屬性(粗略比對 DDL 是否相同)。
select owner,trigger_name,trigger_type,triggering_event
,table_owner,table_name
--,status
from dba_triggers@gsht69
where owner in ('TRADE')
minus
select owner,trigger_name,trigger_type,triggering_event
,table_owner,table_name
--,status
from dba_triggers
where owner in ('TRADE');
重編譯目標端失效多象
b. 重新編譯目標端失效物件。
set linesize 200
set pagesize 200
select 'alter '||object_type||' "'||owner||'"."'||object_name||'" compile;' from dba_objects
where owner in
('TRADE')
and status = 'INVALID' and object_type in ('PROCEDURE','FUNCTION','VIEW','PACKAGE','TRIGGER');
select 'alter package "'||owner||'"."'||object_name||'" compile body;' from dba_objects
where owner in
('TRADE')
and status = 'INVALID' and object_type in ('PACKAGE BODY');
10.抽取約束資訊
SELECT DBMS_METADATA.GET_DDL('CONSTRAINT',constraint_name,owner) from dba_constraints
where constraint_type like 'P'
and constraint_name not like 'SYS%'
and constraint_name not like 'BIN%' ;
11.提取外來鍵資訊
select 'alter table '
||a.owner
||'.'
|| a.table_name
|| ' add constraint '
|| a.constraint_name
|| ' foreign key ('
|| c.column_name
|| ') references '
||b.owner
||'.'
|| b.table_name
|| ' ('
|| b.column_name
|| ');'
as "Foreing Key SQL"
from DBA_CONSTRAINTS A, DBA_CONS_COLUMNS B, DBA_CONS_COLUMNS C
where A.R_CONSTRAINT_NAME = B.CONSTRAINT_NAME
and A.CONSTRAINT_NAME = C.CONSTRAINT_NAME
and A.TABLE_NAME = C.TABLE_NAME
and B.POSITION = C.POSITION
and A.owner = '&table_owner'
--and A.STATUS='ENABLED'
/
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69994536/viewspace-2756888/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 主備資料庫狀態手工比對(一)資料庫
- 【YashanDB資料庫】yasboot查詢資料庫狀態時顯示資料庫狀態為off資料庫boot
- React開發日記-React Hook/Mobx 資料狀態管理對比ReactHook
- openguass 資料庫狀態查詢資料庫
- Oracle DG資料庫狀態轉換Oracle資料庫
- Oracle、NoSQL和NewSQL 資料庫技術對比(二)- 終結OracleSQL資料庫
- 記憶體資料庫解析與主流產品對比(二)記憶體資料庫
- 關聯式資料庫與文件資料庫對比資料庫
- 2.4.10 Step 9:手工建立資料庫資料庫
- 3.4.2 將資料庫置於 Quiesced 狀態資料庫UI
- 達夢8資料庫的狀態模式資料庫模式
- oracle Mysql PostgreSQL 資料庫的對比OracleMySql資料庫
- GBase8s 資料庫檢視狀態資料庫
- Polardb資料庫掛庫後,如何恢復主備關係資料庫
- JavaScript狀態資料JavaScript
- 資料庫訪問幾種方式對比資料庫
- 幾款分散式資料庫的對比分散式資料庫
- 資料庫選型比對 Oracle vs sqlserver資料庫OracleSQLServer
- 在 Laravel 的資料庫模型中使用狀態模式Laravel資料庫模型模式
- 達夢資料庫例項的狀態和模式資料庫模式
- 使用MegaCli工具檢視Raid磁碟陣列狀態[主站備]AI陣列
- 理解資料狀態管理
- 資料庫恢復子系統的常見技術和方案對比(二)資料庫
- Oracle、NoSQL和NewSQL 資料庫技術對比OracleSQL資料庫
- PostgreSQL 資料庫結構(DDL)比對工具 pgquarrelSQL資料庫
- Oracle和MySQL資料庫CTAS等操作對比OracleMySql資料庫
- 手寫一個業務資料比對庫
- Vuex 單狀態庫 與 多模組狀態庫Vue
- 達夢資料庫手工恢復相關命令資料庫
- Fabric 1.0原始碼分析(19) Ledger #statedb(狀態資料庫)原始碼資料庫
- sqlsever處理資料庫的恢復掛起狀態SQL資料庫
- openguass 3.1.0 資料庫啟動,關閉,狀態檢查資料庫
- Oracle資料庫啟動過程及狀態詳解Oracle資料庫
- 什麼?MySQL在從庫讀到了比主庫更加新的資料?MySql
- MySQL 資料對比MySql
- 資料庫備份資料庫
- HTTP總結(簡介、狀態碼和各版本對比)HTTP
- 直播強勢來襲:Oracle nologgiing;資料庫上雲;國產資料庫比對Oracle資料庫