Sybase數(shù)據(jù)庫(kù)維護(hù)篇--高級(jí)_第1頁(yè)
Sybase數(shù)據(jù)庫(kù)維護(hù)篇--高級(jí)_第2頁(yè)
Sybase數(shù)據(jù)庫(kù)維護(hù)篇--高級(jí)_第3頁(yè)
Sybase數(shù)據(jù)庫(kù)維護(hù)篇--高級(jí)_第4頁(yè)
Sybase數(shù)據(jù)庫(kù)維護(hù)篇--高級(jí)_第5頁(yè)
已閱讀5頁(yè),還剩34頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、SYBASE培訓(xùn)教材0培訓(xùn)計(jì)劃 培訓(xùn)內(nèi)容 培訓(xùn)目標(biāo) 培訓(xùn)對(duì)象SYBASE培訓(xùn)教材1培訓(xùn)內(nèi)容SybaseSybase數(shù)據(jù)庫(kù)簡(jiǎn)介數(shù)據(jù)庫(kù)簡(jiǎn)介SybaseSybase產(chǎn)品(產(chǎn)品(ASAASA,ASEASE,IQIQ)ASEASE它是基于客戶它是基于客戶/ /服務(wù)器體系結(jié)構(gòu)的數(shù)據(jù)庫(kù)服務(wù)器體系結(jié)構(gòu)的數(shù)據(jù)庫(kù) OLTPOLTP 1:Oracle Server是一個(gè)真正的多進(jìn)程數(shù)據(jù)庫(kù)引擎,Sybase數(shù)據(jù)庫(kù)管理系統(tǒng)采用的是單進(jìn)程多線程的引擎結(jié)構(gòu)。 2:Sybase的數(shù)據(jù)庫(kù)引擎還代替操作系統(tǒng)來(lái)管理一部分硬件資源,如端口、內(nèi)存、硬盤,繞過(guò)了操作系統(tǒng)這一環(huán)節(jié),提高了性能。SYBASE培訓(xùn)教材2數(shù)據(jù)庫(kù)(raid0,1,

2、5)SYBASE培訓(xùn)教材3數(shù)據(jù)庫(kù)設(shè)備分配結(jié)構(gòu)SYBASE培訓(xùn)教材4數(shù)據(jù)庫(kù)page分配結(jié)構(gòu)SYBASE培訓(xùn)教材5Sybase的多庫(kù)結(jié)構(gòu)安裝Sybase數(shù)據(jù)庫(kù)時(shí)自動(dòng)生成的下列系統(tǒng)數(shù)據(jù)庫(kù):主數(shù)據(jù)庫(kù)master: 數(shù)據(jù)庫(kù)全面控制和管理用戶數(shù)據(jù)庫(kù)以及SQLSERVER上的一切操作。模型數(shù)據(jù)庫(kù)model: 為新建的用戶數(shù)據(jù)庫(kù)提供一個(gè)原形系統(tǒng)過(guò)程數(shù)據(jù)庫(kù)sybsystemprocs: SYBASE的系統(tǒng)存儲(chǔ)過(guò)程被儲(chǔ)存在這個(gè)數(shù)據(jù)庫(kù)中臨時(shí)數(shù)據(jù)庫(kù)tempdb: 作為臨時(shí)表和其他的臨時(shí)工作空間提供一個(gè)存儲(chǔ)區(qū)域。TEMPDB的空間為全體數(shù)據(jù)庫(kù)用戶共享也可選擇下列數(shù)據(jù)庫(kù):安全審核數(shù)據(jù)庫(kù)sybsecurity: 包含SQL

3、SERVER的審計(jì)系統(tǒng)示例數(shù)據(jù)庫(kù)pubs2: 這是一個(gè)樣本庫(kù) 命令語(yǔ)法數(shù)據(jù)庫(kù)sybsyntax: 為用戶提供聯(lián)機(jī)幫助用戶數(shù)據(jù)庫(kù) 用戶數(shù)據(jù)庫(kù)是指用Create database 命令創(chuàng)建的數(shù)據(jù)庫(kù)。 使用”use 數(shù)據(jù)庫(kù)名”來(lái)切換不同的數(shù)據(jù)庫(kù) 執(zhí)行sp_changedbowner 改變數(shù)據(jù)庫(kù)的屬主關(guān)系 建議事務(wù)日志放在單獨(dú)的設(shè)備上(log)SYBASE培訓(xùn)教材6master庫(kù)它是管理和控制用戶數(shù)據(jù)庫(kù)以及維護(hù)服務(wù)器正常運(yùn)行的核心數(shù)據(jù)庫(kù),它包含許多系統(tǒng)表和系統(tǒng)過(guò)程,從總體上控制用戶數(shù)據(jù)庫(kù)和SQL Server的操作,構(gòu)成了SYBASE系統(tǒng)的數(shù)據(jù)字典,它保存了大量的系統(tǒng)信息,如服務(wù)器配置、用戶、設(shè)備等。

4、在master數(shù)據(jù)庫(kù)中不允許普通用戶在其中創(chuàng)建數(shù)據(jù)庫(kù)對(duì)象,否則會(huì)使得master數(shù)據(jù)庫(kù)的事務(wù)日志很快變滿。如果事務(wù)日志用盡,就無(wú)法使用dump transaction命令釋放master數(shù)據(jù)庫(kù)中的空間。master數(shù)據(jù)庫(kù)主要記錄信息為: 登錄帳號(hào)(SQL服務(wù)器用戶名);syslogins,sysremolelogins 正在執(zhí)行的過(guò)程;sysprocesses 可修改的環(huán)境變量;sysconfigures 系統(tǒng)錯(cuò)誤信息;sysmessages SQL服務(wù)器上每個(gè)數(shù)據(jù)庫(kù)的信息;sysdatabases 每個(gè)數(shù)據(jù)庫(kù)占用的存儲(chǔ)空間;sysusages 系統(tǒng)上安裝的設(shè)備及磁帶信息;sysdevices

5、 活動(dòng)鎖信息;syslocksSYBASE培訓(xùn)教材7TEMPDB庫(kù) 它是個(gè)臨時(shí)數(shù)據(jù)庫(kù),為服務(wù)器運(yùn)行與處理提供一個(gè)共享的存儲(chǔ)區(qū)域,如group by和order by的中間結(jié)果就存放在這里。Tempdb的空間為服務(wù)器中所有數(shù)據(jù)庫(kù)的所有用戶所共享。 每次重啟SQL Server,服務(wù)器的一個(gè)自動(dòng)進(jìn)程都拷貝model數(shù)據(jù)庫(kù)到tempdb數(shù)據(jù)庫(kù),并清除tempdb中原來(lái)的內(nèi)容。因此tempdb中的用戶表都是臨時(shí)的。臨時(shí)表分為兩類:可共享的和不可共享的。不可共享的臨時(shí)表在由create table中將符號(hào)#置于表名之前創(chuàng)立;可共享的臨時(shí)表通過(guò)create table中指定表名前綴tempdb.而創(chuàng)立。不

6、可共享的臨時(shí)表SQL Server自動(dòng)為其添加數(shù)字后綴名,且它只存在于當(dāng)前會(huì)話中SYBASE培訓(xùn)教材8數(shù)據(jù)庫(kù)有關(guān)概念(segment/device)數(shù)據(jù)庫(kù)設(shè)備從邏輯上被劃分為數(shù)據(jù)庫(kù)段以允許將某一特定的對(duì)象放置在指定的段上(創(chuàng)建對(duì)象時(shí)指定),一數(shù)據(jù)庫(kù)設(shè)備可擁有多達(dá)192個(gè)段,一段可使用255個(gè)邏輯設(shè)備上的存儲(chǔ)空間。當(dāng)用戶創(chuàng)建一個(gè)數(shù)據(jù)庫(kù)時(shí),SQL SERVER 會(huì)自動(dòng)在該數(shù)據(jù)庫(kù)中創(chuàng)建三個(gè)段: SYSTEM、LOGSEGMENT 、DEFAULT,這三個(gè)段分別用來(lái)存儲(chǔ)數(shù)據(jù)庫(kù)的系統(tǒng)表、事務(wù)日志和其他數(shù)據(jù)庫(kù)對(duì)象提高性能:處于不同磁盤設(shè)備上的段可以并行地讀寫;處理大表:利用段,可以將一個(gè)大表分段放在獨(dú)立的

7、物理設(shè)備上。所謂數(shù)據(jù)庫(kù)設(shè)備,不是指一個(gè)可識(shí)別的物理設(shè)備,而是指用于存儲(chǔ)數(shù)據(jù)庫(kù)和數(shù)據(jù)庫(kù)對(duì)象的磁盤原始分區(qū)或操作系統(tǒng)文件。初始化數(shù)據(jù)庫(kù)設(shè)備使用DISK INIT命令: DISK INITNAME=設(shè)備名,PHYSNAME=物理設(shè)備名,VDEVNO=虛擬設(shè)備號(hào),SIZE=塊數(shù)SYBASE培訓(xùn)教材9數(shù)據(jù)庫(kù)有關(guān)概念(segment/device)Sybase segments Table創(chuàng)建于segment上 每個(gè)db最多可有32個(gè)segments創(chuàng)建段:sp_addsegment seg, db_name, device_name注:創(chuàng)建表需要指定索引和數(shù)據(jù)的存放段名稱Device 和 segment

8、 關(guān)系:?jiǎn)蝹€(gè)device上可以創(chuàng)建多個(gè)segment,單個(gè)segment可以跨越多個(gè)deviceTable和segment關(guān)系: 單個(gè)segment上創(chuàng)建多個(gè)table,單個(gè)table可以跨越多個(gè)segment(分區(qū)表)。SYBASE培訓(xùn)教材10數(shù)據(jù)庫(kù)對(duì)象(1) 表(Tables) (2) 視圖(Views) : 視圖是一個(gè)虛擬表,其內(nèi)容由查詢定義。同真實(shí)的表一樣,視圖包含一系列帶有名稱的列和行數(shù)據(jù)。但是,視圖并不在數(shù)據(jù)庫(kù)中以存儲(chǔ)的數(shù)據(jù)值集形式存在。行和列數(shù)據(jù)來(lái)自由定義視圖的查詢所引用的表,并且在引用視圖時(shí)動(dòng)態(tài)生成。對(duì)其中所引用的基礎(chǔ)表來(lái)說(shuō),視圖的作用類似于篩選。 作用: 安全 ; 可使復(fù)雜的

