1.首先检查监听程序是否能正常启动,开始,运行 cmd--->lsnrctl start,检查监听是否是在正常运行,如果正常运行,会提示:TNS-01106: 使用名称LISTENER的监听程序已经启动。如果没有运行,用上面的命令启动监听程序。
2.还在命令提示行里用 tnsping 服务名 ,来检查tnsnames.ora服务配置是否正确。正确的提示例如:
已使用 TNSNAMES 适配器来解析别名
Attempting to contact (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)
(HOST = 192.168.0.6)(PORT = 1521))) (CONNECT_DATA = (SERVICE_NAME = 服务名)))
OK (50 毫秒)
3.plsql developer 连接不上,可以在不登录的情况下,打开‘工具’-‘首选项’,设置下 oracle主目录名和OCI库的路径。
----------------------------------------------------------------
不用安装oracle客户端也可以用plsql连接远程oracle
关键字: plsql连接远程oracle
每次问人家,plsql 可不可以直接远程连接服务器,他们都说要安装客户端,记得以前用过个什么sql deveplore 什么的工具,不用安装客户端的,而且是绿色软件来的,我就想,一定就办法,不用这么麻烦安装客户端的。上网找了找,下面把我的实践详细过程记录下来,希望对大家有帮助,有什么不对的,请大家多多评论,指出来。
1、在安装ORACLE服务器的机器上搜索下列文件,
oci.dll
ocijdbc10.dll
ociw32.dll
orannzsbb10.dll
oraocci10.dll
oraociei10.dll
sqlnet.ora
tnsnames.ora
classes12.jar
ojdbc14.jar
放到一个文件夹,如 oraclient
2、配置tnsnames.ora,如果本机上没有安装oracle,
可以从安装了oracle的机上拷贝一个(tnsnames.ora文件在%ORACLE_HOME%\network\admin下)放在上面的目录D:\oraclient下。
oracledata =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.58)(PORT = 1521))
)
(CONNECT_DATA =
(SERVICE_NAME = oracledata)
)
)
3、添加一个环境变量,名为TNS_ADMIN,值为tnsnames.ora文件所在路径(如:D:\oraclient,特别是重装后或其它操作,忘了TNS_ADMIN变量,plsql登陆就会报无法解析指定的连接标识符),这是为了能够找到上面说的tnsnames.ora。如果本机上安装了ORACLE,并且设置了ORACLE_HOME环境变量,那么会自动在%ORACLE_HOME%/network/admin/位置查找tnsnames.ora文件。
4、设置ORACLE的语言,添加环境变量:
“NLS_LANG = SIMPLIFIEDCHINESE_CHINA.ZHS16GBK”,(AMERICAN_AMERICA.US7ASCII 是ASCII编码类型,其它类型可自己到服务器看一下或网上查找一下)。
----------------------------------------------------------------
用PL/SQL Developer连接远程的ORACLE数据库
主要有2种方式:
1 是安装客户端,通过设置oci 和 客户端本地的tnsnames.ora文件来访问
2 通过databaselink来实现。
1 通过客户端实现PLSQLdev的远程访问
1) Install the oracle instant client (见上)
2) Configue the PLSQLdev
make a directory network in instan_client_home
copy the corresponding tnsname.ora into the directory
start the plsqldev then Tools->Preferences,
set oracle Home OCI Library : fill the instan_client_home path
fill the OCI.dll path (default in the instan_client_home)
then restart and connect.
注意登录时的使用的“数据库名字”不是真正的dbname 而应该是tnsnames中的标识符的名字!
2 通过databaselink来实现。
大致分为两个步骤。
第一,在oracle企业管理器(OEM)里建立新的数据库,即在数据库树形图上点击将数据库添加到库。问清远程数据可得主机名(我以前就是写的远程机器的IP地址);端口号我以前用的是默认的1521没有修改;sid应该问明远程是什么,(有时需要在 tnsnames.ora脚本中修改 sid为service_name,具体原因我不是很清楚,主要看对方远程的数据库用的是sid还是service_name吧?) ;最后的网络服务名自动生成,不需要自己手工修改。
第二,在PLSQL Developer里左侧树状列表倒数第三项databaselink中,新建一个,name随便你自己起吧,username和password都要对方给你提供的,写进去。database需要写对方的数据库名。 如果是你自己用那台服务器和数据库的话,可以在public上面挑钩,如果是做项目,那么是不是public还要具体看了。最后点击apply按钮确认。
之后可以select * from 远程数据库的某个表名@dblink里你自己起的那个名字,测试是不是可以看到数据。
阅读(4657) | 评论(1) | 转发(0) |