![Sybase數(shù)據(jù)庫故障處理方法_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/27/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb8/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb81.gif)
![Sybase數(shù)據(jù)庫故障處理方法_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/27/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb8/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb82.gif)
![Sybase數(shù)據(jù)庫故障處理方法_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/27/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb8/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb83.gif)
![Sybase數(shù)據(jù)庫故障處理方法_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/27/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb8/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb84.gif)
![Sybase數(shù)據(jù)庫故障處理方法_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-4/27/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb8/c985ad5b-ae92-4bac-ab6a-5d60ab2bbbb85.gif)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、Sybase 數(shù)據(jù)庫故障處理方法一、Sybsystemprocs 庫“掛起”解決辦法1. 修改 文件, 修改 Sybase 數(shù)據(jù)庫可以修改系統(tǒng)參數(shù) .2. $ vi查找 “ allow updates ” , 將其修改為 1.( 缺省值為 0).既 allow updates to system tables=1 重新啟動系統(tǒng) .3. 用?isql 登錄至U sql server 中,修改 master 庫中 sysdatabases 表中 sybsystemprocs 庫對應(yīng)的 status 的值為 -32768.$isql- Usa - P1 update master.sysdataba
2、ses2 set status = -32768 where name = ”sybsystemprocs ”1go1shutdown with nowait2go 關(guān)閉數(shù)據(jù)庫重新啟動 .4. 用 ?isql 登錄至 sql server 中 , 修改 master 庫中 sysdatabases 表中 sybsystemprocs 庫對應(yīng)的 status 的值為 0.$isql- Usa - P1update master.sysdatabases2set status = 0 where name =”sybsystemprocs ”3go1shutdown with nowait2go
3、關(guān)閉數(shù)據(jù)庫重新啟動 .5. 將 中的” allow updates to system ” 的值改為 0.二、如何恢復(fù) master 數(shù)據(jù)庫ASE cant setup and has no valid dump of master1、編輯 RUN_servername在命令行最后加入: -T36072、單用戶模式啟動 ASE$cd install$startserver -f RUN_servername -m 3、bcp out 系統(tǒng)表$bcp master.sysdevices out /devs -Usa -P -c$bcp master.sysdatabases out /dbs -
4、Usa -P -c$bcp master.sysusages out /usages -Usa -P -c$bcp master.syslogins out /logins -Usa -P -c$bcp master.sysconfigures out /configures -Usa -P -c$bcp master.syscharsets out /charsets -Usa -P -c4、shutdownASE5、創(chuàng)建新 master 設(shè)備 $buildmaster -d -s(new_master_device_size 以 2K為單位)6、編輯 RUN_servername將指定 m
5、aster 設(shè)備指定為新創(chuàng)建的 master 設(shè)備,并刪除在第 1 步中增加的參數(shù)7、刪除 /dbs、/usages 文件中有關(guān) master、tempdb、model 的內(nèi)容。8、單用戶模式啟動 ASE$cd install $startserver -f RUN_servername -m9、bcp in 系統(tǒng)表$ bcp master.sysdevices in /devs -Usa -P -b 1 -c $bcp master.sysdatabases in /dbs -Usa -P -b 1 -c $bcp master.sysusages in /usages -Usa -P -b
6、 1 -c $bcp master.syslogins in /logins -Usa -P -b 1 -c $bcp master.sysconfigures in /configures -Usa -P -b 1 -c $bcp master.syscharsets in /charsets -Usa -P -b 1 -c10、shudown ASE11、 執(zhí)行 installmaster腳本$isql -Usa -P sp_configure allow updates,12go(3) 把 要?jiǎng)h除的用戶數(shù)據(jù)庫置為 suspect 狀態(tài)1use master2go1begin tran2g
7、o1update sysdatabases set status=256 2where name=pubs2 3go如果得到 (1 row affected), 則1commit 2go 否則1rollback 2go(4) 重啟 server, 并用 isql 以 sa 注冊。(5) 刪除數(shù)據(jù)庫1dbcc dbrepair(pubs2,dropdb) 2go(6) 恢復(fù)允許修改系統(tǒng)表 1sp_configure allow updates,0 2go(7) 結(jié)束四、如何做 rebuild log 注意:這個(gè)過程可能會引起數(shù)據(jù)的不一致性。(1) 賦予 sa 用戶 sybase_ts_role
8、的角色 isql -Usa -P1sp_role grant,sybase_ts_role,sa 2go1quit(2) 將數(shù)據(jù)庫置為 bypass recovery 狀態(tài) isql -Usa -P1sp_configure allow updates,1 2go1use master 2go1update sysdatabases set status=-32768 2where name=database_name 3go1shutdown with nowait2go(3) rebuild 數(shù)據(jù)庫日志 重啟 Server isql -Usa -P 1use master 2go1dbcc
9、 rebuild_log(database_name,1,1)2go1shutdown with nowait2go(4) 重啟 SQL server1use master2go1update sysdatabases set status=0 where name=database_name2go1sp_configure allow updates,02go1shutdown with nowait2go(5) 在重啟 SQLserver 之后, 如果數(shù)據(jù)庫恢復(fù)正常, rebuild log 工作將會成功 完成,否則要恢復(fù)數(shù)據(jù)庫備份,使用 dump database 或 bcp 命令。五、
10、數(shù)據(jù)庫被標(biāo)記為 suspect 時(shí)(1) 一般解決方案 現(xiàn)象: Error 926Severity Level 14Error Message TextDatabase xx cannot be opened - it has been marked SUSPECT by recover Explanation(1) 當(dāng)你使用 Transact_SQL 命令操作這個(gè)數(shù)據(jù)庫的數(shù)據(jù)時(shí) , 出現(xiàn)這個(gè)信息 , 這是一個(gè)嚴(yán)重的錯(cuò)誤 , 如果你要使用這個(gè)數(shù)據(jù)庫的數(shù)據(jù) , 必須改正這個(gè)錯(cuò)誤 .(2) 啟動 Backup Server, 后備 master 數(shù)據(jù)庫 1dump database master
11、to /usr/sybase/master_dump. 2go(3) 用 isql 登錄到 SQL Server, 須用 sa 帳號 ( 本文以 pubs2 數(shù) 據(jù)庫為例 )1sp_configure allow updates, 12go1begin tran2go1update master.sysdatabases2set status = - 327683Where name=pubs24go如果得到 (1 row affected), 則 1commit 2go否則1rollback2go(4) 如果條件允許,bcp out用戶數(shù)據(jù)或dump用戶數(shù)據(jù)庫(5) 這時(shí)重新啟動 SQL S
12、erver, 再有 sa 帳號注冊到 SQL Server. 1begin tran2go1update master.sysdatabases2set status=03Where name=pubs24go如果得到 (1 row affected), 則1commit2go否則1rollback2go1sp_configure allow updates ,02go(4) 如果你的數(shù)據(jù)庫原來有 dboption( 例如 select into,trunc log on chkpt 等),你需要重新設(shè)置這些 option.(5) 運(yùn)行 dbcc 命令檢查數(shù)據(jù)庫的一致性 isql -Usa -
13、P -i -o文件示例:dbcc checkdb(pubs2)godbcc checkalloc(pubs2)godbcc checkcatalog(pubs2)gogrep Msg(6) 后備用戶數(shù)據(jù)庫1dump database pubs2 on /usr/sybase/pubs2_dump. 2go六、數(shù)據(jù)庫被標(biāo)記為 suspect 時(shí)(2) 數(shù)據(jù)庫設(shè)備損壞時(shí)的解決方 案現(xiàn)象: 926 錯(cuò)誤產(chǎn)生的原因有幾種。本文討論當(dāng)數(shù)據(jù)庫設(shè)備初始 化失敗 ( 設(shè)備文件丟失或文件讀寫權(quán)限不正確 ) 時(shí),導(dǎo)致數(shù)據(jù)庫恢復(fù)失敗,出現(xiàn) 926 錯(cuò)誤的情況。(1) 請先恢復(fù)數(shù)據(jù)庫設(shè)備及讀寫權(quán)限。(2) 啟動 Ba
14、ckup Server, 后備 master 數(shù)據(jù)庫 1dump database master to /usr/sybase/master_dump. 2go(3) 用isql登錄到SQLServer,須用sa帳號(本文以pubs2 數(shù)據(jù)庫為例)1sp_c on figure allow updates, 12go1begi n tran2go1update master.sysdatabases2set status =status - 2563Where name=pubs24go如果得到(1 row affected),貝U1commit2go否則1rollback2go(4) 重新啟
15、動SQL Server,運(yùn)行dbcc命令檢查數(shù)據(jù)庫的一致性編輯生成文件:dbcc checkdb(pubs2)godbcc checkalloc(pubs2)go dbcc checkcatalog(pubs2) goisql -Usa -P -i -ogrep Msg(5) 后備用戶數(shù)據(jù)庫1dump database pubs2 on /usr/sybase/pubs2_dump.七、如何終止數(shù)據(jù)庫恢復(fù)過程當(dāng)某一正常運(yùn)行的大事務(wù) (例如:update delete操作)被終止,且重新啟動server 后,運(yùn)行該事務(wù)的數(shù)據(jù)庫處于恢復(fù)狀態(tài),通常這種狀態(tài)會持續(xù)很長時(shí)間,當(dāng)在此恢復(fù)過 程中沒有出現(xiàn)任
16、何異常時(shí),建議用戶耐心等待恢復(fù)過程完成。同時(shí)我們提供以下方法來 終止此恢復(fù)過程,但請用戶注意這些操作將帶來數(shù)據(jù)的不一致性。必要時(shí),希望用戶用完整、可靠的數(shù)據(jù)庫備份恢復(fù)此數(shù)據(jù)庫。(1)啟動Backup Server,后備master數(shù)據(jù)庫(這一步很重要!)1dump database master to /usr/sybase/2go 用isql登錄到SQL Server,須用sa帳號(本文以pubs2數(shù)據(jù)庫為例)1sp_c on figure allow updates, 12go1beg in tran2go1 use master2 go1update sysdatabases2set s
17、tatus = -327683Where name=pubs24go如果得到(1 row affected),貝U1commit2go否則1rollback2go 這時(shí)重新啟動SQL Server,再用sa帳號登錄到SQL Server.1dump tran pubs2 with n o_log2go1begi n tran2go1 use master2 go1update sysdatabases2set status=03Where name=pubs24go如果得到(1 row affected),貝U1commit2go否則1rollback2go1sp_c on figure al
18、low updates ,02go(4) 重新啟動server(5) 如果你的數(shù)據(jù)庫原來有 dboption(例如select into,trunc logon chkpt等),你需要重新設(shè)置這些 option.(6) 當(dāng)數(shù)據(jù)庫已經(jīng)恢復(fù)可使用狀態(tài)后,運(yùn)行dbcc命令檢查數(shù)據(jù)庫的一致性(參照如何檢查數(shù)據(jù)庫中數(shù)據(jù)一致性文章)(7) 后備用戶數(shù)據(jù)庫例如:1dump database pubs2 to /usr/sybase/2go八、如何檢查數(shù)據(jù)庫中數(shù)據(jù)的一致性數(shù)據(jù)庫一致性檢查(dbcc)提供了一些命令用于檢查數(shù)據(jù)庫的邏輯和物理 致性。Dbcc主要有兩個(gè)功能:1. 使用 checkstorage 或
19、 checktable 及 checkdb 在頁一級和行 一級檢查頁鏈及數(shù)據(jù)指針。2. 使用 checkstorage, checkalloc, 或 checkverify,tablealloc,及 indexalloc檢查頁分配。在下列情況中需要使用dbcc命令:1. 作為數(shù)據(jù)庫日常維護(hù)工作的一部分,數(shù)據(jù)庫內(nèi)部結(jié)構(gòu)的完整性 決定于sa或dbo定期地運(yùn)行dbcc檢查。2. 在系統(tǒng)報(bào)錯(cuò)以后,確定數(shù)據(jù)庫是否有損壞。3. 在備份數(shù)據(jù)庫之前,確保備份的完整性。4. 如果懷疑數(shù)據(jù)庫有損壞時(shí),例如,使用某個(gè)表時(shí)報(bào)出表損壞的 信息,可以使用dbcc確定數(shù)據(jù)庫中其他表是否也有損壞。下面是dbcc的簡單用法:d
20、bcc checktable (table_ name)檢查指定的表,檢查索引和數(shù)據(jù)頁是否正確鏈接,索引是否正確排 序,所有指針是否一致,每頁的數(shù)據(jù)信息是否合理,頁偏移是否合 理。dbcc checkdb (database, name)對指定數(shù)據(jù)庫的所有表做和checktable 一樣的檢查。dbcc checkalloc (database, namefix |no fix)檢查指定數(shù)據(jù)庫,是否所有頁面被正確分配,是否被分配的頁面沒被 使用。當(dāng)使用fix選項(xiàng)時(shí),在檢查數(shù)據(jù)庫的同時(shí)會自動修復(fù)有問題的 頁面。(若數(shù)據(jù)庫數(shù)據(jù)量很大,則該過程會持續(xù)很長時(shí)間。)dbcc tablealloc (ta
21、ble_ namefix |no fix)檢查指定的表,是否所有頁面被正確分配,是否被分配的頁面沒被使 用。是checkalloc 的縮小版本,對指定的表做完整性檢查。當(dāng)使用 fix選項(xiàng)時(shí),在檢查數(shù)據(jù)表的同時(shí)會自動修復(fù)數(shù)據(jù)表中有問題的頁 面。關(guān)于上述命令的其它選項(xiàng)及詳細(xì)使用方法和checkstorage,checkverify, indexalloc的詳細(xì)使用方法,請參閱有關(guān)命令手冊。舉例1: Unix平臺檢查pubs2數(shù)據(jù)庫的一致性1. 單用戶模式啟動Server:$SYBASE/i nstall startserver -f RUN_server_name -m2. viuse maste
22、rgosp_dboptio n pubs2,s in gle user,truegouse pubs2gocheckpo intgodbcc checkdb(pubs2)godbcc checkalloc(pubs2,fix)godbcc checkcatalog(pubs2)gouse mastergosp_dboptio n pubs2,s in gle user,falsegouse pubs2gocheckpo intgoquitgo3. isql -Usa -Pxxxxxx -SSYBASE 4. grep Msg舉例2: Unix平臺檢查pubs2數(shù)據(jù)庫中titles 表的一致性1
23、. viuse pubs2godbcc checktable(titles)godbcc tablealloc(titles)go2. isql -Usa -Pxxxxxx -SSYBASE grep Msg九、如何做 Rebuild Master(沒有后備 master庫,而使用命令 disk rein it,disk refit)提示1:如果有可能,在執(zhí)行這個(gè)任務(wù)之前,請先做操作系統(tǒng)級SYBASE DEVICES的后備。UNIX操作系統(tǒng)可使用命令dd。因?yàn)槿绻鹍isk rein it 使用了錯(cuò)誤 的信息,那么,在執(zhí)行了 disk refit之后就會產(chǎn)生無法彌補(bǔ)的錯(cuò)誤。倘若,存在一個(gè)SYBA
24、SE DEVICE的后備文件,將會給我們一個(gè)彌補(bǔ)的機(jī)會。例如: 當(dāng)disk reinit 使用了過小的size值,我們還可以重新恢復(fù) SYBASDEVICES 文件,重新做 disk reint 、disk refit 。提示2:在使用disk reinit 命令時(shí),將覆蓋SYBASBEVICE(請參照以下語法), 安全的做法是size值使用裸分區(qū)或系統(tǒng)文件的大小的最大值。如果使用的是UNIX裸分區(qū),即使你不能確認(rèn) SYBASE DEVIC最初大小是不是最大值,都要 使用裸分區(qū)大小的最大值。步驟:1. 獲得將要被恢復(fù)的SYBASE DEVIC的信息。這些信息被用來重建 sysdevices,s
25、ysusages 以及 sysdatabases。1. 從 error log 的 server 啟動信息中獲得 SYBASE DEVICE 的設(shè)備名、指定路徑。2. 使用裸分區(qū)或系統(tǒng)文件的大小的最大值作為SYBASEDEVICE的大小。3. 以上信息也可以通過最近的sysdevices系統(tǒng)表的內(nèi)容來獲得。如果對此信息懷有疑問,還是使用以上的方法比較穩(wěn)妥。2. 做操作系統(tǒng)級的SYBASDEVICE后備。UNIX操作系統(tǒng),使用dd 命令實(shí)現(xiàn)。3. 配置一個(gè)新的 ASE Server。在以后的步驟中會用到這個(gè)新的 master。4. 如果需要,請?jiān)倥渲靡粋€(gè) Backup Server。5. 用單用戶模式啟動Server。一6. 運(yùn)行disk reinit,用來重建sysdevices系統(tǒng)表,而沒有重新初始化 SYBASE DEVICE語法如下:disk reinitn ame=device_ name,phys name=physical
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度解除合同范本:汽車銷售合同解除協(xié)議
- 二零二五年度2025年度爬山活動安全保障合同
- 綠色辦公理念在小學(xué)生中的應(yīng)用實(shí)踐
- 企業(yè)未來發(fā)展趨勢及對公客戶資產(chǎn)合理分配探討
- 網(wǎng)絡(luò)安全與嵌入式系統(tǒng)的同步發(fā)展
- 教育領(lǐng)域中的宇宙探索之旅
- 新興技術(shù)下的創(chuàng)新教育模式-基于工聯(lián)網(wǎng)平臺的在線教學(xué)應(yīng)用研究
- 家庭教育中的時(shí)間管理藝術(shù)培訓(xùn)小學(xué)生版
- 2025年蘇州健雄職業(yè)技術(shù)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年??及鎱⒖碱}庫含答案解析
- 校園食堂菜譜創(chuàng)新提高學(xué)生飲食體驗(yàn)的途徑
- 骨科抗菌藥物應(yīng)用分析報(bào)告
- 中職安全管理方案
- 百詞斬托福詞匯excel版本
- 高考寫作指導(dǎo)常見議論文論證方法知識梳理與舉例解析課件27張
- (完整word版)高中英語3500詞匯表
- 玻璃反應(yīng)釜安全操作及保養(yǎng)規(guī)程
- 高中英語新課標(biāo)詞匯表(附詞組)
- 證券公司信用風(fēng)險(xiǎn)和操作風(fēng)險(xiǎn)管理理論和實(shí)踐中金公司
- 一級建造師繼續(xù)教育最全題庫及答案(新)
- 2022年高考湖南卷生物試題(含答案解析)
- GB/T 20909-2007鋼門窗
評論
0/150
提交評論