TWO_TASK 模仿(mocks)你设置的 tns 别名,这个别名是用于连接数据库的,比如常用的方式是:设置tnsnames.ora 文件中的别名后, 然后使用 sqlplus username/passwd@PROD 来连接数据库。现在如果你不想使用 @PROD 来连接,那么你可以设置 TWO_TASK=PROD , 然后你就可以简单的使用如下的方式: sqlplus username/passwd 来连接数据库了。
在Unix和Linux环境下,可以设置TWO_TASK环境变量,当用户连接数据库且没有指定服务名时,会自动利用TWO_TASK的设置作为环境变量连接数据库。
注意: 使用了TWO_TASK环境变量后,无法使用操作系统验证登陆数据库。
SQL> conn / as sysdba
ERROR:
ORA-01031: insufficient privileges
SQL> conn /@demo2 as sysdba
ERROR:
ORA-01031:权限不足
SQL> conn /@demo as sysdba
ERROR:
ORA-01031: insufficient privileges
SQL> exit
原因就是TWO_TASK环境变量的存在,使得SQLPLUS没有办法/ as sysdba登陆,而永远都
是/@servicename as sysdba。
本文转自ITPUB博客tolywang的博客,原文链接:在EBS系统中设置的TWO_TASK作用是什么?,如需转载请自行联系原博主。