|
Blogs by

Koichi Ogawa

目的 このページでは、「パフォーマンス警告: データベース “database” では、サーバ用に設定された最大値 Y にページサイズ X が一致せず、キャッシュの非効率的な使用の原因となっています。」というデータベースコンソールログメッセージの意味について説明しています。 概要 実行中の各データベースエンジンは、すべてのデータベースにわたるキャッシュ用に使用する単一の固定ページサイズを使用します。 このキャッシュページサイズは、データベースエンジンの起動時に設定され、最小値は2048バイトです。 サーバーキャッシュのページサイズは、データベースの最大ページサイズと少なくとも同じ大きさでなければなりません 実行中の各データベースエンジンは、キャッシュ用に使用する単一の固定ページサイズを使用します。 このキャッシュページサイズは、データベースエンジンの起動時に設定され、2048バイト(2K)の最小値を持ちます。 各データベースは、固定ページサイズを使用します。これは、データベースの作成時に設定されます。 このデータベースページサイズの最小値は2048バイト(2K)です。 既定では、エンジンが1つのデータベースで開始されると、キャッシュページのサイズはデータベースのサイズと一致します。 データベースエンジンのコマンドラインで複数のデータベースが起動された場合、キャッシュページのサイズは、デフォルトでデータベースページサイズの最大値に設定されます。 キャッシュページサイズは、実行するデータベースのページサイズと少なくとも同じ大きさでなければなりません。 エンジンのページサイズを明示的に、ロードするデータベースよりも大きな値に設定する場合は、-gp engineコマンドラインスイッチを使用して設定できます。 エンジンの操作中にページサイズの大きなデータベースを動的に開始できるようにするには(START DATABASEを使用するなど)、これを行うことができます。 ページサイズの不一致 キャッシュページサイズがデータベースページサイズより大きいデータベースエンジンを起動すると、データベースコンソールログに次の警告メッセージが表示されます。 例 dbeng16 -gp 8192 demo.db 「パフォーマンス警告: データベース “demo” では、サーバ用に設定された最大値

目的 このページでは、SQL Anywhereデータベースとデータベースサーバを自動起動する際に役立つ情報を提供します。   概要 様々なデータベースシステムに接続する場合、一般的な接続の枠組みとして、クライアントがデータベースに接続する前に、データベースサーバとデータベースを起動する必要があります。これはSQL Anywhereの典型的な接続シナリオです。 しかし、SQL Anywhereは自動起動と呼ばれるコンセプトもサポートしています。これはクライアントアプリケーションが十分な情報を与えていれば、データベースやデータベースサーバを見つけられない場合、動的に起動することができます。 これにより、データベースサーバが事前に起動されていなくても、クライアントアプリケーションを起動して実行することができます。 さらに、データベースやサーバを自動起動したアプリケーションが切断されると、データベースやデータベースサーバは自動的にシャットダウンすることができます。 (システムリソースを使用する)データベースサーバも常にシャットダウンすることで、管理が容易になり、アプリケーションは必要に応じてデータベースを使用できます。 自動起動機能は下記のクライアントアプリケーションプログラミングインターフェース(APIs)でSQL Anywhere データベースサーバへ接続した場合のみ使用可能となります。 ESQL ODBC ADO.NET OLE DB JDBC (SQL Anywhere JDBC ドライバを使用) Sybase Open ClientやjConnectを使用した SQL Anywhere サーバへの接続では、サーバを自動起動できない別のプロトコル(Tabular Data Stream(TDS))と接続メカニズムを使用します。本書は、これらのタイプの接続には当てはまりません。   データベースへの接続

