https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:89412348059
You Asked
what is the use of TWO_TASK environment variable ? where can we use it ?
and we said...
If you are in a Unix environment, you can normally set 2 environment variables: ORACLE_HOME ORACLE_SID that will connect you to a local database identified by that home and sid. If you wanted to be able to connect to a remote database or a database on that machine via SQLNet, you can also set: TWO_TASK = <tnsconnect string> The setting of TWO_TASK overrides the ORACLE_SID when set. You will not connecting to a local database with two_task but rather using sqlnet to connect to a remote database. So, instead of: $ sqlplus scott/tiger@some_db I can: $ setenv TWO_TASK some_db $ sqlplus scott/tiger and the @some_db is implied.
Tom, In the above example, some_db should have been resolved using tnsnames.ora on the box from which we connect to the remote database. Is it correct? Thanks.