9、查詢易于理解和使用 SYBASE培訓(xùn)教材11Index與性能索引(index): 索引就是加快檢索表中數(shù)據(jù)的方法。在數(shù)據(jù)庫(kù)中,索引也允許數(shù)據(jù)庫(kù)程序迅速地找到表中的數(shù)據(jù),而不必Table scan 。 1. 索引可以加快數(shù)據(jù)庫(kù)的檢索速度2. 索引降低了數(shù)據(jù)庫(kù)插入、修改、刪除等維護(hù)任務(wù)的速度3. 索引創(chuàng)建在表上,不能創(chuàng)建在視圖上 4. 索引既可以直接創(chuàng)建(create index) ,也可以間接創(chuàng)建 ( 主鍵約束或者唯一性鍵約束時(shí))Sybase支持三種不同類型的索引,一是復(fù)合索引,即包含幾個(gè)列的索引;二是唯一性索引,即任意兩行中的索引列不能有相同的取值;三是簇類索引(Clustered index

10、es)和非簇類索引(Nonclustered indexs),SYBASE培訓(xùn)教材12Index與性能-2a) 普通索引(create index) 和唯一性索引(create UNIQUE index)b) 單個(gè)索引和組合索引( 最多16 個(gè)字段 組成)c) 聚簇索引CLUSTERED 和非聚簇索引UNCLUSTERED :聚簇索引:即物理索引,與基表的物理順序相同(不斷重排表行的物理順序以使其與邏輯索引順序相一致),數(shù)據(jù)值的順序總是按照順序排列. 即索引樹的葉級(jí)頁(yè)包含實(shí)際的數(shù)據(jù) . 非聚簇索引: 索引順序與數(shù)據(jù)物理排列順序無(wú)關(guān), 即葉級(jí)頁(yè)指向表中的記錄. , 一個(gè)表最多可建249 個(gè)非聚簇

