我真的应该知道这一点,但有人会告诉我如何在Linux上更改默认数据库吗?
例如:
我在server1上有一个数据库test1,ORACLE_SID = test1.所以,要连接到test1,我可以使用:
sqlplus myuser/password
连接到默认数据库test1
我现在想将默认的sqlplus连接转到服务器server2上的数据库test2.
所以,我更新了tnsnames,以便旧的test1条目现在指向test2 @ server2.我还为test2添加了一个指向同一个地方的单独条目.但是,默认连接似乎仍然是test1 @ server1.
以下两者都可以正常工作并转到server2上的数据库test2:
sqlplus myuser/password@test1
sqlplus myuser/password@test2
但是默认连接sqlplus myuser / password转到test1 @ server1.
有任何想法吗?
谢谢.
最佳答案
为了扩展kerchingo的答案:Oracle有多种方法来识别数据库.
原文链接:https://www.f2er.com/linux/440096.html最好的方法 – 你应该经常使用的方法 – 是USER / PASSWORD @ SERVER.这将使用Oracle命名查找(tnsnames.ora)来查找实际的服务器,每次连接到它时,它可能位于不同的物理主机上.您还可以将Oracle连接字符串指定为SERVER,但假装您不能.
还有两种方法可以通过环境变量指定默认服务器.第一个是TWO_TASK,它使用命名查找,第二个是ORACLE_SID,它假定服务器在当前机器上运行. ORACLE_SID优先于TWO_TASK.
你应该总是使用显式连接字符串的原因是你不知道用户是否设置了TWO_TASK,ORACLE_SID,两者都是,或者两者都没有;你也不知道他们可能会做什么.将两者设置为不同的值是一个特别痛苦的诊断问题,特别是通过电话与一个不太了解Oracle如何工作的人(去过那里,做过那样).