在oracle 11g中创建的用户的tns条目在哪里?
我想知道我在Oracle 11g中由Oracle系统用户创建的用户的tns条目。?????? 要将其连接到sql开发工具 非常平庸的问题,但无法在谷歌中找到 TNS.ora中只有这3个条目:在oracle 11g中创建的用户的tns条目在哪里?,oracle,oracle11g,Oracle,Oracle11g,我想知道我在Oracle 11g中由Oracle系统用户创建的用户的tns条目。?????? 要将其连接到sql开发工具 非常平庸的问题,但无法在谷歌中找到 TNS.ora中只有这3个条目: LISTENER_ORCL = (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522)) ORACLR_CONNECTION_DATA = (DESCRIPTION = (ADDRESS_LIST = (ADDRE
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1522))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl.168.1.6)
)
)
答案很简单:在您正在查看的同一tnsnames.ora文件中 用户驻留在您的数据库中;您以
SYSTEM
的身份连接到数据库-我猜是ORCL
-并创建了一个新用户作为
SQL> connect system/magicpwd@orcl
Connected.
SQL> create user new_user identified by pwd
2 default tablespace users
3 temporary tablespace temp
4 quota unlimited on users;
User created.
SQL> grant create session to new_user;
Grant succeeded.
SQL>
为了作为新用户进行连接,您使用与系统用户-orcl
相同的TNSNAMES.ORA数据库别名:
SQL> connect new_user/pwd@orcl
Connected.
SQL>
同一数据库中的所有用户共享相同的tnsnames.ora数据库别名;在您的情况下,它是orcl
。稍后,当您获得对其他数据库的访问权限时,您的tnsnames.ora文件将变得越来越大(例如,我目前可以访问52个数据库,因此我的tnsnames.ora中有52个条目),并且在连接到不同数据库中的不同用户时,您必须使用这些别名
不过,请注意:每个Oracle软件产品都倾向于创建自己的tnsnames.ora文件。例如,如果您创建了Oracle数据库,然后是Oracle Developer Suite(表单和报表),那么您将有两个tnsnames.ora文件。为了能够使用所有这些工具连接到您的所有数据库,您应该保持tnsnames.ora文件同步,即所有文件都应该相等。那是一项乏味的工作。在这种情况下,您需要创建一个tns\u admin
环境变量,该变量指向一个目录(文件夹),其中包含一个tnsnames.ora副本,然后只维护该文件。TNS_管理员会注意所有Oracle软件产品都使用它