Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (日本語) » SQL Anywhere サーバ - データベース管理 » データベースの設定 » SQL Anywhere の環境変数

 

SATMP 環境変数

データベース・サーバとテンポラリ・ディレクトリを必要とする SQL Anywhere コマンド・ライン・ユーティリティが使用するテンポラリ・ファイルのロケーションを指定します。

構文
SATMP=directory-name
備考

SQL Anywhere では、データベース・サーバ関連のテンポラリ・ファイル (すべてのプラットフォームで作成) と通信関連のテンポラリ・ファイル (UNIX のクライアントとサーバでのみ作成) の 2 種類のテンポラリ・ファイルが作成されます。

SATMP 環境変数には、データベース・サーバとテンポラリ・ディレクトリを必要とする SQL Anywhere コマンド・ライン・ユーティリティが使用するテンポラリ・ファイルのロケーションが指定されます。このファイルは、データベース・サーバをサービスとして実行する場合に役立ちます。テンポラリ・ファイルをほかのプログラムがアクセスできないディレクトリに保存できるからです。

データベース・サーバの起動時に -dt オプションでテンポラリ・ファイルのロケーションを指定しなかった場合は、SATMP 環境変数の値に基づいてテンポラリ・ファイルの保存場所が決定されます。SATMP 環境変数が設定されていない場合は、環境変数 TMP、TMPDIR、TEMP のうち、最初に見つかった変数の値が使用されます。UNIX では、これらの環境変数のいずれも存在しない場合、/tmp が使用されます。

Windows Mobile では、サーバのテンポラリ・ディレクトリとして使用するディレクトリをレジストリに指定できます。

Windows Mobile 上のテンポラリ・ファイルのロケーションについては、Windows Mobile でのレジストリ設定を参照してください。

UNIX では、共有メモリを介して接続する場合、クライアントとデータベース・サーバの両方で SATMP を同じ値に設定する必要があります。

UNIX での共有メモリ接続の保護については、セキュリティに関するヒントを参照してください。

データベース・サーバや UNIX 上のクライアントで作成されたテンポラリ・ファイルのパーミッションを制限する場合は、この環境変数に次のリストにないディレクトリを設定します。

上記のリストにないディレクトリが SATMP に設定されている場合、データベース・サーバは、現在のユーザが所有し、パーミッションが 770、707、700 のいずれかに設定されているディレクトリで指定のディレクトリ・パスを検索します。パーミッションがそれ以外の値に設定されている場合は、パーミッションを 777 に設定してファイルを作成します。データベース・サーバは、検出された各ディレクトリについて、該当するパーミッション (それぞれ other、group、other+group に対応) をテンポラリ・ファイルの作成に使用するパーミッション・マスクから削除します。

警告

上記のリストにないディレクトリを SATMP に設定すると、別の UNIX アカウントを使用するユーザが共有メモリを介してデータベース・サーバに接続できなくなる場合があります。

参照
旧バージョンのソフトウェアでの共有メモリ接続の使用

SQL Anywhere バージョン 9 以前では、環境変数 ASTMP が SATMP に相当します。共有メモリを使用してバージョン 9 とバージョン 10 のソフトウェアに接続する場合は、SATMP と ASTMP 環境変数を設定して、テンポラリ・ディレクトリとして (同じ) ロケーションを指定する必要があります。