1、timeslice -201,current process infected錯誤,幾天出現一次,需要重
新啟動服務,同時還報好多SQL錯誤
解決方法:打Sybase補丁
2、錯誤:Recovering database 'master'
00:00000:00001:2004/03/12 10:05:27.70 server Redo pass of recovery has processed 10 committed and 0 aborted transactions.
00:00000:00001:2004/03/12 10:05:27.81 server No such message: 1105
00:00000:00001:2004/03/12 10:05:27.81 server There is no space available in SYSLOGS for process 1 to log a record for
which space has been reserved. This process will retry at intervals of one minute.
The internal error number is -4
解決方法:第一步:
認為很簡單,在啟動文件中加-T3607 -m,然後用sa進
dump tran master with no_log或
alter database master on master_dev=xxxM 即可
問題:
啟動報:Error: 3475, Severity: 21, State: 7
00:00000:00006:2004/03/12 10:38:55.71 server There is no space available in SYSLOGS for process 6 to log a record for which space has been reserved. This process will retry at intervals of one minute. The internal error number is -4.
用sa登陸進不去:報:
isql -Usa -Pxxx
Can't allocate space for object 'syslogs' in database 'master' because
'logsegment' segment is full/has no free extents. If you ran out of space in
syslogs, dump the transaction log. Otherwise, use ALTER DATABASE or
sp_extendsegment to increase size of the segment.
Msg 3475, Level 21, State 7:
There is no space available in SYSLOGS for process 6 to log a record for which
space has been reserved. This process will retry at intervals of one minute. The
internal error number is -4.
CT-LIBRARY error:
ct_connect(): user api layer: internal ClIEnt Library error: Read from t
he server has timed out.
第二步:從沒遇到這種情況 再加 -T699(Turn off transaction logging for the entire SQL dataserver)
這次sa可進
執行
alter database master on master_dev=xxxM 報和上面一樣的錯
dump tran master with no_log也不行
本想bcp系統表再重建master,總是麻煩(懶),還是生產機
第三步: 再加-T7409
執行 alter database master on master_dev=xxxM ok
問題解決
---------來自CU
3、啟動時數據庫不能回滾
解決方法:第1. 使用 install目錄下 的 RUN 文件啟動數據庫服務器(如果服務已經啟動,可跳過此步驟)
第2. 使用isql連接進入數據庫服務器
isql -Usa -Ppasswd -S server_name
1>sp_configure 'allow update',1
2>go
1>use master
2>go
1>sp_helpdb DB_NAME
2>
您正在看的sybase教程是:CU和個人的一點Sybase資料整理。
記下此處查詢出的數據庫選項 (例如:select into/bulkcopy等)
1>begin tran
2>go
1>update sysdatabases set status = -32768 where name = 'DB_NAME' (注意:一定要加上數據庫名稱條件,切記,最好使用事務)
2>go
如果顯示 (1 row affected),commit,否則 rollback
1>commit
2>go
1>shutdown with nowait
2>go
第3. 重新重復步驟1,啟動數據庫服務器,注意觀察日志中是否顯示 在 recovery database DB_NAME 時使用bypass狀態,如果正常,這種情況下,數據庫服務器應該能夠完全啟動
第4. 使用isql連接進入數據庫服務器
isql -Usa -Ppasswd -S server_name
1>use master
2>go
1>dump tran DB_NAME with no_log ( dbcc rebuild_log(DBNAME,1,1) )
2>go
1>update sysdatabases set status = 0 where name = 'DB_NAME' (注意:一定要加上數據庫名稱條件,切記)
2>go
1>shutdown with nowait
2>go
第5. 重新重復步驟1,啟動數據庫服務器,注意觀察日志中是否顯示 recovery database DB_NAME 成功,DB_NAME數據庫online
第6. 恢復數據庫選項
使用isql連接進入數據庫服務器
isql -Usa -Ppasswd -S server_name
1>use master
2>go
1>sp_dboption DB_NAME,'select into',true
2>go
1>use DB_NAME
2>go
1>checkpoint
2>go
如果有其他選項,依法處理
先試步驟四中的 dump tran with no_log 如果不行就用後面括號中那個命令 dbcc rebuild_log(DBNAME,1,1)
dbcc rebuild_log,如果還不行,只有恢復備份了
如果沒有備份,只能在重新做1到3步驟,然後使用bcp將數據庫中所有數據備份出來,然後重新創建數據庫了。
強行截斷日志的方法能夠清除系統中日志的錯誤,讓數據庫正常online,但也有可能造成數據庫中用戶表甚至系統表的損壞,
所以建議在數據庫正常online後進行全庫的DBCC檢查(比如dbcc checkdb、 dbcc checkalloc等)以確保正常運行。
-----------來自CU
4、Sybase打補丁
數據庫打補丁
下載相應的補丁,上傳到機器上的某個目錄下(自己確定),例如/ebf
cd /ebf
gzip –S filename(解壓縮為*.tar文件)(也可以在window平台上用winzip解壓縮
後再上傳)
tar –xvf *.tar
在sybase服務停掉的情況下,拷貝解開的所有文件到/Sybase目錄下
su - Sybase
cd /Sybase
cp –R /ebf/../* .
chown –R sybase:sybse /Sybase
啟動Sybase服務,執行腳本:
isql -Usa -P -n -i /Sybase/scripts/installmaster -o installmaster.txt
isql -Usa -P -n -i /Sybase/scripts/installdbccdb -o installdbccdb.txt
isql -Usa -P -n -i /Sybase/scripts/instmsgs.ebf -o instmsgs.txt
通過select @@version 確定補丁安裝成功。
------------來自CU
5、AIX上簡單的備份腳本
bktime="`date +%y%m%d%H%M`" 備份數據庫的時間
bkdbname="master" 要備份的數據庫名字
bkuser="`whoami`" 執行備份的系統用戶
cd /data 存放備份的目錄
bkname="'""/data/${bkdbname}_20${bktime}.dat""'" 備份文件名字
echo "---------backup is beging at ${bktime} by ${bkuser}--------" >> dump.log
echo "--backup name:$bkname--"
您正在看的sybase教程是:CU和個人的一點Sybase資料整理。
echo "--backup time:$bktime--"
echo "--backup dbname:$bkdbname--"
su - sybase -c "isql -Usa -P -SSybase <dump database ${bkdbname} to "${bkname}"
go
DUMP"
echo "---------backup is completed----------" >>
dump.log