不管在 Unix (Solaris, AIX, Linux, HP-OS)或是 Windows 的 Sybase 伺服器
都會有著這個指令, 可以以 commmand 模式操作資料庫
假設 Sybase 啟動之伺服器名稱為 SybaseServer
-w 可以設定視窗寬度為 1000 ,如果是用 putty 等連線軟體連的時候可以放寬可視區域
isql -Usa -SSybaseServer -w1000 -e -n
disk init name = "DBName_data01", physname = "/opt/sybase/data/DBName_data01.dat", SIZE = "2G" disk init name = "DBName_log01", physname = "/opt/sybase/data/DBName_log01.dat", SIZE = "2G"
CREATE DATABASE DBName ON DBName_data01 = '2G' log ON DBName_log01 = '2G'
ALTER DATABASE DBName ON DBName_data02 = '2G' ALTER DATABASE log ON DBName_log02 = '2G' ALTER DATABASE DBName ON DBName_data02 = '2G' log ON DBName_log02 = '2G'
online DATABASE DBName
dbcc checktable (syslogs)
請注意此指令的使用並非常態,請先了解其真正用意後再行使用
dump tran DBName TO file_name /* 備份 transaction segment 到檔案去 */ OR dump tran DBName WITH truncate_only /* 清除 log 不備份 */ OR dump tran DBName WITH no_log /* 清除 log 不備份 */
先確認無任何人連線於該資料庫中,建議先請該使用者離線,不得已時再使用 kill 指令剔除該 User
LOAD DATABASE DBName FROM '/opt/sybase/dump/20101030/DBName_20101030060101.dmp'
於還原完 database 後,在 database online 前執行,若 online database 即無法執行此指令
LOAD tran DBName FROM '/opt/sybase/dump/20101030/DBName_trans_20101030060101.dmp'
還原完所有 transaction log 後再將 database online
直接抓取系統 tabel 裡的紀錄值
SELECT O.name,rowcnt(I.doampg) RecCnt FROM sysobjects AS O,sysindexes AS I WHERE I.id = O.id AND I.indid = 1 AND O.type = 'U' ORDER BY RecCnt DESC
<fbl>