SAP SQL Anywhere におけるデータベースオプションの機構

このページは、以下の英語ページの抄訳です。最新の情報については、英語ページを参照してください。

この記事でふれている「データベースオプション」とはデータベースの動作をさまざまな面から制御するオプションパラメータを意味し、別途ライセンスが必要な有償オプション機能やデータベースサーバ起動時に指定するオプションのことではないことにご注意下さい。

この記事のオリジナルは、Glenn Paulleyが sybase.com に 2009 年 9月に掲載したものです。その中で、Glenn は ユーザー独自のカスタムデータベースオプションの作成・設定方法や、データベースオプション変更の監視や回避機能など、SQL Anywhere におけるデータベースオプションの使用について解説しています。

 

SQL Anywhere では、アプリケーションはサーバーや、データベース、接続レベルのデータベースオプションによって、サーバーのオペレーションおよび/またはアプリケーションの目に見えるセマンティクスに影響を与える様々な動作をコントロールすることが可能です。
SQL Anywhere に実装されている「データベースオプション」は、ISO 標準SQL のものではありません。しかしながら、「グローバル変数」サポートのコンセプトについては、標準SQL のプロセスで議論がなされています。
SQL Anywhere のデータベースオプションでは、値を更新して取得する別のメカニズムと伴わせて「グローバル変数」を実装します。

SQL Anywhere のサーバーデータベースオプションは、システムカタログ内に永続的に格納され、SYSOPTION ビューを使用して見ることが可能です。

/wp-content/uploads/2014/06/sysoption_443153.png

サーバー定義のデータベースオプションは、バイナリ設定(ON vs. OFF)のものもあれば、integer や、特定の character string 設定、自由形式の string で入力されるものもあります。
データベースオプションの「魔法」(特徴)は、それぞれのシステムデータベースオプションが、多くの場合ユーザーまたは特定の接続によって永遠にあるいは一時的にオーバーライドされてしまう PUBLIC 設定というデフォルト値をもつことです。
上の画面では、それぞれのデータベースオプションとその設定が特定のユーザーに属することに注意してください。
DEMO データベースでは、user_id “2” は、ユーザー PUBLIC です。
他のユーザーの特定のデータベースオプション設定も、関連する user_ids とともにカタログに保存されます。
これらの設定は、そのユーザーの PUBLIC 設定を「オーバーライド」します。
あるユーザーの設定が存在しない場合には、 PUBLIC 設定がデフォルトとして使用されます。

例えば、デフォルトでは、BLOCKING データベースオプションの PUBLIC 設定は ON です。つまり、行ロックで競合する場合、SQL リクエストはブロックされ、待たされることになります。

 

続きはこちら: SAP SQL Anywhere におけるデータベースオプションの機構

 

SAPのSAP SQL Anywhere製品ページはこちら