例如:
我在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@test1sqlplus myuser/password@test2
但是默认连接sqlplus myuser / password转到test1 @ server1.
有任何想法吗?
谢谢.
解决方法 为了扩展kerchingo的答案:Oracle有多种方法来识别数据库.最好的方法 – 你应该经常使用的方法 – 是USER / PASSWORD @ SERVER.这将使用Oracle命名查找(tnsnames.ora)来查找实际的服务器,每次连接到它时,它可能位于不同的物理主机上.您还可以将Oracle连接字符串指定为SERVER,但假装您不能.
还有两种方法可以通过环境变量指定默认服务器.第一个是TWO_TASK,它使用命名查找,第二个是ORACLE_SID,它假定服务器在当前机器上运行. ORACLE_SID优先于TWO_TASK.
你应该总是使用显式连接字符串的原因是你不知道用户是否设置了TWO_TASK,ORACLE_SID,两者都是,或者两者都没有;你也不知道他们可能会做什么.将两者设置为不同的值是一个特别痛苦的诊断问题,特别是通过电话与一个不太了解Oracle如何工作的人(去过那里,做过那样).
总结以上是内存溢出为你收集整理的linux – 在Oracle中,如何更改“默认”数据库?全部内容,希望文章能够帮你解决linux – 在Oracle中,如何更改“默认”数据库?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)