一个数据库多Instance的连接解决方案
2010-04-06 09:54
267 查看
当一个数据库上面有多个Instance时,连接Oracle就需要注意了。在单instance的情况下,由于设定了ORACLE_SID,所以用sqlplus进行连接的时候默认会连接到环境变量中指定的instance, 但是如果需要连接另外一个instance的时候,就需要显示的指定了。连接的方式一般来讲有两种方法:
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实例了。
(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.
1、手动export环境变量
导出之前的环境变量oracle@b2b_plat_13619:/home/oracle>env | grep ORAORACLE_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.
相关文章推荐
- 一个数据库多Instance的连接解决方案
- 在PHP中连接数据库时获取最后的一个ID
- 设置数据库连接字符串的一个小技巧
- Visual Studio 2008不能创建数据库连接出现:未能加载文件或程序集“Microsoft.SqlServer.Management.Sdk.Sfc, Version=10.0.0.0, Culture=neutral,PublicKeyToken=89845dcd8080cc91”或它的一个依赖项。系统找不到指定的文件的解决办法
- asp.net连接Accee数据库不稳定解决方案(2)
- RAC结构删除一个节点并删除数据库软件的解决方案
- 在一个大DataTable的基础上去除重复数据,分别创建2个小DataTable,省去多次数据库连接,提高效率,加快程序运行
- 一个远程备份数据库的解决方案
- 一个EXTJS与JSP连接把数据写入数据库的例子
- 连接Accee数据库不稳定解决方案
- DEV C++连接数据库遇到的问题及解决方案
- 工作小结(五)--Web.config数据库连接字符串密码中的一个字符导致连接数据库失败
- 一个较完整的连接数据库写法!(请大家参考)
- SpringMVC配置双数据源,一个java项目同时连接两个数据库
- 数据库自连接查询的一个例子
- 我在16ASPX下了一个系统是ACCESS和VS2005做的我想把那个连接数据库的'DB_16aspx'的名字改了进不了了可是?
- shell连接数据库,并输出一个html表格
- jdbc-写一个连接数据库的配置文件
- 用Nhibernate连接多个数据库,两个Mysql,一个Sql。还有关于异常和错误码的讨论。包含源代码
- hibernate 连接 mysql 数据库中文乱码解决方案