关于用其他32位客户端 连接64位oracle 的lisner的配置方案
2014-03-19 13:37
399 查看
网上差了很多资料 都很片面 没有实用价值 只好自己写一份留着以后省的忘了
首先按照前面的方法安装配置好64位oracle 并且本机情况下直接可以用32位client 连接进入oracle 才涉及以下问题:
本文要解决的主要问题:其他用户使用他们自己的电脑连接你服务器上的64位oracle 经常提示监听错误
简单说明下原理 以下都说的是服务器端 不是个人电脑 !!!
oracle安装目录下一般都会有几个文件 比如我的目录下D:\app\Louis_chen\product\11.2.0\dbhome_1\NETWORK\ADMIN
有三个文件listener.ora;sqlnet.ora;tnsnames.ora 这些文件就是配置连接数据库的大家都知道,但是具体怎么用可能就不是很清楚了
listener.ora 用来监听别人电脑登录你的oracle 如果自己登录就不用配置了(但是如果你用plsql/developer登录的话就算是用别人的电脑来登陆 这是后你必须配置这个文件)
tnsnames.ora用来配置你要登录的oracle ip 端口 和Instance 这个比较简单就不说了
重点
说下我的环境我在本机的network\admin下面没有那三个ora文件,为什么呢?因为我不需要!我在本机上有oracle server也有client,由于oracle64位的不支持plsql/developer所以解决的办法就是下一个32位的oracle client 然后解压到D:\app\Louis_chen\product下,全路径就是D:\app\Louis_chen\product\instantclient_11_2,这时候再用oracle原来有的那三个ora文件复制到里面 就可以用developer登录64位oracle了,所以我用不上在sever那个network\admin下面配置那三个文件。
这时候如果别人想要用他们本地的developer登录你的64位oracle又出现问题了 还是上不去自己上的去为啥?
第一你的服务器要开启监听,然后配置下监听文件,就在刚才的product\insatantclient_11_2下面 全文如下,红字表示要改的!
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Louis_chen\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Louis_chen\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\app\Louis_chen
这时候这个lisentner的意思就是只监听自己,所以谁都登陆不上去,包括自己电脑用developer也登陆不上去 会提示监听没有打开!
你要把这个localhost改成你64位oracle那个服务器的ip地址,这样就表示他监听的是连接他这个ip的所有session!
第二就是你要配置你自己本地电脑(本地电脑连接服务器)的tnsname.ora 全文如下 红字表示要改的!
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
hzj =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
hzj表示连接名字 就是一个标识没别的意思 你用developer登陆的时候会选择数据库下拉菜单就是那个!这个的意思不是Instance!!!!2
172.28.105.149表示你要连接的服务器ip地址
orcl表示连接的Instance
最后再强调一点 改完ora配置文件,要重启各种服务才能生效!!!!别说我改完咋还没用啊?那你就2了
首先按照前面的方法安装配置好64位oracle 并且本机情况下直接可以用32位client 连接进入oracle 才涉及以下问题:
本文要解决的主要问题:其他用户使用他们自己的电脑连接你服务器上的64位oracle 经常提示监听错误
简单说明下原理 以下都说的是服务器端 不是个人电脑 !!!
oracle安装目录下一般都会有几个文件 比如我的目录下D:\app\Louis_chen\product\11.2.0\dbhome_1\NETWORK\ADMIN
有三个文件listener.ora;sqlnet.ora;tnsnames.ora 这些文件就是配置连接数据库的大家都知道,但是具体怎么用可能就不是很清楚了
listener.ora 用来监听别人电脑登录你的oracle 如果自己登录就不用配置了(但是如果你用plsql/developer登录的话就算是用别人的电脑来登陆 这是后你必须配置这个文件)
tnsnames.ora用来配置你要登录的oracle ip 端口 和Instance 这个比较简单就不说了
重点
说下我的环境我在本机的network\admin下面没有那三个ora文件,为什么呢?因为我不需要!我在本机上有oracle server也有client,由于oracle64位的不支持plsql/developer所以解决的办法就是下一个32位的oracle client 然后解压到D:\app\Louis_chen\product下,全路径就是D:\app\Louis_chen\product\instantclient_11_2,这时候再用oracle原来有的那三个ora文件复制到里面 就可以用developer登录64位oracle了,所以我用不上在sever那个network\admin下面配置那三个文件。
这时候如果别人想要用他们本地的developer登录你的64位oracle又出现问题了 还是上不去自己上的去为啥?
第一你的服务器要开启监听,然后配置下监听文件,就在刚才的product\insatantclient_11_2下面 全文如下,红字表示要改的!
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = D:\app\Louis_chen\product\11.2.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:D:\app\Louis_chen\product\11.2.0\dbhome_1\bin\oraclr11.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
ADR_BASE_LISTENER = D:\app\Louis_chen
这时候这个lisentner的意思就是只监听自己,所以谁都登陆不上去,包括自己电脑用developer也登陆不上去 会提示监听没有打开!
你要把这个localhost改成你64位oracle那个服务器的ip地址,这样就表示他监听的是连接他这个ip的所有session!
第二就是你要配置你自己本地电脑(本地电脑连接服务器)的tnsname.ora 全文如下 红字表示要改的!
LISTENER_ORCL =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))
ORACLR_CONNECTION_DATA =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
)
(CONNECT_DATA =
(SID = CLRExtProc)
(PRESENTATION = RO)
)
)
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
hzj =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = 172.28.105.149)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)
hzj表示连接名字 就是一个标识没别的意思 你用developer登陆的时候会选择数据库下拉菜单就是那个!这个的意思不是Instance!!!!2
172.28.105.149表示你要连接的服务器ip地址
orcl表示连接的Instance
最后再强调一点 改完ora配置文件,要重启各种服务才能生效!!!!别说我改完咋还没用啊?那你就2了
相关文章推荐
- VS2010 连接 Oracle出现尝试加载 Oracle 客户端库时引发 BadImageFormatException 32位与64位问题解决方案
- 64位oracle数据库安装32位plsql解决方法/关于win7 x64 连接oracle 客户端 VS2010调试 提示“ORA-12154: TNS: 无法解析指定的连接标识符 ”
- 在64位服务器上安装oracle 32位客户端只能被编译为x86的程序连接
- 在64位服务器上安装oracle 32位客户端只能被编译为x86的程序连接
- 在64位服务器上安装oracle 32位客户端只能被编译为x86的程序连接
- 关于oracle 11g 64位与 32位的 plsql、及其他32位应用程序共存的问题
- 用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解决办法
- ORACLE64位服务器端+ORACLE32位客户端,解决PLSQL连接错误问题
- codeSmith连接oracle时报错:32位客户端无法连接64位oracle问题解决
- .net C#连接Oracle数据库:尝试加载Oracle客户端库时引发BadImageFormatException。如果在安装32位Oracle客户端组件的情况下以64位模式运行将出此问题
- windows server 2003 64位下32位程序无法通过oracle64客户端连接数据库
- oracle客户端免安装配置、64位机器PL/SQL和VS自带的IIS连接问题
- 用32位客户端配置64位oracle
- 32位plsql连接64位Oracle,需要在客户端的服务器上,安装32位客户端(而不是服务器端)
- 关于jdk环境变量配置成了1.6.0_39 32位jdk 的路径 cmd中java -version却还是显示 64位或者其他jdk 路径的解决方法
- 32位plsql配置连接64位ORACLE 11g的方法
- 转载:用oralce连接.net客户端出现问题:“数据连接不成功,请检查该数据库是否已启动尝试加载oracle客户端时引发BadImageFormatException.如果在安装32位Oracle客户端组件的情况下以64位模式运行,”的解
- 尝试加载Oracle客户端时引发BadImageFormatException 如果在安装32位Oracle客户端组件的情况下以64位模式运行,将出现此问题
- Oracle客户端的安装与远程连接配置方法分享
- Oracle 11g客户端及PLSQL Developer配置|Instant Client Setup-64位|OraClientLite11g_x86