ablog

不器用で落着きのない技術者のメモ

環境変数 TWO_TASK

ほとんどのオペレーティング・システムで、デフォルトの接続識別子を定義できます。デフォルトを使用する場合、接続文字列で接続識別子を指定する必要がなくなります。デフォルトの接続識別子を定義するには、LinuxおよびUNIXプラットフォームの場合は環境変数TWO_TASKを、Microsoft Windowsの場合は環境変数LOCALまたはレジストリ・エントリを使用します。

たとえば、環境変数TWO_TASKがsalesに設定されている場合は、SQL*Plusから、CONNECT username@salesではなくCONNECT usernameを使用してデータベースに接続できます。Oracle NetはTWO_TASK変数を確認し、接続識別子として値salesを使用します。

データベースの識別とアクセス

「なんで TWO_TASK ってネーミングなんだろ?」って思って調べてみたら、Oracle8 Concepts Release 8.0 A58227-01 に以下の通り書かれていた。

Variations in Oracle Configuration

In a multiple-process Oracle instance, the code for connected users can be configured in one of three ways:

single-task Oracle For each user, both the database application and the Oracle server code are combined in a single user process.
dedicated server (two-task Oracle) For each user, the database application is run by a different process (a user process) than the one that executes the Oracle server code (a dedicated server process).
multithreaded server The database application is run by a different process (a user process) than the one that executes the Oracle server code; each server process that executes Oracle server code (a shared server process) can serve multiple user processes.
Process Structure

ということで、Oracle 8 の頃はクライアントとサーバーが一つのプロセスで動く SINGLE TASK というものがあったらしい。それと対比して、専用サーバー接続はクライアントとサーバーが別プロセスで動くため TWO TASK と呼んだようだ。

参考

関連

  • KROWN#137394
  • KROWN#138224
  • KROWN#18861


追記(2012/05/11):

Single-process Oracle (also called single-user Oracle) is a database system in which one process executes all parts of the Oracle server code and the single user's application program. Different processes do not separate the execution of the Oracle instance from the client application program.

Figure 7-1 shows a single-process Oracle instance. The single process executes all code associated with the database application and Oracle.

Only one user can access an Oracle instance in a single-process environment; multiple users cannot access the database concurrently. For example, Oracle running under the MS-DOS operating system on a PC can be accessed only by a single user because MS-DOS is not capable of running multiple processes.

This configuration is not as common as multiple-process Oracle, because it doesn not take advantage of the distributed processing normally associated with database operations.

Process Structure

おもしろい