您的位置:首页 > 数据库

一个数据库多Instance的连接解决方案

2010-04-06 09:54 267 查看
当一个数据库上面有多个Instance时,连接Oracle就需要注意了。在单instance的情况下,由于设定了ORACLE_SID,所以用sqlplus进行连接的时候默认会连接到环境变量中指定的instance, 但是如果需要连接另外一个instance的时候,就需要显示的指定了。连接的方式一般来讲有两种方法:

1、手动export环境变量

导出之前的环境变量oracle@b2b_plat_13619:/home/oracle>env | grep ORA
ORACLE_SID=moree
ORACLE_BASE=/opt/oracle
ORA_ENCRYPT_LOGIN=true
ORA_NLS33=/opt/oracle/products/9.2.0/ocommon/nls/admin/data
ORACLE_HOME=/opt/oracle/products/9.2.0
显示的导出环境变量oracle@b2b_plat_13619:/home/oracle>export ORACLE_SID=otter
oracle@b2b_plat_13619:/home/oracle>env | grep ORA
ORACLE_SID=otter
ORACLE_BASE=/opt/oracle
ORA_ENCRYPT_LOGIN=true
ORA_NLS33=/opt/oracle/products/9.2.0/ocommon/nls/admin/data
ORACLE_HOME=/opt/oracle/products/9.2.0
此时直接用sqlplus连接oracle时,就是连接到otter实例了。

2、修改tnsnames.ora文件

OTTER.DB.ALIBABA.COM =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = b2b_plat_13619)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = otter)
)
)
【注意】域名的设置是在sqlnet.ora文件中,NAMES.DEFAULT_DOMAIN = db.alibaba.comoracle@b2b_plat_13619:/home/oracle>more /home/oracle/products/9.2.0/network/admin/sqlnet.ora
# SQLNET.ORA Network Configuration File: /opt/oracle/products/9.2.0/network/admin/sqlnet.ora
# Generated by Oracle configuration tools.
MES.DIRECTORY_PATH= (TNSNAMES,HOSTNAME)
NAMES.DEFAULT_DOMAIN = db.alibaba.com
使用sqlplus连接数据库: 连接数据库时可以指定域名,也可以不指定域名都是可以的@>conn retl/retl@OTTER.DB.ALIBABA.COM
Connected.或者@>conn retl/retl@OTTER
Connected.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