11、索引. 可以這么理解聚簇索引:索引的葉節(jié)點(diǎn)就是數(shù)據(jù)節(jié)點(diǎn)。而非聚簇索引的葉節(jié)點(diǎn)仍然是索引節(jié)點(diǎn),只不過(guò)有一個(gè)指針指向?qū)?yīng)的數(shù)據(jù)塊. 每個(gè)表最多只能建立一個(gè)簇類索引,非簇類索引則可建立多個(gè)。與非簇類索引相比,簇類索引的檢索速度要快。應(yīng)當(dāng)在建立任何非簇類索引以前建立簇類索引。SYBASE培訓(xùn)教材13Index與性能-31 1:選擇選擇ClusteredClustered索引索引的建議:的建議:主鍵時(shí)常作為主鍵時(shí)常作為wherewhere子句的條件子句的條件 某一列經(jīng)常以這樣的格式出現(xiàn)在某一列經(jīng)常以這樣的格式出現(xiàn)在wherewhere表達(dá)式中表達(dá)式中(x=column =y) (x=column use

12、 master 2go 1sp_dboption database_name,trunc,true 2go 1use database_name 2go 1checkpoint 2go Bcp. -b 100 (on unix) -一個(gè)批執(zhí)行100行拷貝SYBASE培訓(xùn)教材22Sybase事務(wù)日志-5增加閾值(增加閾值(sp_addthreshold)例如:sp_addthreshold pubs2, logsegment, 200, dump_transaction 其中,存儲(chǔ)過(guò)程定義為: create procedure dump_transaction dbname varchar (3

13、0), segmentname varchar (30), space_left int, status int as dump transaction dbname to /dev/rmtx那么,當(dāng)日志段上可用空間小于200頁(yè)時(shí),SQL Server運(yùn)行存儲(chǔ)過(guò)程dump_transaction,將pubs2 數(shù)據(jù)庫(kù)的日志轉(zhuǎn)儲(chǔ)到另一臺(tái)設(shè)置上。SYBASE培訓(xùn)教材23數(shù)據(jù)庫(kù)鎖數(shù)據(jù)庫(kù)行數(shù)據(jù)庫(kù)行/ /頁(yè)頁(yè)/ /表鎖表鎖為了在使用的一個(gè)表中改變加鎖類型,可以采用如下的句法格式:alter table lock allpages | datapages | datarows在索引頁(yè)面中不會(huì)破壞事務(wù)加鎖。

14、相反,而是采用了一種稱之為鎖存的機(jī)制。鎖存是一種類似于旋轉(zhuǎn)鎖(spinlocks)的同步方法sp_configure number of pre-allocated extent設(shè)置為設(shè)置為16也將對(duì)系統(tǒng)性能也將對(duì)系統(tǒng)性能有明顯的積極的效果有明顯的積極的效果,減小鎖資源的競(jìng)爭(zhēng)。,減小鎖資源的競(jìng)爭(zhēng)。共享鎖、排他鎖,死鎖共享鎖、排他鎖,死鎖數(shù)據(jù)庫(kù)的鎖存技術(shù)將那些在索引頁(yè)中發(fā)生死鎖的情形盡量排除掉。減小死鎖的方法:1:盡量對(duì)數(shù)據(jù)多次并發(fā)訪問(wèn)2:配置“帶有加鎖方式的讀提交”(read committed with lock”),并可用如下的命令加以配置:sp_configure read commit

15、ted with lock,0|1SYBASE培訓(xùn)教材24數(shù)據(jù)庫(kù)死鎖可能發(fā)生的死鎖可能發(fā)生的死鎖的原因:的原因:1:插入與非群聚性的索引訪問(wèn)2:數(shù)據(jù)更新的范圍當(dāng)?shù)谝粋€(gè)用戶到達(dá)所確定的頁(yè)面邊緣,即該范圍即將終止,下一批所組塊并妨礙的頁(yè)面范圍即將開始之時(shí),就可能發(fā)生死鎖。3:按照不同順序訪問(wèn)表即使訪問(wèn)行是不同的,對(duì)表按照任何不一致的順序進(jìn)行訪問(wèn),也會(huì)意味著可能發(fā)生死鎖。4:如何查鎖阻塞Sp_who sp_lock , select * from sysprocesses where blocked 05: 如何查鎖的表名 sp_lock-查其中查其中table_id=XXXXXXX對(duì)應(yīng)的表對(duì)應(yīng)的表

16、select * from sysobjects where id = XXXXXXXSYBASE培訓(xùn)教材25數(shù)據(jù)庫(kù)的備份和恢復(fù)數(shù)據(jù)庫(kù)的備份:必須啟動(dòng)backup server由于文件的大小超出了操作系統(tǒng)的用戶最大文件限制。而有些操作系統(tǒng)不支持大于2GB的文件,這時(shí)可以使用Backup Server將一個(gè)數(shù)據(jù)庫(kù)后備到多個(gè)文件中。dump database pubs2 to /usr/sybase/pubs2_dump.1stripe on /usr/sybase/pubs2_dump.2stripe on /usr/sybase/pubs2_dump.3go 這種方法還可以提高后備及恢復(fù)的速度

17、,但注意恢復(fù)也必須用相應(yīng)多的設(shè)備。例如:1load database pubs2 from /usr/sybase/pubs2_dump.12stripe on /usr/sybase/pubs2_dump.23stripe on /usr/sybase/pubs2_dump.34go SYBASE培訓(xùn)教材26如何生成bcp命令文件以pubs2為例編輯一個(gè)文本文件select.sql,內(nèi)容如下: set nocount on use pubs2 go select bcp pubs2. + name + out + name + .bcp -Usa -P -c from sysobjects

18、where type=U goSYBASE培訓(xùn)教材27檢查修改服務(wù)器基本配置參數(shù)檢查修改服務(wù)器基本配置參數(shù)內(nèi)存配置:內(nèi)存配置:sp_configure “total memory”, new_value (修改內(nèi)存配置,new_value的單位為2K)CPU數(shù):數(shù):sp_configure “max online engines”, cpu_number(修改CPU配置,cpu_number小于等于實(shí)際cpu數(shù))并發(fā)用戶連接數(shù):并發(fā)用戶連接數(shù):sp_configure “number of user connections” (檢查當(dāng)前的并發(fā)用戶連接數(shù))sp_configure number

19、of locksp_configure procedure cache sizesp_configure number of usersp_configure number of open databasessp_configure number of open objects,150000sp_configure number of open indexes,150000SYBASE培訓(xùn)教材28如何解決數(shù)據(jù)庫(kù)被掛起的問(wèn)題1現(xiàn)象:現(xiàn)象:Error 926 Severity Level 14 Error Message Text Database xx cannot be opened - it

20、 has been marked SUSPECT by recover Explanation (一一):你使用你使用Transact_SQL命令操作這個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)時(shí)命令操作這個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)時(shí), 出現(xiàn)這個(gè)信息出現(xiàn)這個(gè)信息, 這是一個(gè)這是一個(gè)嚴(yán)重的錯(cuò)誤嚴(yán)重的錯(cuò)誤, 如果你要使用這個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù)如果你要使用這個(gè)數(shù)據(jù)庫(kù)的數(shù)據(jù), 必須改正這個(gè)錯(cuò)誤必須改正這個(gè)錯(cuò)誤. (二二) :?jiǎn)?dòng)啟動(dòng)Backup Server, 后備后備master數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)1dump database master to /usr/sybase/master.dup2go(三(三) 用用isql登錄到登錄到SQL Server

21、, 須用須用sa帳號(hào)帳號(hào) (本文以本文以pubs2數(shù)據(jù)庫(kù)為例數(shù)據(jù)庫(kù)為例)1sp_configure “allow updates”, 1 -允許修改允許修改mask庫(kù)庫(kù)2go 1begin tran 2go 1use master2go1update sysdatabases 2set status = -32768 3Where name=pubs2 4goSYBASE培訓(xùn)教材29如何解決數(shù)據(jù)庫(kù)被掛起的問(wèn)題2如果得到如果得到(1 row affected),則則1commit2go否則否則1rollback2go(四(四)重新啟動(dòng)重新啟動(dòng)SQL Server. 注:注:SQL Server重

22、新啟動(dòng)之后,當(dāng)發(fā)現(xiàn)數(shù)據(jù)庫(kù)本身存在重新啟動(dòng)之后,當(dāng)發(fā)現(xiàn)數(shù)據(jù)庫(kù)本身存在不可恢復(fù)的問(wèn)題不可恢復(fù)的問(wèn)題時(shí),如數(shù)時(shí),如數(shù)據(jù)頁(yè)損壞等,且沒有完好的數(shù)據(jù)庫(kù)備份,一定要用據(jù)頁(yè)損壞等,且沒有完好的數(shù)據(jù)庫(kù)備份,一定要用bcp.out備份用戶數(shù)據(jù)庫(kù)數(shù)據(jù)備份用戶數(shù)據(jù)庫(kù)數(shù)據(jù)。此時(shí),以下步驟省略,并按照。此時(shí),以下步驟省略,并按照“如何刪除壞的用戶數(shù)據(jù)庫(kù)如何刪除壞的用戶數(shù)據(jù)庫(kù)”文章刪除此數(shù)據(jù)庫(kù)。文章刪除此數(shù)據(jù)庫(kù)。之后重建此數(shù)據(jù)庫(kù),恢復(fù)備份。之后重建此數(shù)據(jù)庫(kù),恢復(fù)備份。否則,按以下步驟繼續(xù)操作:否則,按以下步驟繼續(xù)操作:用用sa帳號(hào)注冊(cè)到帳號(hào)注冊(cè)到SQL Server. 1begin tran 2go 1use maste

23、r2goSYBASE培訓(xùn)教材30如何解決數(shù)據(jù)庫(kù)被掛起的問(wèn)題31update sysdatabases 2set status=0 3Where name=pubs2 4go 如果得到如果得到(1 row affected),則則1commit 1commit 2go2go否則否則 1rollback 2go2go1sp_configure “allow updates” ,0-不允許修改不允許修改maskmask庫(kù)庫(kù)2go (五五)重新啟動(dòng)重新啟動(dòng)SQL Server.(六六) 如果你的數(shù)據(jù)庫(kù)原來(lái)有如果你的數(shù)據(jù)庫(kù)原來(lái)有dboption(例如例如select into,trunc log on

24、chkpt等等), 你你需要重新設(shè)置這些需要重新設(shè)置這些option.(七七) 數(shù)據(jù)庫(kù)已經(jīng)恢復(fù)可使用狀態(tài)后,運(yùn)行數(shù)據(jù)庫(kù)已經(jīng)恢復(fù)可使用狀態(tài)后,運(yùn)行dbcc命令檢查數(shù)據(jù)庫(kù)的一致性命令檢查數(shù)據(jù)庫(kù)的一致性(八八) 備份用戶數(shù)據(jù)庫(kù):備份用戶數(shù)據(jù)庫(kù):1dump database pubs2 to /usr/sybase/pubs2.dup2goSYBASE培訓(xùn)教材31 如何終止數(shù)據(jù)庫(kù)恢復(fù)過(guò)程1當(dāng)某一正常運(yùn)行的大事務(wù)(例如:update、delete操作)被終止,且重新啟動(dòng)server后,運(yùn)行該事務(wù)的數(shù)據(jù)庫(kù)處于恢復(fù)狀態(tài),通常這種狀態(tài)會(huì)持續(xù)很長(zhǎng)時(shí)間,當(dāng)在此恢復(fù)過(guò)程中沒有出現(xiàn)任何異常時(shí),建議耐心等待恢復(fù)過(guò)程完成

25、。同時(shí)提供以下方法來(lái)終止此恢復(fù)過(guò)程,但請(qǐng)注意這些操作將帶來(lái)數(shù)據(jù)不一致性。必要時(shí),希望用戶用完整、可靠的數(shù)據(jù)庫(kù)備份恢復(fù)此數(shù)據(jù)庫(kù)。 (1) 啟動(dòng)Backup Server后,備份master數(shù)據(jù)庫(kù)(2)用isql登錄到SQL Server, 須用sa帳號(hào) (本文以pubs2數(shù)據(jù)庫(kù)為例)1sp_configure allow updates, 1 2go 1begin tran 2go 1 use master2 go1update sysdatabases 2set status = -32768 3Where name=pubs2 4go如果得到(1 row affected),則commit提

26、交,否則rollbackSYBASE培訓(xùn)教材32 如何終止數(shù)據(jù)庫(kù)恢復(fù)過(guò)程2(3)這時(shí)重新啟動(dòng)這時(shí)重新啟動(dòng)SQL Server, 再用再用sa帳號(hào)登錄到帳號(hào)登錄到SQL Server. 1dump tran pubs2 with no_log2go1begin tran 2go 1 use master2 go1update sysdatabases 2set status=0 3Where name=pubs2 4go 如果得到(1 row affected),則commit提交,否則rollback(4) 如果你的數(shù)據(jù)庫(kù)原來(lái)有如果你的數(shù)據(jù)庫(kù)原來(lái)有dboption(例如例如select int

27、o,trunc log on chkpt等等), 你需要重新設(shè)置這些你需要重新設(shè)置這些option. (5) 當(dāng)數(shù)據(jù)庫(kù)已經(jīng)恢復(fù)可使用狀態(tài)后,運(yùn)行當(dāng)數(shù)據(jù)庫(kù)已經(jīng)恢復(fù)可使用狀態(tài)后,運(yùn)行dbcc命令檢查數(shù)據(jù)庫(kù)的一致性命令檢查數(shù)據(jù)庫(kù)的一致性(參照參照如何檢查數(shù)據(jù)庫(kù)中數(shù)據(jù)一致性如何檢查數(shù)據(jù)庫(kù)中數(shù)據(jù)一致性文章文章)(6) 備份備份用戶數(shù)據(jù)庫(kù)用戶數(shù)據(jù)庫(kù)SYBASE培訓(xùn)教材33如何刪除壞的用戶數(shù)據(jù)庫(kù)當(dāng)使用當(dāng)使用drop database無(wú)法刪除數(shù)據(jù)庫(kù)時(shí),使用本文所示方法可以刪除。無(wú)法刪除數(shù)據(jù)庫(kù)時(shí),使用本文所示方法可以刪除。(1)設(shè)置允許修改系統(tǒng)表設(shè)置允許修改系統(tǒng)表1sp_configure allow upda

28、tes,12go(2)把把 要?jiǎng)h除的用戶數(shù)據(jù)庫(kù)置為要?jiǎng)h除的用戶數(shù)據(jù)庫(kù)置為suspect狀態(tài)狀態(tài)1use master2go1begin tran2go1update sysdatabases set status=2562where name=pubs23go如果得到如果得到(1 row affected),則則則commit提交,否則rollback(3)重啟重啟server,并用并用isql以以sa注冊(cè)。注冊(cè)。(4)刪除數(shù)據(jù)庫(kù)刪除數(shù)據(jù)庫(kù)1dbcc dbrepair(pubs2,dropdb)2go (5)恢復(fù)允許修改系統(tǒng)表恢復(fù)允許修改系統(tǒng)表1sp_configure allow updat

