




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
SAPSYBASEASE數(shù)據(jù)庫備份還原手冊
SAPASE數(shù)據(jù)庫備份還原手冊
版本:vO.l
編輯:CNSAP.cn
審核:
日期:2015年6月19日
目錄
制定備份和恢復(fù)計(jì)劃錯(cuò)誤!未定義書簽。
1.關(guān)于數(shù)據(jù)庫事物錯(cuò)誤!未定義書簽。
2.指定備份的職責(zé)錯(cuò)誤!未定義書簽。
3.安排例行備份錯(cuò)誤!未定義書簽。
4.在其它時(shí)間備份數(shù)據(jù)庫錯(cuò)誤!未定義書簽。
5.安排master的備份錯(cuò)誤!未定義書簽。
6.截?cái)鄊aster數(shù)據(jù)庫事務(wù)日志錯(cuò)誤!未定義書簽。
7.保存腳本和系統(tǒng)表錯(cuò)誤!未定義書簽。
8.配置AdaptiveServer以用于同時(shí)裝載錯(cuò)誤!未定義書簽。
二、備份數(shù)據(jù)庫錯(cuò)誤!未定義書簽。
1.指定數(shù)據(jù)庫名的規(guī)則錯(cuò)誤!未定義書簽。
2.壓縮轉(zhuǎn)儲錯(cuò)誤!未定義書簽。
3.裝載壓縮轉(zhuǎn)儲錯(cuò)誤!未定義書簽。
4.設(shè)備出現(xiàn)故障后復(fù)制日志錯(cuò)誤!未定義書簽。
5.截?cái)嗳罩惧e(cuò)誤!未定義書簽。
三、恢復(fù)數(shù)據(jù)庫錯(cuò)誤!未定義書簽。
1.獲取事務(wù)日志的當(dāng)前轉(zhuǎn)儲錯(cuò)誤!未定義書簽。
2.檢查空間使用情況錯(cuò)誤!未定義書簽。
3.刪除數(shù)據(jù)庫錯(cuò)誤!未定義書簽。
4.重新創(chuàng)建數(shù)據(jù)庫錯(cuò)誤!未定義書簽。
5.裝載數(shù)據(jù)庫錯(cuò)誤!未定義書簽。
6.裝載事務(wù)日志錯(cuò)誤!未定義書簽。
7.裝載事務(wù)日志到某個(gè)時(shí)間點(diǎn)錯(cuò)誤!未定義書簽。
8.使數(shù)據(jù)庫處于聯(lián)機(jī)狀態(tài)錯(cuò)誤!未定義書簽。
四、恢復(fù)系統(tǒng)數(shù)據(jù)庫錯(cuò)誤!未定義書簽。
1.恢復(fù)過程總結(jié)錯(cuò)誤!未定義書簽。
2.恢復(fù)master數(shù)據(jù)庫錯(cuò)誤!未定義書簽。
3.建立新的主設(shè)備錯(cuò)誤!未定義書簽。
4.在主恢復(fù)方式下啟動AdaptiveServer錯(cuò)誤!未定義書簽。
5.重新創(chuàng)建master的設(shè)備分配錯(cuò)誤!未定義書簽。
6.檢查BackupServersysservers信息錯(cuò)誤!未定義書簽。
7.檢驗(yàn)BackupServer是否在運(yùn)行錯(cuò)誤!未定義書簽。
8.更新numberofdevices配置參數(shù)錯(cuò)誤!未定義書簽。
9.在主恢復(fù)方式下重新啟動AdaptiveServer錯(cuò)誤!未定義書簽。
10.檢查系統(tǒng)表以檢驗(yàn)master的當(dāng)前備份錯(cuò)誤!未定義書簽。
11.重新啟動AdaptiveServer錯(cuò)誤!未定義書簽。
12.恢復(fù)服務(wù)器用戶ID錯(cuò)誤!未定義書簽。
13.檢查AdaptiveServer錯(cuò)誤!未定義書簽。
14.使用diskreinit恢復(fù)sysdevices錯(cuò)誤!未定義書簽。
五、DUMP命令詳解錯(cuò)誤!未定義書簽。
1.dumpdatabase錯(cuò)誤!未定義書簽。
2.dumptransaction錯(cuò)誤!未定義書簽。
六、LOAD命令詳解錯(cuò)誤!未定義書簽。
1.loaddatabase錯(cuò)誤!未定義書簽。
2.loadtransaction錯(cuò)誤!未定義書簽。
七、備份還原示例錯(cuò)誤!未定義書簽。
1.dumpdatabase錯(cuò)誤!未定義書簽。
2.dumptransaction錯(cuò)誤!未定義書簽。
3.loaddatabase錯(cuò)誤!未定義書簽。
4.loadtransaction錯(cuò)誤!未定義書簽。
一、制定備份和恢復(fù)計(jì)劃
AdaptiveServer具有自動恢復(fù)過程,可以使用戶避免由于斷電和計(jì)算機(jī)故障所造成的損失。若要避免介質(zhì)
故障帶來損失,請定期經(jīng)常對數(shù)據(jù)庫進(jìn)行備份。
1.關(guān)于數(shù)據(jù)庫事物
AdaptiveServer使用事務(wù)來跟蹤數(shù)據(jù)庫的所有變化。事務(wù)是AdaptiveServer的工作單元。一個(gè)事務(wù)包括一
個(gè)或多個(gè)作為一個(gè)單元成功或失敗的Transact-SQL語句。
每條修改數(shù)據(jù)的SQL語句都被視為一個(gè)事務(wù)。通過將一系列語句放在begintransaction...endtransaction塊中
中,用戶也可以定義事務(wù)。
每個(gè)數(shù)據(jù)庫都擁有自己的事務(wù)日志,即系統(tǒng)表syslogs。事務(wù)日志自動記錄每個(gè)數(shù)據(jù)庫用戶發(fā)出的每個(gè)事務(wù)。
不能關(guān)閉事務(wù)記錄。
事務(wù)日志是前寫式日志。當(dāng)用戶發(fā)出要修改數(shù)據(jù)庫的語句時(shí),AdaptiveServer將這些更改寫入日志中。在這
這條語句要做的所有更改都已記錄在日志中后,這些更改將被寫入到數(shù)據(jù)頁的高速緩存副本中。此數(shù)據(jù)頁
將一直保留在高速緩存中,直到另一數(shù)據(jù)庫頁需要內(nèi)存為止。那時(shí),已更改的數(shù)據(jù)頁才寫入磁盤中。
如果事務(wù)中任何語句未能完成執(zhí)行,AdaptiveServer將撤消由該事務(wù)所引起的所有更改。AdaptiveServer在
在每個(gè)事務(wù)結(jié)束時(shí)將一條"endtransaction”記錄寫入日志,記錄該事務(wù)的狀態(tài)(成功或失?。?。
2.指定備份的職責(zé)
許多組織都有一位執(zhí)行所有備份和恢復(fù)操作的操作員。只有系統(tǒng)管理員、數(shù)據(jù)庫所有者或操作員才可以
執(zhí)行dump和10ad命令。數(shù)據(jù)庫所有者只能轉(zhuǎn)儲自己的數(shù)據(jù)庫。操作員和系統(tǒng)管理員可以轉(zhuǎn)儲和裝載任
何數(shù)據(jù)庫。
3.安排例行備份
開發(fā)備份計(jì)劃中的主要任務(wù)是確定備份數(shù)據(jù)庫的頻率。備份頻率決定在介質(zhì)出現(xiàn)故障時(shí)丟失的工作量。
創(chuàng)建每個(gè)用戶數(shù)據(jù)庫之后立即轉(zhuǎn)儲它以提供基點(diǎn),并且以后按固定的時(shí)間表進(jìn)行。推薦至少要每天備份事務(wù)
務(wù)日志,每周備份數(shù)據(jù)庫。
許多擁有大型、活動數(shù)據(jù)庫的安裝每天轉(zhuǎn)儲數(shù)據(jù)庫,并且每半個(gè)小時(shí)或每小時(shí)進(jìn)行一次事務(wù)日志轉(zhuǎn)儲。
在沒有跨數(shù)據(jù)庫數(shù)據(jù)修改活動期間,應(yīng)同時(shí)備份互依數(shù)據(jù)庫(其中存在跨數(shù)據(jù)庫事務(wù)、觸發(fā)器或參照完整性
的數(shù)據(jù)庫)。如果其中一個(gè)數(shù)據(jù)庫失敗并且需要重新裝載,則從所有這些同時(shí)轉(zhuǎn)儲中重新裝載它們。
4.在其它時(shí)間備份數(shù)據(jù)庫
除了定期轉(zhuǎn)儲以外,每次升級用戶數(shù)據(jù)庫、創(chuàng)建新索引、執(zhí)行未記錄的操作或者運(yùn)行dumptransactionwith
no_log或dumptransactionwithtruncate_only命令時(shí),也都要轉(zhuǎn)儲數(shù)據(jù)庫。
將用戶數(shù)據(jù)庫升級到當(dāng)前版本的AdaptiveServer后,轉(zhuǎn)儲最近升級的數(shù)據(jù)庫,以便創(chuàng)建與當(dāng)前版本兼容的轉(zhuǎn)
儲。dumpdatabase必須在允許執(zhí)行dumptransaction之前、在已升級的用戶數(shù)據(jù)庫上進(jìn)行。
向表中添加索引時(shí),將在事務(wù)日志中記錄createindex。而在向索引頁填充信息時(shí),AdaptiveServer卻不記錄
這些更改。如果在您創(chuàng)建完索引后數(shù)據(jù)庫設(shè)備出現(xiàn)故障,則使用loadtransaction命令重建索引所用時(shí)間可
能與使用createindex命令建立索引所用時(shí)間一樣多。為避免長時(shí)間的延遲,需在數(shù)據(jù)庫的一個(gè)表上創(chuàng)建索
引后立即轉(zhuǎn)儲每個(gè)數(shù)據(jù)庫。
dumptransactionwithtruncate_only和dumptransactionwithno_log將從日志中刪除事務(wù)而不進(jìn)行備份。為
確??苫謴?fù)性,請?jiān)诿看斡捎诖疟P空間不足而運(yùn)行任一命令時(shí)轉(zhuǎn)儲數(shù)據(jù)庫。這樣做之后,才能復(fù)制事務(wù)日志。
5.安排master的備份
master數(shù)據(jù)庫備份用作恢復(fù)過程的一部分,以防出現(xiàn)影響master數(shù)據(jù)庫的故障。如果沒有master數(shù)據(jù)庫的
當(dāng)前備份,則可能在需要用戶數(shù)據(jù)庫并再次運(yùn)行它時(shí)不得不重建重要的系統(tǒng)表。
在執(zhí)行影響磁盤、存儲、數(shù)據(jù)庫或段的每個(gè)命令后,都備份master數(shù)據(jù)庫。始終在發(fā)出以下任何命令或系
統(tǒng)過程后備份master數(shù)據(jù)庫:
?diskinit、sp_addumpdevice或sp_dropdevice
?磁盤鏡像命令
?段系統(tǒng)過程sp_addsegment、sp_dropsegment或sp_extendsegment
?createprocedure或dropprocedure
?splogdevice
?spconfigure
?createdatabase或alterdatabase
6.截?cái)鄊aster數(shù)據(jù)庫事務(wù)日志
因?yàn)閙aster數(shù)據(jù)庫事務(wù)日志與數(shù)據(jù)存儲在相同數(shù)據(jù)庫設(shè)備上,所以不能單獨(dú)備份其事務(wù)日志。不能移動
master數(shù)據(jù)庫的日志。必須經(jīng)常使用dumpdatabase備份master數(shù)據(jù)庫。定期使用具有truncate_only
選項(xiàng)的dumptransaction(例如,每次數(shù)據(jù)庫轉(zhuǎn)儲后)清除master數(shù)據(jù)庫的事務(wù)日志。
7.保存腳本和系統(tǒng)表
為進(jìn)一步進(jìn)行保護(hù),保存包含所有diskinit、createdatabase和alterdatabase命令的腳本,并在每次發(fā)出這些
命令之一后為sysdatabases、sysusages和sysdevices表生成書面副本。
您無法使用dataserver命令自動恢復(fù)這些命令導(dǎo)致的更改。如果您保留腳本(包含Transact-SQL語句的文件
件),則可以運(yùn)行它們以重新創(chuàng)建這些更改。或者,您必須針對重新構(gòu)建的master數(shù)據(jù)庫重新發(fā)出每個(gè)命令。
保留syslogins的書面副本。從轉(zhuǎn)儲中恢復(fù)master時(shí),將表的書面副本與當(dāng)前版本進(jìn)行比較,以確保用戶保持
相同的用戶IDo
8.配置AdaptiveServer以用于同時(shí)裝載
AdaptiveServei?可以同時(shí)執(zhí)行多個(gè)load和dump命令。裝載數(shù)據(jù)庫要求有一個(gè)16K緩沖區(qū)來用于每個(gè)活
動數(shù)據(jù)庫裝載。缺省情況下,AdaptiveServer被配置為可同時(shí)進(jìn)行六個(gè)裝載。要同時(shí)執(zhí)行多項(xiàng)裝
載,系統(tǒng)管理員可以增加大型I/O緩沖區(qū)的數(shù)量:
sp_configure"numberoflargei/obuffers'1,12
此參數(shù)要求您重新啟動AdaptiveServer。這些緩沖區(qū)不用于dump命令或loadtransaction命令。
二、備份數(shù)據(jù)庫
經(jīng)常定期備份是防止由于數(shù)據(jù)庫設(shè)備出現(xiàn)故障而損壞數(shù)據(jù)庫的唯一方法。
dumpdatabase、dumptransaction、loaddatabase和loadtransaction命令具有相似的語法。例行轉(zhuǎn)儲和裝載
載要求數(shù)據(jù)庫名和至少一個(gè)轉(zhuǎn)儲設(shè)備。這些命令還可包括下列選項(xiàng):
?compression=,用于將轉(zhuǎn)儲文件壓縮為本地文件
?atserver_name,用于指定遠(yuǎn)程BackupServer
?density>blocksize和capacity,用于指定磁帶存儲特性
?dumpvolume,用于指定ANSI磁帶標(biāo)簽的卷名
?file=filename,用于指定要轉(zhuǎn)儲到的或要從其裝載的文件的名稱
?stripeonstripe_device,用于指定其它轉(zhuǎn)儲設(shè)備
?dismount>unload、init和retaindays,用于指定磁帶的處理操作
?notify,用于指定是將BackupServer消息發(fā)送到啟動轉(zhuǎn)儲或裝載的client,還是發(fā)送到operator_console
如果設(shè)備上的可用空間不足,無法成功發(fā)出dumptransaction或dumptransactionwithtruncate_only命令,請
使用dumptransactionwithno_log。
1.指定數(shù)據(jù)庫名的規(guī)則
可以將數(shù)據(jù)庫名以文字、局部變量或參數(shù)的形式指定給某一存儲過程。
如果從轉(zhuǎn)儲中裝載數(shù)據(jù)庫:
,此數(shù)據(jù)庫必須存在??梢允褂胏reatedatabase的forload選項(xiàng)創(chuàng)建一個(gè)數(shù)據(jù)庫,或通過裝載覆蓋一個(gè)現(xiàn)有
數(shù)據(jù)庫。裝載數(shù)據(jù)庫始終會覆蓋現(xiàn)有數(shù)據(jù)庫中的所有信息。
?使用的數(shù)據(jù)庫名不必與所轉(zhuǎn)儲的數(shù)據(jù)庫的名稱相同。例如,您可以轉(zhuǎn)儲pubs2數(shù)據(jù)庫,創(chuàng)建另一個(gè)名為
pubs2_archive的數(shù)據(jù)庫,然后將轉(zhuǎn)儲裝載到新數(shù)據(jù)庫中。
2.壓縮轉(zhuǎn)儲
dump命令包括兩個(gè)選項(xiàng),利用這兩個(gè)選項(xiàng),您可以使用BackupServer壓縮數(shù)據(jù)庫和事務(wù)日志,從而減少已存
檔數(shù)據(jù)庫的空間要求。
參數(shù)為:
?compression=compressionjevel一壓縮至遠(yuǎn)程服務(wù)器。導(dǎo)致BackupServer使用其自己的本機(jī)壓縮方法。
Sybase建議使用此壓縮選項(xiàng)。
compress::[compressionjevel::]一壓縮至本地文件。導(dǎo)致BackupServer調(diào)用外部過濾器,支持此選項(xiàng)是為
了向后兼容。
compressionjevel可以是0到9之間的某個(gè)數(shù)字,也可以是100或101。對于一位數(shù)的壓縮級別,0表示不壓
縮,9表示壓縮級別最高。
壓縮級別100和101表示壓縮比較速、高效,其中壓縮級別100表示壓縮速度較快,101表示壓縮性能較好。
利用dump命令的compression=參數(shù),可以減少已存檔數(shù)據(jù)庫的空間要求。使用AdaptiveServer12.5.2及
更高版本,可以通過compression=參數(shù)將轉(zhuǎn)儲壓縮到遠(yuǎn)程計(jì)算機(jī)。
如果使用舊的compress::選項(xiàng),裝載數(shù)據(jù)庫轉(zhuǎn)儲時(shí)不需要包括壓縮級別.但是,可以發(fā)出loadwith
listonly=full命令以確定進(jìn)行轉(zhuǎn)儲的壓縮級別。
如果您使用本機(jī)compression=選項(xiàng),則當(dāng)裝載數(shù)據(jù)庫轉(zhuǎn)儲時(shí),不需要包括compression=選項(xiàng)。
例如,若要將pubs2數(shù)據(jù)庫轉(zhuǎn)儲到文件“compress_file”中,請輸入:
dumpdatabasepubs2tocompress_pression=100
SAP建議您根據(jù)性能要求選擇一組壓縮級別。對于占用CPU時(shí)間不太多的壓縮,請使用壓縮級別100并根據(jù)
據(jù)存檔空間要求切換至級別101?對于常規(guī)壓,請使用壓縮級別6,然后根據(jù)性能要求增高或降低級別。
3.裝載壓縮轉(zhuǎn)儲
如果使用dump...compress::來轉(zhuǎn)儲數(shù)據(jù)庫或事務(wù)日志,則必須使用load...compress::選項(xiàng)來裝載該轉(zhuǎn)儲。
loaddatabase...compress::和loadtransaction...compress::的部分語法為:
loaddatabasedatabase_name
fromcompress::stripe_device
...[stripeoncompress::stripe_device]...
loadtransactiondatabase_name
fromcompress::stripe_device
...[stripeoncompress::stripe_device]...
語法中的表示您存檔的數(shù)據(jù)庫,compress::調(diào)用已存檔數(shù)據(jù)庫或事務(wù)日志的解壓縮。
archive_name是您要裝載的已存檔數(shù)據(jù)庫或事務(wù)日志的完整路徑。如果創(chuàng)建轉(zhuǎn)儲文件時(shí)未包括完整路徑,
則AdaptiveServer將在啟動AdaptiveServer的目錄中創(chuàng)建轉(zhuǎn)儲件。
如果使用compress::選項(xiàng),則對于每個(gè)轉(zhuǎn)儲設(shè)備,它必須是stripeon子句的一部分。如果您使用
compression=選項(xiàng),則在設(shè)備列表之后使用它一次。
4.設(shè)備出現(xiàn)故障后復(fù)制日志
通常,dumptransaction在復(fù)制日志后截?cái)嗳罩镜牟换顒硬糠帧J褂脀ithno_truncate可以在不截?cái)嗳罩镜那?/p>
情況下復(fù)制日志。
5.截?cái)嗳罩?/p>
在事務(wù)日志非常滿時(shí),您可能無法使用常規(guī)方法來轉(zhuǎn)儲它。如果使用fdumptransaction或dumptransaction
withtruncate_only,并且該命令由于日志空間不足而失敗,請使用dumptransaction的withno_log
選項(xiàng):
dumptransactiondatabase_namewithno_log
此選項(xiàng)截?cái)嗳罩?,而不記錄轉(zhuǎn)儲事務(wù)事件。因?yàn)榇诉x項(xiàng)不復(fù)制任何數(shù)據(jù),所以它只要求數(shù)據(jù)庫的名稱。
警告:withtruncate_only和withnoJog允許您截?cái)嗫捎每臻g極其不足的日志。這兩個(gè)選項(xiàng)都無法恢復(fù)自上
次例行轉(zhuǎn)儲后已提交的事務(wù)。
三、恢復(fù)數(shù)據(jù)庫
介質(zhì)出現(xiàn)故障時(shí)的狀況因故障原因的不同而異。如果磁盤上僅有一個(gè)塊損壞,那么,除非您經(jīng)常運(yùn)行dbcc命令
令,否則,在損壞發(fā)生后,數(shù)據(jù)庫看上去會正常運(yùn)行一段時(shí)間。如果整個(gè)磁盤或磁盤控制器損壞。Adaptive
Server將該數(shù)據(jù)庫標(biāo)記為可疑數(shù)據(jù)庫并顯警告消息。如果存儲master數(shù)據(jù)庫的磁盤出現(xiàn)故障,則用戶將無
法登錄到服務(wù)器,已登錄的用戶將無法執(zhí)行需要訪問master中的系統(tǒng)表的任何操作。
當(dāng)數(shù)據(jù)庫設(shè)備出現(xiàn)故障時(shí),SAP會建議您執(zhí)行下列步驟:
1獲取設(shè)備上每個(gè)數(shù)據(jù)庫的當(dāng)前日志轉(zhuǎn)儲。
2檢查設(shè)備上每個(gè)數(shù)據(jù)庫的空間使用情況。
3在為設(shè)備上的所有數(shù)據(jù)庫收集了這些信息之后,刪除每個(gè)數(shù)據(jù)庫。
4使用sp_dropdevice刪除有故障的設(shè)備。
5使用diskinit初始化新數(shù)據(jù)庫設(shè)備。
6重新創(chuàng)建數(shù)據(jù)庫,一次創(chuàng)建一個(gè)。
7將最新的數(shù)據(jù)庫轉(zhuǎn)儲裝載到每個(gè)數(shù)據(jù)庫中?
8按各個(gè)事務(wù)日志轉(zhuǎn)儲的創(chuàng)建順序應(yīng)用這些轉(zhuǎn)儲。
1.獲取事務(wù)日志的當(dāng)前轉(zhuǎn)儲
使用dumptransactionwithno_truncate為出故障設(shè)備上的每一數(shù)據(jù)庫獲取當(dāng)前事務(wù)日志轉(zhuǎn)儲。例如,若要獲
取mydb的當(dāng)前事務(wù)日志轉(zhuǎn)儲,請輸入:
dumptransactionmydb
to7dev/nrmtOnatREMOTE_BKP_SERVER
withinit,no_truncate,
notify="operator_consolen
2.檢查空間使用情況
檢查和記錄所有損壞的數(shù)據(jù)庫的設(shè)備分配:
在master中,檢查損壞的數(shù)據(jù)庫的設(shè)備分配和使用情況:
selectsegmap,sizefromsysusageswheredbid=db_id(Mdatabase_name")
檢查查詢的輸出。每個(gè)segmap為3的行都表示數(shù)據(jù)分配。每個(gè)segmap為4的行都表示日志分配。較高的
的值指示用戶定義的段;將這些段作為數(shù)據(jù)分配處理,以保留這些段的作用域。size列指示數(shù)據(jù)塊的數(shù)目。記
記錄每一磁盤區(qū)段的順序、用途和大小。
3.刪除數(shù)據(jù)庫
在您為出現(xiàn)故障的設(shè)備上的所有數(shù)據(jù)庫執(zhí)行了前面所述的步驟后,使用dropdatabase刪除每一數(shù)據(jù)庫。
如果當(dāng)您發(fā)出dropdatabase時(shí),系統(tǒng)由于數(shù)據(jù)庫受損而報(bào)告錯(cuò)誤,請使用:
dbccdbrepair(mydb,dropdb)
4.重新創(chuàng)建數(shù)據(jù)庫
將createdatabase與forload選項(xiàng)一起使用。從sysusages表中復(fù)制數(shù)據(jù)庫的每個(gè)行的所有設(shè)備段映射和大
小,直到第一個(gè)日志設(shè)備(包括該設(shè)備)。以這些行在sysusages中出現(xiàn)的順序使用它
們。(sp_helpdb的結(jié)果按設(shè)備名的字母順序排列,而不是按分配順序排列。)
將alterdatabase與forload選項(xiàng)一起使用以按順序重新創(chuàng)建其余的條目。請記住,應(yīng)像您處置數(shù)據(jù)分配一樣
為用戶段處置設(shè)備分配。
5.裝載數(shù)據(jù)庫
使用loaddatabase重裝數(shù)據(jù)庫。如果原始數(shù)據(jù)庫在用戶定義的段上存儲了對象(sysusages報(bào)告segmap大于
于7),并且您的新設(shè)備分配匹配轉(zhuǎn)儲的數(shù)據(jù)庫的設(shè)備分配,則AdaptiveServer保留用戶段映射。
如果您沒有創(chuàng)建新設(shè)備分配以匹配轉(zhuǎn)儲的數(shù)據(jù)庫的設(shè)備分配,則AdaptiveServer會將段重新映射到可用的
設(shè)備分配。此重新映射還混合同一物理設(shè)備上日志和數(shù)據(jù)。
6.裝載事務(wù)日志
使用loadtransaction以事務(wù)H志備份的生成順序應(yīng)用事務(wù)日志備份。
AdaptiveServer檢查每一轉(zhuǎn)儲的數(shù)據(jù)庫和事務(wù)日志上的時(shí)間戳。如果轉(zhuǎn)儲以錯(cuò)誤順序裝載,或者用戶事務(wù)
在兩次裝載之間修改了事務(wù)日志,則裝載將失敗。
如果您使用withstandby_access轉(zhuǎn)儲了事務(wù)日志,則也必須使用standby_access裝載數(shù)據(jù)庫。
在您使數(shù)據(jù)庫處于最新狀態(tài)后,使用dbcc命令檢查其一致性。
7.裝載事務(wù)日志到某個(gè)時(shí)間點(diǎn)
您可以恢復(fù)數(shù)據(jù)庫,一直恢復(fù)到其事務(wù)日志中某個(gè)指定的時(shí)間點(diǎn)。
為此,請使用loadtransaction的until_time選項(xiàng)。例如,在用戶無意中刪除了某個(gè)重要的表的情況下可以使
用這一選項(xiàng);您可以使用untiljime將對包含該表的數(shù)據(jù)庫進(jìn)行的更改一直恢復(fù)到剛刪除該表之前那一時(shí)刻
的狀態(tài)。
為了在數(shù)據(jù)已被損壞后有效使用untiLtime,您必須知道發(fā)生錯(cuò)誤的確切時(shí)間。您可以通過在出現(xiàn)錯(cuò)誤時(shí)發(fā)
出selectgetdate來找到這一時(shí)間。例如,假定用戶無意中刪除了一個(gè)重要的表,然后在幾分鐘之后您以毫秒
為單位獲取當(dāng)前時(shí)間:
selectconvert(char(26),getdate(),109)
8.使數(shù)據(jù)庫處于聯(lián)機(jī)狀態(tài)
將所有事務(wù)日志轉(zhuǎn)儲應(yīng)用到數(shù)據(jù)庫之后,使用onlinedatabase使其可供使用。例如,若要使mydb數(shù)據(jù)庫聯(lián)
機(jī),請輸入:
onlinedatabasemydb
四、恢復(fù)系統(tǒng)數(shù)據(jù)庫
系統(tǒng)數(shù)據(jù)庫的恢復(fù)過程取決于所使用的數(shù)據(jù)庫和系統(tǒng)中出現(xiàn)的問題。
通常,恢復(fù)可能包括:
,使用loaddatabase裝載這些數(shù)據(jù)庫的備份,
,使用dataserver、installmaster和installmodel恢復(fù)這些數(shù)據(jù)庫的初始狀態(tài),或
?這些任務(wù)的組合。
要使系統(tǒng)數(shù)據(jù)庫的恢復(fù)盡可能高效地進(jìn)行:
,不要在主設(shè)備上存儲用戶數(shù)據(jù)庫或除master、tempdb、model和sybsystemdb以外的任何其它數(shù)據(jù)庫。
?始終保存重要系統(tǒng)表的最新打印輸出。
?每次執(zhí)行初始化數(shù)據(jù)庫設(shè)備、創(chuàng)建或變更數(shù)據(jù)庫或添加新的服務(wù)器登錄名等操作之后,都要備份master
數(shù)據(jù)庫。
1.恢復(fù)過程總結(jié)
必須遵循以下步驟來恢復(fù)損壞的主設(shè)備。
1查找恢復(fù)磁盤、數(shù)據(jù)庫和登錄名所需的系統(tǒng)表的書面副本。
2關(guān)閉AdaptiveServer,并使用dataserver構(gòu)建新master數(shù)據(jù)庫和主設(shè)備。
3以主恢復(fù)方式重新啟動AdaptiveServer。
4在sysusages中正確地重建master數(shù)據(jù)庫的分配。
5更新sysservers表中BackupServer的網(wǎng)絡(luò)名。
6檢驗(yàn)BackupServer以確保其正在運(yùn)行。
7使用loaddatabase裝載master的最新數(shù)據(jù)庫轉(zhuǎn)儲。成功裝載master后,AdaptiveServer將自動停止。
8在配置文件中更新numberofdevices配置參數(shù)。
9在單用戶模式下重新啟動AdaptiveServero
10檢驗(yàn)master的備份是否擁有最新的系統(tǒng)表信息。
11重新啟動AdaptiveServero
12如果自上次備份master后添加了新的登錄名,則檢查syslogins。
14恢復(fù)model數(shù)據(jù)庫(如果需要)。
14將sysusages和sysdatabases的書面副本與新的聯(lián)機(jī)版本進(jìn)行比較,針對每個(gè)數(shù)據(jù)庫運(yùn)行dbcccheckalloc,
并檢查每個(gè)數(shù)據(jù)庫中的重要表。
15轉(zhuǎn)儲master數(shù)據(jù)庫。
2.恢復(fù)master數(shù)據(jù)庫
受損的master數(shù)據(jù)庫可能是由存儲master的區(qū)域中的介質(zhì)故障導(dǎo)致,也可能是由數(shù)據(jù)庫的內(nèi)部損壞導(dǎo)致。
如果出現(xiàn)以下情況,將會損壞master數(shù)據(jù)庫:
,AdaptiveServer不能啟動。
?出現(xiàn)頻繁或破壞性的分段故障錯(cuò)誤或輸入/輸出錯(cuò)誤。
?dbcc在定期檢查數(shù)據(jù)庫期間報(bào)告損壞。
假定:
?master數(shù)據(jù)庫已損壞,或主設(shè)備已損壞。
?您擁有系統(tǒng)表的最新輸出,”系統(tǒng)及可選數(shù)據(jù)庫''列出了這些輸出。
,主設(shè)備只包括master數(shù)據(jù)庫、tempdb、model和sybsystemdb。
?您擁有master數(shù)據(jù)庫的最新備份,并且,自上次轉(zhuǎn)儲master以來,您尚未初始化任何設(shè)備,也未創(chuàng)建或修改
任何數(shù)據(jù)庫。
?您的服務(wù)器使用缺省排序順序。
3.建立新的主設(shè)備
僅當(dāng)舊的主設(shè)備的損壞無法修復(fù)時(shí),才應(yīng)構(gòu)建新的主設(shè)備。否則,您可以在現(xiàn)有主設(shè)備上重新創(chuàng)建master
和model數(shù)據(jù)庫。
重新創(chuàng)建master數(shù)據(jù)庫有兩個(gè)過程:替換主設(shè)備,并強(qiáng)制AdaptiveServer重新創(chuàng)建配置區(qū)域。當(dāng)master數(shù)據(jù)庫
庫損壞時(shí)替主設(shè)備。如果主設(shè)備的配置區(qū)域也損壞,請強(qiáng)制AdaptiveServer重新創(chuàng)建配置區(qū)域。您可以經(jīng)
常檢測配置區(qū)域是否由于服務(wù)器無法運(yùn)行而損壞,并生成錯(cuò)誤消息來指明該區(qū)域已損壞。
以下示例使用UNIX的dataserver命令。在Windows平臺上,使用sqlsrvr命令。
。替換主設(shè)備
用dataserver-w選項(xiàng)重建主設(shè)備:
dataserver-wmaster
。重建配置區(qū)域
如果配置區(qū)域損壞,則必須使用-f選項(xiàng)強(qiáng)制AdaptiveServer重建該區(qū)域。
但有以下限制:
?如果頁大小錯(cuò)誤,則您可以指定頁大?。ɡ?-z8k)。
?如果設(shè)備大小錯(cuò)誤,則您可以指定設(shè)備大?。ɡ?-bl25M)
?磁盤上顯示為損壞或當(dāng)前未分配的所有分配單元都將分配給master數(shù)據(jù)庫。
帶或不帶-f的-wmaster選項(xiàng)僅重新創(chuàng)建master數(shù)據(jù)庫。磁盤上的所有其它分配單元保持不變,因此,您可
以使用diskrefit恢復(fù)數(shù)據(jù)。
如果整個(gè)主設(shè)備已損壞(例如,如果磁盤發(fā)生故障),請通過使用dataserver-zpage_size...-bdevice_size啟動
AdaptiveServer來更換整個(gè)設(shè)備:
1如果現(xiàn)有主設(shè)備不在原始分區(qū)上,并且您打算重新使用該設(shè)備,請刪除舊的主設(shè)備文件。
2彳吏用dataserver-zpage_size...-bdevice_size啟動月艮務(wù)器。
4.在主恢復(fù)方式下啟動AdaptiveServer
使用-m(UNIX和Windows)選項(xiàng)在主恢復(fù)方式下啟動AdaptiveServero
?在UNIX平臺上,復(fù)制runserver文件,并將其命名為m_RUN_server_nameo編輯該新文件,在dataserver命
令行添加參數(shù)-mo然后在主恢復(fù)方式下啟動服務(wù)器:
startserver-fm_RUN_server_name
?在Windows平臺上一從命令行使用sqlsrver命令啟動AdaptiveServer。除其它必要的參數(shù)外,指定-m參
數(shù)。例如:
sqlsrver.exe-dD:\Sybase\DATA\MASTER.dat-sPIANO-eD:\Sybase\install\errorlog-iD:\Sybase\ini-
MDASybase-m
在主恢復(fù)方式下啟動AdaptiveServer時(shí),只允許使用一個(gè)用戶(系統(tǒng)管理員)的一個(gè)登錄名。
5.重新創(chuàng)建master的設(shè)備分配
如果您根據(jù)上面步驟2中描述的過程重新創(chuàng)建了主設(shè)備,則您的master數(shù)據(jù)庫現(xiàn)在可能太小。為master數(shù)據(jù)
據(jù)庫分配更多空間:
從sysusages的書面副本中,對為dbid1(master數(shù)據(jù)庫的dbid)顯示的size值求和。將這些值與當(dāng)前
master數(shù)據(jù)庫的大小進(jìn)行比較。您可以通過發(fā)出以下命令來確定它們:
selectsum(size)fromsysusageswheredbid=1
如果當(dāng)前的master數(shù)據(jù)庫太小,請使用alterdatabase將它擴(kuò)大至所需的大小。若要將邏輯頁轉(zhuǎn)換為MB級
頁,請使用:
selectN/(power(2,20)/@@maxpagesize)
其中N是邏輯頁的數(shù)量。
如果使用-mmaster選項(xiàng)重新編寫了master數(shù)據(jù)庫,則不必更改master數(shù)據(jù)庫的大小。由于AdaptiveServer
已記錄了設(shè)備上所有數(shù)據(jù)庫使用的分配單元,因此,您應(yīng)該已有足夠的空間裝載master的轉(zhuǎn)儲。
6.檢查BackupServersysservers信息
以“sa”身份登錄服務(wù)器。
如果BackupServer的網(wǎng)絡(luò)名稱不是SYB_BACKUP,請更新sysservers,以便AdaptiveServer可以與其
BackupServer進(jìn)行通信。
在接口文件中檢查BackupServer名稱,然后發(fā)出:
select*fromsysserverswheresrvname=nSYB_BACKUP"
如果報(bào)告的srvnetname與接口文件中的BackupServer不同,請更新
sysservers。下例將BackupServer的網(wǎng)絡(luò)名更改為
PRODUCTION.BSRV:
begintransaction
updatesysservers
setsrvnetname=nPRODUCTION_BSRV"
wheresrvname="SYB_BACKUP”
執(zhí)行此命令,并驗(yàn)證它是否僅修改了一行。重新發(fā)出select命令,然后核實(shí)是否修改了正確的行,該行是否包
含正確的值。如果update修改了多行,或者修改了不應(yīng)修改的行,則應(yīng)發(fā)出rollbacktransaction
命令,然后嘗試再次更新。
如果該命令正確地修改了BackupServer的行,則應(yīng)發(fā)出committransaction命令。
7.檢驗(yàn)BackupServer是否在運(yùn)行
在UNIX平臺上,使用showserver命令核實(shí)BackupServer是否正在運(yùn)行;如果必要,重新啟動BackupServer。
裝載master的備份
裝載master數(shù)據(jù)庫的最新備份。
?例如,在UNIX平臺上,使用:
loaddatabasemasterfrom'7dev/nrmt4H
在loaddatabase成功完成之后,AdaptiveServer會關(guān)閉。注意在裝載過程和關(guān)閉過程中是否有錯(cuò)誤消息.
8.更新numberofdevices配置參數(shù)
僅當(dāng)使用的數(shù)據(jù)庫設(shè)備數(shù)比缺省值多時(shí)才執(zhí)行此步驟。
除非恢復(fù)master數(shù)據(jù)庫,否則AdaptiveServer無法使用配置值,因此,請指示AdaptiveServer在啟動時(shí)從配
置文件中讀取適當(dāng)?shù)膎umberofdevices參數(shù)值。
如果最新配置文件不可用,請編輯配置文件以反映numberofdevices參數(shù)的正確值。
編輯runserver文件。在dataserver或sqlsrver命令的末尾添加-c參數(shù),以指定配置文件的名稱和位置。
AdaptiveServer啟動時(shí),將從指定的配置文件中讀取參數(shù)值。
9.在主恢復(fù)方式下重新啟動AdaptiveServer
裝載master的備份時(shí),會使“sa”帳號恢復(fù)到先前的狀態(tài)。如果“sa”帳戶有口令,則恢復(fù)該口令。如果在進(jìn)行
備份之前使用sp-locklogin鎖定了此帳戶,則“sa”帳戶會立即鎖定。將帳戶與sa-role配合使用來執(zhí)行其余
恢復(fù)步驟。
10.檢查系統(tǒng)表以檢驗(yàn)master的當(dāng)前備份
如果在發(fā)出最新的diskinit、createdatabase或alterdatabase命令后,己備份了master數(shù)據(jù)庫,則sysusages、
sysdatabases和sysdevices的內(nèi)容會與書面副本匹配。
依據(jù)書面副本,檢查恢復(fù)后服務(wù)器中的sysusages、sysdatabases和sysdevices表。尤其注意以下問題:
如果書面副本中的設(shè)備有的未包括在己恢復(fù)的sysdevices中,則自上次備份以來已經(jīng)添加了設(shè)備,并且您必須
須運(yùn)行diskreinit和diskrefit。
?如果書面副本中列出的數(shù)據(jù)庫有的未包括在已恢復(fù)的sysdatabases表中,則意味著自上次備份master以來添
添加了數(shù)據(jù)庫。您必須運(yùn)行diskrefito
11.重新啟動AdaptiveServer
以常規(guī)(多用戶)模式重新啟動AdaptiveServero
12.恢復(fù)服務(wù)器用戶ID
檢查syslogins的書面副本和恢復(fù)的syslogins表。
?如果自上次備份master以來已經(jīng)添加了服務(wù)器登錄名,請重新發(fā)出createlogin命令。
?如果已刪除了服務(wù)器登錄名,則應(yīng)重新發(fā)出droplogin命令。
?如果已鎖定了服務(wù)器帳戶,則應(yīng)重新發(fā)出spJocklogin命令。
?檢查由于用戶或系統(tǒng)管理員使用alterlogin而引起的其它差別。
確保指派給用戶的suids正確。數(shù)據(jù)庫中不匹配的suid值會導(dǎo)致權(quán)限問題,用戶可能不能訪問表或運(yùn)行命
令。
檢查現(xiàn)有suid值的有效方法是對用戶數(shù)據(jù)庫的每個(gè)sysusers表執(zhí)行union。如果用戶有權(quán)使用master,則
可以在此過程中包括master。
例如:
selectsuid,namefrommaster..sysusers
union
selectsuid,namefromsales..sysusers
union
selectsuid,namefromparts..sysusers
union
如果結(jié)果列表顯示的已跳過的suid值介于您在其中恢復(fù)登錄名的范圍內(nèi),請為跳過的值添加占位符,然后使
用droplogin刪除它們或者使用sp_locklogin鎖定它們。
13.檢查AdaptiveServer
仔細(xì)檢查AdaptiveServer:
1將sysusages的書面副本與新的聯(lián)機(jī)版本進(jìn)行比較。
2將sysdatabases的書面副本與新的聯(lián)機(jī)版本進(jìn)行比較。
3針對每個(gè)數(shù)據(jù)庫運(yùn)行dbcccheckalloc。
4檢查每個(gè)數(shù)據(jù)庫中重要的表。
14.使用diskreinit恢復(fù)sysdevices
如果自上次轉(zhuǎn)儲后添加了任何數(shù)據(jù)庫設(shè)備,即如果發(fā)出了diskinit命令,則必須使用diskreinit向sysdevices
添加每個(gè)新設(shè)備。如果保留了最初的diskinit命令腳本,則應(yīng)使用這些腳本來確定diskreinit的參數(shù)(包括
vstart的初始值)。如果提供的大小過小,或者使用不同的vstart值,可能會損壞數(shù)據(jù)庫。
如果未保存diskinit腳本,請查看最新的sysdevices書面副本以確定diskreinit的一些正確參數(shù)。如果您在原
原始diskinit命令中使用了自定義的vstart,則您還需要知道vstart的原始值。
使用diskre任恢復(fù)sysusages和sysdatabase
如果自上次數(shù)據(jù)庫轉(zhuǎn)儲后,添加了數(shù)據(jù)庫設(shè)備或者創(chuàng)建或變更了數(shù)據(jù)庫,則應(yīng)使用diskrefit重建sysusages
表和sysdatabases表。
diskrefit只能從master數(shù)據(jù)庫運(yùn)行,并且只能由系統(tǒng)管理員運(yùn)行。
這一權(quán)限不能轉(zhuǎn)移給其他用戶。其語法為:
diskrefit
在diskrefit重建系統(tǒng)表之后,AdaptiveServer將關(guān)閉。在diskrefit運(yùn)行時(shí)或者在關(guān)閉過程中檢查輸出以確定
定是否發(fā)生了錯(cuò)誤。
五、DUMP命令詳解
1.dumpdatabase
說明以一種可用loaddatabase命令讀取的格式制作整個(gè)數(shù)據(jù)庫(包括事務(wù)日志)的備份副本。轉(zhuǎn)儲和裝
載通過BackupServer執(zhí)行。
如果您不轉(zhuǎn)儲壓縮數(shù)據(jù),則loaddaiabase操作的目標(biāo)平臺不必和發(fā)生dumpdatabase操作的源平臺相同。
壓縮數(shù)據(jù)的轉(zhuǎn)儲和裝載必須發(fā)生在同一平臺上。但是,dumpdatabase和loaddatabase可從大型平臺執(zhí)行
到小型平臺,或者從小型平臺執(zhí)行到大型平臺。
語法
dumpdatabasedatabase_name
to[compress::[compression_level::]]stripe_device
[atbackup_server_name]
[density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name]
[withshrink_log]
withverify[=header|full]
[stripeon[compress::[compression_level::]Jstripe_device
[atbackup_server_name]
[density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name]J
[[stripeon[compress::[compression_level::]]stripe_device
[atbackup_server_name]
[density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name]]...]
[with{
density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
compression=compress_level
dumpvolume=volume_name,
file=file_name,
[dismount|nodismountj,
[nounload|unload],
passwd=password,
retaindays=number_days,
[noinit|init],
notify={client|operator_console}
}]
(TivoliStorageManager)使用此語法可在TivoliStorageManager提供備份服務(wù)時(shí)復(fù)制數(shù)據(jù)庫。
dumpdatabasedatabase_name
to"syb_tsm::object_name''
[blocksize=number_bytes]
[stripeonH[syb__tsm:'.]object_name''
[blocksize=number_bytes\\...]
[with{
blocksize=number_bytes,
compression=compressjevel,
passwd=password,
[noinit|init],
notify={client|operator_console},
verify[=header|full]
}]
參數(shù)
database_name
是您從中復(fù)制數(shù)據(jù)的數(shù)據(jù)庫的名稱??蓪?shù)據(jù)庫名稱指定為文字、局部變量或存儲過程參數(shù)。
compress::compressionjevel
不再使用,提供它的目的是為了與舊版本應(yīng)用程序兼容。改為將"compression=compress_/eve「用于壓縮
縮。
tostripe_device
是要向其復(fù)制數(shù)據(jù)的設(shè)備。
atbackup_server_name
是BackupServer的名稱。轉(zhuǎn)儲到缺省BackupServer時(shí)不要指定此參數(shù)。僅當(dāng)通過網(wǎng)絡(luò)轉(zhuǎn)儲到遠(yuǎn)程Backup
Server時(shí)才指定此參數(shù)。使用此選項(xiàng)可指定多達(dá)32個(gè)遠(yuǎn)程BackupServer。通過網(wǎng)絡(luò)進(jìn)行轉(zhuǎn)儲時(shí),請指定在
在轉(zhuǎn)儲設(shè)備附加到的計(jì)算機(jī)上運(yùn)行的遠(yuǎn)程BackupServer的網(wǎng)絡(luò)名。對于使用interfaces文件的平臺,
backup_server_name必須出現(xiàn)在interfaces文件中。
density=density_value
替換磁帶設(shè)備的缺省密度。有效密度為800、1600、6250、6666、10000和38000。并不是所有的值對于每
個(gè)磁帶驅(qū)動器都有效;請使用適合您的磁帶驅(qū)動器的正確密度。
blocksize=number_bytes
替換轉(zhuǎn)儲設(shè)備的缺省塊大小。塊大小必須至少為一個(gè)數(shù)據(jù)庫頁(對于大多數(shù)系統(tǒng)為2048字節(jié)),且必須
為數(shù)據(jù)庫頁大小的整數(shù)倍。若要獲得最佳性能,請將blocksize指定為2的乘方,例如65536、或。
capacity=number_kilobytes
是設(shè)備可寫入單個(gè)磁帶卷的最大數(shù)據(jù)量。容量至少應(yīng)為5個(gè)數(shù)據(jù)庫頁,但應(yīng)小于設(shè)備的推薦容量。
計(jì)算容量的一般規(guī)則是使用設(shè)備制造商給出的設(shè)備最大容量的70%,留出30%的容量用于記錄間隙和磁
帶標(biāo)志之類的開銷。最大容量是驅(qū)動器上設(shè)備的容量,而不是驅(qū)動器本身的容量。此規(guī)則在多數(shù)情況下
適用,但可能由于各供應(yīng)商和設(shè)備的開銷存在差異而不能全部適用。
在不能可靠檢測到磁帶結(jié)束標(biāo)志的UNIX平臺上,請指明可轉(zhuǎn)儲到磁帶的千字節(jié)數(shù)。對于作為物理路徑
名指定的轉(zhuǎn)儲設(shè)備,必須提供capacity。如果將轉(zhuǎn)儲設(shè)備作為邏輯設(shè)備名指定,那么,除非指定容量。否
則BackupServer使用存儲在sysdevices系統(tǒng)表中的size參數(shù)。
compression=compress_level
是0到9之間的數(shù)字、100或101。對于一位數(shù)的壓縮級別,0表示不進(jìn)行壓縮,而9表示最高級別的壓
縮。壓縮級別100和101提供更加快捷、更加有效的壓縮模式,其中100提供更加快捷的壓縮,而101
提供程度更高的壓縮。如果不指定compress」evel,AdaptiveServer將不會壓縮轉(zhuǎn)儲。
注釋Sybase建議首選使用本機(jī)"compression=compressjevel"選項(xiàng),為了與以前的應(yīng)用程序兼容而保留
的舊選項(xiàng)"compress::compression」evel"其次。
dumpvolume=volume_name
建立指派給卷的名稱。volume_name的最大長度為6個(gè)字符。覆蓋現(xiàn)有轉(zhuǎn)儲、轉(zhuǎn)儲到新磁帶或者轉(zhuǎn)儲到內(nèi)
內(nèi)容不可識別的磁帶時(shí),BackupServer會在ANSI磁帶標(biāo)簽中寫入volume_name。loaddatabase命令會檢
查標(biāo)簽,如果裝載了錯(cuò)誤的卷,則會生成錯(cuò)誤消息。
withshrink_log
在使用alterdatabaselogoff命令縮減日志中的空間時(shí)如果在數(shù)據(jù)庫中創(chuàng)建了空洞,則會使用它。此命令
會在數(shù)據(jù)庫不在轉(zhuǎn)儲序列中時(shí)自動刪除數(shù)據(jù)庫結(jié)尾的空洞。同樣,dumpdatabase將會在數(shù)據(jù)庫不在轉(zhuǎn)儲
序列中時(shí)(也就是說,當(dāng)您由于dumptransaction不被允許而被迫運(yùn)行dumpdatabase時(shí),例如,當(dāng)執(zhí)行了
任何最少日志記錄命令時(shí))自動刪除數(shù)據(jù)庫結(jié)尾的任何空洞。dumpdatabase的withshrinkjog選項(xiàng)會刪
除數(shù)據(jù)庫結(jié)尾的空洞,無論數(shù)據(jù)庫是否在轉(zhuǎn)儲序列中都是如此。
withverify[=header|full]
允許BackupServer在數(shù)據(jù)頁復(fù)制到存檔中時(shí)對數(shù)據(jù)頁執(zhí)行最低限度的標(biāo)頭或結(jié)構(gòu)行檢查。此時(shí)不會對
gam、oam、分配頁、索引、文本或日志頁進(jìn)行結(jié)構(gòu)檢查。唯一的其它檢查在頁碼與頁頭匹配的頁上執(zhí)行。
stripeonstripe_device是附加的轉(zhuǎn)儲設(shè)備??梢允褂枚噙_(dá)32個(gè)設(shè)備,其中包括在tostripe_device子句中命
名的設(shè)備。BackupServer將數(shù)據(jù)庫分成幾個(gè)大致相等的部分,并將每個(gè)部分發(fā)送到不同的設(shè)備。轉(zhuǎn)儲是
在每個(gè)設(shè)備上同時(shí)進(jìn)行的,減少了進(jìn)行轉(zhuǎn)儲所需的時(shí)間,并且轉(zhuǎn)儲過程中需要的卷更改更少。
dismount|nodismount
在支持邏輯卸下的平臺上,確定磁帶是否保持裝入狀態(tài).缺省情況下,轉(zhuǎn)儲完成時(shí)將卸下用于轉(zhuǎn)儲的全
部磁帶。使用nodismount可使磁帶供其它轉(zhuǎn)儲或裝載使用。
nounload|unload
確定轉(zhuǎn)儲完成后是否回繞磁帶。缺省情況下磁帶不會回繞,從而使您可以向同一磁帶卷進(jìn)行其它轉(zhuǎn)儲。
請為要添加到多轉(zhuǎn)儲卷的最后一個(gè)轉(zhuǎn)儲文件指定unload?這樣,在轉(zhuǎn)儲完成后就會回繞并卸載磁帶。
passwd=password
是您提供的口令,用來防止轉(zhuǎn)儲文件被未經(jīng)授權(quán)的用戶使用??诹铋L度必須介于6到30個(gè)字符之間???/p>
令不能使用變量。
retaindays=number__days
(UNIX系統(tǒng))轉(zhuǎn)儲到磁盤時(shí),請指定天數(shù),BackupServer保護(hù)轉(zhuǎn)儲在此天數(shù)內(nèi)不被覆蓋。如果試圖在
過期前覆蓋轉(zhuǎn)儲,則在覆蓋未過期卷前,BackupServer會要求進(jìn)行確認(rèn)。
注釋此選項(xiàng)僅適用于轉(zhuǎn)儲到磁盤時(shí);它不適用于磁帶轉(zhuǎn)儲。
對于可以立即覆蓋的轉(zhuǎn)儲,其cumbejdays值必須是正整數(shù)或0。如果不指定retaindays值,Backup
Server會使用由sp_configure設(shè)定的taperetentionindays值。
noinit|init
確定是將轉(zhuǎn)儲附加到現(xiàn)有的轉(zhuǎn)儲文件還是重新初始化(覆蓋)磁帶卷。
缺省情況下,AdaptiveServer將轉(zhuǎn)儲附加在最后一個(gè)磁帶結(jié)束標(biāo)記之后,從而使您可以向同一個(gè)卷轉(zhuǎn)儲其
它數(shù)據(jù)庫。新的轉(zhuǎn)儲只能附加到多卷轉(zhuǎn)儲的最后一個(gè)卷上。對轉(zhuǎn)儲到磁帶的第一個(gè)數(shù)據(jù)庫使用init,
以覆蓋其內(nèi)容。
在需要BackupServer存儲或更新磁帶配置文件中的磁帶設(shè)備特性時(shí),可使用init命令。
file=file_name
是轉(zhuǎn)儲文件名。該名稱不得超過17個(gè)字符,且必須符合操作系統(tǒng)對文件名的約定。
notify={client|operator_console}
替換缺省的消息顯示目標(biāo)。
在提供操作員終端功能的操作系統(tǒng)上,始終會將卷更改消息發(fā)送到運(yùn)行BackupServer的計(jì)算機(jī)的操作員
終端上。使用client可將其它BackupServer消息發(fā)送到啟動dumpdatabase的終端會話。
在不提供操作員終端功能的操作系統(tǒng)(如UNIX)上,消息將發(fā)送到啟動dumpdatabase的客戶端。使用
operator_console將消息發(fā)送到運(yùn)行BackupServer的終端。
syb_lsm::obj_name
是調(diào)用libsyb_tsm.so模塊的關(guān)鍵字,該模塊用于實(shí)現(xiàn)BackupServer和TivoliStorageManager之間的通信。
object_name
是TSM服務(wù)器上備份對象的名稱。
2.dumptransaction
說明制作事務(wù)日志的副本并刪除不活動的部分。
有關(guān)您的站點(diǎn)許可使用Tivoli時(shí)的dumptranaction語法,請參見TivoliStorageManager(TSM)語法。
語法
進(jìn)行例行日志轉(zhuǎn)儲:
dumptranlsactionjdatabase_name
to[compress::[compression_level::]]stripe_device
[atbackup_server_name]
[density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name]
[stripeon[compress::[compression_level::]]stripe_device
[atbackup_server_name]
[density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name]]
[[stripeon[compress::[compression_level::]]stripe_device
[atbackup_server_name]
[density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name]]...]
[with{
density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
compression=compressjevel,
dumpvolume=volume_name,
file=file_name,
[dismount|nodismount],
[nounload|unload],
retaindays=number_days,
[noinit|init],
notify={client|operator_console},
standby_access}J
截?cái)嗳罩径簧蓚浞莞北荆?/p>
dumptranlsactionjdatabase_namewithtruncate_only
截?cái)嘁堰_(dá)到容量上限的日志。僅在不得以的情況下才應(yīng)使用這種方法,因?yàn)槟鷮⑹ト罩镜膬?nèi)容:
dumptran[saction]database_name^\i^noJog
在某個(gè)數(shù)據(jù)庫設(shè)備出現(xiàn)故障后備份日志:
dumptran[saction]database_name
to[compress::[compression_levek:]]stripe_device
[atbackup_server_name\
[density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name\
[stripeon[compress::[compression_level::]]stripe_device
[atbackup_server_name\
[density=density_value,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name\\
[[stripeon[corr\press::[compression_level::]\stripe_device
[atbackup_server_name\
[density=density_va!ue,
blocksize=number_bytes,
capacity=number_kilobytes,
dumpvolume=volume_name,
file=file_name\\...]
[with{
density=density_va!ue,
blocksize=number_bytes,
capacity=number_kilobytes,
compression=compressjevel
dumpvolume=volume_name,
file=file_name,
[dismount|nodismount],
[nounload|unload],
retaindays=number_days,
[noinit|init],
no_truncate,
notify={client|operator_console}}]
TivoliStorageManager提供備份服務(wù)時(shí)復(fù)制事務(wù)日志。
dumptransactiondatabase_name
to',syb_lsm::object_name',
[blocksize=number__bytes]
[stripeonH[syb_tsm:.,]object_name,'
[blocksize=number_bytes\\...]
[with{
blocksize=number_bytes,
compression=compress_level,
passwd=password,
[noinit|init],
notify={client|operator_console},
verify[=header|full]
}]
參數(shù)
database_name
是您從中復(fù)制數(shù)據(jù)的數(shù)據(jù)庫的名稱??梢詫?shù)據(jù)庫名以文字、局部變量或參數(shù)形式指定給一個(gè)存儲過程。
compress::compression_level
是0到9之間的數(shù)字、100或101。對于一位數(shù)的壓縮級別,0表示不進(jìn)行壓縮,而9表示最高級別的壓
縮。壓縮級別100和101提供更加快捷、更加有效的壓縮模式,其中100提供更加快捷的壓縮,而101
提供程度更高的壓縮。如果不指定compression」eveLAdaptiveServei?將不會壓縮轉(zhuǎn)儲。
從AdaptiveServer15.0版開始,Sybase支持并建議使用本機(jī)compression=compression_level語法。
truncate_only
刪除日志的不活動部分而不制作備份副本。該選項(xiàng)在日志段與數(shù)據(jù)段位于同一設(shè)備的數(shù)據(jù)庫上使用。不
要指定轉(zhuǎn)儲設(shè)備或BackupServer名稱。
no_log
刪除日志的不活動部分,而不制作備份副本,也不在事務(wù)日志中記錄過程。僅在用完日志空間,無法運(yùn)
行常規(guī)dumptransaction命令時(shí)才應(yīng)使用no_logo僅在不得已的情況下才應(yīng)使用no_log,且應(yīng)僅在dump
transactionwithtruncate_only失敗時(shí)才使用。
tostripe_device
是數(shù)據(jù)轉(zhuǎn)儲到的設(shè)備。
atbackup_server_name
是BackupServer的名稱。如果是轉(zhuǎn)儲到缺省BackupServer,請不要指定此參數(shù)。僅當(dāng)通過網(wǎng)絡(luò)轉(zhuǎn)儲到遠(yuǎn)
程BackupServer時(shí)才指定此參數(shù)。使用此選項(xiàng)可指定多達(dá)32個(gè)不同的遠(yuǎn)程BackupServero通過網(wǎng)絡(luò)進(jìn)行
行轉(zhuǎn)儲時(shí),請指定在轉(zhuǎn)儲設(shè)備附加到的計(jì)算機(jī)上運(yùn)行的遠(yuǎn)程BackupServer的網(wǎng)絡(luò)名。對于使用interfaces
文件的平臺,backup_server_name必須出現(xiàn)在interfaces文件中。
density=density_value
替換磁帶設(shè)備的缺省
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025標(biāo)準(zhǔn)物流運(yùn)輸合同書樣本
- 2025租房承租權(quán)轉(zhuǎn)讓合同樣本
- 學(xué)生社團(tuán)活動與綜合素質(zhì)提升計(jì)劃
- 代設(shè)計(jì)服務(wù)合同樣本
- 興林糧油購銷合同標(biāo)準(zhǔn)文本
- 臨期鮮奶采購合同樣本
- 2025年蔬菜的采購合同范本
- 畜禽普查整改方案范本
- 個(gè)人房產(chǎn)入股合同標(biāo)準(zhǔn)文本
- 供銷保密合同標(biāo)準(zhǔn)文本
- 基于核心素養(yǎng)的初中歷史跨學(xué)科教學(xué)策略研究
- 有理數(shù)的加法說課課件2024-2025學(xué)年人教版數(shù)學(xué)七年級上冊
- GB/T 18655-2025車輛、船和內(nèi)燃機(jī)無線電騷擾特性用于保護(hù)車載接收機(jī)的限值和測量方法
- 2025年江蘇南通蘇北七市高三二模語文作文分析
- 吉林省吉林市2024-2025學(xué)年高三下學(xué)期3月三模試題 生物 含答案
- 遼寧省協(xié)作校2024-2025學(xué)年度下學(xué)期高三第一次模擬考試語文+答案
- 2025年03月中央社會工作部所屬事業(yè)單位公開招聘11人筆試歷年參考題庫考點(diǎn)剖析附解題思路及答案詳解
- 2025年中高端女裝市場趨勢與前景深度分析
- 2025年上半年宣城市廣德縣人民法院招考書記員兼任法警易考易錯(cuò)模擬試題(共500題)試卷后附參考答案
- 2025北京清華附中高三(下)統(tǒng)練一數(shù)學(xué)(教師版)
- 重慶市南開中學(xué)高2025屆高三第七次質(zhì)量檢測化學(xué)試題及答案
評論
0/150
提交評論