防止因提供的sql指令碼有問題導致版本bvt失敗技巧

2022-08-10 06:15:08 字數 1114 閱讀 6495

發版本時,可能會由於測試庫和開發庫表結構不一樣而導致資料庫指令碼在測試那邊執行時出錯,導致版本bvt失敗,以下技巧可解決此問題。

步驟:備份目標庫,在備份庫中執行將要提供的sql指令碼看有無問題,若沒問題,提供指令碼,若有問題,解決相應問題之後,刪除剛才的備份庫重新對目標庫進行備份,在重新備份的庫中再次執行修改後的指令碼。

1.新建乙個使用者並授權:

create user test

2_2 identified by pwd 

default tablespace tps_data_test

temporary tablespace tps_temp_test

; grant dba to test

2_2;

2.登陸目標使用者,查詢該sql然後執行查詢出來的sql。(為第三步能匯出空表做準備)

select 'alter table '||t.table_name||' allocate extent;' from user_tables t where t.num_rows=0;

3.匯出該使用者的所有東西

開啟cmd黑視窗,在黑視窗中執行如下命令(注意修改對應使用者名稱,密碼和ip位址)

exp test2_1_history01/[email protected]:1521/orcl file=f:\db_bak\exp\20171122

\testb.dmp log=f:\db_bak\exp\20171122\test

_expb.log statistics=none owner=test2_1_history01

注:資料夾需在本地硬碟中提前建好

4.向第一步新建的使用者備份目標使用者

imp test2_2/[email protected]:1521

/orcl file=f:\db_bak\exp\exp\20171122

\test

b.dmp fromuser=test

2_1_history01 touser=test

2_2 ignore=yes

5.在備份庫test2_2中執行將要提供的指令碼,若沒問題,提供指令碼;若有問題,解決相應問題之後,刪除剛才的備份庫重新對目標庫進行備份,在重新備份的庫中再次執行修改後的指令碼,即重複步驟1-5.

解決因U盤標籤問題導致的U盤安裝Linux系統失敗

我在使用u盤製作 安裝centos系統時遇到了乙個問題,現象是進不了安裝介面,在等待超時後提示以下資訊,然後就進入了臨時的linux shell。dracut initqueue warning dracut initqueue timeout starting timeout scripts 然而...

ASP中SQL語句導致的效能問題

今天,修改了一點上次做的辦公管理系統中的檔案上傳的bug,原因是asp中sql語句效能問題導致了recordset物件關閉,結果使資料入庫失敗。對於這個錯誤,我目前只能這樣理解了 sql語句 select from tab files 開啟表後,然後呼叫addnew方法新增要更新的資料,表面上看沒什...

ASP中SQL語句導致的效能問題

今天,修改了一點上次做的辦公管理系統中的檔案上傳的bug,原因是asp中sql語句效能問題導致了recordset物件關閉,結果使資料入庫失敗。對於這個錯誤,我目前只能這樣理解了 sql語句 select from tab files 開啟表後,然後呼叫addnew方法新增要更新的資料,表面上看沒什...