linux – 在Oracle中,如何更改“默认”数据库?

linux – 在Oracle中,如何更改“默认”数据库?,第1张

概述我真的应该知道这一点,但有人会告诉我如何在 Linux上更改默认数据库吗? 例如: 我在server1上有一个数据库test1,ORACLE_SID = test1.所以,要连接到test1,我可以使用: sqlplus myuser/password 连接到默认数据库test1 我现在想将默认的sqlplus连接转到服务器server2上的数据库test2. 所以,我更新了tnsnames,以便 我真的应该知道这一点,但有人会告诉我如何在 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@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中,如何更改“默认”数据库?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1030028.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存