為版本10 重建數據庫
本部分描述如何卸載數據庫並將其加載至一個新的版本10 數據庫中。若欲升級Windows CE
數據庫,請參看相應文檔。
注意:
卸載和加載大數據庫可能會耗費相當的時間和磁盤空間。整個過程需要占用大約兩倍於數據庫
大小的磁盤空間來保存卸載數據和新數據庫文件。
以下是使用版本10 提供的工具來升級版本9.0.2 或者更早版本數據庫時的限制條件:
· 必須斷開較早版本的數據庫服務器與數據庫的連接,並關閉所有運行的較早版本的數
據庫服務器。您也必須關閉版本10 的數據庫服務器。若dbunload 檢測到以上情況,
可能導致錯誤或失敗。
· 不要在dbunload 的連接串中(-c 選項)包含ENG、START 或LINKS 連接參數。如果您
指定了以上參數,它們會被忽略並產生警告信息。在Sybase Central 的連接對話框
中,不要在服務器名和啟動行兩個文本框中輸入值。
· 必須在舊版數據庫駐留的計算機上運行dbunload(dbunload 必須使用共享內存連接數
據庫)。
· 不能在重建即將發生的計算機上啟動一個名為dbunload_support_engine 的數據庫服
務器。
· 如果您使用NetWare,則必須在Windows、Unix 平台上重建數據庫。您可使用在
NetWare 上的版本10 數據庫服務器連接到升級後的數據庫。
特殊事項:
· 密碼大小寫敏感。在新創建的SQL Anywhere 10 數據庫中,無論數據庫的大小寫敏感設
置,所有的密碼都是大小寫敏感的。DBA 的新缺省密碼是sql。
當您重建已有數據庫時,SQL Anywhere 按照以下規則來決定密碼的大小寫敏感:
o 若原密碼是在一個大小寫敏感的數據庫中建立的,則密碼保持大小寫敏感。
o 若原密碼是在一個大小寫敏感的數據庫中建立的,大寫與大小寫混合的密碼將保持
大小寫敏感。雖然如此,如果原密碼全為小寫,則密碼變為大小寫敏感。
o 修改已有密碼和新密碼都是大小寫敏感的。
· 頁面大小。SQL Anywhere 10 已經將缺省的頁面大小從2048 字節調整為4096 字節。在
版本10 中,支持2048 字節、4096 字節、8192 字節、16384 字節和32768 字節。若舊版
數據庫使用不支持的頁面大小,新數據庫會使用缺省的4096 字節作為頁面大小。使用帶
有-p 選項的dbinit 命令來指定一個不同的頁面大小。
· 字符排序。除非您為重建的數據庫指定一個新的或不同的字符排序,否則將沿用舊版數據
庫中的字符排序。
如果您使用自定義的字符排序來重建數據庫,則字符排序在單步重建的情況下會得到保
存。如果選擇卸載數據庫然後再加載模式和數據到新創建的數據庫,則必須使用提供的字
符排序之一。
· 外部卸載加載及字符集轉換。當您使用外部卸載、加載,且數據庫的字符集與運行
dbunload 主機系統的字符集不匹配,則字符集的轉換可能導致數據損壞,因為數據從數據
庫字符集轉換到了主機系統的字符集。為了避免這個問題,在數據庫連接字符串中(-c 選項
或dbunload 的-ac 選項)指定數據庫字符集,或在數據庫卸載向導的適當位置填入值。例
如,數據庫字符集為UTF-8,則必須將“CharSet=utf-8”包含在連接串中:
dbunload -c UID=user-ID;PWD=password; CHARSET=utf-8;DBF=filename -ac UID=user-ID; PWD=passWord;CHARSET=utf-8;ENG=server-name -xx