目的 このドキュメントでは、SQL Anywhere があなたのデバイスでどれくらいのディスク容量を使用しているかをモニタする際に役立つ情報を提供します。 概要 ディスク容量の使用状況をモニタするだけでなく、ディスク容量の少ないシナリオの場合に対応できるようにするには、すべてのデータベース管理者の”Todo”リストに表示されている必要があります。 それを効果的に行うためには、データベースサーバーによって使用されるファイルとその場所を理解することが重要です。 前提条件 MANAGE ANY DBSPACE システム権限が必要です。 ディスク容量のモニタリング 一般に、SQL Anywhereデータベースは3種類のファイルで構成されています。 “dbspace”  (ひとつ以上の)データベースオブジェクトが格納される場所(たとえばテーブル、インデックス、プロシージャ、データ)。 このファイルの拡張子は通常”.db”または”.dbs”です。 トランザクションログ(ミラーログがある場合もあります)トランザクションログはデータベースをリカバリーするためにすべてのトランザクションを保存します。このファイルの拡張子は通常”.log”または”.mlg”です。 テンポラリファイル データベースサーバのすべての一時的なデータを保存します。 (例:ソートに使用されるテンポラリテーブル、メモリに収まらないデータページのストレージ、その他) 各ファイルのサイズと場所を調べるために、SQL AnywhereはSQLコマンドで問い合わせできるデータベースプロパティを提供しています。 例: SQL Anywhere 16 Demo データベースを使用する(http://dcx.sap.com/index.html#sa160/ja/saintro/fg-sademo.html 参照) — dbspace “dbspace1” を作成します CREATE

目的 このページでは、SQL Anywhere のテンポラリファイルを扱う際に役立つ情報を提供します。 概要 テンポラリファイル (sqla####.tmp) は、SQL Anywhere データベースサーバによって起動時に作成され、シャットダウン時に削除されるファイルです。その名前が示すように、データベースサーバの実行中に、一時的な情報を保持する目的で使用されます。セッション間で維持する必要のある情報は、テンポラリファイルでは保持されません。sort、distinct、union といった操作の実行時に、十分な量のキャッシュを確保できない場合、データベースサーバによって使用されます。 テンポラリファイルの格納場所は、TMP、TMPDIR、または TEMP 環境変数を使用するか、-dt データベースサーバオプションを使用して指定します (たとえば、dbeng16 -dt “.” という指定では、現在のディレクトリにテンポラリファイルが作成されます)。テンポラリファイルの格納場所によっては、パフォーマンスに影響を及ぼす場合があります。データベースサーバによるテンポラリファイルの使用頻度が高い場合、I/O の同時実行性を向上させるため、独立した物理ドライブにテンポラリファイルを配置することをおすすめします。 他の DBMS システム (Adaptive Server Enterprise や SQL Server) とは異なり、SQL Anywhere にはテンポラリデータベース (tempdb) は用意されていません。作成されたテンポラリオブジェクトはテンポラリファイルに格納されますが、tempdb プレフィクスを付加して明示的にアクセスする必要はありません。

目的 このページの目的は、SQL Anywhere でジョイン条件に対して WHERE 句を使用した際の動作を説明します。     概要 SQL Anywhereのクエリでジョイン条件を指定する場合、基本的には、ON句、WHERE句のどちらを使用することも可能です。 ただし、外部ジョインを含むクエリでWHERE句によりNULL入力テーブル(外部ジョインされるテーブル)側のローを制限しようとした場合、クエリオプティマイザーは、その外部ジョインを内部ジョインとして扱う場合があります。 これにより、クエリの実行者が期待したような結果を得られない可能性がありますので注意が必要です。     具体的な現象の例 例として次のようなテーブル TableA と TableB の外部ジョインで説明します。   TableA Col1 Col2 1 A 2 B 3 C 4 D 5 E  

  前提条件 SAP SQL Anywhereが既にインストール済みであることが前提となります。 新規のインストールを行う場合は、インストーラーの入力画面でライセンスキーを入力してください。   準備作業 対象となる実行プログラムの種類とデータベースアプリケーションのビット数(32ビット、または64ビット)を確認します。 SQL Anywhereにはライセンスキーの設定対象となる3つの実行プログラムがあります。 それぞれの実行プログラムに対応するライセンスファイル(.lic)が存在しているので、ライセンスキーの設定は各実行プログラム毎に行う必要があります。 1 ネットワークデータベースサーバ (dbsrvXX) dbsrvXX.lic 2 パーソナルデータベースサーバ(dbengXX) dbengXX.lic 3 Mobile Linkサーバ(mlsrvXX) mlsrvXX.lic 上記 XX には製品バージョンの番号が入ります。 ライセンスキーの設定方法 以下の作業はすべてコマンドプロンプトから実行します。 1.カレントフォルダの変更<br>対象のライセンスファイルを操作するため、製品のインストールフォルダに移動します。 例: >CD “C:\Program Files\SQL Anywhere XX\BinYY”