TRANSLOG 句
特別な DB 領域名 TRANSLOG を指定して、トランザクションログのディスク領域を事前に割り付けます。トランザクションログが急速に拡大することが予想される場合、事前割り付けによりパフォーマンスが向上します。たとえば、ビットマップのような多量のバイナリラージオブジェクト
(BLOB) を処理する場合、この機能を使用できます。
構文 ALTER DBSPACEdbspace-nameTRANSLOG RENAMEfilename はサポートされていません。
TEMPORARY 句
特別な DB 領域名 TEMPORARY を指定して、テンポラリ DB 領域にスペースを追加します。テンポラリ DB 領域にスペースが追加されるとすぐに、追加のスペースは対応するテンポラリファイルで実体化されます。データベースのテンポラリ DB
領域に領域を事前に割り付けると、大きなワークテーブルを使用する複雑なクエリを実行する場合、パフォーマンスが向上します。
文を実行する前に DB 領域がすでに開いている場合 (つまり、実際のファイルの名前はまだ変更していない場合)、継続してアクセスすることはできますが、カタログに格納されている名前は更新されます。データベースが停止した後、ファイルの名前を変更して、RENAME
句で指定したのと同じ名前に変更する必要があります。そうしないと、カタログにある DB 領域の名前とファイル名が一致せず、データベースを次に起動するときに、データベースサーバが DB 領域を開くことができなくなります。
文を実行したときに DB 領域が開いていない場合、データベースサーバは、カタログを更新し、その後で DB 領域を開くことを試行します。DB 領域を開くことができたら、アクセス可能になっています。DB 領域を開くことができない場合でも、エラーは返されません。
DB 領域が開いているかどうかを確認するには、次に示す文を実行します。結果が NULL である場合は、DB 領域は開いていません。
メイン DB 領域の system に RENAME 句を指定した ALTER DBSPACE を使用しても効果はありません。RENAME 句はトランザクションログファイルの名前の変更には対応していません。BACKUP DATABASE 文を使用して、実行中のデータベースのトランザクションログの名前を変更できます。次に例を示します。
BACKUP DATABASE DIRECTORY 'directory-name'
TRANSACTION LOG ONLY
TRANSACTION LOG RENAME;
それぞれのデータベースは 1 つまたは複数のファイルの中に保持されます。DB 領域は、各データベースファイルに関連付けられた論理名を持つ追加ファイルであり、メインデータベースファイル単独では保持できないデータを格納するために使用されます。ALTER
DBSPACE は、メインデータベース (ルートファイルとも呼ばれます) または追加の DB 領域を修正します。データベースの DB 領域名は、SYSDBSPACE ビューに保持されます。メインデータベースファイルの DB 領域名は system
です。
マルチファイルデータベースを起動すると、起動ラインまたは ODBC データソースの記述が、SQL Anywhere にメインデータベースファイルの場所を知らせます。メインデータベースファイルは、システムテーブルを保持しており、SQL Anywhere
は、このシステムテーブルを調べて他の DB 領域のロケーションを検索します。次に、SQL Anywhere は、検索した各 DB 領域を開きます。default_dbspace オプションを設定して新規テーブルを作成する DB 領域を指定できます。