




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、SYBASE數(shù)據(jù)庫常見問題總結(jié)TOC o 1-5 h zSYBASE數(shù)據(jù)庫常見問題總結(jié)1 HYPERLINK l bookmark4 o Current Document SYSLOGS日志滿了進(jìn)不了系統(tǒng),如何清除日志啟動系統(tǒng)1數(shù)據(jù)庫日志損壞時(shí)重建日志啟動數(shù)據(jù)庫的解決辦法3數(shù)據(jù)庫處于可疑狀態(tài)的解決方法5 HYPERLINK l bookmark10 o Current Document 4.Sybase系統(tǒng)崩潰了,沒有備份,但設(shè)備文件還存在,如何恢復(fù)數(shù)據(jù)庫?8 HYPERLINK l bookmark12 o Current Document 5不小心直接刪除了日志的設(shè)備文件,如何恢復(fù)數(shù)據(jù)庫?
2、13 HYPERLINK l bookmark14 o Current Document .sa密碼忘記了導(dǎo)致isql-Usa-P*進(jìn)不去怎么辦?15關(guān)于sybase的配置-(數(shù)據(jù)庫慢的請留意)15 HYPERLINK l bookmark16 o Current Document 8.設(shè)備路徑更改的方法19.dump文件load后數(shù)據(jù)庫訪問不了解決辦法20.sybase數(shù)據(jù)庫備份方案20 HYPERLINK l bookmark18 o Current Document .master數(shù)據(jù)庫狀態(tài)被置為-32768后的處理方法26syslogs日志滿了進(jìn)不了系統(tǒng),如何清除日志啟動系統(tǒng)業(yè)務(wù)系統(tǒng)數(shù)
3、據(jù)庫不能正常啟動,對于這一類問題,我們按照如下步驟解決:第一步,啟用allowupdatestosystemtables,這樣可以使具有系統(tǒng)管理員角色的用戶能夠改變系統(tǒng)表并可創(chuàng)建和修改系統(tǒng)表的存儲過程,其中系統(tǒng)表包括master數(shù)據(jù)庫中所有Sybase提供的表以及用戶數(shù)據(jù)庫中所有以sys開頭的表和在sysobjects表中其ID值小于或等于100的表。系統(tǒng)表的不正確變更會導(dǎo)致數(shù)據(jù)庫損壞和數(shù)據(jù)丟失,修改系統(tǒng)表時(shí)務(wù)必要使用begintransaction來保護(hù)數(shù)據(jù)庫不受可能損壞數(shù)據(jù)庫的錯誤影響,完成修改后應(yīng)立即禁用allowupdatestosystemtables。1sp_configureal
4、lowupdate,12go第二步,AdaptiveServer中的每個數(shù)據(jù)庫在sysdatabases中都有相應(yīng)的一行,安裝AdaptiveServer后,master數(shù)據(jù)庫、model數(shù)據(jù)庫、sybsystemprocs和tempdb數(shù)據(jù)庫在sysdatabases中都將有相應(yīng)的條目,如果已經(jīng)安裝審計(jì)功能,sybsecurity數(shù)據(jù)庫也將在其中有相應(yīng)的條目。修改sysdatabases表,將testdb的狀態(tài)修改為-32768,然后在關(guān)閉AdaptiveServer后重新啟動AdaptiveServer。1updatesysdatabasessetstatus=-32768wherenam
5、e=testdb2go1shutdown2go第三步,由于事務(wù)日志已經(jīng)很滿,不能使用常規(guī)方法轉(zhuǎn)儲此事務(wù)日志,如果使用了dumptransaction或dumptransactionwithtruncate_only命令,而命令又由于日志空間不足失敗時(shí),可以使用dumptransaction的特殊選項(xiàng)withno_log,此選項(xiàng)可截?cái)嗍聞?wù)日志而不記錄轉(zhuǎn)儲事務(wù)事件。所有dumptranwithno_log都將在AdaptiveServer錯誤日志中進(jìn)行報(bào)告,這些消息包括執(zhí)行此命令的用戶ID、指示成功或失敗的消息,no_log是唯一生成錯誤日志消息的轉(zhuǎn)儲選項(xiàng)。但是這個選項(xiàng)(包括withtruncat
6、e_only)沒有提供任何方法可恢復(fù)自從上次例行轉(zhuǎn)儲后提交的事務(wù)。1usetestdb2go1dumptrantestdbwithno_log2go第四步,修改sysdatabases表,將testdb的狀態(tài)恢復(fù)為0,然后禁用allowupdatestosystemtables。1usemaster2go1updatesysdatabasessetstatus=0wherename=testdb2go1sp_configureallowupdate,02go2.首先判斷錯誤為頁損壞或者索引損壞,根據(jù)AdaptiveServerfailedtoretrievearowviaitsRIDindat
7、abaseescourt5becausetherequestedRIDhasahighernumberthanthelastRIDonthepage.Ridpageid=0 x1c88a8;rownum=0 x27.Pagepointer=0 x261CA000,pageno=1869992,status=0 x1,objectid=8,indexid=0,level=0.判斷其中:objectid=8表示日志段有問題解決方法一:截?cái)嗳罩鞠劝裺ysdatabases的status修改成-32768然后重新啟動數(shù)據(jù)庫1updatesysdatabasessetstatus=-32768where
8、name=escourt54go登陸數(shù)據(jù)庫1dumptransactionescourt5withtruncate_only2goMsg921,Level14,State1:Line1:Databaseescourt5hasnotbeenrecoveredyet-pleasewaitandtryagain.1dumptransactionescourt5withno_log2goMsg921,Level14,State1:Line1:Databaseescourt5hasnotbeenrecoveredyet-pleasewaitandtryagain.說明這種發(fā)不起作用解決方法二:重做日志1
9、sp_rolegrant,sybase_ts_role,sa2goAlltherolesspecifiedtobegrantedinthegrantrolestatementhavealreadybeengrantedtogranteesa.Authorizationupdated.(returnstatus=0)1usemaster2go1dbccrebuild_log(escourt5,1,1)2goDBCCexecutioncompleted.IfDBCCprintederrormessages,contactauserwithSystemAdministrator(SA)role.1s
10、hutdownwithnowait2goServerSHUTDOWNbyrequest.TheSQLServeristerminatingthisprocess.重啟服務(wù)后把status修改成0后再重啟服務(wù)。服務(wù)啟動正常最好是通過dbcccheckdb(databasename)檢查一下數(shù)據(jù)一致性。3.據(jù)庫處于可疑狀態(tài)的解決方法如何解決數(shù)據(jù)庫被掛起的問題現(xiàn)象:Error926SeverityLevel14ErrorMessageTextDatabasexxcannotbeopened-ithasbeenmarkedSUSPECTbyrecoverExplanation(1)當(dāng)你使用Transa
11、ct_SQL命令操作這個數(shù)據(jù)庫的數(shù)據(jù)時(shí),出現(xiàn)這個信息,這是一個嚴(yán)重的錯誤,如果你要使用這個數(shù)據(jù)庫的數(shù)據(jù),必須改正這個錯誤.(2)啟動BackupServer,后備master數(shù)據(jù)庫1dumpdatabasemasterto/usr/sybase/master.dup2go(3)用isql登錄到SQLServer,須用sa帳號(本文以escourt5數(shù)據(jù)庫為例)1sp_configureallowupdates,12go1begintran2go1usemaster2go1updatesysdatabases2setstatus=-327683Wherename=escourt54go如果得到(
12、1rowaffected),則1commit2go否則1rollback2go重新啟動SQLServer.注:SQLServer重新啟動之后,當(dāng)發(fā)現(xiàn)數(shù)據(jù)庫本身存在不可恢復(fù)的問題時(shí),如數(shù)據(jù)頁損壞等,且沒有完好的數(shù)據(jù)庫備份,一定要用bcp.out備份用戶數(shù)據(jù)庫數(shù)據(jù)。此時(shí),以下步驟省略,并按照“如何刪除壞的用戶數(shù)據(jù)庫”文章刪除此數(shù)據(jù)庫。之后重建此數(shù)據(jù)庫,恢復(fù)備份。否則,按以下步驟繼續(xù)操作:用sa帳號注冊到SQLServer.1begintran2go1usemaster2go1updatesysdatabases2setstatus=03Wherename=escourt54go如果得到(1rowa
13、ffected),則1commit2go否則1rollback2go1sp_configureallowupdates,02go重新啟動SQLServer.如果你的數(shù)據(jù)庫原來有dboption(例如selectinto,trunclogonchkpt等),你需要重新設(shè)置這些option.當(dāng)數(shù)據(jù)庫已經(jīng)恢復(fù)可使用狀態(tài)后,運(yùn)行dbcc命令檢查數(shù)據(jù)庫的一致性(參照如何檢查數(shù)據(jù)庫中數(shù)據(jù)一致性”文章)備份用戶數(shù)據(jù)庫例如:1dumpdatabaseescourt5to/usr/sybase/pubs2.dup2go4.Sybase系統(tǒng)崩潰了,沒有備份,但設(shè)備文件還存在,如何恢復(fù)數(shù)據(jù)庫?有的時(shí)候,系統(tǒng)崩潰了,
14、手上也沒有數(shù)據(jù)庫的備份或者是備份太舊了,但僥幸的是設(shè)備還在,并且是完整的,這時(shí)可以通過文件COPY的方式恢復(fù)數(shù)據(jù)庫。情況一、所有設(shè)備,包括master,均是完整的:這種情況是最簡單的,只需要先備份設(shè)備文件(包括master,copy到安全的地方)然后重新安裝系統(tǒng),建服務(wù)(保持頁面大小、編碼和排序與以前一樣),然后停止服務(wù),按原目錄將所有設(shè)備文件拷貝回來,再重啟服務(wù)即可。新建的服務(wù)名可與舊服務(wù)不同。建議把服務(wù)名cfg也復(fù)制過來,省掉參數(shù)配置。情況二、應(yīng)用的設(shè)備是完整的,但沒有master了:方法一、這種情況下要恢復(fù)數(shù)據(jù)庫就需要原來的設(shè)備使用情況表了。重新安裝系統(tǒng),建服務(wù),然后按原設(shè)備情況建設(shè)備(
15、大小、位置保持和原來一致),接下來根據(jù)記錄下來的設(shè)備使用情況建庫,順序以及占用的空間要和以前的一致。然后停服務(wù),將應(yīng)用的數(shù)據(jù)庫設(shè)備復(fù)制回來,重啟服務(wù)即可。請參考SybaseASE系統(tǒng)管理員日常維護(hù)指南的建議,定期備份master數(shù)據(jù)庫。方法二、1.重新創(chuàng)建master設(shè)備本實(shí)驗(yàn)描述了如何在master數(shù)據(jù)庫毀壞的情況下,如何重建主設(shè)備,恢復(fù)master數(shù)據(jù)庫,得以重新恢復(fù)系統(tǒng)。這里假定:lMaster數(shù)據(jù)庫已損壞,或主設(shè)備已損壞。l有系統(tǒng)表的最新打印輸出。l主設(shè)備只包括master數(shù)據(jù)庫、tempdb和modelI有master數(shù)據(jù)庫的最新備份,且上次轉(zhuǎn)儲master數(shù)據(jù)庫后沒有初始化任何設(shè)備
16、或創(chuàng)建、變更任何數(shù)據(jù)庫。關(guān)于恢復(fù)過程l將主設(shè)備重建為第一次安裝服務(wù)器時(shí)的缺省狀態(tài);l將master數(shù)據(jù)庫恢復(fù)為缺省狀態(tài);l將master數(shù)據(jù)庫恢復(fù)為上次備份時(shí)的狀態(tài);注意:在恢復(fù)master數(shù)據(jù)庫的早期階段,不能使用系統(tǒng)存儲過程?;謴?fù)步驟步驟1:查找系統(tǒng)表查找已保存到文件的系統(tǒng)表sysdatabases、sysdevices、sysusages、sysloginroles和syslogins的副本。用這些副本可以保證在此過程結(jié)束時(shí)系統(tǒng)已經(jīng)全部恢復(fù)。步驟2:建立新的主設(shè)備如果AdaptiveServer正在運(yùn)行,關(guān)閉它,然后重建主設(shè)備。重建主設(shè)備時(shí),必須指定設(shè)備大小。開始重建前,記住以下幾點(diǎn):l
17、保留舊設(shè)備,以防遇到問題,舊設(shè)備可提供至關(guān)重要的信息。l使用buildmaster命令之前應(yīng)關(guān)閉AdaptiveServer。l不同操作系統(tǒng)上創(chuàng)建主設(shè)備的命令有所不同如:buildmas(unix)bldmaste(windowsNT),并安裝通用master數(shù)據(jù)庫的副本。l命令中給出主設(shè)備的全名和大小。示例:重建一個30兆(15360個2k的頁)在WindowNT上:bldmastr-dd:devicesmaster.dat-s15360步驟3:以主恢復(fù)方式啟動AdaptiveServer使用-m選項(xiàng)以主恢復(fù)方式啟動AdaptiveServer。在WindowNT上,使用sqlsrvr命令從
18、命令行啟動AadaptiveServer。Sqlsrvr.exe-d:devicesmaster.dat-sserver_name一ed:sybaseinstallerrorlog一id:sybaseini一MD:sybase-m說明:以主恢復(fù)方式啟動AdaptiveServer時(shí),只允許一個用戶(系統(tǒng)管理員)登錄。步驟4:重建master的設(shè)備分配檢查sysusages系統(tǒng)表的書面副本,如果有多行dbid二1的記錄,則需要增加master的大小以便裝載轉(zhuǎn)儲。最簡單情況下,對master進(jìn)行額外分配只需要使用alterdatabase即可。復(fù)雜情況,必須為其它數(shù)據(jù)庫分配空間,以便重新構(gòu)造恢復(fù)m
19、aster所需的正確的vstart值。示例:alterdatbasemasteronmaster=2步驟5:檢查BackupServer和口sysservers系統(tǒng)表信息。使用空口令以“sa用戶登錄服務(wù)器(如果BackupServer的網(wǎng)絡(luò)名不是SYB_BACKUP,則必須更新sysservers以便AdaptiveServer可以與其BackupServer通信)l檢查interfaces文件中BackupServer的名稱;I并發(fā)出下面的命令:select*fromsysserverswheresrvname=”SYB_BACKUP”l檢查此命令中輸出結(jié)果的srvnetname。是否與服務(wù)
20、器的backupServer的interfaces文件條目匹配,若匹配跳過步驟5;l如不同,則必須更新sysservers示例:begintranactionupdatasysserversetsrvnetname=”backupserver_name”wheresrvname=”SYB_BACKUP”l核實(shí)該命令,如果updata修改了多行,或者修改了不應(yīng)修改的行,則發(fā)出rollbacktranaction命令,然后嘗試再次更新。如果該命令正確修改了BackupServer的行,則發(fā)出committransaction命令。步驟6:核實(shí)BackupServer正在運(yùn)行WindowNT平臺上,
21、本地安裝的SybaseCentral和服務(wù)管理器可以顯示BackupServer是否正在運(yùn)行。步驟7:裝載master數(shù)據(jù)庫的備份在WindowNT上:loaddatabasemasterfrom“d:devicemaster.bck”在loaddatabase成功完成后,AdaptiveServer將關(guān)閉。步驟8:更新numberofdevices配置參數(shù)僅當(dāng)使用的數(shù)據(jù)庫設(shè)備比缺省值多時(shí)才執(zhí)行此步驟。步驟9:以主恢復(fù)方式方式重新啟動AdaptiveServerSqlsrvr.exe-d:devicesmaster.dat-sserver_name一ed:sybaseinstallerrorl
22、og一id:sybaseini一MD:sybase-m注意:裝載master的備份將使“sa帳號恢復(fù)到以前的狀態(tài)。如果sa帳號有口令,則口令恢復(fù)。步驟10:檢查系統(tǒng)表以檢驗(yàn)master的當(dāng)前備份l如果發(fā)出最新的diskinil;createdatabase或alterdatabase命令以后已備份了master數(shù)據(jù)庫,則sysusages、sysdatabases、和sysdevice的內(nèi)容將與書面副本匹配。l如果副本中的任何設(shè)備未包含在已恢復(fù)的sysdevices中,則上次備份以后已添加了設(shè)備,必須運(yùn)行diskreinit禾口diskrefit。步驟11:重新啟動AdaptiveServer
23、以常規(guī)(多用戶)模式重新啟動AdaptiveServer步驟12:檢查Adaptiveserverl將sysusages的書面副本與新聯(lián)機(jī)版本比較l將sysdatabase的書面副本與新聯(lián)機(jī)版本比較l在每個數(shù)據(jù)庫上運(yùn)行dbcccheckallocl檢查每個數(shù)據(jù)庫中重要的表完全恢復(fù)master數(shù)據(jù)庫并運(yùn)行全部的dbcc完整性檢查后,使用常規(guī)轉(zhuǎn)儲命令備份此數(shù)據(jù)庫。5不小心直接刪除了日志的設(shè)備文件,如何恢復(fù)數(shù)據(jù)庫?首先,應(yīng)盡可能從操作系統(tǒng)中恢復(fù)被誤刪除的設(shè)備文件;如果不能恢復(fù),可創(chuàng)建一個和被刪除設(shè)備文件大小相同的新設(shè)備文件,然后運(yùn)行dbccrebuild_log。下面給出一個具體的測試用例:-創(chuàng)建測
24、試數(shù)據(jù)庫testusemastergodiskinitname=test_dat_dev,physname=/opt/sybase/data/test_dat_dev.dat,size=50Mgoinitdiskname=test_log1_dev,physname=/opt/sybase/data/test_log_dev1.dat,size=10Mgodiskinitname=test_log2_dev,physname=/opt/sybase/data/test_log_dev2.dat,size=10Mgocreatedatabasetestontest_dat_dev=40Mlogo
25、ntest_log1_dev=5M,test_log2_dev=2Mgo-產(chǎn)生一些日志usetestgocreatetabletest(idintnotnull,namechar(20)notnull)goinsertintotestvalues(1,aaaaaaa)insertintotestvalues(2,bbbbbbb)insertintotestvalues(3,ccccccc)insertintotestvalues(4,ddddddd)go6sa密碼忘記了導(dǎo)致isql-Usa-P*進(jìn)不去怎么辦?1、在sybase目錄的install子目錄的啟動server文件RUN_server
26、名,編輯該文件,在末尾增加-psa,保存該文件。2、如果服務(wù)器已經(jīng)啟動,先停止之。3、執(zhí)行第1步批處理文件以啟動server,在啟動最后顯示信息出現(xiàn)sa的新口令,記錄之。4、切換到SQLAdvangtage以sa帳號登錄,口令為新記錄之口令。5、進(jìn)入server以后,用命令sp_password修改sa口令,sp_password原密碼,新密碼,用戶名新密碼的位數(shù)一定要大于6位,否則不能夠更改成功。6、回到第1步,去掉增加的選項(xiàng)-psa,保存退出。7.關(guān)于sybase的配(據(jù)庫慢的請留意)說明:數(shù)據(jù)庫性能慢的主要原因有兩個1)數(shù)據(jù)庫服務(wù)配置不合理2)應(yīng)用程序不合理遇到數(shù)據(jù)庫性能下降時(shí)通常先檢查
27、數(shù)據(jù)庫服務(wù)配置方面有沒有可以改善的,修改之后再觀察一段時(shí)間,如果性能沒有改善的話就要分析應(yīng)用程序上有沒有可以調(diào)整的地方:索引是否合理,sql語句是否優(yōu)化等。本篇主要分析數(shù)據(jù)庫服務(wù)的配置:問題分析:小型機(jī)硬件:rp2470雙機(jī)、CPU700M*2、內(nèi)存512M*6以下是現(xiàn)場發(fā)過來的主要配置情況:lockschemedatapages/datapages鎖模式是性能最差的鎖,一般不用numberoflocks300000/通常不需要配置太多的鎖10萬就夠了maxmemory500000物理內(nèi)存3G,配給sybase的為1G明顯不合理(內(nèi)存*1024*1024*0.5*60%)numberofope
28、nindexes4000/通常2000numberofopenobjects4000/通常2000numberofuserconnections300/numberofworkerprocesses0多cpu要打開相應(yīng)工作進(jìn)程數(shù)procedurecachesize154800存儲過程緩存不要超過100Mtotaldatacachesize453699/明顯該值太小allocatemaxsharedmemory0打開sybase占用內(nèi)存的開關(guān)maxonlineengines2numberofenginesatstartup2問題處理:建議先調(diào)整以下配置sp_configuremaxmemory,
29、1150000/sybase占用2.3G內(nèi)存sp_configureallocatemaxsharedmemory,1/用戶日志緩存用來緩存客戶段信息sp_configureuserlogcachesize,4096sp_configureprocedurecachesize,50000100M存儲過程緩存sp_configurenumberofworkerprocesses,2備份sybase主目錄下的*.cfgsp_cacheconfigdefaultdatacache,1G配置缺省數(shù)據(jù)緩存1Gsp_cacheconfigdefaultdatacache,cache_partition=2
30、rebootsybase月服務(wù)備份sybase主目錄下的*.cfgsp_cacheconfigtempdb_cache,400M/由于內(nèi)存較充裕,通常會分配一部分內(nèi)存給tempdb,提高查詢的速度sp_bindcachetempdb_cache,tempdb綁定400M的內(nèi)存給tempdbrebootsybase月服務(wù)上述操作如無法啟動sybase月服務(wù)則可以將備份的*.cfg替換當(dāng)前的配置文件,重新bootsybase服務(wù)sybase11.9.2&12.0&早期版本的配置通常為以下幾項(xiàng):totalmemory定義sybase月服務(wù)能夠使用的物理內(nèi)存numberoflock/定義鎖的數(shù)目num
31、berofopendatabase/打開的數(shù)據(jù)庫個數(shù),缺省是12個,數(shù)據(jù)庫數(shù)目超過12個時(shí)要調(diào)整該值numberofdevices/數(shù)據(jù)庫的設(shè)備數(shù),缺省是10,通常是不夠的,需要調(diào)整numberofuserconnections/用戶連接數(shù),根據(jù)需要設(shè)置,通常一個用戶數(shù)消耗100K的內(nèi)存這個版本的數(shù)據(jù)庫緩存、日志緩存、過程緩存是不用手工配置的userlogcachesizesybase12.5版本的配置通常為以下幾項(xiàng):lockscheme鎖模式,sybase推薦使用缺省(allpages),但是一些并發(fā)操作多的表(temp_telebill)要使用行鎖(datarows),減少被鎖現(xiàn)象numb
32、eroflocks/通常不需要配置太多的鎖10萬就夠了maxmemory/sybase服務(wù)能夠使用的物理內(nèi)存,通常配置成物理內(nèi)存的70%80%,上例內(nèi)存是3G,配給sybase的為1G明顯不合理allocatemaxsharedmemory打開sybase占用內(nèi)存的開關(guān)numberofopenindexes/通常2000,該值配置過低時(shí)會在日志中報(bào)該值不夠,最終導(dǎo)致性能緩慢numberofopenobjects/通常2000,該值配置過低時(shí)會在日志中報(bào)該值不夠,最終導(dǎo)致性能緩慢numberofuserconnections/用戶連接數(shù),根據(jù)實(shí)際需求來配置,盲目多配會浪費(fèi)內(nèi)存procedurec
33、achesize存儲過程緩存不要超過100M,用來緩存過程的編譯代碼。numberofopendatabase/打開的數(shù)據(jù)庫個數(shù),缺省是12個,數(shù)據(jù)庫數(shù)目超過12個時(shí)要調(diào)整該值numberofdevices/數(shù)據(jù)庫的設(shè)備數(shù),缺省是10,通常是不夠的,需要調(diào)整/日志緩存用來保留客戶端連接信息的,每個連接都會生成個userlogcachesize大小的cache,該值缺省為2K,主機(jī)內(nèi)存充裕時(shí)可以配成4K。在12.5及以后的版本中都要手工的配置defaultdatacache,缺省為8M,幾乎所有的用戶操作都是在這個緩存中進(jìn)行的,如果不優(yōu)化的話嚴(yán)重影響數(shù)據(jù)庫性能。優(yōu)化的方法是把盡可能多的內(nèi)存配置給
34、defaultdatacache,即:maxmemory-所有其他內(nèi)存消耗(用戶數(shù),鎖數(shù)等)-少許預(yù)留內(nèi)存二defaultdatacache。sp_cacheconfigdefaultdatacache,1G配置缺省數(shù)據(jù)緩存1Gsp_cacheconfigdefaultdatacache,cache_partition=2關(guān)于卬u的配置maxonlineengines/sybase使用的卬u的個數(shù)numberofenginesatstartup激活cpu的個數(shù)numberofworkerprocesses多卬u要打開相應(yīng)工作進(jìn)程數(shù)8設(shè)備路徑更改的方法關(guān)閉服務(wù)設(shè)為單用戶模式C:SybaseASE
35、-12_5installRUNianxin.bat加上-m修改設(shè)備路徑isql-Usa-P-Sjianxin(服務(wù)名)usermastergoselect*fromsysdevicesgoupdatesysdevicessetphyname=新的路徑wherename二更改的設(shè)備名go逐個修改將C:SybaseASE-12_5installRUN_jianxin.bat加上-m的-m去掉9dump文件load后數(shù)據(jù)庫訪問不了解決辦法原因:userid不對應(yīng)1連接master,查看syslogins的suid查看sysusers的suidsysusers的suid要與syslogins的suid
36、對應(yīng)使用命令sp_configureallowupdates,1go進(jìn)行修改,改完后執(zhí)行sp_configureallowupdates,0go10sybase數(shù)據(jù)庫備份方案在實(shí)際應(yīng)用中,我們總結(jié)出了兩種全量備份方案:、使用Sybase的backupserver(備份服務(wù)器),做dump備份轉(zhuǎn)儲數(shù)據(jù)庫(dumpdatabase),就是為整個數(shù)據(jù)庫(包括數(shù)據(jù)、表結(jié)構(gòu)、觸發(fā)器、游標(biāo)、存儲過程、事務(wù)日志等)做一次物理備份。轉(zhuǎn)儲數(shù)據(jù)庫時(shí),系統(tǒng)自動執(zhí)行一次checkpoint,即將日志和數(shù)據(jù)從緩沖區(qū)拷貝到硬盤(只拷貝臟頁),把已被分配的頁(日志和數(shù)據(jù))轉(zhuǎn)儲到設(shè)備。命令格式為:dumpdatabase數(shù)據(jù)
37、庫名to設(shè)備文件名with參數(shù)如果備份到硬盤的文件上,可以不預(yù)先估算備份文件的大小,只要硬盤有足夠的存儲空間就可以。如果是備份到dds磁帶上,那么就要估算一下備份后的大小,90米的dds磁帶壓縮存儲空間為4g,120米的磁帶壓縮存儲空間為8g,如果數(shù)據(jù)庫的備份文件超過了這個尺寸,就要考慮多文件轉(zhuǎn)儲,使用stripe參數(shù)。命令格式為:dumpdatabase數(shù)據(jù)庫名to設(shè)備文件名1stripeon設(shè)備文件名2stripeon設(shè)備文件名3with參數(shù)這種數(shù)據(jù)備份方式是將整個數(shù)據(jù)庫的運(yùn)行環(huán)境完整的復(fù)制一份,包括數(shù)據(jù)庫的臟頁和碎片,在使用load命令恢復(fù)時(shí),只能恢復(fù)到同樣大小的數(shù)據(jù)庫中(數(shù)據(jù)和日志的大
38、小都只能和原來完全一致),適用于在每天的日終營業(yè)網(wǎng)點(diǎn)下班后的日常備份。優(yōu)點(diǎn)是數(shù)據(jù)庫完整無誤,缺點(diǎn)是不能直接查看備份內(nèi)容。二、分?jǐn)?shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)記錄做兩次備份在一般情況下,生產(chǎn)機(jī)的數(shù)據(jù)庫都比較龐大,而實(shí)驗(yàn)機(jī)則相對較小,難以在實(shí)驗(yàn)環(huán)境中以load命令恢復(fù)工作機(jī)的內(nèi)容。所以,在工作實(shí)踐中,我們摸索出了第二種全量備份方案。1、數(shù)據(jù)結(jié)構(gòu)備份在windows平臺的Sybasesqlservermanager(數(shù)據(jù)庫管理)平臺中選擇serveragenerateddl則產(chǎn)生整個數(shù)據(jù)庫服務(wù)器的所有信息如果選擇databaseagenerateddl則產(chǎn)生所選定數(shù)據(jù)庫的信息,以master庫為例,產(chǎn)生的文件主要包
39、括:config.ddl(配置)、devices.ddl(設(shè)備)、database.ddl(數(shù)據(jù)庫)、logins.ddl(用戶)、remote.ddl(遠(yuǎn)程)、cache.ddl(緩沖)、segment.ddl()、group.ddl(用戶組)、user.ddl(用戶)、default.ddl(確?。?、rule.ddl(規(guī)則)、udt.ddl、table.ddl(表)、view.ddl(視圖)、proc.ddl(存儲過程)、triger.ddl(觸發(fā)器)。2、數(shù)據(jù)記錄備份將數(shù)據(jù)庫各表以sybase自代的bcp(bulkcopy)工具的方式導(dǎo)成一定格式的文本文件,命令格式:bcp表名out路徑
40、名文件名-c-t分隔符-u(用戶名)-p(密碼)-s(服務(wù)器名)如果將一個數(shù)據(jù)庫中的所有表都做一個bcp備份,就需要針對每一個表都做一次bcp,在一般情況下,一個數(shù)據(jù)庫有100多個表,工作量比較大??梢岳脭?shù)據(jù)庫中的系統(tǒng)表信息做一個bcp備份腳本。原理是每一個用戶表在系統(tǒng)表中都有信息記載,可以通過isql語句查詢得到?,F(xiàn)舉一例說明:1)、先編輯一個名為mkbcpout.sql的文件,內(nèi)容如下:selectechobcp+name+out+bcp+name+out./+name+.table-c-t|-uuser-ppassword-sserverfromsysobjectswheretype二
41、ugo2)、執(zhí)行isql命令,以此文件作為輸入,執(zhí)行結(jié)果輸出到另外一個文件里:isql-uuser-ppassword-sserver-imkbcpout.sql-obcpout3)、對bcppout文件稍微修改,增加可執(zhí)行權(quán)限chmod+xbcpout4)、執(zhí)行bcpout,導(dǎo)出數(shù)據(jù)文本./bcpout3、數(shù)據(jù)庫恢復(fù)業(yè)務(wù)生產(chǎn)機(jī)可能為小型機(jī),而實(shí)驗(yàn)開發(fā)環(huán)境的硬件環(huán)境為pcserver,安裝好winnt或scounix下的sybase月服務(wù)器后,根據(jù)需要創(chuàng)建空間足夠大的數(shù)據(jù)庫和tempdb(系統(tǒng)臨時(shí)數(shù)據(jù)庫),創(chuàng)建數(shù)據(jù)庫用戶,并將其更改為此數(shù)據(jù)庫的所有者,要注意兩點(diǎn):1)此數(shù)據(jù)庫允許bcp拷貝,2
42、)此數(shù)據(jù)庫自動清除log。命令格式為:1sp_dboptiondatabasedbname,selectinto/bulkcopy,true2go1sp_dboptiondatabasename,trunclogonchkpt,true2go上述兩個配置可能與生產(chǎn)機(jī)的配置不同。然后以新創(chuàng)建的數(shù)據(jù)庫用戶登錄,導(dǎo)入數(shù)據(jù)結(jié)構(gòu),注意要首先導(dǎo)入表結(jié)構(gòu),然后才是存儲過程、觸發(fā)器等等。命令格式:1、isql-uusername-ppassword-itable.ddl-oerror.log.table2、c為了提高bcp導(dǎo)入數(shù)據(jù)的速度,需要將比較大的表的索引和主鍵刪除,否則的話,每bcp進(jìn)一條數(shù)據(jù),數(shù)據(jù)庫都自動寫一條log日志,記載此數(shù)據(jù)的上一條和下一條記錄,確定本記錄在此表中的準(zhǔn)確位置,一是影響bcp速度,二是數(shù)據(jù)庫的log飛速膨脹。數(shù)據(jù)庫的自動清除log功能只有在一個事務(wù)結(jié)束后才起作用。準(zhǔn)備工作做完后,開始倒入數(shù)據(jù)記錄。使用類似做bcpout的方法做一個bcpin的腳本,然后執(zhí)行:./bcpin|teeerror.bcpin使用tee管道輸出的目的是讓計(jì)算機(jī)完整記錄下倒入過程,自動存入error.bcpin文件中
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- GB/T 28807.3-2025軌道交通機(jī)車車輛和列車檢測系統(tǒng)的兼容性第3部分:與計(jì)軸器的兼容性
- 個人購銷農(nóng)機(jī)合同范本
- 辦證合同范本模板
- 2025年黑龍江貨運(yùn)從業(yè)資格證模擬考試題目
- 2025年固原貨運(yùn)從業(yè)資格證考試試題
- 農(nóng)業(yè)招標(biāo)合同范本
- 供水項(xiàng)目施工合同范本
- 分級銷售合同范本
- 做布料生意合同范本
- 辦公花卉采購合同范本
- 休學(xué)復(fù)學(xué)申請書
- 瓷磚鋪貼勞務(wù)承包協(xié)議書
- 2025年四川司法警官職業(yè)學(xué)院高職單招職業(yè)適應(yīng)性測試近5年常考版參考題庫含答案解析
- 新建污水處理廠工程EPC總承包投標(biāo)方案(技術(shù)標(biāo))
- 山東省德州市2024-2025學(xué)年高三上學(xué)期1月期末生物試題(有答案)
- 《宏觀經(jīng)濟(jì)管理研究》課件
- 本人報(bào)廢車輛委托書
- 雙減政策與五項(xiàng)管理解讀
- 2025年道德與法治小學(xué)六年級下冊教學(xué)計(jì)劃(含進(jìn)度表)
- 過橋資金操作流程
- 2025年安徽合肥市公安局經(jīng)開分局輔警招聘58人歷年高頻重點(diǎn)提升(共500題)附帶答案詳解
評論
0/150
提交評論