29、es,02goSYBASE培訓(xùn)教材34數(shù)據(jù)一致性檢查1數(shù)據(jù)庫(kù)一致性檢查(dbcc)提供了一些命令用于檢查數(shù)據(jù)庫(kù)的邏輯和物理一致性。Dbcc主要有兩個(gè)功能:使用checkstorage 或 checktable 及 checkdb 在頁(yè)一級(jí)和行一級(jí)檢查頁(yè)鏈及數(shù)據(jù)指針。 使用checkstorage, checkalloc, 或 checkverify, tablealloc, 及indexalloc 檢查頁(yè)分配。 在下列情況中需要使用 dbcc 命令:作為數(shù)據(jù)庫(kù)日常維護(hù)工作的一部分, 數(shù)據(jù)庫(kù)內(nèi)部結(jié)構(gòu)的完整性決定于sa 或dbo 定期地運(yùn)行 dbcc 檢查。 在系統(tǒng)報(bào)錯(cuò)以后, 確定數(shù)據(jù)庫(kù)是否有損壞。 在備份數(shù)據(jù)庫(kù)之前, 確保備份的完整性。 如果懷疑數(shù)據(jù)庫(kù)有損壞時(shí), 例如, 使用某個(gè)表時(shí)報(bào)出表?yè)p壞的信息, 可以使用 dbcc 確定數(shù)據(jù)庫(kù)中其他表是否也有損壞。 SYBASE培訓(xùn)教材35數(shù)據(jù)一致性檢查2下面是dbcc的簡(jiǎn)單用法:dbcc checktable (table_name)檢查指定的表, 索引和數(shù)據(jù)頁(yè)是否正確鏈接, 索引是否正確排序, 所有指針是否一致, 每頁(yè)的數(shù)據(jù)信息是否合理, 頁(yè)偏移是否合

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論